@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.
- package/LICENSE +37 -0
- package/README.md +9 -0
- package/dist/core/api.d.ts +3 -0
- package/dist/core/api.d.ts.map +1 -0
- package/dist/core/commands/index.d.ts +6 -0
- package/dist/core/commands/index.d.ts.map +1 -0
- package/dist/core/config/admin.d.ts +156 -0
- package/dist/core/config/admin.d.ts.map +1 -0
- package/dist/core/config/api.d.ts +38 -0
- package/dist/core/config/api.d.ts.map +1 -0
- package/dist/core/config/database.d.ts +78 -0
- package/dist/core/config/database.d.ts.map +1 -0
- package/dist/core/config/features.d.ts +14 -0
- package/dist/core/config/features.d.ts.map +1 -0
- package/dist/core/config/index.d.ts +11 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/middlewares.d.ts +3 -0
- package/dist/core/config/middlewares.d.ts.map +1 -0
- package/dist/core/config/openapi.d.ts +35 -0
- package/dist/core/config/openapi.d.ts.map +1 -0
- package/dist/core/config/plugin.d.ts +8 -0
- package/dist/core/config/plugin.d.ts.map +1 -0
- package/dist/core/config/server.d.ts +102 -0
- package/dist/core/config/server.d.ts.map +1 -0
- package/dist/core/config/shared.d.ts +8 -0
- package/dist/core/config/shared.d.ts.map +1 -0
- package/dist/core/config/typescript.d.ts +10 -0
- package/dist/core/config/typescript.d.ts.map +1 -0
- package/dist/core/container.d.ts +5 -0
- package/dist/core/container.d.ts.map +1 -0
- package/dist/core/controller.d.ts +7 -0
- package/dist/core/controller.d.ts.map +1 -0
- package/dist/core/core-api/controller.d.ts +47 -0
- package/dist/core/core-api/controller.d.ts.map +1 -0
- package/dist/core/core-api/index.d.ts +4 -0
- package/dist/core/core-api/index.d.ts.map +1 -0
- package/dist/core/core-api/router.d.ts +64 -0
- package/dist/core/core-api/router.d.ts.map +1 -0
- package/dist/core/core-api/service.d.ts +69 -0
- package/dist/core/core-api/service.d.ts.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/middleware.d.ts +15 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/module.d.ts +26 -0
- package/dist/core/module.d.ts.map +1 -0
- package/dist/core/plugin.d.ts +6 -0
- package/dist/core/plugin.d.ts.map +1 -0
- package/dist/core/policy.d.ts +15 -0
- package/dist/core/policy.d.ts.map +1 -0
- package/dist/core/route.d.ts +54 -0
- package/dist/core/route.d.ts.map +1 -0
- package/dist/core/router.d.ts +15 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/service.d.ts +4 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/strapi.d.ts +162 -0
- package/dist/core/strapi.d.ts.map +1 -0
- package/dist/data/component.d.ts +21 -0
- package/dist/data/component.d.ts.map +1 -0
- package/dist/data/constants.d.ts +5 -0
- package/dist/data/constants.d.ts.map +1 -0
- package/dist/data/content-type.d.ts +26 -0
- package/dist/data/content-type.d.ts.map +1 -0
- package/dist/data/entity.d.ts +15 -0
- package/dist/data/entity.d.ts.map +1 -0
- package/dist/data/index.d.ts +5 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal/index.d.ts +13 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/namespace.d.ts +78 -0
- package/dist/internal/namespace.d.ts.map +1 -0
- package/dist/internal/registry.d.ts +8 -0
- package/dist/internal/registry.d.ts.map +1 -0
- package/dist/internal/uid.d.ts +116 -0
- package/dist/internal/uid.d.ts.map +1 -0
- package/dist/modules/ai.d.ts +34 -0
- package/dist/modules/ai.d.ts.map +1 -0
- package/dist/modules/audit-logs.d.ts +6 -0
- package/dist/modules/audit-logs.d.ts.map +1 -0
- package/dist/modules/auth.d.ts +25 -0
- package/dist/modules/auth.d.ts.map +1 -0
- package/dist/modules/content-api.d.ts +92 -0
- package/dist/modules/content-api.d.ts.map +1 -0
- package/dist/modules/core-store.d.ts +28 -0
- package/dist/modules/core-store.d.ts.map +1 -0
- package/dist/modules/cron.d.ts +27 -0
- package/dist/modules/cron.d.ts.map +1 -0
- package/dist/modules/custom-fields.d.ts +25 -0
- package/dist/modules/custom-fields.d.ts.map +1 -0
- package/dist/modules/documents/component-extension.d.ts +73 -0
- package/dist/modules/documents/component-extension.d.ts.map +1 -0
- package/dist/modules/documents/draft-and-publish.d.ts +12 -0
- package/dist/modules/documents/draft-and-publish.d.ts.map +1 -0
- package/dist/modules/documents/index.d.ts +27 -0
- package/dist/modules/documents/index.d.ts.map +1 -0
- package/dist/modules/documents/middleware.d.ts +14 -0
- package/dist/modules/documents/middleware.d.ts.map +1 -0
- package/dist/modules/documents/params/attributes/id.d.ts +4 -0
- package/dist/modules/documents/params/attributes/id.d.ts.map +1 -0
- package/dist/modules/documents/params/attributes/index.d.ts +79 -0
- package/dist/modules/documents/params/attributes/index.d.ts.map +1 -0
- package/dist/modules/documents/params/attributes/relations.d.ts +40 -0
- package/dist/modules/documents/params/attributes/relations.d.ts.map +1 -0
- package/dist/modules/documents/params/data.d.ts +67 -0
- package/dist/modules/documents/params/data.d.ts.map +1 -0
- package/dist/modules/documents/params/document-engine.d.ts +34 -0
- package/dist/modules/documents/params/document-engine.d.ts.map +1 -0
- package/dist/modules/documents/params/fields.d.ts +61 -0
- package/dist/modules/documents/params/fields.d.ts.map +1 -0
- package/dist/modules/documents/params/filters/index.d.ts +61 -0
- package/dist/modules/documents/params/filters/index.d.ts.map +1 -0
- package/dist/modules/documents/params/filters/operators.d.ts +9 -0
- package/dist/modules/documents/params/filters/operators.d.ts.map +1 -0
- package/dist/modules/documents/params/index.d.ts +162 -0
- package/dist/modules/documents/params/index.d.ts.map +1 -0
- package/dist/modules/documents/params/locale.d.ts +4 -0
- package/dist/modules/documents/params/locale.d.ts.map +1 -0
- package/dist/modules/documents/params/pagination.d.ts +11 -0
- package/dist/modules/documents/params/pagination.d.ts.map +1 -0
- package/dist/modules/documents/params/populate.d.ts +86 -0
- package/dist/modules/documents/params/populate.d.ts.map +1 -0
- package/dist/modules/documents/params/search.d.ts +2 -0
- package/dist/modules/documents/params/search.d.ts.map +1 -0
- package/dist/modules/documents/params/sort.d.ts +87 -0
- package/dist/modules/documents/params/sort.d.ts.map +1 -0
- package/dist/modules/documents/params/status.d.ts +12 -0
- package/dist/modules/documents/params/status.d.ts.map +1 -0
- package/dist/modules/documents/plugin.d.ts +11 -0
- package/dist/modules/documents/plugin.d.ts.map +1 -0
- package/dist/modules/documents/result/document-engine.d.ts +34 -0
- package/dist/modules/documents/result/document-engine.d.ts.map +1 -0
- package/dist/modules/documents/result/index.d.ts +93 -0
- package/dist/modules/documents/result/index.d.ts.map +1 -0
- package/dist/modules/documents/service-instance.d.ts +96 -0
- package/dist/modules/documents/service-instance.d.ts.map +1 -0
- package/dist/modules/entity-service/index.d.ts +87 -0
- package/dist/modules/entity-service/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/id.d.ts +3 -0
- package/dist/modules/entity-service/params/attributes/id.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/index.d.ts +71 -0
- package/dist/modules/entity-service/params/attributes/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/literals.d.ts +8 -0
- package/dist/modules/entity-service/params/attributes/literals.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/relation.d.ts +40 -0
- package/dist/modules/entity-service/params/attributes/relation.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/utils.d.ts +9 -0
- package/dist/modules/entity-service/params/attributes/utils.d.ts.map +1 -0
- package/dist/modules/entity-service/params/data.d.ts +52 -0
- package/dist/modules/entity-service/params/data.d.ts.map +1 -0
- package/dist/modules/entity-service/params/fields.d.ts +61 -0
- package/dist/modules/entity-service/params/fields.d.ts.map +1 -0
- package/dist/modules/entity-service/params/filters/index.d.ts +96 -0
- package/dist/modules/entity-service/params/filters/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/filters/operators.d.ts +9 -0
- package/dist/modules/entity-service/params/filters/operators.d.ts.map +1 -0
- package/dist/modules/entity-service/params/index.d.ts +123 -0
- package/dist/modules/entity-service/params/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/pagination.d.ts +10 -0
- package/dist/modules/entity-service/params/pagination.d.ts.map +1 -0
- package/dist/modules/entity-service/params/populate.d.ts +69 -0
- package/dist/modules/entity-service/params/populate.d.ts.map +1 -0
- package/dist/modules/entity-service/params/search.d.ts +2 -0
- package/dist/modules/entity-service/params/search.d.ts.map +1 -0
- package/dist/modules/entity-service/params/sort.d.ts +95 -0
- package/dist/modules/entity-service/params/sort.d.ts.map +1 -0
- package/dist/modules/entity-service/plugin.d.ts +11 -0
- package/dist/modules/entity-service/plugin.d.ts.map +1 -0
- package/dist/modules/entity-service/result.d.ts +78 -0
- package/dist/modules/entity-service/result.d.ts.map +1 -0
- package/dist/modules/entity-validator.d.ts +21 -0
- package/dist/modules/entity-validator.d.ts.map +1 -0
- package/dist/modules/event-hub.d.ts +16 -0
- package/dist/modules/event-hub.d.ts.map +1 -0
- package/dist/modules/features.d.ts +12 -0
- package/dist/modules/features.d.ts.map +1 -0
- package/dist/modules/fetch.d.ts +11 -0
- package/dist/modules/fetch.d.ts.map +1 -0
- package/dist/modules/index.d.ts +24 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/mcp.d.ts +216 -0
- package/dist/modules/mcp.d.ts.map +1 -0
- package/dist/modules/metrics.d.ts +8 -0
- package/dist/modules/metrics.d.ts.map +1 -0
- package/dist/modules/permissions.d.ts +14 -0
- package/dist/modules/permissions.d.ts.map +1 -0
- package/dist/modules/request-context.d.ts +6 -0
- package/dist/modules/request-context.d.ts.map +1 -0
- package/dist/modules/sanitizers.d.ts +8 -0
- package/dist/modules/sanitizers.d.ts.map +1 -0
- package/dist/modules/server.d.ts +29 -0
- package/dist/modules/server.d.ts.map +1 -0
- package/dist/modules/session-manager.d.ts +70 -0
- package/dist/modules/session-manager.d.ts.map +1 -0
- package/dist/modules/validators.d.ts +8 -0
- package/dist/modules/validators.d.ts.map +1 -0
- package/dist/modules/webhook-runner.d.ts +19 -0
- package/dist/modules/webhook-runner.d.ts.map +1 -0
- package/dist/modules/webhook-store.d.ts +21 -0
- package/dist/modules/webhook-store.d.ts.map +1 -0
- package/dist/plugin/config/index.d.ts +3 -0
- package/dist/plugin/config/index.d.ts.map +1 -0
- package/dist/plugin/config/strapi-admin/index.d.ts +8 -0
- package/dist/plugin/config/strapi-admin/index.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/config.d.ts +8 -0
- package/dist/plugin/config/strapi-server/config.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/content-types.d.ts +11 -0
- package/dist/plugin/config/strapi-server/content-types.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/controllers.d.ts +8 -0
- package/dist/plugin/config/strapi-server/controllers.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/index.d.ts +21 -0
- package/dist/plugin/config/strapi-server/index.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/lifecycle.d.ts +8 -0
- package/dist/plugin/config/strapi-server/lifecycle.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/routes.d.ts +11 -0
- package/dist/plugin/config/strapi-server/routes.d.ts.map +1 -0
- package/dist/plugin/index.d.ts +40 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/public/index.d.ts +6 -0
- package/dist/public/index.d.ts.map +1 -0
- package/dist/public/registries.d.ts +68 -0
- package/dist/public/registries.d.ts.map +1 -0
- package/dist/public/shared.d.ts +61 -0
- package/dist/public/shared.d.ts.map +1 -0
- package/dist/schema/attribute/base.d.ts +92 -0
- package/dist/schema/attribute/base.d.ts.map +1 -0
- package/dist/schema/attribute/common.d.ts +29 -0
- package/dist/schema/attribute/common.d.ts.map +1 -0
- package/dist/schema/attribute/constants.d.ts +12 -0
- package/dist/schema/attribute/constants.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/biginteger.d.ts +19 -0
- package/dist/schema/attribute/definitions/biginteger.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/blocks.d.ts +80 -0
- package/dist/schema/attribute/definitions/blocks.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/boolean.d.ts +19 -0
- package/dist/schema/attribute/definitions/boolean.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/component.d.ts +25 -0
- package/dist/schema/attribute/definitions/component.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/date-time.d.ts +18 -0
- package/dist/schema/attribute/definitions/date-time.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/date.d.ts +18 -0
- package/dist/schema/attribute/definitions/date.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/decimal.d.ts +19 -0
- package/dist/schema/attribute/definitions/decimal.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/dynamic-zone.d.ts +25 -0
- package/dist/schema/attribute/definitions/dynamic-zone.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/email.d.ts +19 -0
- package/dist/schema/attribute/definitions/email.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/enumeration.d.ts +22 -0
- package/dist/schema/attribute/definitions/enumeration.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/float.d.ts +19 -0
- package/dist/schema/attribute/definitions/float.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/index.d.ts +23 -0
- package/dist/schema/attribute/definitions/index.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/integer.d.ts +19 -0
- package/dist/schema/attribute/definitions/integer.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/json.d.ts +17 -0
- package/dist/schema/attribute/definitions/json.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/media.d.ts +24 -0
- package/dist/schema/attribute/definitions/media.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/password.d.ts +18 -0
- package/dist/schema/attribute/definitions/password.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/relation.d.ts +167 -0
- package/dist/schema/attribute/definitions/relation.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/richtext.d.ts +18 -0
- package/dist/schema/attribute/definitions/richtext.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/string.d.ts +28 -0
- package/dist/schema/attribute/definitions/string.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/text.d.ts +23 -0
- package/dist/schema/attribute/definitions/text.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/time.d.ts +18 -0
- package/dist/schema/attribute/definitions/time.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/timestamp.d.ts +18 -0
- package/dist/schema/attribute/definitions/timestamp.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/uid.d.ts +31 -0
- package/dist/schema/attribute/definitions/uid.d.ts.map +1 -0
- package/dist/schema/attribute/index.d.ts +7 -0
- package/dist/schema/attribute/index.d.ts.map +1 -0
- package/dist/schema/attribute/options.d.ts +221 -0
- package/dist/schema/attribute/options.d.ts.map +1 -0
- package/dist/schema/attribute/utils.d.ts +101 -0
- package/dist/schema/attribute/utils.d.ts.map +1 -0
- package/dist/schema/index.d.ts +144 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/struct/index.d.ts +3 -0
- package/dist/struct/index.d.ts.map +1 -0
- package/dist/struct/schema-definition.d.ts +10 -0
- package/dist/struct/schema-definition.d.ts.map +1 -0
- package/dist/struct/schema.d.ts +286 -0
- package/dist/struct/schema.d.ts.map +1 -0
- package/dist/uid/index.d.ts +168 -0
- package/dist/uid/index.d.ts.map +1 -0
- package/dist/utils/array.d.ts +80 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/constants.d.ts +67 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/expression.d.ts +490 -0
- package/dist/utils/expression.d.ts.map +1 -0
- package/dist/utils/function.d.ts +21 -0
- package/dist/utils/function.d.ts.map +1 -0
- package/dist/utils/guard.d.ts +90 -0
- package/dist/utils/guard.d.ts.map +1 -0
- package/dist/utils/index.d.ts +236 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/json.d.ts +119 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/object.d.ts +180 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/string.d.ts +190 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/tuple.d.ts +19 -0
- package/dist/utils/tuple.d.ts.map +1 -0
- 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 @@
|
|
|
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"}
|