@strapi/plugin-documentation 0.0.0-experimental.62ce06180fe9a772eaeb3d43d238b26644f39f7c → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282
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/LICENSE +18 -3
- package/README.md +2 -2
- package/dist/admin/components/SettingsForm.js +203 -0
- package/dist/admin/components/SettingsForm.js.map +1 -0
- package/dist/admin/components/SettingsForm.mjs +180 -0
- package/dist/admin/components/SettingsForm.mjs.map +1 -0
- package/dist/admin/constants.js +47 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +45 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/index.js +96 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +91 -4
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/App.js +254 -0
- package/dist/admin/pages/App.js.map +1 -0
- package/dist/admin/pages/App.mjs +232 -0
- package/dist/admin/pages/App.mjs.map +1 -0
- package/dist/admin/pages/Settings.js +54 -0
- package/dist/admin/pages/Settings.js.map +1 -0
- package/dist/admin/pages/Settings.mjs +52 -0
- package/dist/admin/pages/Settings.mjs.map +1 -0
- package/dist/admin/pluginId.js +6 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +4 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/services/api.js +55 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +50 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/src/index.d.ts +3 -2
- package/dist/admin/src/pages/tests/App.test.d.ts +1 -0
- package/dist/admin/src/pages/tests/Settings.test.d.ts +1 -0
- package/dist/admin/src/services/api.d.ts +4 -4
- package/dist/admin/translations/ar.json.js +25 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +23 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +47 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +45 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/da.json.js +44 -0
- package/dist/admin/translations/da.json.js.map +1 -0
- package/dist/admin/translations/da.json.mjs +42 -0
- package/dist/admin/translations/da.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +47 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +45 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +47 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +45 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +47 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +45 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +31 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +29 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +29 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +27 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +31 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +29 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +44 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +42 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +28 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +26 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +26 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +24 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +47 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +45 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +26 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +24 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +26 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +24 -0
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +47 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +45 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +47 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +45 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +44 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +42 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +29 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +27 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +44 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +42 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +47 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +45 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/vi.json.js +29 -0
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/translations/vi.json.mjs +27 -0
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +33 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +31 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +44 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +42 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/baseQuery.js +8 -0
- package/dist/admin/utils/baseQuery.js.map +1 -0
- package/dist/admin/utils/baseQuery.mjs +6 -0
- package/dist/admin/utils/baseQuery.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/server/bootstrap.js +57 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +55 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config/default-plugin-config.js +88 -0
- package/dist/server/config/default-plugin-config.js.map +1 -0
- package/dist/server/config/default-plugin-config.mjs +86 -0
- package/dist/server/config/default-plugin-config.mjs.map +1 -0
- package/dist/server/config/index.js +10 -0
- package/dist/server/config/index.js.map +1 -0
- package/dist/server/config/index.mjs +8 -0
- package/dist/server/config/index.mjs.map +1 -0
- package/dist/server/controllers/documentation.js +194 -0
- package/dist/server/controllers/documentation.js.map +1 -0
- package/dist/server/controllers/documentation.mjs +182 -0
- package/dist/server/controllers/documentation.mjs.map +1 -0
- package/dist/server/controllers/index.js +10 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +8 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/index.js +18 -1261
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +17 -1237
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/documentation.js +33 -0
- package/dist/server/middlewares/documentation.js.map +1 -0
- package/dist/server/middlewares/documentation.mjs +25 -0
- package/dist/server/middlewares/documentation.mjs.map +1 -0
- package/dist/server/middlewares/restrict-access.js +23 -0
- package/dist/server/middlewares/restrict-access.js.map +1 -0
- package/dist/server/middlewares/restrict-access.mjs +21 -0
- package/dist/server/middlewares/restrict-access.mjs.map +1 -0
- package/dist/server/public/index.html.js +6 -0
- package/dist/server/public/index.html.js.map +1 -0
- package/dist/server/public/index.html.mjs +4 -0
- package/dist/server/public/index.html.mjs.map +1 -0
- package/dist/server/public/login.html.js +6 -0
- package/dist/server/public/login.html.js.map +1 -0
- package/dist/server/public/login.html.mjs +4 -0
- package/dist/server/public/login.html.mjs.map +1 -0
- package/dist/server/register.js +12 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +10 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/index.js +106 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +104 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/documentation.js +193 -0
- package/dist/server/services/documentation.js.map +1 -0
- package/dist/server/services/documentation.mjs +186 -0
- package/dist/server/services/documentation.mjs.map +1 -0
- package/dist/server/services/helpers/build-api-endpoint-path.js +166 -0
- package/dist/server/services/helpers/build-api-endpoint-path.js.map +1 -0
- package/dist/server/services/helpers/build-api-endpoint-path.mjs +141 -0
- package/dist/server/services/helpers/build-api-endpoint-path.mjs.map +1 -0
- package/dist/server/services/helpers/build-component-schema.js +178 -0
- package/dist/server/services/helpers/build-component-schema.js.map +1 -0
- package/dist/server/services/helpers/build-component-schema.mjs +172 -0
- package/dist/server/services/helpers/build-component-schema.mjs.map +1 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.js +315 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.js.map +1 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.mjs +313 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.mjs.map +1 -0
- package/dist/server/services/helpers/utils/get-api-responses.js +88 -0
- package/dist/server/services/helpers/utils/get-api-responses.js.map +1 -0
- package/dist/server/services/helpers/utils/get-api-responses.mjs +86 -0
- package/dist/server/services/helpers/utils/get-api-responses.mjs.map +1 -0
- package/dist/server/services/helpers/utils/get-schema-data.js +57 -0
- package/dist/server/services/helpers/utils/get-schema-data.js.map +1 -0
- package/dist/server/services/helpers/utils/get-schema-data.mjs +55 -0
- package/dist/server/services/helpers/utils/get-schema-data.mjs.map +1 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.js +44 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.js.map +1 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.mjs +38 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.mjs.map +1 -0
- package/dist/server/services/helpers/utils/pascal-case.js +14 -0
- package/dist/server/services/helpers/utils/pascal-case.js.map +1 -0
- package/dist/server/services/helpers/utils/pascal-case.mjs +8 -0
- package/dist/server/services/helpers/utils/pascal-case.mjs.map +1 -0
- package/dist/server/services/helpers/utils/query-params.js +109 -0
- package/dist/server/services/helpers/utils/query-params.js.map +1 -0
- package/dist/server/services/helpers/utils/query-params.mjs +107 -0
- package/dist/server/services/helpers/utils/query-params.mjs.map +1 -0
- package/dist/server/services/helpers/utils/routes.js +11 -0
- package/dist/server/services/helpers/utils/routes.js.map +1 -0
- package/dist/server/services/helpers/utils/routes.mjs +9 -0
- package/dist/server/services/helpers/utils/routes.mjs.map +1 -0
- package/dist/server/services/index.js +13 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +11 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/override.js +45 -0
- package/dist/server/services/override.js.map +1 -0
- package/dist/server/services/override.mjs +43 -0
- package/dist/server/services/override.mjs.map +1 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.js +24 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.js.map +1 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.mjs +22 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/documentation.d.ts +2 -2
- package/dist/server/src/controllers/documentation.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +2 -3
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +5 -6
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/documentation.d.ts.map +1 -1
- package/dist/server/src/middlewares/restrict-access.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +0 -1
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/documentation.d.ts.map +1 -1
- package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts.map +1 -1
- package/dist/server/src/services/helpers/build-component-schema.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts +1 -1
- package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/get-api-responses.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/get-schema-data.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/pascal-case.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/query-params.d.ts.map +1 -1
- package/dist/server/src/services/helpers/utils/routes.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +3 -3
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/override.d.ts.map +1 -1
- package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts.map +1 -1
- package/dist/server/src/utils.d.ts.map +1 -1
- package/dist/server/utils.js +10 -0
- package/dist/server/utils.js.map +1 -0
- package/dist/server/utils.mjs +8 -0
- package/dist/server/utils.mjs.map +1 -0
- package/dist/tests/server.d.ts +2 -0
- package/package.json +35 -31
- package/dist/_chunks/App-Cmiagsr-.js +0 -203
- package/dist/_chunks/App-Cmiagsr-.js.map +0 -1
- package/dist/_chunks/App-pk6g9tYL.mjs +0 -184
- package/dist/_chunks/App-pk6g9tYL.mjs.map +0 -1
- package/dist/_chunks/Settings-CqLmbMfv.mjs +0 -223
- package/dist/_chunks/Settings-CqLmbMfv.mjs.map +0 -1
- package/dist/_chunks/Settings-MmkmHoxg.js +0 -243
- package/dist/_chunks/Settings-MmkmHoxg.js.map +0 -1
- package/dist/_chunks/ar-CkqTE6jh.js +0 -24
- package/dist/_chunks/ar-CkqTE6jh.js.map +0 -1
- package/dist/_chunks/ar-ckp9T43y.mjs +0 -24
- package/dist/_chunks/ar-ckp9T43y.mjs.map +0 -1
- package/dist/_chunks/cs-BbyKo6Hc.js +0 -25
- package/dist/_chunks/cs-BbyKo6Hc.js.map +0 -1
- package/dist/_chunks/cs-ciLYCxgd.mjs +0 -25
- package/dist/_chunks/cs-ciLYCxgd.mjs.map +0 -1
- package/dist/_chunks/de-CHwC0A85.js +0 -30
- package/dist/_chunks/de-CHwC0A85.js.map +0 -1
- package/dist/_chunks/de-DqkAUMvP.mjs +0 -30
- package/dist/_chunks/de-DqkAUMvP.mjs.map +0 -1
- package/dist/_chunks/dk-DgCq8mF-.mjs +0 -43
- package/dist/_chunks/dk-DgCq8mF-.mjs.map +0 -1
- package/dist/_chunks/dk-qlI2J6S0.js +0 -43
- package/dist/_chunks/dk-qlI2J6S0.js.map +0 -1
- package/dist/_chunks/en-Cfq2Inmo.js +0 -43
- package/dist/_chunks/en-Cfq2Inmo.js.map +0 -1
- package/dist/_chunks/en-DfCC9sZn.mjs +0 -43
- package/dist/_chunks/en-DfCC9sZn.mjs.map +0 -1
- package/dist/_chunks/es-CEiXVnsb.mjs +0 -43
- package/dist/_chunks/es-CEiXVnsb.mjs.map +0 -1
- package/dist/_chunks/es-DH1GVZe7.js +0 -43
- package/dist/_chunks/es-DH1GVZe7.js.map +0 -1
- package/dist/_chunks/fr-B1x-Nj5w.js +0 -30
- package/dist/_chunks/fr-B1x-Nj5w.js.map +0 -1
- package/dist/_chunks/fr-BlX-v4UF.mjs +0 -30
- package/dist/_chunks/fr-BlX-v4UF.mjs.map +0 -1
- package/dist/_chunks/getTrad-AjYeGjZg.mjs +0 -51
- package/dist/_chunks/getTrad-AjYeGjZg.mjs.map +0 -1
- package/dist/_chunks/getTrad-CPA7x4Cg.js +0 -50
- package/dist/_chunks/getTrad-CPA7x4Cg.js.map +0 -1
- package/dist/_chunks/id-CPOl6_EU.mjs +0 -28
- package/dist/_chunks/id-CPOl6_EU.mjs.map +0 -1
- package/dist/_chunks/id-D3yFE72d.js +0 -28
- package/dist/_chunks/id-D3yFE72d.js.map +0 -1
- package/dist/_chunks/index-BTFWrNiz.mjs +0 -75
- package/dist/_chunks/index-BTFWrNiz.mjs.map +0 -1
- package/dist/_chunks/index-Bjeq6z8p.js +0 -100
- package/dist/_chunks/index-Bjeq6z8p.js.map +0 -1
- package/dist/_chunks/index-CEoG11hQ.mjs +0 -101
- package/dist/_chunks/index-CEoG11hQ.mjs.map +0 -1
- package/dist/_chunks/index-CYcTK1eg.js +0 -75
- package/dist/_chunks/index-CYcTK1eg.js.map +0 -1
- package/dist/_chunks/it-DWJI563z.mjs +0 -30
- package/dist/_chunks/it-DWJI563z.mjs.map +0 -1
- package/dist/_chunks/it-WuNBIqG8.js +0 -30
- package/dist/_chunks/it-WuNBIqG8.js.map +0 -1
- package/dist/_chunks/ko-CFzSHayG.mjs +0 -43
- package/dist/_chunks/ko-CFzSHayG.mjs.map +0 -1
- package/dist/_chunks/ko-De5iYa_O.js +0 -43
- package/dist/_chunks/ko-De5iYa_O.js.map +0 -1
- package/dist/_chunks/login-EQSKn2h7.js +0 -150
- package/dist/_chunks/login-EQSKn2h7.js.map +0 -1
- package/dist/_chunks/login-KS59cQ6U.mjs +0 -150
- package/dist/_chunks/login-KS59cQ6U.mjs.map +0 -1
- package/dist/_chunks/ms-CUgPFo4U.mjs +0 -27
- package/dist/_chunks/ms-CUgPFo4U.mjs.map +0 -1
- package/dist/_chunks/ms-DQfa3FDx.js +0 -27
- package/dist/_chunks/ms-DQfa3FDx.js.map +0 -1
- package/dist/_chunks/nl-BZHlqphk.js +0 -25
- package/dist/_chunks/nl-BZHlqphk.js.map +0 -1
- package/dist/_chunks/nl-B_7CHwVD.mjs +0 -25
- package/dist/_chunks/nl-B_7CHwVD.mjs.map +0 -1
- package/dist/_chunks/pl-DDl5i_mP.js +0 -43
- package/dist/_chunks/pl-DDl5i_mP.js.map +0 -1
- package/dist/_chunks/pl-DwLr8sw9.mjs +0 -43
- package/dist/_chunks/pl-DwLr8sw9.mjs.map +0 -1
- package/dist/_chunks/pt-4GQ8ermL.js +0 -25
- package/dist/_chunks/pt-4GQ8ermL.js.map +0 -1
- package/dist/_chunks/pt-BR-D24CJ0qp.js +0 -25
- package/dist/_chunks/pt-BR-D24CJ0qp.js.map +0 -1
- package/dist/_chunks/pt-BR-MVXc6V9P.mjs +0 -25
- package/dist/_chunks/pt-BR-MVXc6V9P.mjs.map +0 -1
- package/dist/_chunks/pt-C2N9fdeh.mjs +0 -25
- package/dist/_chunks/pt-C2N9fdeh.mjs.map +0 -1
- package/dist/_chunks/ru-BddeNlU0.mjs +0 -43
- package/dist/_chunks/ru-BddeNlU0.mjs.map +0 -1
- package/dist/_chunks/ru-QwZYcU6K.js +0 -43
- package/dist/_chunks/ru-QwZYcU6K.js.map +0 -1
- package/dist/_chunks/sk-BmT4uZTG.mjs +0 -28
- package/dist/_chunks/sk-BmT4uZTG.mjs.map +0 -1
- package/dist/_chunks/sk-DgAXilB1.js +0 -28
- package/dist/_chunks/sk-DgAXilB1.js.map +0 -1
- package/dist/_chunks/sv-CCLcAo3U.js +0 -43
- package/dist/_chunks/sv-CCLcAo3U.js.map +0 -1
- package/dist/_chunks/sv-D_-KBtcw.mjs +0 -43
- package/dist/_chunks/sv-D_-KBtcw.mjs.map +0 -1
- package/dist/_chunks/th-BhgV1BbW.js +0 -28
- package/dist/_chunks/th-BhgV1BbW.js.map +0 -1
- package/dist/_chunks/th-DkuoSGii.mjs +0 -28
- package/dist/_chunks/th-DkuoSGii.mjs.map +0 -1
- package/dist/_chunks/tr-BysnAErC.js +0 -43
- package/dist/_chunks/tr-BysnAErC.js.map +0 -1
- package/dist/_chunks/tr-l-xxK4Yk.mjs +0 -43
- package/dist/_chunks/tr-l-xxK4Yk.mjs.map +0 -1
- package/dist/_chunks/uk-CNlbntFx.js +0 -27
- package/dist/_chunks/uk-CNlbntFx.js.map +0 -1
- package/dist/_chunks/uk-Cpmsxyku.mjs +0 -27
- package/dist/_chunks/uk-Cpmsxyku.mjs.map +0 -1
- package/dist/_chunks/vi-ClWGrFm9.mjs +0 -28
- package/dist/_chunks/vi-ClWGrFm9.mjs.map +0 -1
- package/dist/_chunks/vi-_ib0GmNl.js +0 -28
- package/dist/_chunks/vi-_ib0GmNl.js.map +0 -1
- package/dist/_chunks/zh-Glkg1L2g.mjs +0 -43
- package/dist/_chunks/zh-Glkg1L2g.mjs.map +0 -1
- package/dist/_chunks/zh-Hans-L_5U2KqC.js +0 -32
- package/dist/_chunks/zh-Hans-L_5U2KqC.js.map +0 -1
- package/dist/_chunks/zh-Hans-XLMwjASk.mjs +0 -32
- package/dist/_chunks/zh-Hans-XLMwjASk.mjs.map +0 -1
- package/dist/_chunks/zh-aEZZdkOu.js +0 -43
- package/dist/_chunks/zh-aEZZdkOu.js.map +0 -1
- package/strapi-server.js +0 -3
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import getSchemaData from './get-schema-data.mjs';
|
|
2
|
+
import pascalCase from './pascal-case.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @description - Convert attribute component names to OpenAPI component names
|
|
6
|
+
*
|
|
7
|
+
* @returns OpenAPI component name
|
|
8
|
+
*/ const convertComponentName = (component, isRef = false)=>{
|
|
9
|
+
const cleanComponentName = `${pascalCase(component)}Component`;
|
|
10
|
+
if (isRef) {
|
|
11
|
+
return `#/components/schemas/${cleanComponentName}`;
|
|
12
|
+
}
|
|
13
|
+
return cleanComponentName;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @description - Converts types found on attributes to OpenAPI acceptable data types
|
|
17
|
+
*
|
|
18
|
+
* @returns Attributes using OpenAPI acceptable data types
|
|
19
|
+
*/ const cleanSchemaAttributes = (attributes, { typeMap = new Map(), isRequest = false, didAddStrapiComponentsToSchemas })=>{
|
|
20
|
+
const schemaAttributes = {};
|
|
21
|
+
for (const prop of Object.keys(attributes)){
|
|
22
|
+
const attribute = attributes[prop];
|
|
23
|
+
switch(attribute.type){
|
|
24
|
+
case 'password':
|
|
25
|
+
{
|
|
26
|
+
if (!isRequest) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
schemaAttributes[prop] = {
|
|
30
|
+
type: 'string',
|
|
31
|
+
format: 'password',
|
|
32
|
+
example: '*******'
|
|
33
|
+
};
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case 'email':
|
|
37
|
+
{
|
|
38
|
+
schemaAttributes[prop] = {
|
|
39
|
+
type: 'string',
|
|
40
|
+
format: 'email'
|
|
41
|
+
};
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case 'string':
|
|
45
|
+
case 'text':
|
|
46
|
+
case 'richtext':
|
|
47
|
+
{
|
|
48
|
+
schemaAttributes[prop] = {
|
|
49
|
+
type: 'string'
|
|
50
|
+
};
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
case 'timestamp':
|
|
54
|
+
{
|
|
55
|
+
schemaAttributes[prop] = {
|
|
56
|
+
type: 'string',
|
|
57
|
+
format: 'timestamp',
|
|
58
|
+
example: Date.now()
|
|
59
|
+
};
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
case 'time':
|
|
63
|
+
{
|
|
64
|
+
schemaAttributes[prop] = {
|
|
65
|
+
type: 'string',
|
|
66
|
+
format: 'time',
|
|
67
|
+
example: '12:54.000'
|
|
68
|
+
};
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case 'date':
|
|
72
|
+
{
|
|
73
|
+
schemaAttributes[prop] = {
|
|
74
|
+
type: 'string',
|
|
75
|
+
format: 'date'
|
|
76
|
+
};
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case 'datetime':
|
|
80
|
+
{
|
|
81
|
+
schemaAttributes[prop] = {
|
|
82
|
+
type: 'string',
|
|
83
|
+
format: 'date-time'
|
|
84
|
+
};
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
case 'boolean':
|
|
88
|
+
{
|
|
89
|
+
schemaAttributes[prop] = {
|
|
90
|
+
type: 'boolean'
|
|
91
|
+
};
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
case 'enumeration':
|
|
95
|
+
{
|
|
96
|
+
schemaAttributes[prop] = {
|
|
97
|
+
type: 'string',
|
|
98
|
+
enum: [
|
|
99
|
+
...attribute.enum
|
|
100
|
+
]
|
|
101
|
+
};
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
case 'decimal':
|
|
105
|
+
case 'float':
|
|
106
|
+
{
|
|
107
|
+
schemaAttributes[prop] = {
|
|
108
|
+
type: 'number',
|
|
109
|
+
format: 'float'
|
|
110
|
+
};
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
case 'integer':
|
|
114
|
+
{
|
|
115
|
+
schemaAttributes[prop] = {
|
|
116
|
+
type: 'integer'
|
|
117
|
+
};
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case 'biginteger':
|
|
121
|
+
{
|
|
122
|
+
schemaAttributes[prop] = {
|
|
123
|
+
type: 'string',
|
|
124
|
+
pattern: '^\\d*$',
|
|
125
|
+
example: '123456789'
|
|
126
|
+
};
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
case 'json':
|
|
130
|
+
case 'blocks':
|
|
131
|
+
{
|
|
132
|
+
schemaAttributes[prop] = {};
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
case 'uid':
|
|
136
|
+
{
|
|
137
|
+
schemaAttributes[prop] = {
|
|
138
|
+
type: 'string'
|
|
139
|
+
};
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case 'component':
|
|
143
|
+
{
|
|
144
|
+
const componentAttributes = strapi.components[attribute.component].attributes;
|
|
145
|
+
const rawComponentSchema = {
|
|
146
|
+
type: 'object',
|
|
147
|
+
properties: {
|
|
148
|
+
...isRequest ? {} : {
|
|
149
|
+
id: {
|
|
150
|
+
oneOf: [
|
|
151
|
+
{
|
|
152
|
+
type: 'string'
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'number'
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
...cleanSchemaAttributes(componentAttributes, {
|
|
161
|
+
typeMap,
|
|
162
|
+
isRequest,
|
|
163
|
+
didAddStrapiComponentsToSchemas
|
|
164
|
+
})
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
const refComponentSchema = {
|
|
168
|
+
$ref: convertComponentName(attribute.component, true)
|
|
169
|
+
};
|
|
170
|
+
const componentExists = didAddStrapiComponentsToSchemas(convertComponentName(attribute.component), rawComponentSchema);
|
|
171
|
+
const finalComponentSchema = componentExists ? refComponentSchema : rawComponentSchema;
|
|
172
|
+
if (attribute.repeatable) {
|
|
173
|
+
schemaAttributes[prop] = {
|
|
174
|
+
type: 'array',
|
|
175
|
+
items: finalComponentSchema
|
|
176
|
+
};
|
|
177
|
+
} else {
|
|
178
|
+
schemaAttributes[prop] = finalComponentSchema;
|
|
179
|
+
}
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
case 'dynamiczone':
|
|
183
|
+
{
|
|
184
|
+
const components = attribute.components.map((component)=>{
|
|
185
|
+
const componentAttributes = strapi.components[component].attributes;
|
|
186
|
+
const rawComponentSchema = {
|
|
187
|
+
type: 'object',
|
|
188
|
+
properties: {
|
|
189
|
+
...isRequest ? {} : {
|
|
190
|
+
id: {
|
|
191
|
+
oneOf: [
|
|
192
|
+
{
|
|
193
|
+
type: 'string'
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'number'
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
__component: {
|
|
202
|
+
type: 'string',
|
|
203
|
+
enum: [
|
|
204
|
+
component
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
...cleanSchemaAttributes(componentAttributes, {
|
|
208
|
+
typeMap,
|
|
209
|
+
isRequest,
|
|
210
|
+
didAddStrapiComponentsToSchemas
|
|
211
|
+
})
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
const refComponentSchema = {
|
|
215
|
+
$ref: convertComponentName(component, true)
|
|
216
|
+
};
|
|
217
|
+
const componentExists = didAddStrapiComponentsToSchemas(convertComponentName(component), rawComponentSchema);
|
|
218
|
+
const finalComponentSchema = componentExists ? refComponentSchema : rawComponentSchema;
|
|
219
|
+
return finalComponentSchema;
|
|
220
|
+
});
|
|
221
|
+
let discriminator;
|
|
222
|
+
if (components.every((component)=>Object.hasOwn(component, '$ref'))) {
|
|
223
|
+
discriminator = {
|
|
224
|
+
propertyName: '__component',
|
|
225
|
+
mapping: attribute.components.reduce((acc, component)=>{
|
|
226
|
+
acc[component] = convertComponentName(component, true);
|
|
227
|
+
return acc;
|
|
228
|
+
}, {})
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
schemaAttributes[prop] = {
|
|
232
|
+
type: 'array',
|
|
233
|
+
items: {
|
|
234
|
+
anyOf: components
|
|
235
|
+
},
|
|
236
|
+
discriminator
|
|
237
|
+
};
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
case 'media':
|
|
241
|
+
{
|
|
242
|
+
const imageAttributes = strapi.contentType('plugin::upload.file').attributes;
|
|
243
|
+
const isListOfEntities = attribute.multiple ?? false;
|
|
244
|
+
if (isRequest) {
|
|
245
|
+
const oneOfType = {
|
|
246
|
+
oneOf: [
|
|
247
|
+
{
|
|
248
|
+
type: 'integer'
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
type: 'string'
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
example: 'string or id'
|
|
255
|
+
};
|
|
256
|
+
schemaAttributes[prop] = isListOfEntities ? {
|
|
257
|
+
type: 'array',
|
|
258
|
+
items: oneOfType
|
|
259
|
+
} : oneOfType;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
schemaAttributes[prop] = getSchemaData(isListOfEntities, cleanSchemaAttributes(imageAttributes, {
|
|
263
|
+
typeMap,
|
|
264
|
+
didAddStrapiComponentsToSchemas
|
|
265
|
+
}));
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
case 'relation':
|
|
269
|
+
{
|
|
270
|
+
const isListOfEntities = attribute.relation.includes('ToMany');
|
|
271
|
+
if (isRequest) {
|
|
272
|
+
const oneOfType = {
|
|
273
|
+
oneOf: [
|
|
274
|
+
{
|
|
275
|
+
type: 'integer'
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
type: 'string'
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
example: 'string or id'
|
|
282
|
+
};
|
|
283
|
+
schemaAttributes[prop] = isListOfEntities ? {
|
|
284
|
+
type: 'array',
|
|
285
|
+
items: oneOfType
|
|
286
|
+
} : oneOfType;
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
if (!('target' in attribute) || !attribute.target || typeMap.has(attribute.target)) {
|
|
290
|
+
schemaAttributes[prop] = getSchemaData(isListOfEntities, {});
|
|
291
|
+
break;
|
|
292
|
+
}
|
|
293
|
+
typeMap.set(attribute.target, true);
|
|
294
|
+
const targetAttributes = strapi.contentType(attribute.target).attributes;
|
|
295
|
+
schemaAttributes[prop] = getSchemaData(isListOfEntities, cleanSchemaAttributes(targetAttributes, {
|
|
296
|
+
typeMap,
|
|
297
|
+
isRequest,
|
|
298
|
+
didAddStrapiComponentsToSchemas
|
|
299
|
+
}));
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
default:
|
|
303
|
+
{
|
|
304
|
+
// @ts-expect-error - This is a catch all for any other types
|
|
305
|
+
throw new Error(`Invalid type ${attribute.type} while generating open api schema.`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return schemaAttributes;
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
export { cleanSchemaAttributes as default };
|
|
313
|
+
//# sourceMappingURL=clean-schema-attributes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean-schema-attributes.mjs","sources":["../../../../../server/src/services/helpers/utils/clean-schema-attributes.ts"],"sourcesContent":["import type { Struct } from '@strapi/types';\nimport type { OpenAPIV3 } from 'openapi-types';\n\nimport getSchemaData from './get-schema-data';\nimport pascalCase from './pascal-case';\n\ninterface Options {\n typeMap?: Map<string, boolean>;\n isRequest?: boolean;\n didAddStrapiComponentsToSchemas: (name: string, schema: object) => boolean;\n}\n\n/**\n * @description - Convert attribute component names to OpenAPI component names\n *\n * @returns OpenAPI component name\n */\nconst convertComponentName = (component: string, isRef = false): string => {\n const cleanComponentName = `${pascalCase(component)}Component`;\n\n if (isRef) {\n return `#/components/schemas/${cleanComponentName}`;\n }\n return cleanComponentName;\n};\n\n/**\n * @description - Converts types found on attributes to OpenAPI acceptable data types\n *\n * @returns Attributes using OpenAPI acceptable data types\n */\nconst cleanSchemaAttributes = (\n attributes: Struct.SchemaAttributes,\n { typeMap = new Map(), isRequest = false, didAddStrapiComponentsToSchemas }: Options\n): Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject> => {\n const schemaAttributes: Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject> = {};\n\n for (const prop of Object.keys(attributes)) {\n const attribute = attributes[prop];\n\n switch (attribute.type) {\n case 'password': {\n if (!isRequest) {\n break;\n }\n\n schemaAttributes[prop] = { type: 'string', format: 'password', example: '*******' };\n break;\n }\n case 'email': {\n schemaAttributes[prop] = { type: 'string', format: 'email' };\n break;\n }\n case 'string':\n case 'text':\n case 'richtext': {\n schemaAttributes[prop] = { type: 'string' };\n break;\n }\n case 'timestamp': {\n schemaAttributes[prop] = { type: 'string', format: 'timestamp', example: Date.now() };\n break;\n }\n case 'time': {\n schemaAttributes[prop] = { type: 'string', format: 'time', example: '12:54.000' };\n break;\n }\n case 'date': {\n schemaAttributes[prop] = { type: 'string', format: 'date' };\n break;\n }\n case 'datetime': {\n schemaAttributes[prop] = { type: 'string', format: 'date-time' };\n break;\n }\n case 'boolean': {\n schemaAttributes[prop] = { type: 'boolean' };\n break;\n }\n case 'enumeration': {\n schemaAttributes[prop] = { type: 'string', enum: [...attribute.enum] };\n break;\n }\n case 'decimal':\n case 'float': {\n schemaAttributes[prop] = { type: 'number', format: 'float' };\n break;\n }\n case 'integer': {\n schemaAttributes[prop] = { type: 'integer' };\n break;\n }\n case 'biginteger': {\n schemaAttributes[prop] = { type: 'string', pattern: '^\\\\d*$', example: '123456789' };\n break;\n }\n case 'json':\n case 'blocks': {\n schemaAttributes[prop] = {};\n break;\n }\n case 'uid': {\n schemaAttributes[prop] = { type: 'string' };\n break;\n }\n case 'component': {\n const componentAttributes = strapi.components[attribute.component].attributes;\n const rawComponentSchema: OpenAPIV3.SchemaObject = {\n type: 'object',\n properties: {\n ...(isRequest ? {} : { id: { oneOf: [{ type: 'string' }, { type: 'number' }] } }),\n ...cleanSchemaAttributes(componentAttributes, {\n typeMap,\n isRequest,\n didAddStrapiComponentsToSchemas,\n }),\n },\n };\n\n const refComponentSchema: OpenAPIV3.ReferenceObject = {\n $ref: convertComponentName(attribute.component, true),\n };\n\n const componentExists = didAddStrapiComponentsToSchemas(\n convertComponentName(attribute.component),\n rawComponentSchema\n );\n\n const finalComponentSchema = componentExists ? refComponentSchema : rawComponentSchema;\n if (attribute.repeatable) {\n schemaAttributes[prop] = {\n type: 'array',\n items: finalComponentSchema,\n };\n } else {\n schemaAttributes[prop] = finalComponentSchema;\n }\n break;\n }\n case 'dynamiczone': {\n const components = attribute.components.map((component) => {\n const componentAttributes = strapi.components[component].attributes;\n const rawComponentSchema: OpenAPIV3.SchemaObject = {\n type: 'object',\n properties: {\n ...(isRequest ? {} : { id: { oneOf: [{ type: 'string' }, { type: 'number' }] } }),\n __component: { type: 'string', enum: [component] },\n ...cleanSchemaAttributes(componentAttributes, {\n typeMap,\n isRequest,\n didAddStrapiComponentsToSchemas,\n }),\n },\n };\n\n const refComponentSchema: OpenAPIV3.ReferenceObject = {\n $ref: convertComponentName(component, true),\n };\n\n const componentExists = didAddStrapiComponentsToSchemas(\n convertComponentName(component),\n rawComponentSchema\n );\n const finalComponentSchema = componentExists ? refComponentSchema : rawComponentSchema;\n return finalComponentSchema;\n });\n let discriminator: OpenAPIV3.DiscriminatorObject | undefined;\n if (components.every((component) => Object.hasOwn(component, '$ref'))) {\n discriminator = {\n propertyName: '__component',\n mapping: attribute.components.reduce(\n (acc, component) => {\n acc[component] = convertComponentName(component, true);\n return acc;\n },\n {} as {\n [value: string]: string;\n }\n ),\n };\n }\n\n schemaAttributes[prop] = {\n type: 'array',\n items: {\n anyOf: components,\n },\n discriminator,\n };\n break;\n }\n case 'media': {\n const imageAttributes = strapi.contentType('plugin::upload.file').attributes;\n const isListOfEntities = attribute.multiple ?? false;\n\n if (isRequest) {\n const oneOfType: OpenAPIV3.SchemaObject = {\n oneOf: [{ type: 'integer' }, { type: 'string' }],\n example: 'string or id',\n };\n\n schemaAttributes[prop] = isListOfEntities\n ? { type: 'array', items: oneOfType }\n : oneOfType;\n break;\n }\n\n schemaAttributes[prop] = getSchemaData(\n isListOfEntities,\n cleanSchemaAttributes(imageAttributes, { typeMap, didAddStrapiComponentsToSchemas })\n );\n break;\n }\n\n case 'relation': {\n const isListOfEntities = attribute.relation.includes('ToMany');\n\n if (isRequest) {\n const oneOfType: OpenAPIV3.SchemaObject = {\n oneOf: [{ type: 'integer' }, { type: 'string' }],\n example: 'string or id',\n };\n\n schemaAttributes[prop] = isListOfEntities\n ? { type: 'array', items: oneOfType }\n : oneOfType;\n break;\n }\n\n if (!('target' in attribute) || !attribute.target || typeMap.has(attribute.target)) {\n schemaAttributes[prop] = getSchemaData(isListOfEntities, {});\n\n break;\n }\n\n typeMap.set(attribute.target, true);\n const targetAttributes = strapi.contentType(attribute.target).attributes;\n\n schemaAttributes[prop] = getSchemaData(\n isListOfEntities,\n cleanSchemaAttributes(targetAttributes, {\n typeMap,\n isRequest,\n didAddStrapiComponentsToSchemas,\n })\n );\n\n break;\n }\n default: {\n // @ts-expect-error - This is a catch all for any other types\n throw new Error(`Invalid type ${attribute.type} while generating open api schema.`);\n }\n }\n }\n\n return schemaAttributes;\n};\n\nexport default cleanSchemaAttributes;\n"],"names":["convertComponentName","component","isRef","cleanComponentName","pascalCase","cleanSchemaAttributes","attributes","typeMap","Map","isRequest","didAddStrapiComponentsToSchemas","schemaAttributes","prop","Object","keys","attribute","type","format","example","Date","now","enum","pattern","componentAttributes","strapi","components","rawComponentSchema","properties","id","oneOf","refComponentSchema","$ref","componentExists","finalComponentSchema","repeatable","items","map","__component","discriminator","every","hasOwn","propertyName","mapping","reduce","acc","anyOf","imageAttributes","contentType","isListOfEntities","multiple","oneOfType","getSchemaData","relation","includes","target","has","set","targetAttributes","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var pascalCase = require('./pascal-case.js');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @description - Builds the Swagger response object for a given api
|
|
7
|
+
*/ const getApiResponse = ({ uniqueName, route, isListOfEntities = false })=>{
|
|
8
|
+
const getSchema = ()=>{
|
|
9
|
+
if (route.method === 'DELETE') {
|
|
10
|
+
return {
|
|
11
|
+
type: 'integer',
|
|
12
|
+
format: 'int64'
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (isListOfEntities) {
|
|
16
|
+
return {
|
|
17
|
+
$ref: `#/components/schemas/${pascalCase(uniqueName)}ListResponse`
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
$ref: `#/components/schemas/${pascalCase(uniqueName)}Response`
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
const schema = getSchema();
|
|
25
|
+
return {
|
|
26
|
+
200: {
|
|
27
|
+
description: 'OK',
|
|
28
|
+
content: {
|
|
29
|
+
'application/json': {
|
|
30
|
+
schema
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
400: {
|
|
35
|
+
description: 'Bad Request',
|
|
36
|
+
content: {
|
|
37
|
+
'application/json': {
|
|
38
|
+
schema: {
|
|
39
|
+
$ref: '#/components/schemas/Error'
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
401: {
|
|
45
|
+
description: 'Unauthorized',
|
|
46
|
+
content: {
|
|
47
|
+
'application/json': {
|
|
48
|
+
schema: {
|
|
49
|
+
$ref: '#/components/schemas/Error'
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
403: {
|
|
55
|
+
description: 'Forbidden',
|
|
56
|
+
content: {
|
|
57
|
+
'application/json': {
|
|
58
|
+
schema: {
|
|
59
|
+
$ref: '#/components/schemas/Error'
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
404: {
|
|
65
|
+
description: 'Not Found',
|
|
66
|
+
content: {
|
|
67
|
+
'application/json': {
|
|
68
|
+
schema: {
|
|
69
|
+
$ref: '#/components/schemas/Error'
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
500: {
|
|
75
|
+
description: 'Internal Server Error',
|
|
76
|
+
content: {
|
|
77
|
+
'application/json': {
|
|
78
|
+
schema: {
|
|
79
|
+
$ref: '#/components/schemas/Error'
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
module.exports = getApiResponse;
|
|
88
|
+
//# sourceMappingURL=get-api-responses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-api-responses.js","sources":["../../../../../server/src/services/helpers/utils/get-api-responses.ts"],"sourcesContent":["import type { OpenAPIV3 } from 'openapi-types';\nimport pascalCase from './pascal-case';\n\ninterface Options {\n uniqueName: string;\n route: {\n method: string;\n };\n isListOfEntities?: boolean;\n isLocalizationPath?: boolean;\n}\n\n/**\n * @description - Builds the Swagger response object for a given api\n */\nconst getApiResponse = ({\n uniqueName,\n route,\n isListOfEntities = false,\n}: Options): OpenAPIV3.ResponsesObject => {\n const getSchema = (): OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject => {\n if (route.method === 'DELETE') {\n return {\n type: 'integer',\n format: 'int64',\n };\n }\n\n if (isListOfEntities) {\n return { $ref: `#/components/schemas/${pascalCase(uniqueName)}ListResponse` };\n }\n\n return { $ref: `#/components/schemas/${pascalCase(uniqueName)}Response` };\n };\n\n const schema = getSchema();\n\n return {\n 200: {\n description: 'OK',\n content: {\n 'application/json': {\n schema,\n },\n },\n },\n 400: {\n description: 'Bad Request',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 401: {\n description: 'Unauthorized',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 403: {\n description: 'Forbidden',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 404: {\n description: 'Not Found',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 500: {\n description: 'Internal Server Error',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n };\n};\n\nexport default getApiResponse;\n"],"names":["getApiResponse","uniqueName","route","isListOfEntities","getSchema","method","type","format","$ref","pascalCase","schema","description","content"],"mappings":";;;;AAYA;;IAGA,MAAMA,cAAAA,GAAiB,CAAC,EACtBC,UAAU,EACVC,KAAK,EACLC,gBAAAA,GAAmB,KAAK,EAChB,GAAA;AACR,IAAA,MAAMC,SAAAA,GAAY,IAAA;QAChB,IAAIF,KAAAA,CAAMG,MAAM,KAAK,QAAA,EAAU;YAC7B,OAAO;gBACLC,IAAAA,EAAM,SAAA;gBACNC,MAAAA,EAAQ;AACV,aAAA;AACF,QAAA;AAEA,QAAA,IAAIJ,gBAAAA,EAAkB;YACpB,OAAO;AAAEK,gBAAAA,IAAAA,EAAM,CAAC,qBAAqB,EAAEC,UAAAA,CAAWR,UAAAA,CAAAA,CAAY,YAAY;AAAE,aAAA;AAC9E,QAAA;QAEA,OAAO;AAAEO,YAAAA,IAAAA,EAAM,CAAC,qBAAqB,EAAEC,UAAAA,CAAWR,UAAAA,CAAAA,CAAY,QAAQ;AAAE,SAAA;AAC1E,IAAA,CAAA;AAEA,IAAA,MAAMS,MAAAA,GAASN,SAAAA,EAAAA;IAEf,OAAO;QACL,GAAA,EAAK;YACHO,WAAAA,EAAa,IAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;AAClBF,oBAAAA;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHC,WAAAA,EAAa,aAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,cAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,WAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,WAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,uBAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import pascalCase from './pascal-case.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @description - Builds the Swagger response object for a given api
|
|
5
|
+
*/ const getApiResponse = ({ uniqueName, route, isListOfEntities = false })=>{
|
|
6
|
+
const getSchema = ()=>{
|
|
7
|
+
if (route.method === 'DELETE') {
|
|
8
|
+
return {
|
|
9
|
+
type: 'integer',
|
|
10
|
+
format: 'int64'
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
if (isListOfEntities) {
|
|
14
|
+
return {
|
|
15
|
+
$ref: `#/components/schemas/${pascalCase(uniqueName)}ListResponse`
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
$ref: `#/components/schemas/${pascalCase(uniqueName)}Response`
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
const schema = getSchema();
|
|
23
|
+
return {
|
|
24
|
+
200: {
|
|
25
|
+
description: 'OK',
|
|
26
|
+
content: {
|
|
27
|
+
'application/json': {
|
|
28
|
+
schema
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
400: {
|
|
33
|
+
description: 'Bad Request',
|
|
34
|
+
content: {
|
|
35
|
+
'application/json': {
|
|
36
|
+
schema: {
|
|
37
|
+
$ref: '#/components/schemas/Error'
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
401: {
|
|
43
|
+
description: 'Unauthorized',
|
|
44
|
+
content: {
|
|
45
|
+
'application/json': {
|
|
46
|
+
schema: {
|
|
47
|
+
$ref: '#/components/schemas/Error'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
403: {
|
|
53
|
+
description: 'Forbidden',
|
|
54
|
+
content: {
|
|
55
|
+
'application/json': {
|
|
56
|
+
schema: {
|
|
57
|
+
$ref: '#/components/schemas/Error'
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
404: {
|
|
63
|
+
description: 'Not Found',
|
|
64
|
+
content: {
|
|
65
|
+
'application/json': {
|
|
66
|
+
schema: {
|
|
67
|
+
$ref: '#/components/schemas/Error'
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
500: {
|
|
73
|
+
description: 'Internal Server Error',
|
|
74
|
+
content: {
|
|
75
|
+
'application/json': {
|
|
76
|
+
schema: {
|
|
77
|
+
$ref: '#/components/schemas/Error'
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { getApiResponse as default };
|
|
86
|
+
//# sourceMappingURL=get-api-responses.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-api-responses.mjs","sources":["../../../../../server/src/services/helpers/utils/get-api-responses.ts"],"sourcesContent":["import type { OpenAPIV3 } from 'openapi-types';\nimport pascalCase from './pascal-case';\n\ninterface Options {\n uniqueName: string;\n route: {\n method: string;\n };\n isListOfEntities?: boolean;\n isLocalizationPath?: boolean;\n}\n\n/**\n * @description - Builds the Swagger response object for a given api\n */\nconst getApiResponse = ({\n uniqueName,\n route,\n isListOfEntities = false,\n}: Options): OpenAPIV3.ResponsesObject => {\n const getSchema = (): OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject => {\n if (route.method === 'DELETE') {\n return {\n type: 'integer',\n format: 'int64',\n };\n }\n\n if (isListOfEntities) {\n return { $ref: `#/components/schemas/${pascalCase(uniqueName)}ListResponse` };\n }\n\n return { $ref: `#/components/schemas/${pascalCase(uniqueName)}Response` };\n };\n\n const schema = getSchema();\n\n return {\n 200: {\n description: 'OK',\n content: {\n 'application/json': {\n schema,\n },\n },\n },\n 400: {\n description: 'Bad Request',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 401: {\n description: 'Unauthorized',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 403: {\n description: 'Forbidden',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 404: {\n description: 'Not Found',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n 500: {\n description: 'Internal Server Error',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n };\n};\n\nexport default getApiResponse;\n"],"names":["getApiResponse","uniqueName","route","isListOfEntities","getSchema","method","type","format","$ref","pascalCase","schema","description","content"],"mappings":";;AAYA;;IAGA,MAAMA,cAAAA,GAAiB,CAAC,EACtBC,UAAU,EACVC,KAAK,EACLC,gBAAAA,GAAmB,KAAK,EAChB,GAAA;AACR,IAAA,MAAMC,SAAAA,GAAY,IAAA;QAChB,IAAIF,KAAAA,CAAMG,MAAM,KAAK,QAAA,EAAU;YAC7B,OAAO;gBACLC,IAAAA,EAAM,SAAA;gBACNC,MAAAA,EAAQ;AACV,aAAA;AACF,QAAA;AAEA,QAAA,IAAIJ,gBAAAA,EAAkB;YACpB,OAAO;AAAEK,gBAAAA,IAAAA,EAAM,CAAC,qBAAqB,EAAEC,UAAAA,CAAWR,UAAAA,CAAAA,CAAY,YAAY;AAAE,aAAA;AAC9E,QAAA;QAEA,OAAO;AAAEO,YAAAA,IAAAA,EAAM,CAAC,qBAAqB,EAAEC,UAAAA,CAAWR,UAAAA,CAAAA,CAAY,QAAQ;AAAE,SAAA;AAC1E,IAAA,CAAA;AAEA,IAAA,MAAMS,MAAAA,GAASN,SAAAA,EAAAA;IAEf,OAAO;QACL,GAAA,EAAK;YACHO,WAAAA,EAAa,IAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;AAClBF,oBAAAA;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHC,WAAAA,EAAa,aAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,cAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,WAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,WAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF,SAAA;QACA,GAAA,EAAK;YACHG,WAAAA,EAAa,uBAAA;YACbC,OAAAA,EAAS;gBACP,kBAAA,EAAoB;oBAClBF,MAAAA,EAAQ;wBACNF,IAAAA,EAAM;AACR;AACF;AACF;AACF;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @description Determines the format of the data response
|
|
5
|
+
*
|
|
6
|
+
* @param {boolean} isListOfEntities - Checks for a multiple entities
|
|
7
|
+
* @param {object} attributes - The attributes found on a contentType
|
|
8
|
+
|
|
9
|
+
* @returns object | array of attributes
|
|
10
|
+
*/ var getSchemaData = ((isListOfEntities, attributes)=>{
|
|
11
|
+
if (isListOfEntities) {
|
|
12
|
+
return {
|
|
13
|
+
type: 'array',
|
|
14
|
+
items: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
id: {
|
|
18
|
+
oneOf: [
|
|
19
|
+
{
|
|
20
|
+
type: 'string'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: 'number'
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
documentId: {
|
|
28
|
+
type: 'string'
|
|
29
|
+
},
|
|
30
|
+
...attributes
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
type: 'object',
|
|
37
|
+
properties: {
|
|
38
|
+
id: {
|
|
39
|
+
oneOf: [
|
|
40
|
+
{
|
|
41
|
+
type: 'string'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: 'number'
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
documentId: {
|
|
49
|
+
type: 'string'
|
|
50
|
+
},
|
|
51
|
+
...attributes
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
module.exports = getSchemaData;
|
|
57
|
+
//# sourceMappingURL=get-schema-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-schema-data.js","sources":["../../../../../server/src/services/helpers/utils/get-schema-data.ts"],"sourcesContent":["import type { OpenAPIV3 } from 'openapi-types';\n\n/**\n * @description Determines the format of the data response\n *\n * @param {boolean} isListOfEntities - Checks for a multiple entities\n * @param {object} attributes - The attributes found on a contentType\n\n * @returns object | array of attributes\n */\nexport default (\n isListOfEntities: boolean,\n attributes: Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject>\n): OpenAPIV3.SchemaObject => {\n if (isListOfEntities) {\n return {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: { oneOf: [{ type: 'string' }, { type: 'number' }] },\n documentId: { type: 'string' },\n ...attributes,\n },\n },\n };\n }\n\n return {\n type: 'object',\n properties: {\n id: { oneOf: [{ type: 'string' }, { type: 'number' }] },\n documentId: { type: 'string' },\n ...attributes,\n },\n };\n};\n"],"names":["isListOfEntities","attributes","type","items","properties","id","oneOf","documentId"],"mappings":";;AAEA;;;;;;;IAQA,oBAAe,CAAA,CACbA,gBAAAA,EACAC,UAAAA,GAAAA;AAEA,IAAA,IAAID,gBAAAA,EAAkB;QACpB,OAAO;YACLE,IAAAA,EAAM,OAAA;YACNC,KAAAA,EAAO;gBACLD,IAAAA,EAAM,QAAA;gBACNE,UAAAA,EAAY;oBACVC,EAAAA,EAAI;wBAAEC,KAAAA,EAAO;AAAC,4BAAA;gCAAEJ,IAAAA,EAAM;AAAS,6BAAA;AAAG,4BAAA;gCAAEA,IAAAA,EAAM;AAAS;AAAE;AAAC,qBAAA;oBACtDK,UAAAA,EAAY;wBAAEL,IAAAA,EAAM;AAAS,qBAAA;AAC7B,oBAAA,GAAGD;AACL;AACF;AACF,SAAA;AACF,IAAA;IAEA,OAAO;QACLC,IAAAA,EAAM,QAAA;QACNE,UAAAA,EAAY;YACVC,EAAAA,EAAI;gBAAEC,KAAAA,EAAO;AAAC,oBAAA;wBAAEJ,IAAAA,EAAM;AAAS,qBAAA;AAAG,oBAAA;wBAAEA,IAAAA,EAAM;AAAS;AAAE;AAAC,aAAA;YACtDK,UAAAA,EAAY;gBAAEL,IAAAA,EAAM;AAAS,aAAA;AAC7B,YAAA,GAAGD;AACL;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Determines the format of the data response
|
|
3
|
+
*
|
|
4
|
+
* @param {boolean} isListOfEntities - Checks for a multiple entities
|
|
5
|
+
* @param {object} attributes - The attributes found on a contentType
|
|
6
|
+
|
|
7
|
+
* @returns object | array of attributes
|
|
8
|
+
*/ var getSchemaData = ((isListOfEntities, attributes)=>{
|
|
9
|
+
if (isListOfEntities) {
|
|
10
|
+
return {
|
|
11
|
+
type: 'array',
|
|
12
|
+
items: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
id: {
|
|
16
|
+
oneOf: [
|
|
17
|
+
{
|
|
18
|
+
type: 'string'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'number'
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
documentId: {
|
|
26
|
+
type: 'string'
|
|
27
|
+
},
|
|
28
|
+
...attributes
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
type: 'object',
|
|
35
|
+
properties: {
|
|
36
|
+
id: {
|
|
37
|
+
oneOf: [
|
|
38
|
+
{
|
|
39
|
+
type: 'string'
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: 'number'
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
documentId: {
|
|
47
|
+
type: 'string'
|
|
48
|
+
},
|
|
49
|
+
...attributes
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
export { getSchemaData as default };
|
|
55
|
+
//# sourceMappingURL=get-schema-data.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-schema-data.mjs","sources":["../../../../../server/src/services/helpers/utils/get-schema-data.ts"],"sourcesContent":["import type { OpenAPIV3 } from 'openapi-types';\n\n/**\n * @description Determines the format of the data response\n *\n * @param {boolean} isListOfEntities - Checks for a multiple entities\n * @param {object} attributes - The attributes found on a contentType\n\n * @returns object | array of attributes\n */\nexport default (\n isListOfEntities: boolean,\n attributes: Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject>\n): OpenAPIV3.SchemaObject => {\n if (isListOfEntities) {\n return {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: { oneOf: [{ type: 'string' }, { type: 'number' }] },\n documentId: { type: 'string' },\n ...attributes,\n },\n },\n };\n }\n\n return {\n type: 'object',\n properties: {\n id: { oneOf: [{ type: 'string' }, { type: 'number' }] },\n documentId: { type: 'string' },\n ...attributes,\n },\n };\n};\n"],"names":["isListOfEntities","attributes","type","items","properties","id","oneOf","documentId"],"mappings":"AAEA;;;;;;;IAQA,oBAAe,CAAA,CACbA,gBAAAA,EACAC,UAAAA,GAAAA;AAEA,IAAA,IAAID,gBAAAA,EAAkB;QACpB,OAAO;YACLE,IAAAA,EAAM,OAAA;YACNC,KAAAA,EAAO;gBACLD,IAAAA,EAAM,QAAA;gBACNE,UAAAA,EAAY;oBACVC,EAAAA,EAAI;wBAAEC,KAAAA,EAAO;AAAC,4BAAA;gCAAEJ,IAAAA,EAAM;AAAS,6BAAA;AAAG,4BAAA;gCAAEA,IAAAA,EAAM;AAAS;AAAE;AAAC,qBAAA;oBACtDK,UAAAA,EAAY;wBAAEL,IAAAA,EAAM;AAAS,qBAAA;AAC7B,oBAAA,GAAGD;AACL;AACF;AACF,SAAA;AACF,IAAA;IAEA,OAAO;QACLC,IAAAA,EAAM,QAAA;QACNE,UAAAA,EAAY;YACVC,EAAAA,EAAI;gBAAEC,KAAAA,EAAO;AAAC,oBAAA;wBAAEJ,IAAAA,EAAM;AAAS,qBAAA;AAAG,oBAAA;wBAAEA,IAAAA,EAAM;AAAS;AAAE;AAAC,aAAA;YACtDK,UAAAA,EAAY;gBAAEL,IAAAA,EAAM;AAAS,aAAA;AAC7B,YAAA,GAAGD;AACL;AACF,KAAA;AACF,CAAA;;;;"}
|