mirror of
https://activitypub.software/TransFem-org/Sharkey
synced 2024-12-22 08:20:10 +00:00
APIドキュメントが見れなくなっているのを修正など (#7500)
* Test api.json * Fix typo * Fix api-doc
This commit is contained in:
parent
80f8c2de78
commit
588b838deb
5 changed files with 83 additions and 12 deletions
|
@ -255,6 +255,7 @@
|
||||||
"xev": "2.0.1"
|
"xev": "2.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@redocly/openapi-core": "1.0.0-beta.44",
|
||||||
"@types/chai": "4.2.16",
|
"@types/chai": "4.2.16",
|
||||||
"@types/fluent-ffmpeg": "2.1.17",
|
"@types/fluent-ffmpeg": "2.1.17",
|
||||||
"chai": "4.3.4",
|
"chai": "4.3.4",
|
||||||
|
|
|
@ -20,6 +20,7 @@ import { packedAntennaSchema } from '../../../models/repositories/antenna';
|
||||||
import { packedClipSchema } from '../../../models/repositories/clip';
|
import { packedClipSchema } from '../../../models/repositories/clip';
|
||||||
import { packedFederationInstanceSchema } from '../../../models/repositories/federation-instance';
|
import { packedFederationInstanceSchema } from '../../../models/repositories/federation-instance';
|
||||||
import { packedQueueCountSchema } from '../../../models/repositories/queue';
|
import { packedQueueCountSchema } from '../../../models/repositories/queue';
|
||||||
|
import { packedGalleryPostSchema } from '@/models/repositories/gallery-post';
|
||||||
|
|
||||||
export function convertSchemaToOpenApiSchema(schema: Schema) {
|
export function convertSchemaToOpenApiSchema(schema: Schema) {
|
||||||
const res: any = schema;
|
const res: any = schema;
|
||||||
|
@ -92,4 +93,5 @@ export const schemas = {
|
||||||
Antenna: convertSchemaToOpenApiSchema(packedAntennaSchema),
|
Antenna: convertSchemaToOpenApiSchema(packedAntennaSchema),
|
||||||
Clip: convertSchemaToOpenApiSchema(packedClipSchema),
|
Clip: convertSchemaToOpenApiSchema(packedClipSchema),
|
||||||
FederationInstance: convertSchemaToOpenApiSchema(packedFederationInstanceSchema),
|
FederationInstance: convertSchemaToOpenApiSchema(packedFederationInstanceSchema),
|
||||||
|
GalleryPost: convertSchemaToOpenApiSchema(packedGalleryPostSchema),
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,7 +12,8 @@ process.env.NODE_ENV = 'test';
|
||||||
|
|
||||||
import * as assert from 'assert';
|
import * as assert from 'assert';
|
||||||
import * as childProcess from 'child_process';
|
import * as childProcess from 'child_process';
|
||||||
import { async, launchServer, signup, post, request, simpleGet } from './utils';
|
import { async, launchServer, signup, post, request, simpleGet, port } from './utils';
|
||||||
|
import * as openapi from '@redocly/openapi-core';
|
||||||
|
|
||||||
// Request Accept
|
// Request Accept
|
||||||
const ONLY_AP = 'application/activity+json';
|
const ONLY_AP = 'application/activity+json';
|
||||||
|
@ -74,6 +75,20 @@ describe('Fetch resource', () => {
|
||||||
assert.strictEqual(res.type, JSON);
|
assert.strictEqual(res.type, JSON);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
it('Validate api.json', async(async () => {
|
||||||
|
const config = await openapi.loadConfig();
|
||||||
|
const result = await openapi.bundle({
|
||||||
|
config,
|
||||||
|
ref: `http://localhost:${port}/api.json`
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const problem of result.problems) {
|
||||||
|
console.log(`${problem.message} - ${problem.location[0]?.pointer}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.strictEqual(result.problems.length, 0);
|
||||||
|
}));
|
||||||
|
|
||||||
it('GET favicon.ico', async(async () => {
|
it('GET favicon.ico', async(async () => {
|
||||||
const res = await simpleGet('/favicon.ico');
|
const res = await simpleGet('/favicon.ico');
|
||||||
assert.strictEqual(res.status, 200);
|
assert.strictEqual(res.status, 200);
|
||||||
|
|
|
@ -6,7 +6,7 @@ import * as childProcess from 'child_process';
|
||||||
import * as http from 'http';
|
import * as http from 'http';
|
||||||
import loadConfig from '../src/config/load';
|
import loadConfig from '../src/config/load';
|
||||||
|
|
||||||
const port = loadConfig().port;
|
export const port = loadConfig().port;
|
||||||
|
|
||||||
export const async = (fn: Function) => (done: Function) => {
|
export const async = (fn: Function) => (done: Function) => {
|
||||||
fn().then(() => {
|
fn().then(() => {
|
||||||
|
|
73
yarn.lock
73
yarn.lock
|
@ -287,6 +287,31 @@
|
||||||
"@nodelib/fs.scandir" "2.1.3"
|
"@nodelib/fs.scandir" "2.1.3"
|
||||||
fastq "^1.6.0"
|
fastq "^1.6.0"
|
||||||
|
|
||||||
|
"@redocly/ajv@^6.12.3":
|
||||||
|
version "6.12.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-6.12.4.tgz#b131c9c11d1bdaa5564f69bcaefe10a4c9a5aa65"
|
||||||
|
integrity sha512-RB6vWO78v6c+SW/3bZh+XZMr4nGdJKAiPGsBALuUZnLuCiQ7aXCT1AuFHqnfS2gyXbEUEj+kw8p4ux8KdAfs3A==
|
||||||
|
dependencies:
|
||||||
|
fast-deep-equal "^3.1.1"
|
||||||
|
fast-json-stable-stringify "^2.0.0"
|
||||||
|
json-schema-traverse "^0.4.1"
|
||||||
|
uri-js "^4.2.2"
|
||||||
|
|
||||||
|
"@redocly/openapi-core@1.0.0-beta.44":
|
||||||
|
version "1.0.0-beta.44"
|
||||||
|
resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.44.tgz#e9a6c50ee2bb18e93b3439ed92c53e440de3aa7a"
|
||||||
|
integrity sha512-9HNnh1MzvMsLK1liuidFBqWiAsZ2Yg3RY58fcEsy0QruSMdDbn7SoeI1qnXe6O+BkBS+vAP4oVzZDMHCMKGsOQ==
|
||||||
|
dependencies:
|
||||||
|
"@redocly/ajv" "^6.12.3"
|
||||||
|
"@types/node" "^14.11.8"
|
||||||
|
colorette "^1.2.0"
|
||||||
|
js-levenshtein "^1.1.6"
|
||||||
|
js-yaml "^3.14.0"
|
||||||
|
lodash.isequal "^4.5.0"
|
||||||
|
minimatch "^3.0.4"
|
||||||
|
node-fetch "^2.6.1"
|
||||||
|
yaml-ast-parser "0.0.43"
|
||||||
|
|
||||||
"@sentry/browser@5.29.2":
|
"@sentry/browser@5.29.2":
|
||||||
version "5.29.2"
|
version "5.29.2"
|
||||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.29.2.tgz#51adb4005511b1a4a70e4571880fc6653d651f91"
|
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.29.2.tgz#51adb4005511b1a4a70e4571880fc6653d651f91"
|
||||||
|
@ -849,6 +874,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615"
|
||||||
integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==
|
integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==
|
||||||
|
|
||||||
|
"@types/node@^14.11.8":
|
||||||
|
version "14.14.44"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.44.tgz#df7503e6002847b834371c004b372529f3f85215"
|
||||||
|
integrity sha512-+gaugz6Oce6ZInfI/tK4Pq5wIIkJMEJUu92RB3Eu93mtj4wjjjz9EB5mLp5s1pSsLXdC/CPut/xF20ZzAQJbTA==
|
||||||
|
|
||||||
"@types/nodemailer@6.4.1":
|
"@types/nodemailer@6.4.1":
|
||||||
version "6.4.1"
|
version "6.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.1.tgz#31f96f4410632f781d3613bd1f4293649e423f75"
|
resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.1.tgz#31f96f4410632f781d3613bd1f4293649e423f75"
|
||||||
|
@ -2790,7 +2820,7 @@ color@^3.1.1, color@^3.1.3:
|
||||||
color-convert "^1.9.1"
|
color-convert "^1.9.1"
|
||||||
color-string "^1.5.4"
|
color-string "^1.5.4"
|
||||||
|
|
||||||
colorette@^1.2.1, colorette@^1.2.2:
|
colorette@^1.2.0, colorette@^1.2.1, colorette@^1.2.2:
|
||||||
version "1.2.2"
|
version "1.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
|
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
|
||||||
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
|
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
|
||||||
|
@ -5757,6 +5787,11 @@ js-beautify@^1.6.12:
|
||||||
mkdirp "~1.0.3"
|
mkdirp "~1.0.3"
|
||||||
nopt "^4.0.3"
|
nopt "^4.0.3"
|
||||||
|
|
||||||
|
js-levenshtein@^1.1.6:
|
||||||
|
version "1.1.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
|
||||||
|
integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
|
||||||
|
|
||||||
js-sha3@0.8.0:
|
js-sha3@0.8.0:
|
||||||
version "0.8.0"
|
version "0.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
|
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
|
||||||
|
@ -5794,6 +5829,14 @@ js-yaml@^3.13.1:
|
||||||
argparse "^1.0.7"
|
argparse "^1.0.7"
|
||||||
esprima "^4.0.0"
|
esprima "^4.0.0"
|
||||||
|
|
||||||
|
js-yaml@^3.14.0:
|
||||||
|
version "3.14.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
|
||||||
|
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
|
||||||
|
dependencies:
|
||||||
|
argparse "^1.0.7"
|
||||||
|
esprima "^4.0.0"
|
||||||
|
|
||||||
js-yaml@~3.7.0:
|
js-yaml@~3.7.0:
|
||||||
version "3.7.0"
|
version "3.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
|
||||||
|
@ -6360,6 +6403,11 @@ lodash.foreach@^4.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
|
resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
|
||||||
integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
|
integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
|
||||||
|
|
||||||
|
lodash.isequal@^4.5.0:
|
||||||
|
version "4.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||||
|
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||||
|
|
||||||
lodash.isfinite@^3.3.2:
|
lodash.isfinite@^3.3.2:
|
||||||
version "3.3.2"
|
version "3.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3"
|
resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3"
|
||||||
|
@ -6966,7 +7014,7 @@ node-addon-api@^3.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
|
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
|
||||||
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
|
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
|
||||||
|
|
||||||
node-fetch@2.6.1:
|
node-fetch@2.6.1, node-fetch@^2.6.1:
|
||||||
version "2.6.1"
|
version "2.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
|
||||||
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
|
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
|
||||||
|
@ -11381,6 +11429,11 @@ yallist@^4.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||||
|
|
||||||
|
yaml-ast-parser@0.0.43:
|
||||||
|
version "0.0.43"
|
||||||
|
resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb"
|
||||||
|
integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==
|
||||||
|
|
||||||
yaml@^1.10.0:
|
yaml@^1.10.0:
|
||||||
version "1.10.0"
|
version "1.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
|
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
|
||||||
|
@ -11400,14 +11453,6 @@ yargs-parser@20.2.4, yargs-parser@^20.2.2:
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
|
||||||
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
|
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
|
||||||
|
|
||||||
yargs-parser@5.0.0-security.0, yargs-parser@^5.0.0:
|
|
||||||
version "5.0.0-security.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz#4ff7271d25f90ac15643b86076a2ab499ec9ee24"
|
|
||||||
integrity sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==
|
|
||||||
dependencies:
|
|
||||||
camelcase "^3.0.0"
|
|
||||||
object.assign "^4.1.0"
|
|
||||||
|
|
||||||
yargs-parser@>=5.0.0-security.0:
|
yargs-parser@>=5.0.0-security.0:
|
||||||
version "20.2.7"
|
version "20.2.7"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
|
||||||
|
@ -11421,6 +11466,14 @@ yargs-parser@^13.1.2:
|
||||||
camelcase "^5.0.0"
|
camelcase "^5.0.0"
|
||||||
decamelize "^1.2.0"
|
decamelize "^1.2.0"
|
||||||
|
|
||||||
|
yargs-parser@^5.0.0:
|
||||||
|
version "5.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394"
|
||||||
|
integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==
|
||||||
|
dependencies:
|
||||||
|
camelcase "^3.0.0"
|
||||||
|
object.assign "^4.1.0"
|
||||||
|
|
||||||
yargs-unparser@2.0.0:
|
yargs-unparser@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
|
resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
|
||||||
|
|
Loading…
Reference in a new issue