@strapi/core 0.0.0-experimental.25f7de53c1fc990bbb86d4aa43c379acfa838064 → 0.0.0-experimental.267375bdc00aa57de5e78acd345a838d21a63676

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 (77) 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 -118
  4. package/dist/core-api/routes/index.js.map +1 -1
  5. package/dist/core-api/routes/index.mjs +8 -118
  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/ee/index.d.ts +6 -0
  13. package/dist/ee/index.d.ts.map +1 -1
  14. package/dist/ee/index.js +29 -3
  15. package/dist/ee/index.js.map +1 -1
  16. package/dist/ee/index.mjs +30 -4
  17. package/dist/ee/index.mjs.map +1 -1
  18. package/dist/ee/license.d.ts +3 -1
  19. package/dist/ee/license.d.ts.map +1 -1
  20. package/dist/ee/license.js +6 -1
  21. package/dist/ee/license.js.map +1 -1
  22. package/dist/ee/license.mjs +6 -2
  23. package/dist/ee/license.mjs.map +1 -1
  24. package/dist/factories.d.ts +1 -3
  25. package/dist/factories.d.ts.map +1 -1
  26. package/dist/factories.js +2 -10
  27. package/dist/factories.js.map +1 -1
  28. package/dist/factories.mjs +3 -10
  29. package/dist/factories.mjs.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.mjs +1 -1
  32. package/dist/package.json.js +13 -14
  33. package/dist/package.json.js.map +1 -1
  34. package/dist/package.json.mjs +13 -14
  35. package/dist/package.json.mjs.map +1 -1
  36. package/dist/services/core-store.d.ts +2 -2
  37. package/dist/services/core-store.d.ts.map +1 -1
  38. package/dist/services/core-store.js.map +1 -1
  39. package/dist/services/core-store.mjs.map +1 -1
  40. package/dist/services/document-service/entries.d.ts.map +1 -1
  41. package/dist/services/document-service/entries.js +42 -0
  42. package/dist/services/document-service/entries.js.map +1 -1
  43. package/dist/services/document-service/entries.mjs +43 -1
  44. package/dist/services/document-service/entries.mjs.map +1 -1
  45. package/dist/services/server/register-routes.js +2 -22
  46. package/dist/services/server/register-routes.js.map +1 -1
  47. package/dist/services/server/register-routes.mjs +2 -22
  48. package/dist/services/server/register-routes.mjs.map +1 -1
  49. package/dist/services/server/routing.d.ts +0 -10
  50. package/dist/services/server/routing.d.ts.map +1 -1
  51. package/dist/services/server/routing.js +1 -7
  52. package/dist/services/server/routing.js.map +1 -1
  53. package/dist/services/server/routing.mjs +1 -7
  54. package/dist/services/server/routing.mjs.map +1 -1
  55. package/dist/utils/fetch.d.ts +5 -1
  56. package/dist/utils/fetch.d.ts.map +1 -1
  57. package/dist/utils/fetch.js +8 -4
  58. package/dist/utils/fetch.js.map +1 -1
  59. package/dist/utils/fetch.mjs +8 -4
  60. package/dist/utils/fetch.mjs.map +1 -1
  61. package/package.json +13 -14
  62. package/dist/core-api/routes/validation/common.d.ts +0 -135
  63. package/dist/core-api/routes/validation/common.d.ts.map +0 -1
  64. package/dist/core-api/routes/validation/common.js +0 -201
  65. package/dist/core-api/routes/validation/common.js.map +0 -1
  66. package/dist/core-api/routes/validation/common.mjs +0 -198
  67. package/dist/core-api/routes/validation/common.mjs.map +0 -1
  68. package/dist/core-api/routes/validation/component.d.ts +0 -42
  69. package/dist/core-api/routes/validation/component.d.ts.map +0 -1
  70. package/dist/core-api/routes/validation/content-type.d.ts +0 -139
  71. package/dist/core-api/routes/validation/content-type.d.ts.map +0 -1
  72. package/dist/core-api/routes/validation/content-type.js +0 -176
  73. package/dist/core-api/routes/validation/content-type.js.map +0 -1
  74. package/dist/core-api/routes/validation/content-type.mjs +0 -174
  75. package/dist/core-api/routes/validation/content-type.mjs.map +0 -1
  76. package/dist/core-api/routes/validation/index.d.ts +0 -4
  77. package/dist/core-api/routes/validation/index.d.ts.map +0 -1
@@ -1,6 +1,24 @@
1
- import type { Core, Schema } from '@strapi/types';
2
- export declare const createRoutes: ({ strapi, contentType, }: {
3
- strapi: Core.Strapi;
1
+ import type { Schema } from '@strapi/types';
2
+ export declare const createRoutes: ({ contentType }: {
4
3
  contentType: Schema.ContentType;
5
- }) => Record<string, Partial<Core.Route>>;
4
+ }) => {
5
+ find: {
6
+ method: string;
7
+ path: string;
8
+ handler: string;
9
+ config: {};
10
+ };
11
+ update: {
12
+ method: string;
13
+ path: string;
14
+ handler: string;
15
+ config: {};
16
+ };
17
+ delete: {
18
+ method: string;
19
+ path: string;
20
+ handler: string;
21
+ config: {};
22
+ };
23
+ };
6
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core-api/routes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKlD,eAAO,MAAM,YAAY,6BAGtB;IACD,MAAM,EAAE,KAAK,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC,wCAMA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core-api/routes/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,YAAY,oBAAqB;IAAE,WAAW,EAAE,OAAO,WAAW,CAAA;CAAE;;;;;;;;;;;;;;;;;;;CAMhF,CAAC"}
@@ -1,176 +1,66 @@
1
1
  'use strict';
2
2
 
3
3
  var strapiUtils = require('@strapi/utils');
4
- var zod = require('zod');
5
- var contentType = require('./validation/content-type.js');
6
4
 
7
- const createRoutes = ({ strapi, contentType })=>{
5
+ const createRoutes = ({ contentType })=>{
8
6
  if (strapiUtils.contentTypes.isSingleType(contentType)) {
9
- return getSingleTypeRoutes(contentType, strapi);
7
+ return getSingleTypeRoutes(contentType);
10
8
  }
11
- return getCollectionTypeRoutes(contentType, strapi);
9
+ return getCollectionTypeRoutes(contentType);
12
10
  };
13
- const getSingleTypeRoutes = ({ uid, info }, strapi)=>{
14
- const validator = new contentType.CoreContentTypeRouteValidator(strapi, uid);
11
+ const getSingleTypeRoutes = ({ uid, info })=>{
15
12
  return {
16
13
  find: {
17
14
  method: 'GET',
18
15
  path: `/${info.singularName}`,
19
16
  handler: `${uid}.find`,
20
- request: {
21
- query: validator.query([
22
- 'fields',
23
- 'sort',
24
- 'populate'
25
- ])
26
- },
27
- responses: {
28
- 200: zod.z.object({
29
- data: validator.document
30
- })
31
- },
32
17
  config: {}
33
18
  },
34
19
  update: {
35
20
  method: 'PUT',
36
21
  path: `/${info.singularName}`,
37
22
  handler: `${uid}.update`,
38
- request: {
39
- query: validator.query([
40
- 'fields',
41
- 'sort',
42
- 'populate'
43
- ])
44
- },
45
- responses: {
46
- 200: zod.z.object({
47
- data: validator.document
48
- })
49
- },
50
23
  config: {}
51
24
  },
52
25
  delete: {
53
26
  method: 'DELETE',
54
27
  path: `/${info.singularName}`,
55
28
  handler: `${uid}.delete`,
56
- request: {
57
- query: validator.query([
58
- 'fields',
59
- 'sort',
60
- 'populate'
61
- ])
62
- },
63
- responses: {
64
- 200: zod.z.object({
65
- data: validator.document
66
- })
67
- },
68
29
  config: {}
69
30
  }
70
31
  };
71
32
  };
72
- const getCollectionTypeRoutes = (schema, strapi)=>{
73
- const { uid, info } = schema;
74
- const validator = new contentType.CoreContentTypeRouteValidator(strapi, uid);
33
+ const getCollectionTypeRoutes = ({ uid, info })=>{
75
34
  return {
76
35
  find: {
77
36
  method: 'GET',
78
37
  path: `/${info.pluralName}`,
79
38
  handler: `${uid}.find`,
80
- request: {
81
- query: validator.query([
82
- 'fields',
83
- 'sort',
84
- 'populate'
85
- ])
86
- },
87
- responses: {
88
- 200: zod.z.object({
89
- data: validator.documents
90
- })
91
- },
92
39
  config: {}
93
40
  },
94
41
  findOne: {
95
42
  method: 'GET',
96
43
  path: `/${info.pluralName}/:id`,
97
44
  handler: `${uid}.findOne`,
98
- request: {
99
- params: {
100
- id: validator.documentID
101
- },
102
- query: validator.query([
103
- 'fields',
104
- 'sort',
105
- 'populate'
106
- ])
107
- },
108
- responses: {
109
- 200: zod.z.object({
110
- data: validator.document
111
- })
112
- }
45
+ config: {}
113
46
  },
114
47
  create: {
115
48
  method: 'POST',
116
49
  path: `/${info.pluralName}`,
117
50
  handler: `${uid}.create`,
118
- request: {
119
- params: {
120
- id: validator.documentID
121
- },
122
- query: validator.query([
123
- 'fields',
124
- 'sort',
125
- 'populate'
126
- ])
127
- },
128
- responses: {
129
- 201: zod.z.object({
130
- data: validator.document
131
- })
132
- },
133
51
  config: {}
134
52
  },
135
53
  update: {
136
54
  method: 'PUT',
137
55
  path: `/${info.pluralName}/:id`,
138
56
  handler: `${uid}.update`,
139
- request: {
140
- query: validator.query([
141
- 'fields',
142
- 'sort',
143
- 'populate'
144
- ]),
145
- params: {
146
- id: validator.documentID
147
- }
148
- },
149
- responses: {
150
- 200: zod.z.object({
151
- data: validator.document
152
- })
153
- }
57
+ config: {}
154
58
  },
155
59
  delete: {
156
60
  method: 'DELETE',
157
61
  path: `/${info.pluralName}/:id`,
158
62
  handler: `${uid}.delete`,
159
- request: {
160
- query: validator.query([
161
- 'fields',
162
- 'sort',
163
- 'populate'
164
- ]),
165
- params: {
166
- id: validator.documentID
167
- }
168
- },
169
- responses: {
170
- 200: zod.z.object({
171
- data: validator.document
172
- })
173
- }
63
+ config: {}
174
64
  }
175
65
  };
176
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/core-api/routes/index.ts"],"sourcesContent":["import type { Core, Schema } from '@strapi/types';\nimport { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport { z } from 'zod';\nimport { CoreContentTypeRouteValidator } from './validation';\n\nexport const createRoutes = ({\n strapi,\n contentType,\n}: {\n strapi: Core.Strapi;\n contentType: Schema.ContentType;\n}) => {\n if (contentTypeUtils.isSingleType(contentType)) {\n return getSingleTypeRoutes(contentType, strapi);\n }\n\n return getCollectionTypeRoutes(contentType, strapi);\n};\n\nconst getSingleTypeRoutes = (\n { uid, info }: Schema.ContentType,\n strapi: Core.Strapi\n): Record<string, Partial<Core.Route>> => {\n const validator = new CoreContentTypeRouteValidator(strapi, uid);\n\n return {\n find: {\n method: 'GET',\n path: `/${info.singularName}`,\n handler: `${uid}.find`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.singularName}`,\n handler: `${uid}.update`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n config: {},\n },\n delete: {\n method: 'DELETE',\n path: `/${info.singularName}`,\n handler: `${uid}.delete`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n config: {},\n },\n };\n};\n\nconst getCollectionTypeRoutes = (\n schema: Schema.ContentType,\n strapi: Core.Strapi\n): Record<string, Partial<Core.Route>> => {\n const { uid, info } = schema;\n\n const validator = new CoreContentTypeRouteValidator(strapi, uid);\n\n return {\n find: {\n method: 'GET',\n path: `/${info.pluralName}`,\n handler: `${uid}.find`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.documents }),\n },\n config: {},\n },\n findOne: {\n method: 'GET',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.findOne`,\n request: {\n params: { id: validator.documentID },\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n },\n create: {\n method: 'POST',\n path: `/${info.pluralName}`,\n handler: `${uid}.create`,\n request: {\n params: { id: validator.documentID },\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 201: z.object({ data: validator.document }),\n },\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.update`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n params: { id: validator.documentID },\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n },\n delete: {\n method: 'DELETE',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.delete`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n params: { id: validator.documentID },\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n },\n };\n};\n"],"names":["createRoutes","strapi","contentType","contentTypeUtils","isSingleType","getSingleTypeRoutes","getCollectionTypeRoutes","uid","info","validator","CoreContentTypeRouteValidator","find","method","path","singularName","handler","request","query","responses","z","object","data","document","config","update","delete","schema","pluralName","documents","findOne","params","id","documentID","create"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/core-api/routes/index.ts"],"sourcesContent":["import { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nexport const createRoutes = ({ contentType }: { contentType: Schema.ContentType }) => {\n if (contentTypeUtils.isSingleType(contentType)) {\n return getSingleTypeRoutes(contentType);\n }\n\n return getCollectionTypeRoutes(contentType);\n};\n\nconst getSingleTypeRoutes = ({ uid, info }: Schema.ContentType) => {\n return {\n find: {\n method: 'GET',\n path: `/${info.singularName}`,\n handler: `${uid}.find`,\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.singularName}`,\n handler: `${uid}.update`,\n config: {},\n },\n delete: {\n method: 'DELETE',\n path: `/${info.singularName}`,\n handler: `${uid}.delete`,\n config: {},\n },\n };\n};\n\nconst getCollectionTypeRoutes = ({ uid, info }: Schema.ContentType) => {\n return {\n find: {\n method: 'GET',\n path: `/${info.pluralName}`,\n handler: `${uid}.find`,\n config: {},\n },\n findOne: {\n method: 'GET',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.findOne`,\n config: {},\n },\n create: {\n method: 'POST',\n path: `/${info.pluralName}`,\n handler: `${uid}.create`,\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.update`,\n config: {},\n },\n delete: {\n method: 'DELETE',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.delete`,\n config: {},\n },\n };\n};\n"],"names":["createRoutes","contentType","contentTypeUtils","isSingleType","getSingleTypeRoutes","getCollectionTypeRoutes","uid","info","find","method","path","singularName","handler","config","update","delete","pluralName","findOne","create"],"mappings":";;;;AAGaA,MAAAA,YAAAA,GAAe,CAAC,EAAEC,WAAW,EAAuC,GAAA;IAC/E,IAAIC,wBAAAA,CAAiBC,YAAY,CAACF,WAAc,CAAA,EAAA;AAC9C,QAAA,OAAOG,mBAAoBH,CAAAA,WAAAA,CAAAA;AAC7B;AAEA,IAAA,OAAOI,uBAAwBJ,CAAAA,WAAAA,CAAAA;AACjC;AAEA,MAAMG,sBAAsB,CAAC,EAAEE,GAAG,EAAEC,IAAI,EAAsB,GAAA;IAC5D,OAAO;QACLC,IAAM,EAAA;YACJC,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKI,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,KAAK,CAAC;AACtBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAC,MAAQ,EAAA;YACNL,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKI,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAE,MAAQ,EAAA;YACNN,MAAQ,EAAA,QAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKI,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV;AACF,KAAA;AACF,CAAA;AAEA,MAAMR,0BAA0B,CAAC,EAAEC,GAAG,EAAEC,IAAI,EAAsB,GAAA;IAChE,OAAO;QACLC,IAAM,EAAA;YACJC,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKS,CAAAA,UAAU,CAAC,CAAC;AAC3BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,KAAK,CAAC;AACtBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAI,OAAS,EAAA;YACPR,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,KAAKS,UAAU,CAAC,IAAI,CAAC;AAC/BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,QAAQ,CAAC;AACzBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAK,MAAQ,EAAA;YACNT,MAAQ,EAAA,MAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKS,CAAAA,UAAU,CAAC,CAAC;AAC3BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAC,MAAQ,EAAA;YACNL,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,KAAKS,UAAU,CAAC,IAAI,CAAC;AAC/BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAE,MAAQ,EAAA;YACNN,MAAQ,EAAA,QAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,KAAKS,UAAU,CAAC,IAAI,CAAC;AAC/BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV;AACF,KAAA;AACF,CAAA;;;;"}
@@ -1,174 +1,64 @@
1
1
  import { contentTypes } from '@strapi/utils';
2
- import { z } from 'zod';
3
- import { CoreContentTypeRouteValidator } from './validation/content-type.mjs';
4
2
 
5
- const createRoutes = ({ strapi, contentType })=>{
3
+ const createRoutes = ({ contentType })=>{
6
4
  if (contentTypes.isSingleType(contentType)) {
7
- return getSingleTypeRoutes(contentType, strapi);
5
+ return getSingleTypeRoutes(contentType);
8
6
  }
9
- return getCollectionTypeRoutes(contentType, strapi);
7
+ return getCollectionTypeRoutes(contentType);
10
8
  };
11
- const getSingleTypeRoutes = ({ uid, info }, strapi)=>{
12
- const validator = new CoreContentTypeRouteValidator(strapi, uid);
9
+ const getSingleTypeRoutes = ({ uid, info })=>{
13
10
  return {
14
11
  find: {
15
12
  method: 'GET',
16
13
  path: `/${info.singularName}`,
17
14
  handler: `${uid}.find`,
18
- request: {
19
- query: validator.query([
20
- 'fields',
21
- 'sort',
22
- 'populate'
23
- ])
24
- },
25
- responses: {
26
- 200: z.object({
27
- data: validator.document
28
- })
29
- },
30
15
  config: {}
31
16
  },
32
17
  update: {
33
18
  method: 'PUT',
34
19
  path: `/${info.singularName}`,
35
20
  handler: `${uid}.update`,
36
- request: {
37
- query: validator.query([
38
- 'fields',
39
- 'sort',
40
- 'populate'
41
- ])
42
- },
43
- responses: {
44
- 200: z.object({
45
- data: validator.document
46
- })
47
- },
48
21
  config: {}
49
22
  },
50
23
  delete: {
51
24
  method: 'DELETE',
52
25
  path: `/${info.singularName}`,
53
26
  handler: `${uid}.delete`,
54
- request: {
55
- query: validator.query([
56
- 'fields',
57
- 'sort',
58
- 'populate'
59
- ])
60
- },
61
- responses: {
62
- 200: z.object({
63
- data: validator.document
64
- })
65
- },
66
27
  config: {}
67
28
  }
68
29
  };
69
30
  };
70
- const getCollectionTypeRoutes = (schema, strapi)=>{
71
- const { uid, info } = schema;
72
- const validator = new CoreContentTypeRouteValidator(strapi, uid);
31
+ const getCollectionTypeRoutes = ({ uid, info })=>{
73
32
  return {
74
33
  find: {
75
34
  method: 'GET',
76
35
  path: `/${info.pluralName}`,
77
36
  handler: `${uid}.find`,
78
- request: {
79
- query: validator.query([
80
- 'fields',
81
- 'sort',
82
- 'populate'
83
- ])
84
- },
85
- responses: {
86
- 200: z.object({
87
- data: validator.documents
88
- })
89
- },
90
37
  config: {}
91
38
  },
92
39
  findOne: {
93
40
  method: 'GET',
94
41
  path: `/${info.pluralName}/:id`,
95
42
  handler: `${uid}.findOne`,
96
- request: {
97
- params: {
98
- id: validator.documentID
99
- },
100
- query: validator.query([
101
- 'fields',
102
- 'sort',
103
- 'populate'
104
- ])
105
- },
106
- responses: {
107
- 200: z.object({
108
- data: validator.document
109
- })
110
- }
43
+ config: {}
111
44
  },
112
45
  create: {
113
46
  method: 'POST',
114
47
  path: `/${info.pluralName}`,
115
48
  handler: `${uid}.create`,
116
- request: {
117
- params: {
118
- id: validator.documentID
119
- },
120
- query: validator.query([
121
- 'fields',
122
- 'sort',
123
- 'populate'
124
- ])
125
- },
126
- responses: {
127
- 201: z.object({
128
- data: validator.document
129
- })
130
- },
131
49
  config: {}
132
50
  },
133
51
  update: {
134
52
  method: 'PUT',
135
53
  path: `/${info.pluralName}/:id`,
136
54
  handler: `${uid}.update`,
137
- request: {
138
- query: validator.query([
139
- 'fields',
140
- 'sort',
141
- 'populate'
142
- ]),
143
- params: {
144
- id: validator.documentID
145
- }
146
- },
147
- responses: {
148
- 200: z.object({
149
- data: validator.document
150
- })
151
- }
55
+ config: {}
152
56
  },
153
57
  delete: {
154
58
  method: 'DELETE',
155
59
  path: `/${info.pluralName}/:id`,
156
60
  handler: `${uid}.delete`,
157
- request: {
158
- query: validator.query([
159
- 'fields',
160
- 'sort',
161
- 'populate'
162
- ]),
163
- params: {
164
- id: validator.documentID
165
- }
166
- },
167
- responses: {
168
- 200: z.object({
169
- data: validator.document
170
- })
171
- }
61
+ config: {}
172
62
  }
173
63
  };
174
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/core-api/routes/index.ts"],"sourcesContent":["import type { Core, Schema } from '@strapi/types';\nimport { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport { z } from 'zod';\nimport { CoreContentTypeRouteValidator } from './validation';\n\nexport const createRoutes = ({\n strapi,\n contentType,\n}: {\n strapi: Core.Strapi;\n contentType: Schema.ContentType;\n}) => {\n if (contentTypeUtils.isSingleType(contentType)) {\n return getSingleTypeRoutes(contentType, strapi);\n }\n\n return getCollectionTypeRoutes(contentType, strapi);\n};\n\nconst getSingleTypeRoutes = (\n { uid, info }: Schema.ContentType,\n strapi: Core.Strapi\n): Record<string, Partial<Core.Route>> => {\n const validator = new CoreContentTypeRouteValidator(strapi, uid);\n\n return {\n find: {\n method: 'GET',\n path: `/${info.singularName}`,\n handler: `${uid}.find`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.singularName}`,\n handler: `${uid}.update`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n config: {},\n },\n delete: {\n method: 'DELETE',\n path: `/${info.singularName}`,\n handler: `${uid}.delete`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n config: {},\n },\n };\n};\n\nconst getCollectionTypeRoutes = (\n schema: Schema.ContentType,\n strapi: Core.Strapi\n): Record<string, Partial<Core.Route>> => {\n const { uid, info } = schema;\n\n const validator = new CoreContentTypeRouteValidator(strapi, uid);\n\n return {\n find: {\n method: 'GET',\n path: `/${info.pluralName}`,\n handler: `${uid}.find`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.documents }),\n },\n config: {},\n },\n findOne: {\n method: 'GET',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.findOne`,\n request: {\n params: { id: validator.documentID },\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n },\n create: {\n method: 'POST',\n path: `/${info.pluralName}`,\n handler: `${uid}.create`,\n request: {\n params: { id: validator.documentID },\n query: validator.query(['fields', 'sort', 'populate']),\n },\n responses: {\n 201: z.object({ data: validator.document }),\n },\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.update`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n params: { id: validator.documentID },\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n },\n delete: {\n method: 'DELETE',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.delete`,\n request: {\n query: validator.query(['fields', 'sort', 'populate']),\n params: { id: validator.documentID },\n },\n responses: {\n 200: z.object({ data: validator.document }),\n },\n },\n };\n};\n"],"names":["createRoutes","strapi","contentType","contentTypeUtils","isSingleType","getSingleTypeRoutes","getCollectionTypeRoutes","uid","info","validator","CoreContentTypeRouteValidator","find","method","path","singularName","handler","request","query","responses","z","object","data","document","config","update","delete","schema","pluralName","documents","findOne","params","id","documentID","create"],"mappings":";;;;MAKaA,YAAe,GAAA,CAAC,EAC3BC,MAAM,EACNC,WAAW,EAIZ,GAAA;IACC,IAAIC,YAAAA,CAAiBC,YAAY,CAACF,WAAc,CAAA,EAAA;AAC9C,QAAA,OAAOG,oBAAoBH,WAAaD,EAAAA,MAAAA,CAAAA;AAC1C;AAEA,IAAA,OAAOK,wBAAwBJ,WAAaD,EAAAA,MAAAA,CAAAA;AAC9C;AAEA,MAAMI,sBAAsB,CAC1B,EAAEE,GAAG,EAAEC,IAAI,EAAsB,EACjCP,MAAAA,GAAAA;IAEA,MAAMQ,SAAAA,GAAY,IAAIC,6BAAAA,CAA8BT,MAAQM,EAAAA,GAAAA,CAAAA;IAE5D,OAAO;QACLI,IAAM,EAAA;YACJC,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,IAAKM,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,KAAK,CAAC;YACtBS,OAAS,EAAA;gBACPC,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA;AACvD,aAAA;YACAC,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C,aAAA;AACAC,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAC,MAAQ,EAAA;YACNZ,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,IAAKM,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,OAAO,CAAC;YACxBS,OAAS,EAAA;gBACPC,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA;AACvD,aAAA;YACAC,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C,aAAA;AACAC,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAE,MAAQ,EAAA;YACNb,MAAQ,EAAA,QAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,IAAKM,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,OAAO,CAAC;YACxBS,OAAS,EAAA;gBACPC,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA;AACvD,aAAA;YACAC,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C,aAAA;AACAC,YAAAA,MAAAA,EAAQ;AACV;AACF,KAAA;AACF,CAAA;AAEA,MAAMjB,uBAAAA,GAA0B,CAC9BoB,MACAzB,EAAAA,MAAAA,GAAAA;AAEA,IAAA,MAAM,EAAEM,GAAG,EAAEC,IAAI,EAAE,GAAGkB,MAAAA;IAEtB,MAAMjB,SAAAA,GAAY,IAAIC,6BAAAA,CAA8BT,MAAQM,EAAAA,GAAAA,CAAAA;IAE5D,OAAO;QACLI,IAAM,EAAA;YACJC,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,IAAKmB,CAAAA,UAAU,CAAC,CAAC;AAC3BZ,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,KAAK,CAAC;YACtBS,OAAS,EAAA;gBACPC,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA;AACvD,aAAA;YACAC,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUmB;AAAU,iBAAA;AAC5C,aAAA;AACAL,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAM,OAAS,EAAA;YACPjB,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,KAAKmB,UAAU,CAAC,IAAI,CAAC;AAC/BZ,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,QAAQ,CAAC;YACzBS,OAAS,EAAA;gBACPc,MAAQ,EAAA;AAAEC,oBAAAA,EAAAA,EAAItB,UAAUuB;AAAW,iBAAA;gBACnCf,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA;AACvD,aAAA;YACAC,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C;AACF,SAAA;QACAW,MAAQ,EAAA;YACNrB,MAAQ,EAAA,MAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,IAAKmB,CAAAA,UAAU,CAAC,CAAC;AAC3BZ,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,OAAO,CAAC;YACxBS,OAAS,EAAA;gBACPc,MAAQ,EAAA;AAAEC,oBAAAA,EAAAA,EAAItB,UAAUuB;AAAW,iBAAA;gBACnCf,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA;AACvD,aAAA;YACAC,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C,aAAA;AACAC,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAC,MAAQ,EAAA;YACNZ,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,KAAKmB,UAAU,CAAC,IAAI,CAAC;AAC/BZ,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,OAAO,CAAC;YACxBS,OAAS,EAAA;gBACPC,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA,CAAA;gBACrDa,MAAQ,EAAA;AAAEC,oBAAAA,EAAAA,EAAItB,UAAUuB;AAAW;AACrC,aAAA;YACAd,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C;AACF,SAAA;QACAG,MAAQ,EAAA;YACNb,MAAQ,EAAA,QAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEL,KAAKmB,UAAU,CAAC,IAAI,CAAC;AAC/BZ,YAAAA,OAAAA,EAAS,CAAC,EAAER,GAAI,CAAA,OAAO,CAAC;YACxBS,OAAS,EAAA;gBACPC,KAAOR,EAAAA,SAAAA,CAAUQ,KAAK,CAAC;AAAC,oBAAA,QAAA;AAAU,oBAAA,MAAA;AAAQ,oBAAA;AAAW,iBAAA,CAAA;gBACrDa,MAAQ,EAAA;AAAEC,oBAAAA,EAAAA,EAAItB,UAAUuB;AAAW;AACrC,aAAA;YACAd,SAAW,EAAA;gBACT,GAAKC,EAAAA,CAAAA,CAAEC,MAAM,CAAC;AAAEC,oBAAAA,IAAAA,EAAMZ,UAAUa;AAAS,iBAAA;AAC3C;AACF;AACF,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/core-api/routes/index.ts"],"sourcesContent":["import { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nexport const createRoutes = ({ contentType }: { contentType: Schema.ContentType }) => {\n if (contentTypeUtils.isSingleType(contentType)) {\n return getSingleTypeRoutes(contentType);\n }\n\n return getCollectionTypeRoutes(contentType);\n};\n\nconst getSingleTypeRoutes = ({ uid, info }: Schema.ContentType) => {\n return {\n find: {\n method: 'GET',\n path: `/${info.singularName}`,\n handler: `${uid}.find`,\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.singularName}`,\n handler: `${uid}.update`,\n config: {},\n },\n delete: {\n method: 'DELETE',\n path: `/${info.singularName}`,\n handler: `${uid}.delete`,\n config: {},\n },\n };\n};\n\nconst getCollectionTypeRoutes = ({ uid, info }: Schema.ContentType) => {\n return {\n find: {\n method: 'GET',\n path: `/${info.pluralName}`,\n handler: `${uid}.find`,\n config: {},\n },\n findOne: {\n method: 'GET',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.findOne`,\n config: {},\n },\n create: {\n method: 'POST',\n path: `/${info.pluralName}`,\n handler: `${uid}.create`,\n config: {},\n },\n update: {\n method: 'PUT',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.update`,\n config: {},\n },\n delete: {\n method: 'DELETE',\n path: `/${info.pluralName}/:id`,\n handler: `${uid}.delete`,\n config: {},\n },\n };\n};\n"],"names":["createRoutes","contentType","contentTypeUtils","isSingleType","getSingleTypeRoutes","getCollectionTypeRoutes","uid","info","find","method","path","singularName","handler","config","update","delete","pluralName","findOne","create"],"mappings":";;AAGaA,MAAAA,YAAAA,GAAe,CAAC,EAAEC,WAAW,EAAuC,GAAA;IAC/E,IAAIC,YAAAA,CAAiBC,YAAY,CAACF,WAAc,CAAA,EAAA;AAC9C,QAAA,OAAOG,mBAAoBH,CAAAA,WAAAA,CAAAA;AAC7B;AAEA,IAAA,OAAOI,uBAAwBJ,CAAAA,WAAAA,CAAAA;AACjC;AAEA,MAAMG,sBAAsB,CAAC,EAAEE,GAAG,EAAEC,IAAI,EAAsB,GAAA;IAC5D,OAAO;QACLC,IAAM,EAAA;YACJC,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKI,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,KAAK,CAAC;AACtBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAC,MAAQ,EAAA;YACNL,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKI,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAE,MAAQ,EAAA;YACNN,MAAQ,EAAA,QAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKI,CAAAA,YAAY,CAAC,CAAC;AAC7BC,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV;AACF,KAAA;AACF,CAAA;AAEA,MAAMR,0BAA0B,CAAC,EAAEC,GAAG,EAAEC,IAAI,EAAsB,GAAA;IAChE,OAAO;QACLC,IAAM,EAAA;YACJC,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKS,CAAAA,UAAU,CAAC,CAAC;AAC3BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,KAAK,CAAC;AACtBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAI,OAAS,EAAA;YACPR,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,KAAKS,UAAU,CAAC,IAAI,CAAC;AAC/BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,QAAQ,CAAC;AACzBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAK,MAAQ,EAAA;YACNT,MAAQ,EAAA,MAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,IAAKS,CAAAA,UAAU,CAAC,CAAC;AAC3BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAC,MAAQ,EAAA;YACNL,MAAQ,EAAA,KAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,KAAKS,UAAU,CAAC,IAAI,CAAC;AAC/BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV,SAAA;QACAE,MAAQ,EAAA;YACNN,MAAQ,EAAA,QAAA;AACRC,YAAAA,IAAAA,EAAM,CAAC,CAAC,EAAEH,KAAKS,UAAU,CAAC,IAAI,CAAC;AAC/BJ,YAAAA,OAAAA,EAAS,CAAC,EAAEN,GAAI,CAAA,OAAO,CAAC;AACxBO,YAAAA,MAAAA,EAAQ;AACV;AACF,KAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/module/index.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,KAAK,YAAY,EAAW,MAAM,QAAQ,CAAC;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAWvD,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,iBAAiB,CAAC;IACnE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;CAC9C;AAiBD,eAAO,MAAM,YAAY,cACZ,MAAM,aACN,SAAS,UACZ,KAAK,MAAM,KAClB,MAwFF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/module/index.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,KAAK,YAAY,EAAW,MAAM,QAAQ,CAAC;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAWvD,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,iBAAiB,CAAC;IACnE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;CAC9C;AAiBD,eAAO,MAAM,YAAY,cACZ,MAAM,aACN,SAAS,UACZ,KAAK,MAAM,KAClB,MAqFF,CAAC"}
@@ -67,9 +67,6 @@ const createModule = (namespace, rawModule, strapi)=>{
67
67
  get routes () {
68
68
  return rawModule.routes ?? {};
69
69
  },
70
- set routes (routes){
71
- rawModule.routes = routes;
72
- },
73
70
  config (path, defaultValue) {
74
71
  const pathArray = _.flatten([
75
72
  namespace,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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.js","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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"}
@@ -65,9 +65,6 @@ const createModule = (namespace, rawModule, strapi)=>{
65
65
  get routes () {
66
66
  return rawModule.routes ?? {};
67
67
  },
68
- set routes (routes){
69
- rawModule.routes = routes;
70
- },
71
68
  config (path, defaultValue) {
72
69
  const pathArray = flatten([
73
70
  namespace,
@@ -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":";;;;;AA6CA;AACA,MAAMA,oBAAAA,GAAuB,CAAoCC,GAAQC,EAAAA,SAAAA,GAAAA;IACvE,OAAOC,CAAAA,CAAEC,OAAO,CAACH,GAAAA,EAAK,CAACI,KAAOC,EAAAA,GAAAA,GAAQC,gBAAgBD,GAAKJ,EAAAA,SAAAA,CAAAA,CAAAA;AAC7D,CAAA;AAEA,MAAMM,aAAgB,GAAA;AACpBC,IAAAA,MAAAA,EAAQ,EAAC;AACTC,IAAAA,MAAAA,EAAQ,EAAE;AACVC,IAAAA,WAAAA,EAAa,EAAC;AACdC,IAAAA,QAAAA,EAAU,EAAC;AACXC,IAAAA,YAAAA,EAAc,EAAC;AACfC,IAAAA,QAAAA,EAAU,EAAC;AACXC,IAAAA,WAAAA,EAAa;AACf,CAAA;AAEaC,MAAAA,YAAAA,GAAe,CAC1Bd,SAAAA,EACAe,SACAC,EAAAA,MAAAA,GAAAA;IAEAf,CAAEgB,CAAAA,QAAQ,CAACF,SAAWT,EAAAA,aAAAA,CAAAA;IAEtB,IAAI;QACFY,cAAeH,CAAAA,SAAAA,CAAAA;AACjB,KAAA,CAAE,OAAOI,CAAG,EAAA;QACV,IAAIA,CAAAA,YAAaC,GAAIC,CAAAA,eAAe,EAAE;AACpC,YAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,iCAAiC,EAAEtB,SAAU,CAAA,IAAI,EAAEmB,CAAAA,CAAEI,MAAM,CAACC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3F;AACF;AAEA,IAAA,MAAMC,SAA0B,EAAC;IACjC,OAAO;QACL,MAAMC,SAAAA,CAAAA,GAAAA;YACJ,IAAID,MAAAA,CAAOC,SAAS,EAAE;AACpB,gBAAA,MAAM,IAAIJ,KAAM,CAAA,CAAC,cAAc,EAAEtB,SAAAA,CAAU,wBAAwB,CAAC,CAAA;AACtE;AACAyB,YAAAA,MAAAA,CAAOC,SAAS,GAAG,IAAA;AACnB,YAAA,OAAOX,SAAUW,CAAAA,SAAS,IAAIX,SAAAA,CAAUW,SAAS,CAAC;AAAEV,gBAAAA;aAAQ,CAAA,CAAA;AAC9D,SAAA;QACA,MAAMW,QAAAA,CAAAA,GAAAA;YACJ,IAAIF,MAAAA,CAAOE,QAAQ,EAAE;AACnB,gBAAA,MAAM,IAAIL,KAAM,CAAA,CAAC,aAAa,EAAEtB,SAAAA,CAAU,wBAAwB,CAAC,CAAA;AACrE;AACAyB,YAAAA,MAAAA,CAAOE,QAAQ,GAAG,IAAA;AAClB,YAAA,OAAOZ,SAAUY,CAAAA,QAAQ,IAAIZ,SAAAA,CAAUY,QAAQ,CAAC;AAAEX,gBAAAA;aAAQ,CAAA,CAAA;AAC5D,SAAA;QACA,MAAMY,OAAAA,CAAAA,GAAAA;YACJ,IAAIH,MAAAA,CAAOG,OAAO,EAAE;AAClB,gBAAA,MAAM,IAAIN,KAAM,CAAA,CAAC,YAAY,EAAEtB,SAAAA,CAAU,wBAAwB,CAAC,CAAA;AACpE;AACAyB,YAAAA,MAAAA,CAAOG,OAAO,GAAG,IAAA;AACjB,YAAA,OAAOb,SAAUa,CAAAA,OAAO,IAAIb,SAAAA,CAAUa,OAAO,CAAC;AAAEZ,gBAAAA;aAAQ,CAAA,CAAA;AAC1D,SAAA;AACAa,QAAAA,IAAAA,CAAAA,GAAAA;AACEb,YAAAA,MAAAA,CAAOc,GAAG,CAAC,eAAA,CAAA,CAAiBC,GAAG,CAAC/B,SAAAA,EAAWe,UAAUJ,YAAY,CAAA;AACjEK,YAAAA,MAAAA,CAAOc,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC/B,SAAAA,EAAWe,UAAUL,QAAQ,CAAA;AACxDM,YAAAA,MAAAA,CAAOc,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC/B,SAAAA,EAAWe,UAAUH,QAAQ,CAAA;AACxDI,YAAAA,MAAAA,CAAOc,GAAG,CAAC,aAAA,CAAA,CAAeC,GAAG,CAAC/B,SAAAA,EAAWe,UAAUF,WAAW,CAAA;AAC9DG,YAAAA,MAAAA,CAAOc,GAAG,CAAC,aAAA,CAAA,CAAeC,GAAG,CAAC/B,SAAAA,EAAWe,UAAUN,WAAW,CAAA;AAC9DO,YAAAA,MAAAA,CAAOc,GAAG,CAAC,QAAA,CAAA,CAAUE,GAAG,CAAChC,SAAAA,EAAWe,UAAUR,MAAM,CAAA;AACtD,SAAA;AACA,QAAA,IAAIC,MAAS,CAAA,GAAA;YACX,OAAOO,SAAAA,CAAUP,MAAM,IAAI,EAAC;AAC9B,SAAA;AACA,QAAA,IAAIA,QAAOA,MAAqC,CAAA;AAC9CO,YAAAA,SAAAA,CAAUP,MAAM,GAAGA,MAAAA;AACrB,SAAA;QACAD,MAAO0B,CAAAA,CAAAA,IAAkB,EAAEC,YAAqB,EAAA;AAC9C,YAAA,MAAMC,YAAYC,OAAQ,CAAA;AAACpC,gBAAAA,SAAAA;AAAWiC,gBAAAA;AAAK,aAAA,CAAA;AAC3C,YAAA,OAAOjB,OAAOc,GAAG,CAAC,QAAUA,CAAAA,CAAAA,GAAG,CAACK,SAAWD,EAAAA,YAAAA,CAAAA;AAC7C,SAAA;AACAG,QAAAA,WAAAA,CAAAA,CAAYC,MAAuB,EAAA;AACjC,YAAA,OAAOtB,MAAOc,CAAAA,GAAG,CAAC,eAAA,CAAA,CAAiBA,GAAG,CAAC,CAAC,EAAE9B,SAAU,CAAA,CAAC,EAAEsC,MAAAA,CAAO,CAAC,CAAA;AACjE,SAAA;AACA,QAAA,IAAI3B,YAAe,CAAA,GAAA;AACjB,YAAA,MAAMA,eAAeK,MAAOc,CAAAA,GAAG,CAAC,eAAA,CAAA,CAAiBS,MAAM,CAACvC,SAAAA,CAAAA;AACxD,YAAA,OAAOF,qBAAqBa,YAAcX,EAAAA,SAAAA,CAAAA;AAC5C,SAAA;AACAwC,QAAAA,OAAAA,CAAAA,CAAQC,WAAwB,EAAA;AAC9B,YAAA,OAAOzB,MAAOc,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYA,GAAG,CAAC,CAAC,EAAE9B,SAAU,CAAA,CAAC,EAAEyC,WAAAA,CAAY,CAAC,CAAA;AACjE,SAAA;AACA,QAAA,IAAI/B,QAAW,CAAA,GAAA;AACb,YAAA,MAAMA,WAAWM,MAAOc,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYS,MAAM,CAACvC,SAAAA,CAAAA;AAC/C,YAAA,OAAOF,qBAAqBY,QAAUV,EAAAA,SAAAA,CAAAA;AACxC,SAAA;AACA0C,QAAAA,MAAAA,CAAAA,CAAOC,UAAsB,EAAA;AAC3B,YAAA,OAAO3B,MAAOc,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYA,GAAG,CAAC,CAAC,EAAE9B,SAAU,CAAA,CAAC,EAAE2C,UAAAA,CAAW,CAAC,CAAA;AAChE,SAAA;AACA,QAAA,IAAI/B,QAAW,CAAA,GAAA;AACb,YAAA,MAAMA,WAAWI,MAAOc,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYS,MAAM,CAACvC,SAAAA,CAAAA;AAC/C,YAAA,OAAOF,qBAAqBc,QAAUZ,EAAAA,SAAAA,CAAAA;AACxC,SAAA;AACA4C,QAAAA,UAAAA,CAAAA,CAAWC,cAA8B,EAAA;AACvC,YAAA,OAAO7B,MAAOc,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeA,GAAG,CAAC,CAAC,EAAE9B,SAAU,CAAA,CAAC,EAAE6C,cAAAA,CAAe,CAAC,CAAA;AACvE,SAAA;AACA,QAAA,IAAIhC,WAAc,CAAA,GAAA;AAChB,YAAA,MAAMA,cAAcG,MAAOc,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeS,MAAM,CAACvC,SAAAA,CAAAA;AACrD,YAAA,OAAOF,qBAAqBe,WAAab,EAAAA,SAAAA,CAAAA;AAC3C,SAAA;AACA8C,QAAAA,UAAAA,CAAAA,CAAWC,cAA8B,EAAA;AACvC,YAAA,OAAO/B,MAAOc,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeA,GAAG,CAAC,CAAC,EAAE9B,SAAU,CAAA,CAAC,EAAE+C,cAAAA,CAAe,CAAC,CAAA;AACvE,SAAA;AACA,QAAA,IAAItC,WAAc,CAAA,GAAA;AAChB,YAAA,MAAMA,cAAcO,MAAOc,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeS,MAAM,CAACvC,SAAAA,CAAAA;AACrD,YAAA,OAAOF,qBAAqBW,WAAaT,EAAAA,SAAAA,CAAAA;AAC3C;AACF,KAAA;AACF;;;;"}
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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"}
@@ -4,9 +4,15 @@ declare const _default: Readonly<{
4
4
  checkLicense: ({ strapi }: {
5
5
  strapi: Core.Strapi;
6
6
  }) => Promise<void>;
7
+ getTrialEndDate: ({ strapi, }: {
8
+ strapi: Core.Strapi;
9
+ }) => Promise<{
10
+ trialEndsAt: string;
11
+ } | null>;
7
12
  readonly isEE: boolean;
8
13
  readonly seats: number | undefined;
9
14
  readonly type: string | undefined;
15
+ readonly isTrial: boolean;
10
16
  features: Readonly<{
11
17
  list: () => {
12
18
  [key: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ee/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;iCA0Pb,MAAM;;;AAnBnC,wBAqBG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ee/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;iCAqSb,MAAM;;;AAxBnC,wBA0BG"}