@strapi/core 0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0 → 0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (76) hide show
  1. package/dist/core-api/routes/index.d.ts +22 -4
  2. package/dist/core-api/routes/index.d.ts.map +1 -1
  3. package/dist/core-api/routes/index.js +8 -150
  4. package/dist/core-api/routes/index.js.map +1 -1
  5. package/dist/core-api/routes/index.mjs +8 -131
  6. package/dist/core-api/routes/index.mjs.map +1 -1
  7. package/dist/domain/module/index.d.ts.map +1 -1
  8. package/dist/domain/module/index.js +0 -3
  9. package/dist/domain/module/index.js.map +1 -1
  10. package/dist/domain/module/index.mjs +0 -3
  11. package/dist/domain/module/index.mjs.map +1 -1
  12. package/dist/factories.d.ts +1 -3
  13. package/dist/factories.d.ts.map +1 -1
  14. package/dist/factories.js +2 -10
  15. package/dist/factories.js.map +1 -1
  16. package/dist/factories.mjs +3 -10
  17. package/dist/factories.mjs.map +1 -1
  18. package/dist/package.json.js +12 -13
  19. package/dist/package.json.js.map +1 -1
  20. package/dist/package.json.mjs +12 -13
  21. package/dist/package.json.mjs.map +1 -1
  22. package/dist/services/server/register-routes.js +2 -22
  23. package/dist/services/server/register-routes.js.map +1 -1
  24. package/dist/services/server/register-routes.mjs +2 -22
  25. package/dist/services/server/register-routes.mjs.map +1 -1
  26. package/dist/services/server/routing.d.ts +0 -10
  27. package/dist/services/server/routing.d.ts.map +1 -1
  28. package/dist/services/server/routing.js +1 -7
  29. package/dist/services/server/routing.js.map +1 -1
  30. package/dist/services/server/routing.mjs +1 -7
  31. package/dist/services/server/routing.mjs.map +1 -1
  32. package/package.json +12 -13
  33. package/dist/core-api/routes/validation/attributes.d.ts +0 -244
  34. package/dist/core-api/routes/validation/attributes.d.ts.map +0 -1
  35. package/dist/core-api/routes/validation/attributes.js +0 -560
  36. package/dist/core-api/routes/validation/attributes.js.map +0 -1
  37. package/dist/core-api/routes/validation/attributes.mjs +0 -521
  38. package/dist/core-api/routes/validation/attributes.mjs.map +0 -1
  39. package/dist/core-api/routes/validation/common.d.ts +0 -105
  40. package/dist/core-api/routes/validation/common.d.ts.map +0 -1
  41. package/dist/core-api/routes/validation/common.js +0 -116
  42. package/dist/core-api/routes/validation/common.js.map +0 -1
  43. package/dist/core-api/routes/validation/common.mjs +0 -95
  44. package/dist/core-api/routes/validation/common.mjs.map +0 -1
  45. package/dist/core-api/routes/validation/component.d.ts +0 -34
  46. package/dist/core-api/routes/validation/component.d.ts.map +0 -1
  47. package/dist/core-api/routes/validation/component.js +0 -45
  48. package/dist/core-api/routes/validation/component.js.map +0 -1
  49. package/dist/core-api/routes/validation/component.mjs +0 -43
  50. package/dist/core-api/routes/validation/component.mjs.map +0 -1
  51. package/dist/core-api/routes/validation/constants.d.ts +0 -8
  52. package/dist/core-api/routes/validation/constants.d.ts.map +0 -1
  53. package/dist/core-api/routes/validation/constants.js +0 -18
  54. package/dist/core-api/routes/validation/constants.js.map +0 -1
  55. package/dist/core-api/routes/validation/constants.mjs +0 -16
  56. package/dist/core-api/routes/validation/constants.mjs.map +0 -1
  57. package/dist/core-api/routes/validation/content-type.d.ts +0 -128
  58. package/dist/core-api/routes/validation/content-type.d.ts.map +0 -1
  59. package/dist/core-api/routes/validation/content-type.js +0 -201
  60. package/dist/core-api/routes/validation/content-type.js.map +0 -1
  61. package/dist/core-api/routes/validation/content-type.mjs +0 -180
  62. package/dist/core-api/routes/validation/content-type.mjs.map +0 -1
  63. package/dist/core-api/routes/validation/index.d.ts +0 -5
  64. package/dist/core-api/routes/validation/index.d.ts.map +0 -1
  65. package/dist/core-api/routes/validation/mappers.d.ts +0 -105
  66. package/dist/core-api/routes/validation/mappers.d.ts.map +0 -1
  67. package/dist/core-api/routes/validation/mappers.js +0 -238
  68. package/dist/core-api/routes/validation/mappers.js.map +0 -1
  69. package/dist/core-api/routes/validation/mappers.mjs +0 -214
  70. package/dist/core-api/routes/validation/mappers.mjs.map +0 -1
  71. package/dist/core-api/routes/validation/utils.d.ts +0 -47
  72. package/dist/core-api/routes/validation/utils.d.ts.map +0 -1
  73. package/dist/core-api/routes/validation/utils.js +0 -112
  74. package/dist/core-api/routes/validation/utils.js.map +0 -1
  75. package/dist/core-api/routes/validation/utils.mjs +0 -90
  76. package/dist/core-api/routes/validation/utils.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/domain/module/index.ts"],"sourcesContent":["import _, { type PropertyPath, flatten } from 'lodash';\nimport { yup } from '@strapi/utils';\nimport type { Core, UID, Struct } from '@strapi/types';\n\nimport { removeNamespace } from '../../registries/namespace';\nimport { validateModule } from './validation';\n\ninterface LifecyclesState {\n bootstrap?: boolean;\n register?: boolean;\n destroy?: boolean;\n}\n\nexport interface RawModule {\n config?: Record<string, unknown>;\n routes?: Core.Module['routes'];\n controllers?: Core.Module['controllers'];\n services?: Core.Module['services'];\n contentTypes?: Core.Module['contentTypes'];\n policies?: Core.Module['policies'];\n middlewares?: Core.Module['middlewares'];\n bootstrap?: (params: { strapi: Core.Strapi }) => Promise<void>;\n register?: (params: { strapi: Core.Strapi }) => Promise<void>;\n destroy?: (params: { strapi: Core.Strapi }) => Promise<void>;\n}\n\nexport interface Module {\n bootstrap: () => Promise<void>;\n register: () => Promise<void>;\n destroy: () => Promise<void>;\n load: () => void;\n routes: Core.Module['routes'];\n config<T = unknown>(key: PropertyPath, defaultVal?: T): T; // TODO: this mirrors ConfigProvider.get, we should use it directly\n contentType: (ctName: UID.ContentType) => Struct.ContentTypeSchema;\n contentTypes: Record<string, Struct.ContentTypeSchema>;\n service: (serviceName: UID.Service) => Core.Service;\n services: Record<string, Core.Service>;\n policy: (policyName: UID.Policy) => Core.Policy;\n policies: Record<string, Core.Policy>;\n middleware: (middlewareName: UID.Middleware) => Core.Middleware;\n middlewares: Record<string, Core.Middleware>;\n controller: (controllerName: UID.Controller) => Core.Controller;\n controllers: Record<string, Core.Controller>;\n}\n\n// Removes the namespace from a map with keys prefixed with a namespace\nconst removeNamespacedKeys = <T extends Record<string, unknown>>(map: T, namespace: string) => {\n return _.mapKeys(map, (value, key) => removeNamespace(key, namespace));\n};\n\nconst defaultModule = {\n config: {},\n routes: [],\n controllers: {},\n services: {},\n contentTypes: {},\n policies: {},\n middlewares: {},\n};\n\nexport const createModule = (\n namespace: string,\n rawModule: RawModule,\n strapi: Core.Strapi\n): Module => {\n _.defaults(rawModule, defaultModule);\n\n try {\n validateModule(rawModule);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`strapi-server.js is invalid for '${namespace}'.\\n${e.errors.join('\\n')}`);\n }\n }\n\n const called: LifecyclesState = {};\n return {\n async bootstrap() {\n if (called.bootstrap) {\n throw new Error(`Bootstrap for ${namespace} has already been called`);\n }\n called.bootstrap = true;\n await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));\n },\n async register() {\n if (called.register) {\n throw new Error(`Register for ${namespace} has already been called`);\n }\n called.register = true;\n await (rawModule.register && rawModule.register({ strapi }));\n },\n async destroy() {\n if (called.destroy) {\n throw new Error(`Destroy for ${namespace} has already been called`);\n }\n called.destroy = true;\n await (rawModule.destroy && rawModule.destroy({ strapi }));\n },\n load() {\n strapi.get('content-types').add(namespace, rawModule.contentTypes);\n strapi.get('services').add(namespace, rawModule.services);\n strapi.get('policies').add(namespace, rawModule.policies);\n strapi.get('middlewares').add(namespace, rawModule.middlewares);\n strapi.get('controllers').add(namespace, rawModule.controllers);\n strapi.get('config').set(namespace, rawModule.config);\n },\n get routes() {\n return rawModule.routes ?? {};\n },\n set routes(routes: Record<string, Core.Router>) {\n rawModule.routes = routes;\n },\n config(path: PropertyPath, defaultValue: unknown) {\n const pathArray = flatten([namespace, path]);\n return strapi.get('config').get(pathArray, defaultValue);\n },\n contentType(ctName: UID.ContentType) {\n return strapi.get('content-types').get(`${namespace}.${ctName}`);\n },\n get contentTypes() {\n const contentTypes = strapi.get('content-types').getAll(namespace);\n return removeNamespacedKeys(contentTypes, namespace);\n },\n service(serviceName: UID.Service) {\n return strapi.get('services').get(`${namespace}.${serviceName}`);\n },\n get services() {\n const services = strapi.get('services').getAll(namespace);\n return removeNamespacedKeys(services, namespace);\n },\n policy(policyName: UID.Policy) {\n return strapi.get('policies').get(`${namespace}.${policyName}`);\n },\n get policies() {\n const policies = strapi.get('policies').getAll(namespace);\n return removeNamespacedKeys(policies, namespace);\n },\n middleware(middlewareName: UID.Middleware) {\n return strapi.get('middlewares').get(`${namespace}.${middlewareName}`);\n },\n get middlewares() {\n const middlewares = strapi.get('middlewares').getAll(namespace);\n return removeNamespacedKeys(middlewares, namespace);\n },\n controller(controllerName: UID.Controller) {\n return strapi.get('controllers').get(`${namespace}.${controllerName}`);\n },\n get controllers() {\n const controllers = strapi.get('controllers').getAll(namespace);\n return removeNamespacedKeys(controllers, namespace);\n },\n };\n};\n"],"names":["removeNamespacedKeys","map","namespace","_","mapKeys","value","key","removeNamespace","defaultModule","config","routes","controllers","services","contentTypes","policies","middlewares","createModule","rawModule","strapi","defaults","validateModule","e","yup","ValidationError","Error","errors","join","called","bootstrap","register","destroy","load","get","add","set","path","defaultValue","pathArray","flatten","contentType","ctName","getAll","service","serviceName","policy","policyName","middleware","middlewareName","controller","controllerName"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/domain/module/index.ts"],"sourcesContent":["import _, { type PropertyPath, flatten } from 'lodash';\nimport { yup } from '@strapi/utils';\nimport type { Core, UID, Struct } from '@strapi/types';\n\nimport { removeNamespace } from '../../registries/namespace';\nimport { validateModule } from './validation';\n\ninterface LifecyclesState {\n bootstrap?: boolean;\n register?: boolean;\n destroy?: boolean;\n}\n\nexport interface RawModule {\n config?: Record<string, unknown>;\n routes?: Core.Module['routes'];\n controllers?: Core.Module['controllers'];\n services?: Core.Module['services'];\n contentTypes?: Core.Module['contentTypes'];\n policies?: Core.Module['policies'];\n middlewares?: Core.Module['middlewares'];\n bootstrap?: (params: { strapi: Core.Strapi }) => Promise<void>;\n register?: (params: { strapi: Core.Strapi }) => Promise<void>;\n destroy?: (params: { strapi: Core.Strapi }) => Promise<void>;\n}\n\nexport interface Module {\n bootstrap: () => Promise<void>;\n register: () => Promise<void>;\n destroy: () => Promise<void>;\n load: () => void;\n routes: Core.Module['routes'];\n config<T = unknown>(key: PropertyPath, defaultVal?: T): T; // TODO: this mirrors ConfigProvider.get, we should use it directly\n contentType: (ctName: UID.ContentType) => Struct.ContentTypeSchema;\n contentTypes: Record<string, Struct.ContentTypeSchema>;\n service: (serviceName: UID.Service) => Core.Service;\n services: Record<string, Core.Service>;\n policy: (policyName: UID.Policy) => Core.Policy;\n policies: Record<string, Core.Policy>;\n middleware: (middlewareName: UID.Middleware) => Core.Middleware;\n middlewares: Record<string, Core.Middleware>;\n controller: (controllerName: UID.Controller) => Core.Controller;\n controllers: Record<string, Core.Controller>;\n}\n\n// Removes the namespace from a map with keys prefixed with a namespace\nconst removeNamespacedKeys = <T extends Record<string, unknown>>(map: T, namespace: string) => {\n return _.mapKeys(map, (value, key) => removeNamespace(key, namespace));\n};\n\nconst defaultModule = {\n config: {},\n routes: [],\n controllers: {},\n services: {},\n contentTypes: {},\n policies: {},\n middlewares: {},\n};\n\nexport const createModule = (\n namespace: string,\n rawModule: RawModule,\n strapi: Core.Strapi\n): Module => {\n _.defaults(rawModule, defaultModule);\n\n try {\n validateModule(rawModule);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`strapi-server.js is invalid for '${namespace}'.\\n${e.errors.join('\\n')}`);\n }\n }\n\n const called: LifecyclesState = {};\n return {\n async bootstrap() {\n if (called.bootstrap) {\n throw new Error(`Bootstrap for ${namespace} has already been called`);\n }\n called.bootstrap = true;\n await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));\n },\n async register() {\n if (called.register) {\n throw new Error(`Register for ${namespace} has already been called`);\n }\n called.register = true;\n await (rawModule.register && rawModule.register({ strapi }));\n },\n async destroy() {\n if (called.destroy) {\n throw new Error(`Destroy for ${namespace} has already been called`);\n }\n called.destroy = true;\n await (rawModule.destroy && rawModule.destroy({ strapi }));\n },\n load() {\n strapi.get('content-types').add(namespace, rawModule.contentTypes);\n strapi.get('services').add(namespace, rawModule.services);\n strapi.get('policies').add(namespace, rawModule.policies);\n strapi.get('middlewares').add(namespace, rawModule.middlewares);\n strapi.get('controllers').add(namespace, rawModule.controllers);\n strapi.get('config').set(namespace, rawModule.config);\n },\n get routes() {\n return rawModule.routes ?? {};\n },\n config(path: PropertyPath, defaultValue: unknown) {\n const pathArray = flatten([namespace, path]);\n return strapi.get('config').get(pathArray, defaultValue);\n },\n contentType(ctName: UID.ContentType) {\n return strapi.get('content-types').get(`${namespace}.${ctName}`);\n },\n get contentTypes() {\n const contentTypes = strapi.get('content-types').getAll(namespace);\n return removeNamespacedKeys(contentTypes, namespace);\n },\n service(serviceName: UID.Service) {\n return strapi.get('services').get(`${namespace}.${serviceName}`);\n },\n get services() {\n const services = strapi.get('services').getAll(namespace);\n return removeNamespacedKeys(services, namespace);\n },\n policy(policyName: UID.Policy) {\n return strapi.get('policies').get(`${namespace}.${policyName}`);\n },\n get policies() {\n const policies = strapi.get('policies').getAll(namespace);\n return removeNamespacedKeys(policies, namespace);\n },\n middleware(middlewareName: UID.Middleware) {\n return strapi.get('middlewares').get(`${namespace}.${middlewareName}`);\n },\n get middlewares() {\n const middlewares = strapi.get('middlewares').getAll(namespace);\n return removeNamespacedKeys(middlewares, namespace);\n },\n controller(controllerName: UID.Controller) {\n return strapi.get('controllers').get(`${namespace}.${controllerName}`);\n },\n get controllers() {\n const controllers = strapi.get('controllers').getAll(namespace);\n return removeNamespacedKeys(controllers, namespace);\n },\n };\n};\n"],"names":["removeNamespacedKeys","map","namespace","_","mapKeys","value","key","removeNamespace","defaultModule","config","routes","controllers","services","contentTypes","policies","middlewares","createModule","rawModule","strapi","defaults","validateModule","e","yup","ValidationError","Error","errors","join","called","bootstrap","register","destroy","load","get","add","set","path","defaultValue","pathArray","flatten","contentType","ctName","getAll","service","serviceName","policy","policyName","middleware","middlewareName","controller","controllerName"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { Core, UID, Utils } from '@strapi/types';
2
- import { CoreContentTypeRouteValidator } from './core-api/routes/validation';
3
2
  type WithStrapiCallback<T> = T | (<S extends {
4
3
  strapi: Core.Strapi;
5
4
  }>(params: S) => T);
@@ -10,7 +9,6 @@ declare function createCoreService<TUID extends UID.ContentType, TService extend
10
9
  strapi: Core.Strapi;
11
10
  }) => TService & Core.CoreAPI.Service.ContentType<TUID>;
12
11
  declare function createCoreRouter<T extends UID.ContentType>(uid: T, cfg?: Core.CoreAPI.Router.RouterConfig<T>): Core.CoreAPI.Router.Router;
13
- declare const createCoreValidator: <T extends UID.ContentType>(uid: T, strapi: Core.Strapi) => CoreContentTypeRouteValidator;
14
12
  declare const isCustomController: <T extends Core.Controller>(controller: T) => boolean;
15
- export { createCoreController, createCoreService, createCoreRouter, createCoreValidator, isCustomController, };
13
+ export { createCoreController, createCoreService, createCoreRouter, isCustomController };
16
14
  //# sourceMappingURL=factories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAQ7E,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvF,QAAA,MAAM,oBAAoB,oGAInB,IAAI,QACH,mBACJ,MAAM,eAAe,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAC9E,mBAIE;IACD,MAAM,EAAE,KAAK,MAAM,CAAC;CACrB,KAAG,WAAW,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAwB3D,CAAC;AAEF,iBAAS,iBAAiB,CACxB,IAAI,SAAS,GAAG,CAAC,WAAW,EAC5B,QAAQ,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAEtD,GAAG,EAAE,IAAI,EACT,GAAG,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,iBAI9F;IACD,MAAM,EAAE,KAAK,MAAM,CAAC;CACrB,KAAG,QAAQ,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CActD;AAED,iBAAS,gBAAgB,CAAC,CAAC,SAAS,GAAG,CAAC,WAAW,EACjD,GAAG,EAAE,CAAC,EACN,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CA+B5B;AAED,QAAA,MAAM,mBAAmB,mCAClB,CAAC,UACE,KAAK,MAAM,KAClB,6BAEF,CAAC;AAEF,QAAA,MAAM,kBAAkB,0CAA2C,CAAC,KAAG,OAEtE,CAAC;AAEF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUtD,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvF,QAAA,MAAM,oBAAoB,oGAInB,IAAI,QACH,mBACJ,MAAM,eAAe,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAC9E,mBAIE;IACD,MAAM,EAAE,KAAK,MAAM,CAAC;CACrB,KAAG,WAAW,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAwB3D,CAAC;AAEF,iBAAS,iBAAiB,CACxB,IAAI,SAAS,GAAG,CAAC,WAAW,EAC5B,QAAQ,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAEtD,GAAG,EAAE,IAAI,EACT,GAAG,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,iBAI9F;IACD,MAAM,EAAE,KAAK,MAAM,CAAC;CACrB,KAAG,QAAQ,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CActD;AAED,iBAAS,gBAAgB,CAAC,CAAC,SAAS,GAAG,CAAC,WAAW,EACjD,GAAG,EAAE,CAAC,EACN,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CA+B5B;AAED,QAAA,MAAM,kBAAkB,0CAA2C,CAAC,KAAG,OAEtE,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC"}
package/dist/factories.js CHANGED
@@ -2,9 +2,6 @@
2
2
 
3
3
  var fp = require('lodash/fp');
4
4
  var index = require('./core-api/controller/index.js');
5
- require('@strapi/utils');
6
- require('zod/v4');
7
- var contentType = require('./core-api/routes/validation/content-type.js');
8
5
  var index$1 = require('./core-api/service/index.js');
9
6
  var index$2 = require('./core-api/routes/index.js');
10
7
 
@@ -63,13 +60,12 @@ function createCoreRouter(uid, cfg) {
63
60
  if (!routes) {
64
61
  const contentType = strapi.contentType(uid);
65
62
  const defaultRoutes = index$2.createRoutes({
66
- contentType,
67
- strapi
63
+ contentType
68
64
  });
69
65
  const keys = Object.keys(defaultRoutes);
70
66
  keys.forEach((routeName)=>{
71
67
  const defaultRoute = defaultRoutes[routeName];
72
- defaultRoute.config = config[routeName] ?? {};
68
+ Object.assign(defaultRoute.config, config[routeName] || {});
73
69
  });
74
70
  const selectedRoutes = fp.pipe((routes)=>except ? fp.omit(except, routes) : routes, (routes)=>only ? fp.pick(only, routes) : routes)(defaultRoutes);
75
71
  routes = Object.values(selectedRoutes);
@@ -78,9 +74,6 @@ function createCoreRouter(uid, cfg) {
78
74
  }
79
75
  };
80
76
  }
81
- const createCoreValidator = (uid, strapi1)=>{
82
- return new contentType.CoreContentTypeRouteValidator(strapi1, uid);
83
- };
84
77
  const isCustomController = (controller)=>{
85
78
  return symbols.CustomController in controller;
86
79
  };
@@ -88,6 +81,5 @@ const isCustomController = (controller)=>{
88
81
  exports.createCoreController = createCoreController;
89
82
  exports.createCoreRouter = createCoreRouter;
90
83
  exports.createCoreService = createCoreService;
91
- exports.createCoreValidator = createCoreValidator;
92
84
  exports.isCustomController = isCustomController;
93
85
  //# sourceMappingURL=factories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factories.js","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Core, UID, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { CoreContentTypeRouteValidator } from './core-api/routes/validation';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.CoreAPI.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.CoreAPI.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.CoreAPI.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType, strapi });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n defaultRoute.config = (config[routeName] ?? {}) as Core.RouteConfig;\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst createCoreValidator = <T extends UID.ContentType>(\n uid: T,\n strapi: Core.Strapi\n): CoreContentTypeRouteValidator => {\n return new CoreContentTypeRouteValidator(strapi, uid);\n};\n\nconst isCustomController = <T extends Core.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport {\n createCoreController,\n createCoreService,\n createCoreRouter,\n createCoreValidator,\n isCustomController,\n};\n"],"names":["symbols","CustomController","Symbol","createCoreController","uid","cfg","strapi","baseController","createController","contentType","userCtrl","methodName","Object","keys","undefined","setPrototypeOf","isCustom","defineProperty","writable","configurable","enumerable","createCoreService","baseService","createService","userService","createCoreRouter","prefix","config","only","except","type","routes","defaultRoutes","createRoutes","forEach","routeName","defaultRoute","selectedRoutes","pipe","omit","pick","values","createCoreValidator","CoreContentTypeRouteValidator","isCustomController","controller"],"mappings":"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"}
1
+ {"version":3,"file":"factories.js","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Core, UID, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.CoreAPI.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.CoreAPI.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.CoreAPI.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Core.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["symbols","CustomController","Symbol","createCoreController","uid","cfg","strapi","baseController","createController","contentType","userCtrl","methodName","Object","keys","undefined","setPrototypeOf","isCustom","defineProperty","writable","configurable","enumerable","createCoreService","baseService","createService","userService","createCoreRouter","prefix","config","only","except","type","routes","defaultRoutes","createRoutes","forEach","routeName","defaultRoute","assign","selectedRoutes","pipe","omit","pick","values","isCustomController","controller"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import { pipe, omit, pick } from 'lodash/fp';
2
2
  import { createController } from './core-api/controller/index.mjs';
3
- import '@strapi/utils';
4
- import 'zod/v4';
5
- import { CoreContentTypeRouteValidator } from './core-api/routes/validation/content-type.mjs';
6
3
  import { createService } from './core-api/service/index.mjs';
7
4
  import { createRoutes } from './core-api/routes/index.mjs';
8
5
 
@@ -61,13 +58,12 @@ function createCoreRouter(uid, cfg) {
61
58
  if (!routes) {
62
59
  const contentType = strapi.contentType(uid);
63
60
  const defaultRoutes = createRoutes({
64
- contentType,
65
- strapi
61
+ contentType
66
62
  });
67
63
  const keys = Object.keys(defaultRoutes);
68
64
  keys.forEach((routeName)=>{
69
65
  const defaultRoute = defaultRoutes[routeName];
70
- defaultRoute.config = config[routeName] ?? {};
66
+ Object.assign(defaultRoute.config, config[routeName] || {});
71
67
  });
72
68
  const selectedRoutes = pipe((routes)=>except ? omit(except, routes) : routes, (routes)=>only ? pick(only, routes) : routes)(defaultRoutes);
73
69
  routes = Object.values(selectedRoutes);
@@ -76,12 +72,9 @@ function createCoreRouter(uid, cfg) {
76
72
  }
77
73
  };
78
74
  }
79
- const createCoreValidator = (uid, strapi1)=>{
80
- return new CoreContentTypeRouteValidator(strapi1, uid);
81
- };
82
75
  const isCustomController = (controller)=>{
83
76
  return symbols.CustomController in controller;
84
77
  };
85
78
 
86
- export { createCoreController, createCoreRouter, createCoreService, createCoreValidator, isCustomController };
79
+ export { createCoreController, createCoreRouter, createCoreService, isCustomController };
87
80
  //# sourceMappingURL=factories.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"factories.mjs","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Core, UID, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { CoreContentTypeRouteValidator } from './core-api/routes/validation';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.CoreAPI.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.CoreAPI.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.CoreAPI.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType, strapi });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n defaultRoute.config = (config[routeName] ?? {}) as Core.RouteConfig;\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst createCoreValidator = <T extends UID.ContentType>(\n uid: T,\n strapi: Core.Strapi\n): CoreContentTypeRouteValidator => {\n return new CoreContentTypeRouteValidator(strapi, uid);\n};\n\nconst isCustomController = <T extends Core.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport {\n createCoreController,\n createCoreService,\n createCoreRouter,\n createCoreValidator,\n isCustomController,\n};\n"],"names":["symbols","CustomController","Symbol","createCoreController","uid","cfg","strapi","baseController","createController","contentType","userCtrl","methodName","Object","keys","undefined","setPrototypeOf","isCustom","defineProperty","writable","configurable","enumerable","createCoreService","baseService","createService","userService","createCoreRouter","prefix","config","only","except","type","routes","defaultRoutes","createRoutes","forEach","routeName","defaultRoute","selectedRoutes","pipe","omit","pick","values","createCoreValidator","CoreContentTypeRouteValidator","isCustomController","controller"],"mappings":"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"}
1
+ {"version":3,"file":"factories.mjs","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Core, UID, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.CoreAPI.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.CoreAPI.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.CoreAPI.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Core.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["symbols","CustomController","Symbol","createCoreController","uid","cfg","strapi","baseController","createController","contentType","userCtrl","methodName","Object","keys","undefined","setPrototypeOf","isCustom","defineProperty","writable","configurable","enumerable","createCoreService","baseService","createService","userService","createCoreRouter","prefix","config","only","except","type","routes","defaultRoutes","createRoutes","forEach","routeName","defaultRoute","assign","selectedRoutes","pipe","omit","pick","values","isCustomController","controller"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@strapi/core";
6
- var version = "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0";
6
+ var version = "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24";
7
7
  var description = "Core of Strapi";
8
8
  var homepage = "https://strapi.io";
9
9
  var bugs = {
@@ -59,14 +59,14 @@ var dependencies = {
59
59
  "@koa/cors": "5.0.0",
60
60
  "@koa/router": "12.0.2",
61
61
  "@paralleldrive/cuid2": "2.2.2",
62
- "@strapi/admin": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
63
- "@strapi/database": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
64
- "@strapi/generators": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
65
- "@strapi/logger": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
66
- "@strapi/permissions": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
67
- "@strapi/types": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
68
- "@strapi/typescript-utils": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
69
- "@strapi/utils": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
62
+ "@strapi/admin": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
63
+ "@strapi/database": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
64
+ "@strapi/generators": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
65
+ "@strapi/logger": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
66
+ "@strapi/permissions": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
67
+ "@strapi/types": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
68
+ "@strapi/typescript-utils": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
69
+ "@strapi/utils": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
70
70
  bcryptjs: "2.4.3",
71
71
  boxen: "5.1.2",
72
72
  chalk: "4.1.2",
@@ -108,8 +108,7 @@ var dependencies = {
108
108
  statuses: "2.0.1",
109
109
  typescript: "5.4.4",
110
110
  undici: "6.21.2",
111
- yup: "0.32.9",
112
- zod: "3.25.67"
111
+ yup: "0.32.9"
113
112
  };
114
113
  var devDependencies = {
115
114
  "@strapi/ts-zen": "^0.2.0",
@@ -132,9 +131,9 @@ var devDependencies = {
132
131
  "@types/node": "18.19.24",
133
132
  "@types/node-schedule": "2.1.7",
134
133
  "@types/statuses": "2.0.1",
135
- "eslint-config-custom": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
134
+ "eslint-config-custom": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
136
135
  supertest: "6.3.3",
137
- tsconfig: "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0"
136
+ tsconfig: "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24"
138
137
  };
139
138
  var engines = {
140
139
  node: ">=18.0.0 <=22.x.x",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  var name = "@strapi/core";
2
- var version = "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0";
2
+ var version = "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24";
3
3
  var description = "Core of Strapi";
4
4
  var homepage = "https://strapi.io";
5
5
  var bugs = {
@@ -55,14 +55,14 @@ var dependencies = {
55
55
  "@koa/cors": "5.0.0",
56
56
  "@koa/router": "12.0.2",
57
57
  "@paralleldrive/cuid2": "2.2.2",
58
- "@strapi/admin": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
59
- "@strapi/database": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
60
- "@strapi/generators": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
61
- "@strapi/logger": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
62
- "@strapi/permissions": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
63
- "@strapi/types": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
64
- "@strapi/typescript-utils": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
65
- "@strapi/utils": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
58
+ "@strapi/admin": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
59
+ "@strapi/database": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
60
+ "@strapi/generators": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
61
+ "@strapi/logger": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
62
+ "@strapi/permissions": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
63
+ "@strapi/types": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
64
+ "@strapi/typescript-utils": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
65
+ "@strapi/utils": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
66
66
  bcryptjs: "2.4.3",
67
67
  boxen: "5.1.2",
68
68
  chalk: "4.1.2",
@@ -104,8 +104,7 @@ var dependencies = {
104
104
  statuses: "2.0.1",
105
105
  typescript: "5.4.4",
106
106
  undici: "6.21.2",
107
- yup: "0.32.9",
108
- zod: "3.25.67"
107
+ yup: "0.32.9"
109
108
  };
110
109
  var devDependencies = {
111
110
  "@strapi/ts-zen": "^0.2.0",
@@ -128,9 +127,9 @@ var devDependencies = {
128
127
  "@types/node": "18.19.24",
129
128
  "@types/node-schedule": "2.1.7",
130
129
  "@types/statuses": "2.0.1",
131
- "eslint-config-custom": "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0",
130
+ "eslint-config-custom": "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24",
132
131
  supertest: "6.3.3",
133
- tsconfig: "0.0.0-experimental.c2b08ee20b017fc174cccf35c56c39438b0237b0"
132
+ tsconfig: "0.0.0-experimental.c35a4b9abd571c6562b64b2aa4381dbf2a030f24"
134
133
  };
135
134
  var engines = {
136
135
  node: ">=18.0.0 <=22.x.x",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -28,9 +28,6 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
28
28
  * @param {import('../../').Strapi} strapi
29
29
  */ const registerAdminRoutes = (strapi)=>{
30
30
  const generateRouteScope = createRouteScopeGenerator(`admin::`);
31
- // Instantiate function-like routers
32
- // Mutate admin.routes in-place and make sure router factories are instantiated correctly
33
- strapi.admin.routes = instantiateRouterInputs(strapi.admin.routes, strapi);
34
31
  _.forEach(strapi.admin.routes, (router)=>{
35
32
  router.type = router.type || 'admin';
36
33
  router.prefix = router.prefix || `/admin`;
@@ -63,12 +60,9 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
63
60
  routes: plugin.routes
64
61
  });
65
62
  } else {
66
- // Instantiate function-like routers
67
- // Mutate plugin.routes in-place and make sure router factories are instantiated correctly
68
- plugin.routes = instantiateRouterInputs(plugin.routes, strapi);
69
63
  _.forEach(plugin.routes, (router)=>{
70
- router.type = router.type ?? 'admin';
71
- router.prefix = router.prefix ?? `/${pluginName}`;
64
+ router.type = router.type || 'admin';
65
+ router.prefix = router.prefix || `/${pluginName}`;
72
66
  router.routes.forEach((route)=>{
73
67
  generateRouteScope(route);
74
68
  route.info = {
@@ -86,8 +80,6 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
86
80
  for (const apiName of Object.keys(strapi.apis)){
87
81
  const api = strapi.api(apiName);
88
82
  const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);
89
- // Mutate api.routes in-place and make sure router factories are instantiated correctly
90
- api.routes = instantiateRouterInputs(api.routes, strapi);
91
83
  _.forEach(api.routes, (router)=>{
92
84
  // TODO: remove once auth setup
93
85
  // pass meta down to compose endpoint
@@ -102,18 +94,6 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
102
94
  });
103
95
  }
104
96
  };
105
- const instantiateRouterInputs = (routers, strapi)=>{
106
- const entries = Object.entries(routers);
107
- return entries.reduce((record, [key, inputOrCallback])=>{
108
- const isCallback = typeof inputOrCallback === 'function';
109
- return {
110
- ...record,
111
- [key]: isCallback ? inputOrCallback({
112
- strapi
113
- }) : inputOrCallback
114
- };
115
- }, {});
116
- };
117
97
 
118
98
  module.exports = registerAllRoutes;
119
99
  //# sourceMappingURL=register-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-routes.js","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Core.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Core.Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Core.Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n // Instantiate function-like routers\n // Mutate admin.routes in-place and make sure router factories are instantiated correctly\n strapi.admin.routes = instantiateRouterInputs(strapi.admin.routes, strapi);\n\n _.forEach(strapi.admin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Core.Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n // Instantiate function-like routers\n // Mutate plugin.routes in-place and make sure router factories are instantiated correctly\n plugin.routes = instantiateRouterInputs(plugin.routes, strapi);\n\n _.forEach(plugin.routes, (router) => {\n router.type = router.type ?? 'admin';\n router.prefix = router.prefix ?? `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Core.Strapi) => {\n for (const apiName of Object.keys(strapi.apis)) {\n const api = strapi.api(apiName);\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n // Mutate api.routes in-place and make sure router factories are instantiated correctly\n api.routes = instantiateRouterInputs(api.routes, strapi);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n\nconst instantiateRouterInputs = (\n routers: Record<string, Core.RouterConfig>,\n strapi: Core.Strapi\n): Record<string, Core.Router> => {\n const entries = Object.entries(routers);\n\n return entries.reduce((record, [key, inputOrCallback]) => {\n const isCallback = typeof inputOrCallback === 'function';\n\n return { ...record, [key]: isCallback ? inputOrCallback({ strapi }) : inputOrCallback };\n }, {});\n};\n"],"names":["createRouteScopeGenerator","namespace","route","prefix","endsWith","handler","_","defaultsDeep","config","auth","scope","startsWith","strapi","registerAdminRoutes","registerAPIRoutes","registerPluginRoutes","generateRouteScope","admin","routes","instantiateRouterInputs","forEach","router","type","info","pluginName","server","Object","keys","plugins","plugin","Array","isArray","apiName","apis","api","routers","entries","reduce","record","key","inputOrCallback","isCallback"],"mappings":"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"}
1
+ {"version":3,"file":"register-routes.js","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Core.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Core.Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Core.Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n _.forEach(strapi.admin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Core.Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n _.forEach(plugin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Core.Strapi) => {\n for (const apiName of Object.keys(strapi.apis)) {\n const api = strapi.api(apiName);\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n"],"names":["createRouteScopeGenerator","namespace","route","prefix","endsWith","handler","_","defaultsDeep","config","auth","scope","startsWith","strapi","registerAdminRoutes","registerAPIRoutes","registerPluginRoutes","generateRouteScope","forEach","admin","routes","router","type","info","pluginName","server","Object","keys","plugins","plugin","Array","isArray","apiName","apis","api"],"mappings":"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"}
@@ -26,9 +26,6 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
26
26
  * @param {import('../../').Strapi} strapi
27
27
  */ const registerAdminRoutes = (strapi)=>{
28
28
  const generateRouteScope = createRouteScopeGenerator(`admin::`);
29
- // Instantiate function-like routers
30
- // Mutate admin.routes in-place and make sure router factories are instantiated correctly
31
- strapi.admin.routes = instantiateRouterInputs(strapi.admin.routes, strapi);
32
29
  _.forEach(strapi.admin.routes, (router)=>{
33
30
  router.type = router.type || 'admin';
34
31
  router.prefix = router.prefix || `/admin`;
@@ -61,12 +58,9 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
61
58
  routes: plugin.routes
62
59
  });
63
60
  } else {
64
- // Instantiate function-like routers
65
- // Mutate plugin.routes in-place and make sure router factories are instantiated correctly
66
- plugin.routes = instantiateRouterInputs(plugin.routes, strapi);
67
61
  _.forEach(plugin.routes, (router)=>{
68
- router.type = router.type ?? 'admin';
69
- router.prefix = router.prefix ?? `/${pluginName}`;
62
+ router.type = router.type || 'admin';
63
+ router.prefix = router.prefix || `/${pluginName}`;
70
64
  router.routes.forEach((route)=>{
71
65
  generateRouteScope(route);
72
66
  route.info = {
@@ -84,8 +78,6 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
84
78
  for (const apiName of Object.keys(strapi.apis)){
85
79
  const api = strapi.api(apiName);
86
80
  const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);
87
- // Mutate api.routes in-place and make sure router factories are instantiated correctly
88
- api.routes = instantiateRouterInputs(api.routes, strapi);
89
81
  _.forEach(api.routes, (router)=>{
90
82
  // TODO: remove once auth setup
91
83
  // pass meta down to compose endpoint
@@ -100,18 +92,6 @@ const createRouteScopeGenerator = (namespace)=>(route)=>{
100
92
  });
101
93
  }
102
94
  };
103
- const instantiateRouterInputs = (routers, strapi)=>{
104
- const entries = Object.entries(routers);
105
- return entries.reduce((record, [key, inputOrCallback])=>{
106
- const isCallback = typeof inputOrCallback === 'function';
107
- return {
108
- ...record,
109
- [key]: isCallback ? inputOrCallback({
110
- strapi
111
- }) : inputOrCallback
112
- };
113
- }, {});
114
- };
115
95
 
116
96
  export { registerAllRoutes as default };
117
97
  //# sourceMappingURL=register-routes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-routes.mjs","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Core.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Core.Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Core.Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n // Instantiate function-like routers\n // Mutate admin.routes in-place and make sure router factories are instantiated correctly\n strapi.admin.routes = instantiateRouterInputs(strapi.admin.routes, strapi);\n\n _.forEach(strapi.admin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Core.Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n // Instantiate function-like routers\n // Mutate plugin.routes in-place and make sure router factories are instantiated correctly\n plugin.routes = instantiateRouterInputs(plugin.routes, strapi);\n\n _.forEach(plugin.routes, (router) => {\n router.type = router.type ?? 'admin';\n router.prefix = router.prefix ?? `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Core.Strapi) => {\n for (const apiName of Object.keys(strapi.apis)) {\n const api = strapi.api(apiName);\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n // Mutate api.routes in-place and make sure router factories are instantiated correctly\n api.routes = instantiateRouterInputs(api.routes, strapi);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n\nconst instantiateRouterInputs = (\n routers: Record<string, Core.RouterConfig>,\n strapi: Core.Strapi\n): Record<string, Core.Router> => {\n const entries = Object.entries(routers);\n\n return entries.reduce((record, [key, inputOrCallback]) => {\n const isCallback = typeof inputOrCallback === 'function';\n\n return { ...record, [key]: isCallback ? inputOrCallback({ strapi }) : inputOrCallback };\n }, {});\n};\n"],"names":["createRouteScopeGenerator","namespace","route","prefix","endsWith","handler","_","defaultsDeep","config","auth","scope","startsWith","strapi","registerAdminRoutes","registerAPIRoutes","registerPluginRoutes","generateRouteScope","admin","routes","instantiateRouterInputs","forEach","router","type","info","pluginName","server","Object","keys","plugins","plugin","Array","isArray","apiName","apis","api","routers","entries","reduce","record","key","inputOrCallback","isCallback"],"mappings":";;AAGA,MAAMA,yBAAAA,GAA4B,CAACC,SAAAA,GAAsB,CAACC,KAAAA,GAAAA;QACxD,MAAMC,MAAAA,GAASF,SAAUG,CAAAA,QAAQ,CAAC,IAAA,CAAA,GAAQH,YAAY,CAAC,EAAEA,SAAU,CAAA,CAAC,CAAC;AAErE,QAAA,IAAI,OAAOC,KAAAA,CAAMG,OAAO,KAAK,QAAU,EAAA;YACrCC,CAAEC,CAAAA,YAAY,CAACL,KAAO,EAAA;gBACpBM,MAAQ,EAAA;oBACNC,IAAM,EAAA;wBACJC,KAAO,EAAA;AAAC,4BAAA,CAAC,EAAER,KAAAA,CAAMG,OAAO,CAACM,UAAU,CAACR,MAAU,CAAA,GAAA,EAAA,GAAKA,MAAO,CAAA,EAAED,KAAMG,CAAAA,OAAO,CAAC;AAAE;AAC9E;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AAEA;;IAGA,wBAAe,CAAA,CAACO,MAAAA,GAAAA;IACdC,mBAAoBD,CAAAA,MAAAA,CAAAA;IACpBE,iBAAkBF,CAAAA,MAAAA,CAAAA;IAClBG,oBAAqBH,CAAAA,MAAAA,CAAAA;AACvB,CAAA;AAEA;;;IAIA,MAAMC,sBAAsB,CAACD,MAAAA,GAAAA;AAC3B,IAAA,MAAMI,kBAAqBhB,GAAAA,yBAAAA,CAA0B,CAAC,OAAO,CAAC,CAAA;;;IAI9DY,MAAOK,CAAAA,KAAK,CAACC,MAAM,GAAGC,wBAAwBP,MAAOK,CAAAA,KAAK,CAACC,MAAM,EAAEN,MAAAA,CAAAA;AAEnEN,IAAAA,CAAAA,CAAEc,OAAO,CAACR,MAAAA,CAAOK,KAAK,CAACC,MAAM,EAAE,CAACG,MAAAA,GAAAA;AAC9BA,QAAAA,MAAAA,CAAOC,IAAI,GAAGD,MAAOC,CAAAA,IAAI,IAAI,OAAA;AAC7BD,QAAAA,MAAAA,CAAOlB,MAAM,GAAGkB,MAAAA,CAAOlB,MAAM,IAAI,CAAC,MAAM,CAAC;AACzCkB,QAAAA,MAAAA,CAAOH,MAAM,CAACE,OAAO,CAAC,CAAClB,KAAAA,GAAAA;YACrBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,YAAAA,KAAAA,CAAMqB,IAAI,GAAG;gBAAEC,UAAY,EAAA;AAAQ,aAAA;AACrC,SAAA,CAAA;QACAZ,MAAOa,CAAAA,MAAM,CAACP,MAAM,CAACG,MAAAA,CAAAA;AACvB,KAAA,CAAA;AACF,CAAA;AAEA;;;IAIA,MAAMN,uBAAuB,CAACH,MAAAA,GAAAA;AAC5B,IAAA,KAAK,MAAMY,UAAcE,IAAAA,MAAAA,CAAOC,IAAI,CAACf,MAAAA,CAAOgB,OAAO,CAAG,CAAA;AACpD,QAAA,MAAMC,MAASjB,GAAAA,MAAAA,CAAOgB,OAAO,CAACJ,UAAW,CAAA;AAEzC,QAAA,MAAMR,qBAAqBhB,yBAA0B,CAAA,CAAC,QAAQ,EAAEwB,WAAW,CAAC,CAAA;AAE5E,QAAA,IAAIM,KAAMC,CAAAA,OAAO,CAACF,MAAAA,CAAOX,MAAM,CAAG,EAAA;AAChCW,YAAAA,MAAAA,CAAOX,MAAM,CAACE,OAAO,CAAC,CAAClB,KAAAA,GAAAA;gBACrBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,gBAAAA,KAAAA,CAAMqB,IAAI,GAAG;AAAEC,oBAAAA;AAAW,iBAAA;AAC5B,aAAA,CAAA;YAEAZ,MAAOa,CAAAA,MAAM,CAACP,MAAM,CAAC;gBACnBI,IAAM,EAAA,OAAA;AACNnB,gBAAAA,MAAAA,EAAQ,CAAC,CAAC,EAAEqB,UAAAA,CAAW,CAAC;AACxBN,gBAAAA,MAAAA,EAAQW,OAAOX;AACjB,aAAA,CAAA;SACK,MAAA;;;AAGLW,YAAAA,MAAAA,CAAOX,MAAM,GAAGC,uBAAwBU,CAAAA,MAAAA,CAAOX,MAAM,EAAEN,MAAAA,CAAAA;AAEvDN,YAAAA,CAAAA,CAAEc,OAAO,CAACS,MAAOX,CAAAA,MAAM,EAAE,CAACG,MAAAA,GAAAA;AACxBA,gBAAAA,MAAAA,CAAOC,IAAI,GAAGD,MAAOC,CAAAA,IAAI,IAAI,OAAA;gBAC7BD,MAAOlB,CAAAA,MAAM,GAAGkB,MAAOlB,CAAAA,MAAM,IAAI,CAAC,CAAC,EAAEqB,UAAAA,CAAW,CAAC;AACjDH,gBAAAA,MAAAA,CAAOH,MAAM,CAACE,OAAO,CAAC,CAAClB,KAAAA,GAAAA;oBACrBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,oBAAAA,KAAAA,CAAMqB,IAAI,GAAG;AAAEC,wBAAAA;AAAW,qBAAA;AAC5B,iBAAA,CAAA;gBAEAZ,MAAOa,CAAAA,MAAM,CAACP,MAAM,CAACG,MAAAA,CAAAA;AACvB,aAAA,CAAA;AACF;AACF;AACF,CAAA;AAEA;;IAGA,MAAMP,oBAAoB,CAACF,MAAAA,GAAAA;AACzB,IAAA,KAAK,MAAMoB,OAAWN,IAAAA,MAAAA,CAAOC,IAAI,CAACf,MAAAA,CAAOqB,IAAI,CAAG,CAAA;QAC9C,MAAMC,GAAAA,GAAMtB,MAAOsB,CAAAA,GAAG,CAACF,OAAAA,CAAAA;AAEvB,QAAA,MAAMhB,qBAAqBhB,yBAA0B,CAAA,CAAC,KAAK,EAAEgC,QAAQ,CAAC,CAAA;;AAGtEE,QAAAA,GAAAA,CAAIhB,MAAM,GAAGC,uBAAwBe,CAAAA,GAAAA,CAAIhB,MAAM,EAAEN,MAAAA,CAAAA;AAEjDN,QAAAA,CAAAA,CAAEc,OAAO,CAACc,GAAIhB,CAAAA,MAAM,EAAE,CAACG,MAAAA,GAAAA;;;AAGrBA,YAAAA,MAAAA,CAAOC,IAAI,GAAG,aAAA;YACdD,MAAOH,CAAAA,MAAM,EAAEE,OAAAA,CAAQ,CAAClB,KAAAA,GAAAA;gBACtBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,gBAAAA,KAAAA,CAAMqB,IAAI,GAAG;AAAES,oBAAAA;AAAQ,iBAAA;AACzB,aAAA,CAAA;AAEA,YAAA,OAAOpB,MAAOa,CAAAA,MAAM,CAACP,MAAM,CAACG,MAAAA,CAAAA;AAC9B,SAAA,CAAA;AACF;AACF,CAAA;AAEA,MAAMF,uBAAAA,GAA0B,CAC9BgB,OACAvB,EAAAA,MAAAA,GAAAA;IAEA,MAAMwB,OAAAA,GAAUV,MAAOU,CAAAA,OAAO,CAACD,OAAAA,CAAAA;AAE/B,IAAA,OAAOC,QAAQC,MAAM,CAAC,CAACC,MAAQ,EAAA,CAACC,KAAKC,eAAgB,CAAA,GAAA;QACnD,MAAMC,UAAAA,GAAa,OAAOD,eAAoB,KAAA,UAAA;QAE9C,OAAO;AAAE,YAAA,GAAGF,MAAM;YAAE,CAACC,GAAAA,GAAME,UAAAA,GAAaD,eAAgB,CAAA;AAAE5B,gBAAAA;aAAY4B,CAAAA,GAAAA;AAAgB,SAAA;AACxF,KAAA,EAAG,EAAC,CAAA;AACN,CAAA;;;;"}
1
+ {"version":3,"file":"register-routes.mjs","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Core.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Core.Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Core.Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n _.forEach(strapi.admin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Core.Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n _.forEach(plugin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Core.Strapi) => {\n for (const apiName of Object.keys(strapi.apis)) {\n const api = strapi.api(apiName);\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n"],"names":["createRouteScopeGenerator","namespace","route","prefix","endsWith","handler","_","defaultsDeep","config","auth","scope","startsWith","strapi","registerAdminRoutes","registerAPIRoutes","registerPluginRoutes","generateRouteScope","forEach","admin","routes","router","type","info","pluginName","server","Object","keys","plugins","plugin","Array","isArray","apiName","apis","api"],"mappings":"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"}
@@ -7,16 +7,6 @@ declare const validateRouteConfig: (routeConfig: Core.RouteInput) => import("yup
7
7
  method: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
8
8
  path: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
9
9
  handler: import("yup/lib/Lazy").default<import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>> | import("yup/lib/mixed").MixedSchema<any, Record<string, any>, any> | import("yup/lib/array").RequiredArraySchema<yup.AnySchema, import("yup/lib/types").AnyObject, any[] | undefined>, any>;
10
- request: import("yup/lib/object").OptionalObjectSchema<{
11
- params: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
12
- query: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
13
- body: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
14
- }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
15
- params: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
16
- query: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
17
- body: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
18
- }>>;
19
- response: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
20
10
  config: import("yup/lib/object").OptionalObjectSchema<{
21
11
  auth: import("yup/lib/Lazy").default<import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>> | import("yup/lib/object").OptionalObjectSchema<{
22
12
  scope: import("yup/lib/array").RequiredArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/services/server/routing.ts"],"names":[],"mappings":";;AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAkE1C,QAAA,MAAM,mBAAmB,gBAAiB,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAYxD,CAAC;AAEF,QAAA,MAAM,kBAAkB,WAAY,KAAK,MAAM,SAAQ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;wBAmB3C,WAAW,GAAG,KAAK,UAAU,EAAE,UAAU,MAAM;CAkB3E,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/services/server/routing.ts"],"names":[],"mappings":";;AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA0D1C,QAAA,MAAM,mBAAmB,gBAAiB,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;cAYxD,CAAC;AAEF,QAAA,MAAM,kBAAkB,WAAY,KAAK,MAAM,SAAQ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;wBAmB3C,WAAW,GAAG,KAAK,UAAU,EAAE,UAAU,MAAM;CAkB3E,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -36,12 +36,6 @@ const routeSchema = strapiUtils.yup.object({
36
36
  }
37
37
  return strapiUtils.yup.mixed().isFunction().required();
38
38
  }),
39
- request: strapiUtils.yup.object({
40
- params: strapiUtils.yup.object().notRequired(),
41
- query: strapiUtils.yup.object().notRequired(),
42
- body: strapiUtils.yup.object().notRequired()
43
- }).notRequired(),
44
- response: strapiUtils.yup.object().notRequired(),
45
39
  config: strapiUtils.yup.object({
46
40
  auth: strapiUtils.yup.lazy((value)=>{
47
41
  if (value === false) {
@@ -79,7 +73,7 @@ const createRouteManager = (strapi, opts = {})=>{
79
73
  const routeWithInfo = Object.assign(route, {
80
74
  info: {
81
75
  ...route.info ?? {},
82
- type: type ?? 'api'
76
+ type: type || 'api'
83
77
  }
84
78
  });
85
79
  composeEndpoint$1(routeWithInfo, {