@akbarsafari00/bonyan-types 5.52.1-fa.4

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.
Files changed (319) hide show
  1. package/LICENSE +37 -0
  2. package/README.md +9 -0
  3. package/dist/core/api.d.ts +3 -0
  4. package/dist/core/api.d.ts.map +1 -0
  5. package/dist/core/commands/index.d.ts +6 -0
  6. package/dist/core/commands/index.d.ts.map +1 -0
  7. package/dist/core/config/admin.d.ts +156 -0
  8. package/dist/core/config/admin.d.ts.map +1 -0
  9. package/dist/core/config/api.d.ts +38 -0
  10. package/dist/core/config/api.d.ts.map +1 -0
  11. package/dist/core/config/database.d.ts +78 -0
  12. package/dist/core/config/database.d.ts.map +1 -0
  13. package/dist/core/config/features.d.ts +14 -0
  14. package/dist/core/config/features.d.ts.map +1 -0
  15. package/dist/core/config/index.d.ts +11 -0
  16. package/dist/core/config/index.d.ts.map +1 -0
  17. package/dist/core/config/middlewares.d.ts +3 -0
  18. package/dist/core/config/middlewares.d.ts.map +1 -0
  19. package/dist/core/config/openapi.d.ts +35 -0
  20. package/dist/core/config/openapi.d.ts.map +1 -0
  21. package/dist/core/config/plugin.d.ts +8 -0
  22. package/dist/core/config/plugin.d.ts.map +1 -0
  23. package/dist/core/config/server.d.ts +102 -0
  24. package/dist/core/config/server.d.ts.map +1 -0
  25. package/dist/core/config/shared.d.ts +8 -0
  26. package/dist/core/config/shared.d.ts.map +1 -0
  27. package/dist/core/config/typescript.d.ts +10 -0
  28. package/dist/core/config/typescript.d.ts.map +1 -0
  29. package/dist/core/container.d.ts +5 -0
  30. package/dist/core/container.d.ts.map +1 -0
  31. package/dist/core/controller.d.ts +7 -0
  32. package/dist/core/controller.d.ts.map +1 -0
  33. package/dist/core/core-api/controller.d.ts +47 -0
  34. package/dist/core/core-api/controller.d.ts.map +1 -0
  35. package/dist/core/core-api/index.d.ts +4 -0
  36. package/dist/core/core-api/index.d.ts.map +1 -0
  37. package/dist/core/core-api/router.d.ts +64 -0
  38. package/dist/core/core-api/router.d.ts.map +1 -0
  39. package/dist/core/core-api/service.d.ts +69 -0
  40. package/dist/core/core-api/service.d.ts.map +1 -0
  41. package/dist/core/index.d.ts +15 -0
  42. package/dist/core/index.d.ts.map +1 -0
  43. package/dist/core/middleware.d.ts +15 -0
  44. package/dist/core/middleware.d.ts.map +1 -0
  45. package/dist/core/module.d.ts +26 -0
  46. package/dist/core/module.d.ts.map +1 -0
  47. package/dist/core/plugin.d.ts +6 -0
  48. package/dist/core/plugin.d.ts.map +1 -0
  49. package/dist/core/policy.d.ts +15 -0
  50. package/dist/core/policy.d.ts.map +1 -0
  51. package/dist/core/route.d.ts +54 -0
  52. package/dist/core/route.d.ts.map +1 -0
  53. package/dist/core/router.d.ts +15 -0
  54. package/dist/core/router.d.ts.map +1 -0
  55. package/dist/core/service.d.ts +4 -0
  56. package/dist/core/service.d.ts.map +1 -0
  57. package/dist/core/strapi.d.ts +162 -0
  58. package/dist/core/strapi.d.ts.map +1 -0
  59. package/dist/data/component.d.ts +21 -0
  60. package/dist/data/component.d.ts.map +1 -0
  61. package/dist/data/constants.d.ts +5 -0
  62. package/dist/data/constants.d.ts.map +1 -0
  63. package/dist/data/content-type.d.ts +26 -0
  64. package/dist/data/content-type.d.ts.map +1 -0
  65. package/dist/data/entity.d.ts +15 -0
  66. package/dist/data/entity.d.ts.map +1 -0
  67. package/dist/data/index.d.ts +5 -0
  68. package/dist/data/index.d.ts.map +1 -0
  69. package/dist/index.d.ts +20 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +3 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/index.mjs +2 -0
  74. package/dist/index.mjs.map +1 -0
  75. package/dist/internal/index.d.ts +13 -0
  76. package/dist/internal/index.d.ts.map +1 -0
  77. package/dist/internal/namespace.d.ts +78 -0
  78. package/dist/internal/namespace.d.ts.map +1 -0
  79. package/dist/internal/registry.d.ts +8 -0
  80. package/dist/internal/registry.d.ts.map +1 -0
  81. package/dist/internal/uid.d.ts +116 -0
  82. package/dist/internal/uid.d.ts.map +1 -0
  83. package/dist/modules/ai.d.ts +34 -0
  84. package/dist/modules/ai.d.ts.map +1 -0
  85. package/dist/modules/audit-logs.d.ts +6 -0
  86. package/dist/modules/audit-logs.d.ts.map +1 -0
  87. package/dist/modules/auth.d.ts +25 -0
  88. package/dist/modules/auth.d.ts.map +1 -0
  89. package/dist/modules/content-api.d.ts +92 -0
  90. package/dist/modules/content-api.d.ts.map +1 -0
  91. package/dist/modules/core-store.d.ts +28 -0
  92. package/dist/modules/core-store.d.ts.map +1 -0
  93. package/dist/modules/cron.d.ts +27 -0
  94. package/dist/modules/cron.d.ts.map +1 -0
  95. package/dist/modules/custom-fields.d.ts +25 -0
  96. package/dist/modules/custom-fields.d.ts.map +1 -0
  97. package/dist/modules/documents/component-extension.d.ts +73 -0
  98. package/dist/modules/documents/component-extension.d.ts.map +1 -0
  99. package/dist/modules/documents/draft-and-publish.d.ts +12 -0
  100. package/dist/modules/documents/draft-and-publish.d.ts.map +1 -0
  101. package/dist/modules/documents/index.d.ts +27 -0
  102. package/dist/modules/documents/index.d.ts.map +1 -0
  103. package/dist/modules/documents/middleware.d.ts +14 -0
  104. package/dist/modules/documents/middleware.d.ts.map +1 -0
  105. package/dist/modules/documents/params/attributes/id.d.ts +4 -0
  106. package/dist/modules/documents/params/attributes/id.d.ts.map +1 -0
  107. package/dist/modules/documents/params/attributes/index.d.ts +79 -0
  108. package/dist/modules/documents/params/attributes/index.d.ts.map +1 -0
  109. package/dist/modules/documents/params/attributes/relations.d.ts +40 -0
  110. package/dist/modules/documents/params/attributes/relations.d.ts.map +1 -0
  111. package/dist/modules/documents/params/data.d.ts +67 -0
  112. package/dist/modules/documents/params/data.d.ts.map +1 -0
  113. package/dist/modules/documents/params/document-engine.d.ts +34 -0
  114. package/dist/modules/documents/params/document-engine.d.ts.map +1 -0
  115. package/dist/modules/documents/params/fields.d.ts +61 -0
  116. package/dist/modules/documents/params/fields.d.ts.map +1 -0
  117. package/dist/modules/documents/params/filters/index.d.ts +61 -0
  118. package/dist/modules/documents/params/filters/index.d.ts.map +1 -0
  119. package/dist/modules/documents/params/filters/operators.d.ts +9 -0
  120. package/dist/modules/documents/params/filters/operators.d.ts.map +1 -0
  121. package/dist/modules/documents/params/index.d.ts +162 -0
  122. package/dist/modules/documents/params/index.d.ts.map +1 -0
  123. package/dist/modules/documents/params/locale.d.ts +4 -0
  124. package/dist/modules/documents/params/locale.d.ts.map +1 -0
  125. package/dist/modules/documents/params/pagination.d.ts +11 -0
  126. package/dist/modules/documents/params/pagination.d.ts.map +1 -0
  127. package/dist/modules/documents/params/populate.d.ts +86 -0
  128. package/dist/modules/documents/params/populate.d.ts.map +1 -0
  129. package/dist/modules/documents/params/search.d.ts +2 -0
  130. package/dist/modules/documents/params/search.d.ts.map +1 -0
  131. package/dist/modules/documents/params/sort.d.ts +87 -0
  132. package/dist/modules/documents/params/sort.d.ts.map +1 -0
  133. package/dist/modules/documents/params/status.d.ts +12 -0
  134. package/dist/modules/documents/params/status.d.ts.map +1 -0
  135. package/dist/modules/documents/plugin.d.ts +11 -0
  136. package/dist/modules/documents/plugin.d.ts.map +1 -0
  137. package/dist/modules/documents/result/document-engine.d.ts +34 -0
  138. package/dist/modules/documents/result/document-engine.d.ts.map +1 -0
  139. package/dist/modules/documents/result/index.d.ts +93 -0
  140. package/dist/modules/documents/result/index.d.ts.map +1 -0
  141. package/dist/modules/documents/service-instance.d.ts +96 -0
  142. package/dist/modules/documents/service-instance.d.ts.map +1 -0
  143. package/dist/modules/entity-service/index.d.ts +87 -0
  144. package/dist/modules/entity-service/index.d.ts.map +1 -0
  145. package/dist/modules/entity-service/params/attributes/id.d.ts +3 -0
  146. package/dist/modules/entity-service/params/attributes/id.d.ts.map +1 -0
  147. package/dist/modules/entity-service/params/attributes/index.d.ts +71 -0
  148. package/dist/modules/entity-service/params/attributes/index.d.ts.map +1 -0
  149. package/dist/modules/entity-service/params/attributes/literals.d.ts +8 -0
  150. package/dist/modules/entity-service/params/attributes/literals.d.ts.map +1 -0
  151. package/dist/modules/entity-service/params/attributes/relation.d.ts +40 -0
  152. package/dist/modules/entity-service/params/attributes/relation.d.ts.map +1 -0
  153. package/dist/modules/entity-service/params/attributes/utils.d.ts +9 -0
  154. package/dist/modules/entity-service/params/attributes/utils.d.ts.map +1 -0
  155. package/dist/modules/entity-service/params/data.d.ts +52 -0
  156. package/dist/modules/entity-service/params/data.d.ts.map +1 -0
  157. package/dist/modules/entity-service/params/fields.d.ts +61 -0
  158. package/dist/modules/entity-service/params/fields.d.ts.map +1 -0
  159. package/dist/modules/entity-service/params/filters/index.d.ts +96 -0
  160. package/dist/modules/entity-service/params/filters/index.d.ts.map +1 -0
  161. package/dist/modules/entity-service/params/filters/operators.d.ts +9 -0
  162. package/dist/modules/entity-service/params/filters/operators.d.ts.map +1 -0
  163. package/dist/modules/entity-service/params/index.d.ts +123 -0
  164. package/dist/modules/entity-service/params/index.d.ts.map +1 -0
  165. package/dist/modules/entity-service/params/pagination.d.ts +10 -0
  166. package/dist/modules/entity-service/params/pagination.d.ts.map +1 -0
  167. package/dist/modules/entity-service/params/populate.d.ts +69 -0
  168. package/dist/modules/entity-service/params/populate.d.ts.map +1 -0
  169. package/dist/modules/entity-service/params/search.d.ts +2 -0
  170. package/dist/modules/entity-service/params/search.d.ts.map +1 -0
  171. package/dist/modules/entity-service/params/sort.d.ts +95 -0
  172. package/dist/modules/entity-service/params/sort.d.ts.map +1 -0
  173. package/dist/modules/entity-service/plugin.d.ts +11 -0
  174. package/dist/modules/entity-service/plugin.d.ts.map +1 -0
  175. package/dist/modules/entity-service/result.d.ts +78 -0
  176. package/dist/modules/entity-service/result.d.ts.map +1 -0
  177. package/dist/modules/entity-validator.d.ts +21 -0
  178. package/dist/modules/entity-validator.d.ts.map +1 -0
  179. package/dist/modules/event-hub.d.ts +16 -0
  180. package/dist/modules/event-hub.d.ts.map +1 -0
  181. package/dist/modules/features.d.ts +12 -0
  182. package/dist/modules/features.d.ts.map +1 -0
  183. package/dist/modules/fetch.d.ts +11 -0
  184. package/dist/modules/fetch.d.ts.map +1 -0
  185. package/dist/modules/index.d.ts +24 -0
  186. package/dist/modules/index.d.ts.map +1 -0
  187. package/dist/modules/mcp.d.ts +216 -0
  188. package/dist/modules/mcp.d.ts.map +1 -0
  189. package/dist/modules/metrics.d.ts +8 -0
  190. package/dist/modules/metrics.d.ts.map +1 -0
  191. package/dist/modules/permissions.d.ts +14 -0
  192. package/dist/modules/permissions.d.ts.map +1 -0
  193. package/dist/modules/request-context.d.ts +6 -0
  194. package/dist/modules/request-context.d.ts.map +1 -0
  195. package/dist/modules/sanitizers.d.ts +8 -0
  196. package/dist/modules/sanitizers.d.ts.map +1 -0
  197. package/dist/modules/server.d.ts +29 -0
  198. package/dist/modules/server.d.ts.map +1 -0
  199. package/dist/modules/session-manager.d.ts +70 -0
  200. package/dist/modules/session-manager.d.ts.map +1 -0
  201. package/dist/modules/validators.d.ts +8 -0
  202. package/dist/modules/validators.d.ts.map +1 -0
  203. package/dist/modules/webhook-runner.d.ts +19 -0
  204. package/dist/modules/webhook-runner.d.ts.map +1 -0
  205. package/dist/modules/webhook-store.d.ts +21 -0
  206. package/dist/modules/webhook-store.d.ts.map +1 -0
  207. package/dist/plugin/config/index.d.ts +3 -0
  208. package/dist/plugin/config/index.d.ts.map +1 -0
  209. package/dist/plugin/config/strapi-admin/index.d.ts +8 -0
  210. package/dist/plugin/config/strapi-admin/index.d.ts.map +1 -0
  211. package/dist/plugin/config/strapi-server/config.d.ts +8 -0
  212. package/dist/plugin/config/strapi-server/config.d.ts.map +1 -0
  213. package/dist/plugin/config/strapi-server/content-types.d.ts +11 -0
  214. package/dist/plugin/config/strapi-server/content-types.d.ts.map +1 -0
  215. package/dist/plugin/config/strapi-server/controllers.d.ts +8 -0
  216. package/dist/plugin/config/strapi-server/controllers.d.ts.map +1 -0
  217. package/dist/plugin/config/strapi-server/index.d.ts +21 -0
  218. package/dist/plugin/config/strapi-server/index.d.ts.map +1 -0
  219. package/dist/plugin/config/strapi-server/lifecycle.d.ts +8 -0
  220. package/dist/plugin/config/strapi-server/lifecycle.d.ts.map +1 -0
  221. package/dist/plugin/config/strapi-server/routes.d.ts +11 -0
  222. package/dist/plugin/config/strapi-server/routes.d.ts.map +1 -0
  223. package/dist/plugin/index.d.ts +40 -0
  224. package/dist/plugin/index.d.ts.map +1 -0
  225. package/dist/public/index.d.ts +6 -0
  226. package/dist/public/index.d.ts.map +1 -0
  227. package/dist/public/registries.d.ts +68 -0
  228. package/dist/public/registries.d.ts.map +1 -0
  229. package/dist/public/shared.d.ts +61 -0
  230. package/dist/public/shared.d.ts.map +1 -0
  231. package/dist/schema/attribute/base.d.ts +92 -0
  232. package/dist/schema/attribute/base.d.ts.map +1 -0
  233. package/dist/schema/attribute/common.d.ts +29 -0
  234. package/dist/schema/attribute/common.d.ts.map +1 -0
  235. package/dist/schema/attribute/constants.d.ts +12 -0
  236. package/dist/schema/attribute/constants.d.ts.map +1 -0
  237. package/dist/schema/attribute/definitions/biginteger.d.ts +19 -0
  238. package/dist/schema/attribute/definitions/biginteger.d.ts.map +1 -0
  239. package/dist/schema/attribute/definitions/blocks.d.ts +80 -0
  240. package/dist/schema/attribute/definitions/blocks.d.ts.map +1 -0
  241. package/dist/schema/attribute/definitions/boolean.d.ts +19 -0
  242. package/dist/schema/attribute/definitions/boolean.d.ts.map +1 -0
  243. package/dist/schema/attribute/definitions/component.d.ts +25 -0
  244. package/dist/schema/attribute/definitions/component.d.ts.map +1 -0
  245. package/dist/schema/attribute/definitions/date-time.d.ts +18 -0
  246. package/dist/schema/attribute/definitions/date-time.d.ts.map +1 -0
  247. package/dist/schema/attribute/definitions/date.d.ts +18 -0
  248. package/dist/schema/attribute/definitions/date.d.ts.map +1 -0
  249. package/dist/schema/attribute/definitions/decimal.d.ts +19 -0
  250. package/dist/schema/attribute/definitions/decimal.d.ts.map +1 -0
  251. package/dist/schema/attribute/definitions/dynamic-zone.d.ts +25 -0
  252. package/dist/schema/attribute/definitions/dynamic-zone.d.ts.map +1 -0
  253. package/dist/schema/attribute/definitions/email.d.ts +19 -0
  254. package/dist/schema/attribute/definitions/email.d.ts.map +1 -0
  255. package/dist/schema/attribute/definitions/enumeration.d.ts +22 -0
  256. package/dist/schema/attribute/definitions/enumeration.d.ts.map +1 -0
  257. package/dist/schema/attribute/definitions/float.d.ts +19 -0
  258. package/dist/schema/attribute/definitions/float.d.ts.map +1 -0
  259. package/dist/schema/attribute/definitions/index.d.ts +23 -0
  260. package/dist/schema/attribute/definitions/index.d.ts.map +1 -0
  261. package/dist/schema/attribute/definitions/integer.d.ts +19 -0
  262. package/dist/schema/attribute/definitions/integer.d.ts.map +1 -0
  263. package/dist/schema/attribute/definitions/json.d.ts +17 -0
  264. package/dist/schema/attribute/definitions/json.d.ts.map +1 -0
  265. package/dist/schema/attribute/definitions/media.d.ts +24 -0
  266. package/dist/schema/attribute/definitions/media.d.ts.map +1 -0
  267. package/dist/schema/attribute/definitions/password.d.ts +18 -0
  268. package/dist/schema/attribute/definitions/password.d.ts.map +1 -0
  269. package/dist/schema/attribute/definitions/relation.d.ts +167 -0
  270. package/dist/schema/attribute/definitions/relation.d.ts.map +1 -0
  271. package/dist/schema/attribute/definitions/richtext.d.ts +18 -0
  272. package/dist/schema/attribute/definitions/richtext.d.ts.map +1 -0
  273. package/dist/schema/attribute/definitions/string.d.ts +28 -0
  274. package/dist/schema/attribute/definitions/string.d.ts.map +1 -0
  275. package/dist/schema/attribute/definitions/text.d.ts +23 -0
  276. package/dist/schema/attribute/definitions/text.d.ts.map +1 -0
  277. package/dist/schema/attribute/definitions/time.d.ts +18 -0
  278. package/dist/schema/attribute/definitions/time.d.ts.map +1 -0
  279. package/dist/schema/attribute/definitions/timestamp.d.ts +18 -0
  280. package/dist/schema/attribute/definitions/timestamp.d.ts.map +1 -0
  281. package/dist/schema/attribute/definitions/uid.d.ts +31 -0
  282. package/dist/schema/attribute/definitions/uid.d.ts.map +1 -0
  283. package/dist/schema/attribute/index.d.ts +7 -0
  284. package/dist/schema/attribute/index.d.ts.map +1 -0
  285. package/dist/schema/attribute/options.d.ts +221 -0
  286. package/dist/schema/attribute/options.d.ts.map +1 -0
  287. package/dist/schema/attribute/utils.d.ts +101 -0
  288. package/dist/schema/attribute/utils.d.ts.map +1 -0
  289. package/dist/schema/index.d.ts +144 -0
  290. package/dist/schema/index.d.ts.map +1 -0
  291. package/dist/struct/index.d.ts +3 -0
  292. package/dist/struct/index.d.ts.map +1 -0
  293. package/dist/struct/schema-definition.d.ts +10 -0
  294. package/dist/struct/schema-definition.d.ts.map +1 -0
  295. package/dist/struct/schema.d.ts +286 -0
  296. package/dist/struct/schema.d.ts.map +1 -0
  297. package/dist/uid/index.d.ts +168 -0
  298. package/dist/uid/index.d.ts.map +1 -0
  299. package/dist/utils/array.d.ts +80 -0
  300. package/dist/utils/array.d.ts.map +1 -0
  301. package/dist/utils/constants.d.ts +67 -0
  302. package/dist/utils/constants.d.ts.map +1 -0
  303. package/dist/utils/expression.d.ts +490 -0
  304. package/dist/utils/expression.d.ts.map +1 -0
  305. package/dist/utils/function.d.ts +21 -0
  306. package/dist/utils/function.d.ts.map +1 -0
  307. package/dist/utils/guard.d.ts +90 -0
  308. package/dist/utils/guard.d.ts.map +1 -0
  309. package/dist/utils/index.d.ts +236 -0
  310. package/dist/utils/index.d.ts.map +1 -0
  311. package/dist/utils/json.d.ts +119 -0
  312. package/dist/utils/json.d.ts.map +1 -0
  313. package/dist/utils/object.d.ts +180 -0
  314. package/dist/utils/object.d.ts.map +1 -0
  315. package/dist/utils/string.d.ts +190 -0
  316. package/dist/utils/string.d.ts.map +1 -0
  317. package/dist/utils/tuple.d.ts +19 -0
  318. package/dist/utils/tuple.d.ts.map +1 -0
  319. package/package.json +68 -0
@@ -0,0 +1,73 @@
1
+ import type { UID, Schema, Utils } from '../..';
2
+ import type { Input, PartialInput } from './params/data';
3
+ import type * as AttributeUtils from './params/attributes';
4
+ /**
5
+ * Defines the structure of component bodies based on the given schema UID and component-like keys.
6
+ *
7
+ * It adapts based on whether schema registries have been extended, either mapping attribute names to
8
+ * their respective values or using a generic key-value structure if the registries have not been extended.
9
+ *
10
+ * @template TSchemaUID - The schema's UID, extending from {@link UID.Schema}, which determines the attribute names and types to use.
11
+ * @template TComponentLikeKeys - A string type representing the keys to keep that are component-like, defaults to a generic string.
12
+ *
13
+ * @example
14
+ * Using `ComponentBody` in a situation where the schema registries have been extended:
15
+ * ```typescript
16
+ * type MyComponentSchemaUID = 'default.mycomponent';
17
+ * type MyComponentBody = ComponentBody<MyComponentSchemaUID, 'header' | 'footer'>;
18
+ *
19
+ * // This resolves to:
20
+ * // {
21
+ * // header: AttributeUtils.GetValue<Schema.AttributeByName<MyComponentSchemaUID, 'header'>>;
22
+ * // footer: AttributeUtils.GetValue<Schema.AttributeByName<MyComponentSchemaUID, 'footer'>>;
23
+ * // }
24
+ * ```
25
+ *
26
+ * In cases where it's unknown whether schema registries have been extended:
27
+ * ```typescript
28
+ * type GenericComponentBody = ComponentBody<UID.Schema>;
29
+ *
30
+ * // This resolves to:
31
+ * // {
32
+ * // [key: string]: AttributeUtils.GetValue<
33
+ * // | Schema.Attribute.Component<UID.Component, false>
34
+ * // | Schema.Attribute.Component<UID.Component, true>
35
+ * // | Schema.Attribute.DynamicZone
36
+ * // >;
37
+ * // }
38
+ * ```
39
+ *
40
+ * @todo: Move to common data structures and make it available for other use
41
+ */
42
+ type ComponentBody<TSchemaUID extends UID.Schema = UID.Schema, TComponentLikeKeys extends string = string> = Utils.If<Utils.Constants.AreSchemaRegistriesExtended, {
43
+ [TAttributeName in Extract<Schema.AttributeNamesByType<TSchemaUID, 'component' | 'dynamiczone'>, TComponentLikeKeys>]: AttributeUtils.GetValue<Schema.AttributeByName<TSchemaUID, TAttributeName>>;
44
+ }, {
45
+ [key: string]: AttributeUtils.GetValue<Schema.Attribute.Component<UID.Component, false> | Schema.Attribute.Component<UID.Component, true> | Schema.Attribute.DynamicZone>;
46
+ }>;
47
+ /**
48
+ * Provides methods to manipulate component data in input payloads.
49
+ *
50
+ * @template TSchemaUID - Represents a unique identifier for a schema, extending {@link UID.Schema}.
51
+ */
52
+ export type ComponentExtension<TSchemaUID extends UID.Schema> = {
53
+ /**
54
+ * Update the component data for a given entity.
55
+ *
56
+ * @remark This method is exposed for use within document service middlewares.
57
+ *
58
+ * @internal
59
+ */
60
+ updateComponents<const TData extends Input<TSchemaUID>>(entityToUpdate: {
61
+ id: AttributeUtils.ID;
62
+ }, data: TData): Promise<ComponentBody<TSchemaUID, Extract<keyof TData, string>>>;
63
+ /**
64
+ * Omits component-like fields from the given input data.
65
+ *
66
+ * @remark This method is exposed for use within document service middlewares.
67
+ *
68
+ * @internal
69
+ */
70
+ omitComponentData<const TData extends PartialInput<TSchemaUID>>(data: TData): TData;
71
+ };
72
+ export {};
73
+ //# sourceMappingURL=component-extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-extension.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/component-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,KAAK,aAAa,CAChB,UAAU,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAC1C,kBAAkB,SAAS,MAAM,GAAG,MAAM,IACxC,KAAK,CAAC,EAAE,CACV,KAAK,CAAC,SAAS,CAAC,2BAA2B,EAC3C;KACG,cAAc,IAAI,OAAO,CACxB,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC,EACpE,kBAAkB,CACnB,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;CAChF,EACD;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,QAAQ,CAClC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAChD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAC/C,MAAM,CAAC,SAAS,CAAC,WAAW,CAC/B,CAAC;CACH,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI;IAC9D;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,CAAC,UAAU,CAAC,EACpD,cAAc,EAAE;QAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAA;KAAE,EACzC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,CAAC,KAAK,SAAS,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;CACrF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Schema, UID, Utils } from '../..';
2
+ export type IsDraftAndPublishEnabled<TSchemaUID extends UID.Schema> = Utils.MatchFirst<[
3
+ [
4
+ UID.IsContentType<TSchemaUID>,
5
+ Utils.IsTrue<NonNullable<Schema.Schema<TSchemaUID>['options']>['draftAndPublish']>
6
+ ],
7
+ [
8
+ Utils.And<Utils.Not<Utils.Extends<TSchemaUID, UID.ContentType>>, UID.IsComponent<TSchemaUID>>,
9
+ Utils.Constants.False
10
+ ]
11
+ ], Utils.Constants.True>;
12
+ //# sourceMappingURL=draft-and-publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-and-publish.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/draft-and-publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEhD,MAAM,MAAM,wBAAwB,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CACpF;IACE;QACE,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;KACnF;IACD;QAGE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7F,KAAK,CAAC,SAAS,CAAC,KAAK;KACtB;CACF,EAED,KAAK,CAAC,SAAS,CAAC,IAAI,CACrB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { UID } from '../..';
2
+ import type * as Middleware from './middleware';
3
+ import type { ServiceInstance } from './service-instance';
4
+ import type { AnyDocument } from './result';
5
+ import type { ComponentExtension } from './component-extension';
6
+ export * as Middleware from './middleware';
7
+ export * as Params from './params';
8
+ export * from './plugin';
9
+ export * from './result';
10
+ export * from './service-instance';
11
+ export type ID = string;
12
+ type ServiceUtils = {
13
+ transformData: (data: any, opts: any) => Promise<AnyDocument>;
14
+ };
15
+ export type Service = {
16
+ <TContentTypeUID extends UID.ContentType>(uid: TContentTypeUID): ServiceInstance<TContentTypeUID> & ComponentExtension<TContentTypeUID>;
17
+ utils: ServiceUtils;
18
+ /** Add a middleware for all uid's and a specific action
19
+ * @example - Add a default locale
20
+ * strapi.documents.use((ctx, next) => {
21
+ * if (!params.locale) params.locale = 'en'
22
+ * return next()
23
+ * })
24
+ */
25
+ use: (cb: Middleware.Middleware) => Service;
26
+ };
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,KAAK,UAAU,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAEnC,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC;AAExB,KAAK,YAAY,GAAG;IAClB,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,EACtC,GAAG,EAAE,eAAe,GACnB,eAAe,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAE1E,KAAK,EAAE,YAAY,CAAC;IAEpB;;;;;;OAMG;IACH,GAAG,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,KAAK,OAAO,CAAC;CAC7C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Schema, UID } from '../..';
2
+ import type { ServiceInstance, ServiceParams } from './service-instance';
3
+ export type Context<TUID extends UID.ContentType = UID.ContentType> = {
4
+ [TUIDKey in TUID]: {
5
+ [TKey in keyof ServiceParams<TUIDKey>]: {
6
+ contentType: Schema.ContentType<TUIDKey>;
7
+ uid: TUIDKey;
8
+ action: TKey;
9
+ params: ServiceParams<TUIDKey>[TKey];
10
+ };
11
+ }[keyof ServiceParams<TUIDKey>];
12
+ }[TUID];
13
+ export type Middleware = (ctx: Context, next: () => ReturnType<ServiceInstance[keyof ServiceInstance]>) => ReturnType<ServiceInstance[keyof ServiceInstance]> extends Promise<infer Return> ? Promise<Return> : Promise<ReturnType<ServiceInstance[keyof ServiceInstance]>>;
14
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,MAAM,OAAO,CAAC,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI;KACnE,OAAO,IAAI,IAAI,GAAG;SAChB,IAAI,IAAI,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,GAAG,EAAE,OAAO,CAAC;YACb,MAAM,EAAE,IAAI,CAAC;YACb,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;SACtC;KACF,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC,IAAI,CAAC,CAAC;AAER,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,eAAe,CAAC,CAAC,KAC3D,UAAU,CAAC,eAAe,CAAC,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,MAAM,CAAC,GACjF,OAAO,CAAC,MAAM,CAAC,GACf,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type * as Data from '../../../../data';
2
+ export type ID = Data.ID;
3
+ export type DocumentID = Data.DocumentID;
4
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../../../src/modules/documents/params/attributes/id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAEzB,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type * as Schema from '../../../../schema';
2
+ import type * as UID from '../../../../uid';
3
+ import type { Array, Constants, Object, If, Extends, MatchFirst, IsNotNever } from '../../../../utils';
4
+ import type { ID, DocumentID } from './id';
5
+ import type { OmitRelationsWithoutTarget, RelationInputValue } from './relations';
6
+ export type NonFilterableKind = Extract<Schema.Attribute.Kind, 'password' | 'dynamiczone'>;
7
+ export type FilterableKind = Exclude<Schema.Attribute.Kind, NonFilterableKind>;
8
+ export type GetNonFilterableKeys<TSchemaUID extends UID.Schema> = Object.KeysBy<Schema.Attributes<TSchemaUID>, Schema.Attribute.OfType<NonFilterableKind>, string>;
9
+ export type GetScalarKeys<TSchemaUID extends UID.Schema> = Exclude<Schema.AttributeNamesByType<TSchemaUID, Schema.Attribute.NonPopulatableKind>, GetNonFilterableKeys<TSchemaUID>>;
10
+ export type GetNestedKeys<TSchemaUID extends UID.Schema> = Exclude<Schema.AttributeNamesWithTarget<TSchemaUID>, GetNonFilterableKeys<TSchemaUID>>;
11
+ export type BooleanValue = boolean | 'true' | 'false' | 't' | 'f' | '1' | '0' | 1 | 0;
12
+ export type NumberValue = string | number;
13
+ export type DateValue = Schema.Attribute.DateValue | number;
14
+ export type TimeValue = Schema.Attribute.TimeValue | number;
15
+ export type DateTimeValue = Schema.Attribute.DateTimeValue | number;
16
+ export type TimeStampValue = Schema.Attribute.TimestampValue;
17
+ /**
18
+ * List of possible values for the scalar attributes
19
+ * Uses the local GetValue to benefit from the values' overrides
20
+ */
21
+ export type ScalarValues = GetValue<Schema.Attribute.BigInteger | Schema.Attribute.Boolean | Schema.Attribute.DateTime | Schema.Attribute.Date | Schema.Attribute.Decimal | Schema.Attribute.Email | Schema.Attribute.Enumeration<string[]> | Schema.Attribute.Float | Schema.Attribute.Integer | Schema.Attribute.Blocks | Schema.Attribute.JSON | Schema.Attribute.RichText | Schema.Attribute.String | Schema.Attribute.Text | Schema.Attribute.Time | Schema.Attribute.Timestamp | Schema.Attribute.UID>;
22
+ /**
23
+ * Attribute.GetValues override with extended values
24
+ */
25
+ export type GetValues<TSchemaUID extends UID.Schema> = {
26
+ id?: ID;
27
+ documentId?: DocumentID;
28
+ } & OmitRelationsWithoutTarget<TSchemaUID, {
29
+ [TKey in Schema.OptionalAttributeNames<TSchemaUID>]?: GetValue<Schema.AttributeByName<TSchemaUID, TKey>>;
30
+ } & {
31
+ [TKey in Schema.RequiredAttributeNames<TSchemaUID>]-?: GetValue<Schema.AttributeByName<TSchemaUID, TKey>>;
32
+ }>;
33
+ /**
34
+ * Attribute.GetValue override with extended values
35
+ *
36
+ * Fallback to unknown if never is found
37
+ */
38
+ export type GetValue<TAttribute extends Schema.Attribute.Attribute> = If<IsNotNever<TAttribute>, MatchFirst<[
39
+ [
40
+ Extends<TAttribute, Schema.Attribute.OfType<'relation'>>,
41
+ TAttribute extends Schema.Attribute.RelationWithTarget ? RelationInputValue<TAttribute['relation']> : never
42
+ ],
43
+ [
44
+ Extends<TAttribute, Schema.Attribute.OfType<'dynamiczone'>>,
45
+ TAttribute extends Schema.Attribute.DynamicZone<infer TComponentsUIDs> ? Array<Array.Values<TComponentsUIDs> extends infer TComponentUID ? TComponentUID extends UID.Component ? GetValues<TComponentUID> & {
46
+ __component: TComponentUID;
47
+ } : never : never> : never
48
+ ],
49
+ [
50
+ Extends<TAttribute, Schema.Attribute.OfType<'component'>>,
51
+ TAttribute extends Schema.Attribute.Component<infer TComponentUID, infer TRepeatable> ? TComponentUID extends UID.Component ? GetValues<TComponentUID> extends infer TValues ? If<TRepeatable, TValues[], TValues> : never : never : never
52
+ ],
53
+ [
54
+ Extends<TAttribute, Schema.Attribute.Boolean>,
55
+ BooleanValue
56
+ ],
57
+ [
58
+ Extends<TAttribute, Schema.Attribute.Integer | Schema.Attribute.BigInteger | Schema.Attribute.Float | Schema.Attribute.Decimal>,
59
+ NumberValue
60
+ ],
61
+ [
62
+ Extends<TAttribute, Schema.Attribute.Time>,
63
+ TimeValue
64
+ ],
65
+ [
66
+ Extends<TAttribute, Schema.Attribute.Date>,
67
+ DateValue
68
+ ],
69
+ [
70
+ Extends<TAttribute, Schema.Attribute.Timestamp | Schema.Attribute.DateTime>,
71
+ DateTimeValue
72
+ ],
73
+ [
74
+ Constants.True,
75
+ Schema.Attribute.Value<TAttribute>
76
+ ]
77
+ ], unknown>, unknown>;
78
+ export type { ID, DocumentID };
79
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/documents/params/attributes/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type * as Schema from '../../../../schema';
2
+ import type * as UID from '../../../../uid';
3
+ import type { If } from '../../../../utils';
4
+ import type { ID, DocumentID } from './id';
5
+ type ShortHand = ID;
6
+ type LongHandEntity = {
7
+ id: ID;
8
+ };
9
+ type LongHandDocument = {
10
+ documentId: DocumentID;
11
+ locale?: string;
12
+ };
13
+ type LongHand = LongHandEntity | LongHandDocument;
14
+ interface PositionalArguments {
15
+ before?: ID;
16
+ after?: ID;
17
+ start?: boolean;
18
+ end?: boolean;
19
+ }
20
+ type WithPositionArguments<T> = T & {
21
+ position?: PositionalArguments;
22
+ };
23
+ type Set = {
24
+ set: ShortHand[] | LongHand[] | null;
25
+ };
26
+ type Connect = {
27
+ connect: ShortHand[] | WithPositionArguments<LongHand>[];
28
+ };
29
+ type Disconnect = {
30
+ disconnect: ShortHand[] | LongHand[];
31
+ };
32
+ type FullUpdate = Set;
33
+ type PartialUpdate = Partial<Connect & Disconnect>;
34
+ type XOneInput = ShortHand | LongHand | null;
35
+ type XManyInput = ShortHand[] | LongHand[] | null | PartialUpdate | FullUpdate;
36
+ export type RelationInputValue<TRelationKind extends Schema.Attribute.RelationKind.Any> = If<Schema.Attribute.IsManyRelation<TRelationKind>, XManyInput, XOneInput>;
37
+ type RelationsKeysWithoutTarget<TSchemaUID extends UID.Schema> = Exclude<Schema.AttributeNamesByType<TSchemaUID, 'relation'>, Schema.AttributeNamesWithTarget<TSchemaUID>>;
38
+ export type OmitRelationsWithoutTarget<TSchemaUID extends UID.Schema, TValue> = Omit<TValue, RelationsKeysWithoutTarget<TSchemaUID>>;
39
+ export {};
40
+ //# sourceMappingURL=relations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../../src/modules/documents/params/attributes/relations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE3C,KAAK,SAAS,GAAG,EAAE,CAAC;AACpB,KAAK,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AACjC,KAAK,gBAAgB,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpE,KAAK,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAElD,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEvE,KAAK,GAAG,GAAG;IAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AACpD,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAA;CAAE,CAAC;AAC5E,KAAK,UAAU,GAAG;IAAE,UAAU,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAA;CAAE,CAAC;AAE3D,KAAK,UAAU,GAAG,GAAG,CAAC;AACtB,KAAK,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;AAEnD,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC7C,KAAK,UAAU,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC;AAE/E,MAAM,MAAM,kBAAkB,CAAC,aAAa,SAAS,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,CAC1F,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,EAC9C,UAAU,EACV,SAAS,CACV,CAAC;AAEF,KAAK,0BAA0B,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI,OAAO,CACtE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,MAAM,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAC5C,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAClF,MAAM,EACN,0BAA0B,CAAC,UAAU,CAAC,CACvC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type * as UID from '../../../uid';
2
+ import type * as Utils from '../../../utils';
3
+ import type * as AttributeUtils from './attributes';
4
+ /**
5
+ * Represents the input data for a given content-type UID.
6
+ *
7
+ * This type evaluates the schema based on the given content-type UID, and extracts the attribute values
8
+ * accordingly.
9
+ *
10
+ * It combines optional and required attributes, while excluding certain relational attributes
11
+ * that don't target specific schemas like polymorphic relations.
12
+ *
13
+ * @template TSchemaUID - A unique identifier for a schema, extending {@link UID.Schema}.
14
+ *
15
+ * @remark
16
+ * The attributes' values are customized to allow additional input formats that are going to be
17
+ * transformed in the document service methods.
18
+ *
19
+ * For example, relational attributes can use the re-ordering API.
20
+ *
21
+ * @example
22
+ * Defining input for a content type schema:
23
+ *
24
+ * ```typescript
25
+ * import type { UID } from '@strapi/types';
26
+ *
27
+ * // Assume there's a schema with a UID of 'api::article.article'
28
+ * type ArticleInput = Input<'api::article.article'>;
29
+ *
30
+ * // Example usage of ArticleInput with typed attributes
31
+ * const articleData: ArticleInput = {
32
+ * title: 'My Article', // Required title property
33
+ * content: 'Content of the article', // Required content property
34
+ * };
35
+ * ```
36
+ *
37
+ * @example
38
+ * Handling component schema with optional and required attributes:
39
+ *
40
+ * ```typescript
41
+ * import type { UID } from '@strapi/types';
42
+ *
43
+ * // Assume there's a component with a UID of 'default.comment'
44
+ * type CommentInput = Input<'default.comment'>;
45
+ *
46
+ * const commentData: CommentInput = {
47
+ * text: 'Great article!', // Required text property
48
+ * author: 'John Doe', // Optional author property
49
+ * };
50
+ * ```
51
+ */
52
+ export type Input<TSchemaUID extends UID.Schema> = AttributeUtils.GetValues<TSchemaUID>;
53
+ /**
54
+ * Conditionally applies partial types to schema input data based on the extension status of schema registries.
55
+ *
56
+ * This type evaluates whether the schema registries have been extended.
57
+ *
58
+ * If so, it returns a partial version of `Input<TSchemaUID>`, otherwise it returns the default `Input` type.
59
+ *
60
+ * @template TSchemaUID - Represents a unique identifier for a schema, either content-type or component, extending {@link UID.Schema}.
61
+ *
62
+ * @remark
63
+ * This type is particularly useful for ensuring backward compatibility within input data structures,
64
+ * enabling flexibility during schema transitions or extensions without breaking existing data contracts.
65
+ */
66
+ export type PartialInput<TSchemaUID extends UID.Schema> = Utils.If<Utils.Constants.AreSchemaRegistriesExtended, Partial<Input<TSchemaUID>>, Input<TSchemaUID>>;
67
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/modules/documents/params/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,KAAK,cAAc,MAAM,cAAc,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,MAAM,KAAK,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAExF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAChE,KAAK,CAAC,SAAS,CAAC,2BAA2B,EAC3C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAC1B,KAAK,CAAC,UAAU,CAAC,CAClB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type * as UID from '../../../uid';
2
+ import { Pick } from '.';
3
+ import { ID } from '..';
4
+ /**
5
+ * Document Service specific method params
6
+ *
7
+ * `hasPublishedVersion` on these picks is deprecated in favor of `publicationFilter`.
8
+ */
9
+ export type FindMany<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'fields' | 'filters' | '_q' | 'pagination' | 'sort' | 'populate' | 'status' | 'publicationFilter' | 'hasPublishedVersion' | 'locale' | 'plugin' | 'lookup'>;
10
+ export type Count<TContentTypeUID extends UID.ContentType> = FindMany<TContentTypeUID>;
11
+ export type FindFirst<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'fields' | 'filters' | '_q' | 'sort' | 'populate' | 'status' | 'publicationFilter' | 'hasPublishedVersion' | 'locale:string' | 'plugin' | 'lookup'>;
12
+ export type FindOne<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'fields' | 'populate' | 'filters' | 'status' | 'locale:string' | 'sort' | 'lookup'> & {
13
+ documentId: ID;
14
+ };
15
+ export type Delete<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'fields' | 'populate' | 'filters' | 'status' | 'publicationFilter' | 'hasPublishedVersion' | 'locale:string' | 'lookup'> & {
16
+ documentId: ID;
17
+ };
18
+ export type Create<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'data' | 'fields' | 'populate' | 'locale:string' | 'lookup' | 'status'>;
19
+ export type Clone<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'data' | 'fields' | 'populate' | 'status' | 'locale:string' | 'lookup'> & {
20
+ documentId: ID;
21
+ };
22
+ export type Update<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'data:partial' | 'fields' | 'populate' | 'locale:string' | 'lookup'> & {
23
+ documentId: ID;
24
+ };
25
+ export type Publish<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'filters' | 'locale' | 'lookup'> & {
26
+ documentId: ID;
27
+ };
28
+ export type Unpublish<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'filters' | 'locale:string' | 'lookup'> & {
29
+ documentId: ID;
30
+ };
31
+ export type DiscardDraft<TContentTypeUID extends UID.ContentType> = Pick<TContentTypeUID, 'filters' | 'locale' | 'lookup'> & {
32
+ documentId: ID;
33
+ };
34
+ //# sourceMappingURL=document-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-engine.d.ts","sourceRoot":"","sources":["../../../../src/modules/documents/params/document-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAExB;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CAClE,eAAe,EACb,QAAQ,GACR,SAAS,GACT,IAAI,GACJ,YAAY,GACZ,MAAM,GACN,UAAU,GACV,QAAQ,GACR,mBAAmB,GACnB,qBAAqB,GACrB,QAAQ,GACR,QAAQ,GACR,QAAQ,CACX,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvF,MAAM,MAAM,SAAS,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CACnE,eAAe,EACb,QAAQ,GACR,SAAS,GACT,IAAI,GACJ,MAAM,GACN,UAAU,GACV,QAAQ,GACR,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,QAAQ,GACR,QAAQ,CACX,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CACjE,eAAe,EACf,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,GAAG,QAAQ,CACnF,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CAChE,eAAe,EACb,QAAQ,GACR,UAAU,GACV,SAAS,GACT,QAAQ,GACR,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,QAAQ,CACX,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CAChE,eAAe,EACf,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,CACvE,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CAC/D,eAAe,EACf,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CACvE,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CAChE,eAAe,EACf,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,QAAQ,CACpE,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CACjE,eAAe,EACf,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAChC,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CACnE,eAAe,EACf,SAAS,GAAG,eAAe,GAAG,QAAQ,CACvC,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,eAAe,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CACtE,eAAe,EACf,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAChC,GAAG;IACF,UAAU,EAAE,EAAE,CAAC;CAChB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type * as Schema from '../../../schema';
2
+ import type * as UID from '../../../uid';
3
+ import type { Guard } from '../../../utils';
4
+ /**
5
+ * Wildcard notation for the fields.
6
+ *
7
+ * When used, it represents every non-populatable field from the given schema
8
+ */
9
+ export type WildcardNotation = '*';
10
+ /**
11
+ * Single non-populatable attribute representation
12
+ *
13
+ * @example
14
+ * type A = 'title'; // ✅
15
+ * type B = 'description'; // ✅
16
+ * type C = 'populatableField'; // ❌
17
+ * type D = '<random_string>'; // ❌
18
+ */
19
+ export type SingleAttribute<TSchemaUID extends UID.Schema> = 'id' | 'documentId' | Guard.Never<Schema.NonPopulatableAttributeNames<TSchemaUID>, string>;
20
+ /**
21
+ * Union of all possible string representation for fields
22
+ *
23
+ * @example
24
+ * type A = 'title'; // ✅
25
+ * type B = 'title,description'; // ✅
26
+ * type C = 'id'; // ✅
27
+ * type D = '*'; // ✅
28
+ * type E = 'populatableField'; // ❌
29
+ * type F = '<random_string>'; // ❌
30
+ */
31
+ export type StringNotation<TSchemaUID extends UID.Schema> = WildcardNotation | SingleAttribute<TSchemaUID> | `${string},${string}`;
32
+ /**
33
+ * Array notation for fields
34
+ *
35
+ * @example
36
+ * type A = ['title']; // ✅
37
+ * type B = ['title', 'description']; // ✅
38
+ * type C = ['id']; // ✅
39
+ * type E = ['*']; // ❌
40
+ * type F = ['populatableField']; // ❌
41
+ * type G = ['<random_string>']; // ❌
42
+ */
43
+ export type ArrayNotation<TSchemaUID extends UID.Schema> = Exclude<StringNotation<TSchemaUID>, WildcardNotation>[];
44
+ /**
45
+ * Represents any notation for a sort (string, array, object)
46
+ *
47
+ * @example
48
+ * type A = '*'; // ✅
49
+ * type B = 'id'; // ✅
50
+ * type C = 'title'; // ✅
51
+ * type D = 'title,description'; // ✅
52
+ * type E = ['title', 'description']; // ✅
53
+ * type F = [id, 'title,description']; // ✅
54
+ * type G = ['*']; // ❌
55
+ * type H = ['populatableField']; // ❌
56
+ * type I = ['<random_string>']; // ❌
57
+ * type J = 'populatableField'; // ❌
58
+ * type K = '<random_string>'; // ❌
59
+ */
60
+ export type Any<TSchemaUID extends UID.Schema> = StringNotation<TSchemaUID> | ArrayNotation<TSchemaUID>;
61
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/modules/documents/params/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IACrD,IAAI,GACJ,YAAY,GACZ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IACpD,gBAAgB,GAChB,eAAe,CAAC,UAAU,CAAC,GAE3B,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IAAI,OAAO,CAChE,cAAc,CAAC,UAAU,CAAC,EAC1B,gBAAgB,CACjB,EAAE,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,GAAG,CAAC,UAAU,SAAS,GAAG,CAAC,MAAM,IACzC,cAAc,CAAC,UAAU,CAAC,GAC1B,aAAa,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type * as Schema from '../../../../schema';
2
+ import type * as UID from '../../../../uid';
3
+ import type { Guard, If, And, MatchFirst, StrictEqual, IsNotNever } from '../../../../utils';
4
+ import type * as Operator from './operators';
5
+ import type * as AttributeUtils from '../attributes';
6
+ import type * as Params from '..';
7
+ export { Operator };
8
+ type IDKey = 'id';
9
+ type DocumentIDKey = 'documentId';
10
+ /**
11
+ * Filter representation for nested attributes
12
+ */
13
+ type NestedAttributeCondition<TSchemaUID extends UID.Schema, TAttributeName extends Schema.AttributeNames<TSchemaUID>> = ObjectNotation<Guard.Never<Schema.Attribute.Target<Schema.AttributeByName<TSchemaUID, TAttributeName>>, UID.Schema>>;
14
+ /**
15
+ * Filter representation for scalar attributes
16
+ */
17
+ type AttributeCondition<TSchemaUID extends UID.Schema, TAttributeName extends IDKey | DocumentIDKey | Schema.AttributeNames<TSchemaUID>> = MatchFirst<[
18
+ [
19
+ StrictEqual<TAttributeName, IDKey>,
20
+ Params.Attribute.ID
21
+ ],
22
+ [
23
+ StrictEqual<TAttributeName, DocumentIDKey>,
24
+ Params.Attribute.DocumentID
25
+ ],
26
+ [
27
+ IsNotNever<TAttributeName>,
28
+ AttributeUtils.GetValue<Schema.AttributeByName<TSchemaUID, Extract<TAttributeName, Schema.AttributeNames<TSchemaUID>>>>
29
+ ]
30
+ ], AttributeUtils.ScalarValues> extends infer TAttributeValue ? TAttributeValue | ({
31
+ [TIter in Operator.BooleanValue]?: boolean;
32
+ } & {
33
+ [TIter in Operator.DynamicValue]?: TAttributeValue;
34
+ } & {
35
+ [TIter in Operator.DynamicArrayValue]?: TAttributeValue[];
36
+ } & {
37
+ [TIter in Operator.DynamicBoundValue]?: [TAttributeValue, TAttributeValue];
38
+ } & {
39
+ [TIter in Operator.Logical]?: AttributeCondition<TSchemaUID, TAttributeName>;
40
+ } & {
41
+ [TIter in Operator.Group]?: AttributeCondition<TSchemaUID, TAttributeName>[];
42
+ }) : never;
43
+ /**
44
+ * Tree representation of a Strapi filter for a given schema UID
45
+ */
46
+ export type ObjectNotation<TSchemaUID extends UID.Schema> = {
47
+ [TIter in Operator.Group]?: ObjectNotation<TSchemaUID>[];
48
+ } & {
49
+ [TIter in Operator.Logical]?: ObjectNotation<TSchemaUID>;
50
+ } & ([AttributeUtils.GetScalarKeys<TSchemaUID>, AttributeUtils.GetNestedKeys<TSchemaUID>] extends [
51
+ infer TScalarKeys extends AttributeUtils.GetScalarKeys<TSchemaUID>,
52
+ infer TNestedKeys extends AttributeUtils.GetNestedKeys<TSchemaUID>
53
+ ] ? If<And<IsNotNever<TScalarKeys>, IsNotNever<TNestedKeys>>, {
54
+ [TIter in IDKey | DocumentIDKey | TScalarKeys]?: AttributeCondition<TSchemaUID, TIter>;
55
+ } & {
56
+ [TIter in TNestedKeys]?: NestedAttributeCondition<TSchemaUID, TIter>;
57
+ }, {
58
+ [TKey in string]?: AttributeCondition<TSchemaUID, never> | NestedAttributeCondition<TSchemaUID, never>;
59
+ }> : never);
60
+ export type Any<TSchemaUID extends UID.Schema> = ObjectNotation<TSchemaUID>;
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/documents/params/filters/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type Array = '$in' | '$notIn' | '$between';
2
+ export type Group = '$and' | '$or';
3
+ export type Logical = '$not';
4
+ export type BooleanValue = '$null' | '$notNull';
5
+ export type DynamicValue = '$eq' | '$eqi' | '$ne' | '$nei' | '$gt' | '$gte' | '$lt' | '$lte' | '$startsWith' | '$endsWith' | '$startsWithi' | '$endsWithi' | '$contains' | '$notContains' | '$containsi' | '$notContainsi';
6
+ export type DynamicArrayValue = '$in' | '$notIn';
7
+ export type DynamicBoundValue = '$between';
8
+ export type Where = BooleanValue | DynamicValue | DynamicArrayValue | DynamicBoundValue;
9
+ //# sourceMappingURL=operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../../../src/modules/documents/params/filters/operators.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhD,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,aAAa,GACb,WAAW,GACX,cAAc,GACd,YAAY,GACZ,WAAW,GACX,cAAc,GACd,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC"}