@strapi/plugin-documentation 5.0.0-beta.0 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/_chunks/{index-7xstUX8_.mjs → App-ig-uE4do.mjs} +48 -14
- package/dist/_chunks/App-ig-uE4do.mjs.map +1 -0
- package/dist/_chunks/{index-D1KkfApT.js → App-o4uH8gaQ.js} +73 -20
- package/dist/_chunks/App-o4uH8gaQ.js.map +1 -0
- package/dist/_chunks/{index-VpLAJXMs.mjs → Settings-3hsPOP_b.mjs} +64 -33
- package/dist/_chunks/Settings-3hsPOP_b.mjs.map +1 -0
- package/dist/_chunks/{index-NbPCucJl.js → Settings-XmOzLTUn.js} +69 -37
- package/dist/_chunks/Settings-XmOzLTUn.js.map +1 -0
- package/dist/_chunks/getTrad-bnElvR8_.js +5 -0
- package/dist/_chunks/getTrad-bnElvR8_.js.map +1 -0
- package/dist/_chunks/getTrad-md7Tjpcv.mjs +6 -0
- package/dist/_chunks/getTrad-md7Tjpcv.mjs.map +1 -0
- package/{server/public/index.html → dist/_chunks/index-MKWIGajW.mjs} +9 -4
- package/dist/_chunks/index-MKWIGajW.mjs.map +1 -0
- package/dist/_chunks/index-WbbYm9_u.js +75 -0
- package/dist/_chunks/index-WbbYm9_u.js.map +1 -0
- package/dist/_chunks/{index-NvJ4m2q5.mjs → index-jpDwTC-Q.mjs} +121 -117
- package/dist/_chunks/index-jpDwTC-Q.mjs.map +1 -0
- package/dist/_chunks/{index-r7HsQTou.js → index-vNbIS1u2.js} +119 -115
- package/dist/_chunks/index-vNbIS1u2.js.map +1 -0
- package/dist/_chunks/login-HAajOKpu.js +150 -0
- package/dist/_chunks/login-HAajOKpu.js.map +1 -0
- package/{server/public/login.html → dist/_chunks/login-slUa679p.mjs} +6 -1
- package/dist/_chunks/login-slUa679p.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +2 -2
- package/dist/admin/src/components/SettingsForm.d.ts +8 -0
- package/dist/admin/src/constants.d.ts +18 -0
- package/dist/admin/src/index.d.ts +14 -0
- package/dist/admin/src/pages/App.d.ts +2 -0
- package/dist/admin/src/pages/Settings.d.ts +2 -0
- package/dist/admin/src/pluginId.d.ts +1 -0
- package/dist/admin/src/services/api.d.ts +25 -0
- package/dist/admin/src/types.d.ts +16 -0
- package/dist/admin/src/utils/baseQuery.d.ts +20 -0
- package/dist/admin/src/utils/getTrad.d.ts +1 -0
- package/dist/admin/src/utils/index.d.ts +2 -0
- package/dist/admin/src/utils/prefixPluginTranslations.d.ts +2 -0
- package/dist/server/index.js +1263 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +1238 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/config/default-plugin-config.d.ts +3 -0
- package/dist/server/src/config/default-plugin-config.d.ts.map +1 -0
- package/dist/server/src/config/index.d.ts +4 -0
- package/dist/server/src/config/index.d.ts.map +1 -0
- package/dist/server/src/controllers/documentation.d.ts +12 -0
- package/dist/server/src/controllers/documentation.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +14 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +91 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/documentation.d.ts +5 -0
- package/dist/server/src/middlewares/documentation.d.ts.map +1 -0
- package/dist/server/src/middlewares/restrict-access.d.ts +4 -0
- package/dist/server/src/middlewares/restrict-access.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +36 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/services/__mocks__/mock-content-types.d.ts +449 -0
- package/dist/server/src/services/__mocks__/mock-content-types.d.ts.map +1 -0
- package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts +592 -0
- package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts.map +1 -0
- package/dist/server/src/services/documentation.d.ts +36 -0
- package/dist/server/src/services/documentation.d.ts.map +1 -0
- package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts +7 -0
- package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts.map +1 -0
- package/dist/server/src/services/helpers/build-component-schema.d.ts +4 -0
- package/dist/server/src/services/helpers/build-component-schema.d.ts.map +1 -0
- package/dist/server/src/services/helpers/index.d.ts +4 -0
- package/dist/server/src/services/helpers/index.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts +15 -0
- package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/get-api-responses.d.ts +15 -0
- package/dist/server/src/services/helpers/utils/get-api-responses.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/get-schema-data.d.ts +12 -0
- package/dist/server/src/services/helpers/utils/get-schema-data.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts +7 -0
- package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/pascal-case.d.ts +3 -0
- package/dist/server/src/services/helpers/utils/pascal-case.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/query-params.d.ts +4 -0
- package/dist/server/src/services/helpers/utils/query-params.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/routes.d.ts +3 -0
- package/dist/server/src/services/helpers/utils/routes.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +43 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/override.d.ts +21 -0
- package/dist/server/src/services/override.d.ts.map +1 -0
- package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts +4 -0
- package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts.map +1 -0
- package/dist/server/src/types.d.ts +28 -0
- package/dist/server/src/types.d.ts.map +1 -0
- package/dist/server/src/utils.d.ts +12 -0
- package/dist/server/src/utils.d.ts.map +1 -0
- package/package.json +33 -15
- package/strapi-server.js +1 -1
- package/.eslintignore +0 -1
- package/.eslintrc +0 -17
- package/admin/src/constants.js +0 -17
- package/admin/src/hooks/useDocumentation.js +0 -81
- package/admin/src/index.js +0 -62
- package/admin/src/pages/PluginPage/index.jsx +0 -212
- package/admin/src/pages/PluginPage/tests/index.test.jsx +0 -160
- package/admin/src/pages/SettingsPage/index.jsx +0 -202
- package/admin/src/pages/SettingsPage/tests/index.test.jsx +0 -72
- package/admin/src/pluginId.js +0 -5
- package/admin/src/translations/ar.json +0 -20
- package/admin/src/translations/cs.json +0 -21
- package/admin/src/translations/de.json +0 -26
- package/admin/src/translations/dk.json +0 -39
- package/admin/src/translations/en.json +0 -39
- package/admin/src/translations/es.json +0 -39
- package/admin/src/translations/fr.json +0 -26
- package/admin/src/translations/id.json +0 -24
- package/admin/src/translations/it.json +0 -26
- package/admin/src/translations/ko.json +0 -39
- package/admin/src/translations/ms.json +0 -23
- package/admin/src/translations/nl.json +0 -21
- package/admin/src/translations/pl.json +0 -39
- package/admin/src/translations/pt-BR.json +0 -21
- package/admin/src/translations/pt.json +0 -21
- package/admin/src/translations/ru.json +0 -39
- package/admin/src/translations/sk.json +0 -24
- package/admin/src/translations/sv.json +0 -39
- package/admin/src/translations/th.json +0 -24
- package/admin/src/translations/tr.json +0 -39
- package/admin/src/translations/uk.json +0 -23
- package/admin/src/translations/vi.json +0 -24
- package/admin/src/translations/zh-Hans.json +0 -28
- package/admin/src/translations/zh.json +0 -39
- package/admin/src/utils/getTrad.js +0 -5
- package/admin/src/utils/index.js +0 -2
- package/admin/src/utils/prefixPluginTranslations.js +0 -13
- package/dist/_chunks/index-7xstUX8_.mjs.map +0 -1
- package/dist/_chunks/index-D1KkfApT.js.map +0 -1
- package/dist/_chunks/index-NbPCucJl.js.map +0 -1
- package/dist/_chunks/index-NvJ4m2q5.mjs.map +0 -1
- package/dist/_chunks/index-VpLAJXMs.mjs.map +0 -1
- package/dist/_chunks/index-r7HsQTou.js.map +0 -1
- package/dist/_chunks/useDocumentation-6Ks-_Ms6.mjs +0 -68
- package/dist/_chunks/useDocumentation-6Ks-_Ms6.mjs.map +0 -1
- package/dist/_chunks/useDocumentation-S0e4mU-U.js +0 -67
- package/dist/_chunks/useDocumentation-S0e4mU-U.js.map +0 -1
- package/jest.config.front.js +0 -7
- package/jest.config.js +0 -6
- package/packup.config.ts +0 -22
- package/server/bootstrap.js +0 -54
- package/server/config/default-plugin-config.js +0 -35
- package/server/config/index.js +0 -7
- package/server/controllers/documentation.js +0 -241
- package/server/controllers/index.js +0 -7
- package/server/index.js +0 -17
- package/server/middlewares/documentation.js +0 -25
- package/server/middlewares/index.js +0 -7
- package/server/middlewares/restrict-access.js +0 -24
- package/server/register.js +0 -11
- package/server/routes/index.js +0 -84
- package/server/services/__mocks__/mock-content-types.js +0 -264
- package/server/services/__mocks__/mock-strapi-data.js +0 -183
- package/server/services/__tests__/build-component-schema.test.js +0 -761
- package/server/services/__tests__/documentation.test.js +0 -481
- package/server/services/__tests__/override.test.js +0 -85
- package/server/services/documentation.js +0 -246
- package/server/services/helpers/build-api-endpoint-path.js +0 -186
- package/server/services/helpers/build-component-schema.js +0 -254
- package/server/services/helpers/index.js +0 -9
- package/server/services/helpers/utils/clean-schema-attributes.js +0 -246
- package/server/services/helpers/utils/get-api-responses.js +0 -105
- package/server/services/helpers/utils/get-schema-data.js +0 -32
- package/server/services/helpers/utils/loop-content-type-names.js +0 -55
- package/server/services/helpers/utils/pascal-case.js +0 -9
- package/server/services/helpers/utils/query-params.js +0 -105
- package/server/services/helpers/utils/routes.js +0 -10
- package/server/services/index.js +0 -9
- package/server/services/override.js +0 -52
- package/server/services/utils/default-openapi-components.js +0 -40
- package/server/services/utils/get-plugins-that-need-documentation.js +0 -24
- package/tests/server.js +0 -37
- package/tests/setup.js +0 -15
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
interface Options {
|
|
3
|
+
uniqueName: string;
|
|
4
|
+
route: {
|
|
5
|
+
method: string;
|
|
6
|
+
};
|
|
7
|
+
isListOfEntities?: boolean;
|
|
8
|
+
isLocalizationPath?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @description - Builds the Swagger response object for a given api
|
|
12
|
+
*/
|
|
13
|
+
declare const getApiResponse: ({ uniqueName, route, isListOfEntities, }: Options) => OpenAPIV3.ResponsesObject;
|
|
14
|
+
export default getApiResponse;
|
|
15
|
+
//# sourceMappingURL=get-api-responses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-api-responses.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/get-api-responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,UAAU,OAAO;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,QAAA,MAAM,cAAc,6CAIjB,OAAO,KAAG,UAAU,eA8EtB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
/**
|
|
3
|
+
* @description Determines the format of the data response
|
|
4
|
+
*
|
|
5
|
+
* @param {boolean} isListOfEntities - Checks for a multiple entities
|
|
6
|
+
* @param {object} attributes - The attributes found on a contentType
|
|
7
|
+
|
|
8
|
+
* @returns object | array of attributes
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: (isListOfEntities: boolean, attributes: Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject>) => OpenAPIV3.SchemaObject;
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=get-schema-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-schema-data.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/get-schema-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;GAOG;2CAEiB,OAAO,cACb,OAAO,MAAM,EAAE,UAAU,YAAY,GAAG,UAAU,eAAe,CAAC,KAC7E,UAAU,YAAY;AAHzB,wBA0BE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Api, ApiInfo } from '../../../types';
|
|
2
|
+
/**
|
|
3
|
+
* @description A reusable loop for building api endpoint paths and component schemas
|
|
4
|
+
*/
|
|
5
|
+
declare const loopContentTypeNames: (api: Api, callback: (info: ApiInfo) => any) => {};
|
|
6
|
+
export default loopContentTypeNames;
|
|
7
|
+
//# sourceMappingURL=loop-content-type-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop-content-type-names.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/loop-content-type-names.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,QAAA,MAAM,oBAAoB,QAAS,GAAG,mBAAmB,OAAO,KAAK,GAAG,OA2CvE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pascal-case.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/pascal-case.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,WAAY,MAAM,WAEjC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,QAAA,MAAM,MAAM,EAAE,SAAS,CAAC,eAAe,EAsGtC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/routes.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,YAAa,OAAO,YAMtC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type DocumentationService } from './documentation';
|
|
2
|
+
import { type OverrideService } from './override';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
documentation: ({ strapi }: {
|
|
5
|
+
strapi: import("@strapi/types/dist/core").Strapi;
|
|
6
|
+
}) => {
|
|
7
|
+
getDocumentationVersion(): string;
|
|
8
|
+
getFullDocumentationPath(): string;
|
|
9
|
+
getDocumentationVersions(): import("./documentation").Version[];
|
|
10
|
+
getDocumentationAccess(): Promise<{
|
|
11
|
+
restrictedAccess: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
getApiDocumentationPath(api: {
|
|
14
|
+
name: string;
|
|
15
|
+
getter: string;
|
|
16
|
+
}): string;
|
|
17
|
+
deleteDocumentation(version: string): Promise<void>;
|
|
18
|
+
getPluginAndApiInfo(): {
|
|
19
|
+
name: string;
|
|
20
|
+
getter: string;
|
|
21
|
+
ctNames: string[];
|
|
22
|
+
}[];
|
|
23
|
+
generateFullDoc(versionOpt?: string | undefined): Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
override: ({ strapi }: {
|
|
26
|
+
strapi: import("@strapi/types/dist/core").Strapi;
|
|
27
|
+
}) => {
|
|
28
|
+
registeredOverrides: Partial<import("../types").PluginConfig>[];
|
|
29
|
+
excludedFromGeneration: string[];
|
|
30
|
+
excludeFromGeneration(api: string | string[]): void;
|
|
31
|
+
isEnabled(name: string): boolean;
|
|
32
|
+
registerOverride(override: Partial<import("../types").PluginConfig>, opts?: {
|
|
33
|
+
pluginOrigin: string;
|
|
34
|
+
excludeFromGeneration?: string[] | undefined;
|
|
35
|
+
} | undefined): void;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export default _default;
|
|
39
|
+
export type Services = {
|
|
40
|
+
documentation: DocumentationService;
|
|
41
|
+
override: OverrideService;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAEA,OAAsB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5D,wBAGE;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,aAAa,EAAE,oBAAoB,CAAC;IACpC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import type { PluginConfig } from '../types';
|
|
3
|
+
export type OverrideService = ReturnType<typeof createService>;
|
|
4
|
+
declare const createService: ({ strapi }: {
|
|
5
|
+
strapi: Core.Strapi;
|
|
6
|
+
}) => {
|
|
7
|
+
registeredOverrides: Partial<PluginConfig>[];
|
|
8
|
+
excludedFromGeneration: string[];
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param {(string | string[])} api - The name of the api or and array of apis to exclude from generation
|
|
12
|
+
*/
|
|
13
|
+
excludeFromGeneration(api: string | string[]): void;
|
|
14
|
+
isEnabled(name: string): boolean;
|
|
15
|
+
registerOverride(override: Partial<PluginConfig>, opts?: {
|
|
16
|
+
pluginOrigin: string;
|
|
17
|
+
excludeFromGeneration?: string[];
|
|
18
|
+
}): void;
|
|
19
|
+
};
|
|
20
|
+
export default createService;
|
|
21
|
+
//# sourceMappingURL=override.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"override.d.ts","sourceRoot":"","sources":["../../../../server/src/services/override.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AAE/D,QAAA,MAAM,aAAa;YAA0B,KAAK,MAAM;;;;IAOpD;;;OAGG;+BACwB,MAAM,GAAG,MAAM,EAAE;oBAU5B,MAAM;+BAKV,QAAQ,YAAY,CAAC,SACxB;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CAwBtE,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-plugins-that-need-documentation.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/utils/get-plugins-that-need-documentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,QAAA,MAAM,+BAA+B,WAAY,YAAY,aAmB5D,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Core, Struct } from '@strapi/types';
|
|
2
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
3
|
+
export interface Config {
|
|
4
|
+
restrictedAccess: boolean;
|
|
5
|
+
password?: string;
|
|
6
|
+
}
|
|
7
|
+
export type PluginConfig = OpenAPIV3.Document & {
|
|
8
|
+
info: OpenAPIV3.InfoObject & {
|
|
9
|
+
'x-generation-date'?: string;
|
|
10
|
+
};
|
|
11
|
+
'x-strapi-config': {
|
|
12
|
+
plugins: string[] | null;
|
|
13
|
+
mutateDocumentation?: ((state: OpenAPIV3.Document) => OpenAPIV3.Document) | null;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export interface ApiInfo {
|
|
17
|
+
routeInfo: Core.Router;
|
|
18
|
+
attributes: Struct.SchemaAttributes;
|
|
19
|
+
uniqueName: string;
|
|
20
|
+
contentTypeInfo: any;
|
|
21
|
+
kind: string;
|
|
22
|
+
}
|
|
23
|
+
export interface Api {
|
|
24
|
+
getter: string;
|
|
25
|
+
name: string;
|
|
26
|
+
ctNames: string[];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../server/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,MAAM;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,GAAG;IAC9C,IAAI,EAAE,SAAS,CAAC,UAAU,GAAG;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzB,mBAAmB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;KAClF,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import type { Services } from './services';
|
|
3
|
+
export declare const getService: <TName extends keyof Services>(name: TName, { strapi }?: {
|
|
4
|
+
strapi: Core.Strapi;
|
|
5
|
+
}) => Services[TName];
|
|
6
|
+
declare const _default: {
|
|
7
|
+
getService: <TName extends keyof Services>(name: TName, { strapi }?: {
|
|
8
|
+
strapi: Core.Strapi;
|
|
9
|
+
}) => Services[TName];
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../server/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,UAAU;YAEC,KAAK,MAAM;qBAGlC,CAAC;;;;;;AAEF,wBAEE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/plugin-documentation",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.1",
|
|
4
4
|
"description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,32 +22,42 @@
|
|
|
22
22
|
],
|
|
23
23
|
"exports": {
|
|
24
24
|
"./strapi-admin": {
|
|
25
|
-
"
|
|
25
|
+
"types": "./dist/admin/src/index.d.ts",
|
|
26
|
+
"source": "./admin/src/index.ts",
|
|
26
27
|
"import": "./dist/admin/index.mjs",
|
|
27
28
|
"require": "./dist/admin/index.js",
|
|
28
29
|
"default": "./dist/admin/index.js"
|
|
29
30
|
},
|
|
30
31
|
"./strapi-server": {
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
32
|
+
"types": "./dist/server/src/index.d.ts",
|
|
33
|
+
"source": "./server/src/index.ts",
|
|
34
|
+
"import": "./dist/server/index.mjs",
|
|
35
|
+
"require": "./dist/server/index.js",
|
|
36
|
+
"default": "./dist/server/index.js"
|
|
34
37
|
},
|
|
35
38
|
"./package.json": "./package.json"
|
|
36
39
|
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist/",
|
|
42
|
+
"strapi-server.js"
|
|
43
|
+
],
|
|
37
44
|
"scripts": {
|
|
38
|
-
"build": "
|
|
39
|
-
"clean": "run -T rimraf dist",
|
|
45
|
+
"build": "strapi plugin:build --force",
|
|
46
|
+
"clean": "run -T rimraf ./dist",
|
|
40
47
|
"lint": "run -T eslint .",
|
|
41
48
|
"test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
|
|
42
49
|
"test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
|
|
43
|
-
"test:unit": "jest --verbose",
|
|
50
|
+
"test:unit": "run -T jest --verbose",
|
|
44
51
|
"test:unit:watch": "run -T jest --watch",
|
|
45
|
-
"watch": "
|
|
52
|
+
"watch": "strapi plugin:watch"
|
|
46
53
|
},
|
|
47
54
|
"dependencies": {
|
|
55
|
+
"@reduxjs/toolkit": "1.9.7",
|
|
56
|
+
"@strapi/admin": "5.0.0-beta.1",
|
|
48
57
|
"@strapi/design-system": "1.16.0",
|
|
49
58
|
"@strapi/icons": "1.16.0",
|
|
50
|
-
"@strapi/utils": "5.0.0-beta.
|
|
59
|
+
"@strapi/utils": "5.0.0-beta.1",
|
|
60
|
+
"axios": "1.6.8",
|
|
51
61
|
"bcryptjs": "2.4.3",
|
|
52
62
|
"cheerio": "^1.0.0-rc.12",
|
|
53
63
|
"formik": "2.4.5",
|
|
@@ -58,25 +68,33 @@
|
|
|
58
68
|
"path-to-regexp": "6.2.1",
|
|
59
69
|
"react-helmet": "^6.1.0",
|
|
60
70
|
"react-intl": "6.6.2",
|
|
61
|
-
"react-query": "3.39.3",
|
|
62
71
|
"swagger-ui-dist": "4.19.0",
|
|
63
72
|
"yaml": "1.10.2",
|
|
64
73
|
"yup": "0.32.9"
|
|
65
74
|
},
|
|
66
75
|
"devDependencies": {
|
|
67
76
|
"@apidevtools/swagger-parser": "^10.1.0",
|
|
68
|
-
"@strapi/
|
|
69
|
-
"@strapi/
|
|
77
|
+
"@strapi/admin-test-utils": "5.0.0-beta.1",
|
|
78
|
+
"@strapi/pack-up": "5.0.0-beta.1",
|
|
79
|
+
"@strapi/strapi": "5.0.0-beta.1",
|
|
80
|
+
"@strapi/types": "5.0.0-beta.1",
|
|
70
81
|
"@testing-library/react": "14.0.0",
|
|
71
82
|
"@testing-library/user-event": "14.4.3",
|
|
83
|
+
"@types/koa": "2.13.4",
|
|
84
|
+
"@types/koa-session": "6.4.1",
|
|
85
|
+
"@types/swagger-ui-dist": "3.30.4",
|
|
86
|
+
"koa": "2.13.4",
|
|
87
|
+
"koa-body": "4.2.0",
|
|
88
|
+
"koa-session": "6.4.0",
|
|
72
89
|
"msw": "1.3.0",
|
|
90
|
+
"openapi-types": "12.1.3",
|
|
73
91
|
"react": "^18.2.0",
|
|
74
92
|
"react-dom": "^18.2.0",
|
|
75
93
|
"react-router-dom": "6.22.3",
|
|
76
94
|
"styled-components": "5.3.11"
|
|
77
95
|
},
|
|
78
96
|
"peerDependencies": {
|
|
79
|
-
"@strapi/strapi": "^
|
|
97
|
+
"@strapi/strapi": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
|
|
80
98
|
"react": "^17.0.0 || ^18.0.0",
|
|
81
99
|
"react-dom": "^17.0.0 || ^18.0.0",
|
|
82
100
|
"react-router-dom": "^6.0.0",
|
|
@@ -92,5 +110,5 @@
|
|
|
92
110
|
"description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
|
|
93
111
|
"kind": "plugin"
|
|
94
112
|
},
|
|
95
|
-
"gitHead": "
|
|
113
|
+
"gitHead": "ae773621dfcbc67c49dc6fa52ac41ea5de676ecb"
|
|
96
114
|
}
|
package/strapi-server.js
CHANGED
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
dist
|
package/.eslintrc
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"root": true,
|
|
3
|
-
"overrides": [
|
|
4
|
-
{
|
|
5
|
-
"files": ["admin/**/*"],
|
|
6
|
-
"extends": ["custom/front"],
|
|
7
|
-
"rules": {
|
|
8
|
-
"import/extensions": "off"
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"files": ["**/*"],
|
|
13
|
-
"excludedFiles": ["admin/**/*"],
|
|
14
|
-
"extends": ["custom/back"]
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
}
|
package/admin/src/constants.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const PERMISSIONS = {
|
|
2
|
-
// This permission regards the main component (App) and is used to tell
|
|
3
|
-
// If the plugin link should be displayed in the menu
|
|
4
|
-
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
|
5
|
-
// plugin directly in the browser
|
|
6
|
-
main: [
|
|
7
|
-
{ action: 'plugin::documentation.read', subject: null },
|
|
8
|
-
{ action: 'plugin::documentation.settings.regenerate', subject: null },
|
|
9
|
-
{ action: 'plugin::documentation.settings.update', subject: null },
|
|
10
|
-
],
|
|
11
|
-
open: [
|
|
12
|
-
{ action: 'plugin::documentation.read', subject: null },
|
|
13
|
-
{ action: 'plugin::documentation.settings.regenerate', subject: null },
|
|
14
|
-
],
|
|
15
|
-
regenerate: [{ action: 'plugin::documentation.settings.regenerate', subject: null }],
|
|
16
|
-
update: [{ action: 'plugin::documentation.settings.update', subject: null }],
|
|
17
|
-
};
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
import { useAPIErrorHandler, useNotification, useFetchClient } from '@strapi/strapi/admin';
|
|
4
|
-
import { useIntl } from 'react-intl';
|
|
5
|
-
import { useMutation, useQuery } from 'react-query';
|
|
6
|
-
|
|
7
|
-
import pluginId from '../pluginId';
|
|
8
|
-
import getTrad from '../utils/getTrad';
|
|
9
|
-
|
|
10
|
-
export const useDocumentation = () => {
|
|
11
|
-
const { toggleNotification } = useNotification();
|
|
12
|
-
const { formatMessage } = useIntl();
|
|
13
|
-
const { del, post, put, get } = useFetchClient();
|
|
14
|
-
|
|
15
|
-
const { formatAPIError } = useAPIErrorHandler();
|
|
16
|
-
|
|
17
|
-
const { isLoading, isError, data, refetch, error } = useQuery(
|
|
18
|
-
['get-documentation', pluginId],
|
|
19
|
-
async () => {
|
|
20
|
-
const { data } = await get(`/${pluginId}/getInfos`);
|
|
21
|
-
|
|
22
|
-
return data;
|
|
23
|
-
}
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
if (isError && error) {
|
|
28
|
-
toggleNotification({
|
|
29
|
-
type: 'danger',
|
|
30
|
-
message: error
|
|
31
|
-
? formatAPIError(error)
|
|
32
|
-
: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}, [isError, error, toggleNotification, formatAPIError, formatMessage]);
|
|
36
|
-
|
|
37
|
-
const handleError = (err) => {
|
|
38
|
-
toggleNotification({
|
|
39
|
-
type: 'danger',
|
|
40
|
-
message: formatAPIError(err),
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const handleSuccess = (type, tradId, defaultMessage) => {
|
|
45
|
-
refetch();
|
|
46
|
-
toggleNotification({
|
|
47
|
-
type,
|
|
48
|
-
message: formatMessage({ id: getTrad(tradId), defaultMessage }),
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const deleteMutation = useMutation(
|
|
53
|
-
({ prefix, version }) => del(`${prefix}/deleteDoc/${version}`),
|
|
54
|
-
{
|
|
55
|
-
onSuccess: () =>
|
|
56
|
-
handleSuccess('info', 'notification.delete.success', 'Successfully deleted documentation'),
|
|
57
|
-
onError: handleError,
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
const submit = useMutation(({ prefix, body }) => put(`${prefix}/updateSettings`, body), {
|
|
62
|
-
onSuccess: () =>
|
|
63
|
-
handleSuccess('success', 'notification.update.success', 'Successfully updated settings'),
|
|
64
|
-
onError: handleError,
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
const regenerate = useMutation(
|
|
68
|
-
({ prefix, version }) => post(`${prefix}/regenerateDoc`, { version }),
|
|
69
|
-
{
|
|
70
|
-
onSuccess: () =>
|
|
71
|
-
handleSuccess(
|
|
72
|
-
'info',
|
|
73
|
-
'notification.generate.success',
|
|
74
|
-
'Successfully generated documentation'
|
|
75
|
-
),
|
|
76
|
-
onError: handleError,
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
return { data, isLoading, isError, remove: deleteMutation, submit, regenerate };
|
|
81
|
-
};
|
package/admin/src/index.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Information } from '@strapi/icons';
|
|
2
|
-
|
|
3
|
-
import pluginPkg from '../../package.json';
|
|
4
|
-
|
|
5
|
-
import { PERMISSIONS } from './constants';
|
|
6
|
-
import pluginId from './pluginId';
|
|
7
|
-
import { prefixPluginTranslations } from './utils/prefixPluginTranslations';
|
|
8
|
-
|
|
9
|
-
const name = pluginPkg.strapi.name;
|
|
10
|
-
|
|
11
|
-
export default {
|
|
12
|
-
register(app) {
|
|
13
|
-
app.addMenuLink({
|
|
14
|
-
to: `plugins/${pluginId}`,
|
|
15
|
-
icon: Information,
|
|
16
|
-
intlLabel: {
|
|
17
|
-
id: `${pluginId}.plugin.name`,
|
|
18
|
-
defaultMessage: 'Documentation',
|
|
19
|
-
},
|
|
20
|
-
permissions: PERMISSIONS.main,
|
|
21
|
-
Component: () => import('./pages/PluginPage'),
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
app.registerPlugin({
|
|
25
|
-
id: pluginId,
|
|
26
|
-
name,
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
bootstrap(app) {
|
|
30
|
-
app.addSettingsLink('global', {
|
|
31
|
-
intlLabel: {
|
|
32
|
-
id: `${pluginId}.plugin.name`,
|
|
33
|
-
defaultMessage: 'Documentation',
|
|
34
|
-
},
|
|
35
|
-
id: 'documentation',
|
|
36
|
-
to: pluginId,
|
|
37
|
-
Component: () => import('./pages/SettingsPage'),
|
|
38
|
-
permissions: PERMISSIONS.main,
|
|
39
|
-
});
|
|
40
|
-
},
|
|
41
|
-
async registerTrads({ locales }) {
|
|
42
|
-
const importedTrads = await Promise.all(
|
|
43
|
-
locales.map((locale) => {
|
|
44
|
-
return import(`./translations/${locale}.json`)
|
|
45
|
-
.then(({ default: data }) => {
|
|
46
|
-
return {
|
|
47
|
-
data: prefixPluginTranslations(data, pluginId),
|
|
48
|
-
locale,
|
|
49
|
-
};
|
|
50
|
-
})
|
|
51
|
-
.catch(() => {
|
|
52
|
-
return {
|
|
53
|
-
data: {},
|
|
54
|
-
locale,
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
})
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
return Promise.resolve(importedTrads);
|
|
61
|
-
},
|
|
62
|
-
};
|