@webiny/api-headless-cms 5.23.1 → 5.25.0-beta.0
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/content/contextSetup.js.map +1 -0
- package/content/graphQLHandlerFactory.js +12 -2
- package/content/graphQLHandlerFactory.js.map +1 -0
- package/content/parameterPlugins.js.map +1 -0
- package/content/plugins/CmsGroupPlugin.js.map +1 -0
- package/content/plugins/CmsModelPlugin.js.map +1 -0
- package/content/plugins/CmsParametersPlugin.d.ts +1 -1
- package/content/plugins/CmsParametersPlugin.js.map +1 -0
- package/content/plugins/buildSchemaPlugins.js.map +1 -0
- package/content/plugins/crud/contentEntry/afterDelete.d.ts +3 -2
- package/content/plugins/crud/contentEntry/afterDelete.js +2 -1
- package/content/plugins/crud/contentEntry/afterDelete.js.map +1 -0
- package/content/plugins/crud/contentEntry/beforeCreate.d.ts +3 -2
- package/content/plugins/crud/contentEntry/beforeCreate.js.map +1 -0
- package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +3 -2
- package/content/plugins/crud/contentEntry/beforeUpdate.js.map +1 -0
- package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +2 -2
- package/content/plugins/crud/contentEntry/entryDataValidation.js +2 -3
- package/content/plugins/crud/contentEntry/entryDataValidation.js.map +1 -0
- package/content/plugins/crud/contentEntry/markLockedFields.d.ts +2 -1
- package/content/plugins/crud/contentEntry/markLockedFields.js +1 -1
- package/content/plugins/crud/contentEntry/markLockedFields.js.map +1 -0
- package/content/plugins/crud/contentEntry/referenceFieldsMapping.js +7 -3
- package/content/plugins/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
- package/content/plugins/crud/contentEntry.crud.d.ts +2 -2
- package/content/plugins/crud/contentEntry.crud.js +24 -13
- package/content/plugins/crud/contentEntry.crud.js.map +1 -0
- package/content/plugins/crud/contentModel/afterCreate.d.ts +3 -2
- package/content/plugins/crud/contentModel/afterCreate.js.map +1 -0
- package/content/plugins/crud/contentModel/afterDelete.d.ts +3 -2
- package/content/plugins/crud/contentModel/afterDelete.js.map +1 -0
- package/content/plugins/crud/contentModel/afterUpdate.d.ts +3 -2
- package/content/plugins/crud/contentModel/afterUpdate.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeCreate.d.ts +5 -4
- package/content/plugins/crud/contentModel/beforeCreate.js +1 -1
- package/content/plugins/crud/contentModel/beforeCreate.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeDelete.d.ts +3 -2
- package/content/plugins/crud/contentModel/beforeDelete.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeUpdate.d.ts +3 -2
- package/content/plugins/crud/contentModel/beforeUpdate.js +77 -0
- package/content/plugins/crud/contentModel/beforeUpdate.js.map +1 -0
- package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +2 -2
- package/content/plugins/crud/contentModel/contentModelManagerFactory.js.map +1 -0
- package/content/plugins/crud/contentModel/createFieldModels.js.map +1 -0
- package/content/plugins/crud/contentModel/idValidation.js.map +1 -0
- package/content/plugins/crud/contentModel/models.js +9 -0
- package/content/plugins/crud/contentModel/models.js.map +1 -0
- package/content/plugins/crud/contentModel/validateLayout.js.map +1 -0
- package/content/plugins/crud/contentModel.crud.d.ts +2 -2
- package/content/plugins/crud/contentModel.crud.js +2 -2
- package/content/plugins/crud/contentModel.crud.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +3 -2
- package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +3 -2
- package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +3 -2
- package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +1 -0
- package/content/plugins/crud/contentModelGroup.crud.d.ts +2 -2
- package/content/plugins/crud/contentModelGroup.crud.js.map +1 -0
- package/content/plugins/crud/index.d.ts +2 -2
- package/content/plugins/crud/index.js.map +1 -0
- package/content/plugins/graphqlFields/boolean.js +2 -6
- package/content/plugins/graphqlFields/boolean.js.map +1 -0
- package/content/plugins/graphqlFields/datetime.js +5 -3
- package/content/plugins/graphqlFields/datetime.js.map +1 -0
- package/content/plugins/graphqlFields/file.js +2 -6
- package/content/plugins/graphqlFields/file.js.map +1 -0
- package/content/plugins/graphqlFields/helpers.d.ts +6 -0
- package/content/plugins/graphqlFields/helpers.js +49 -0
- package/content/plugins/graphqlFields/helpers.js.map +1 -0
- package/content/plugins/graphqlFields/index.js.map +1 -0
- package/content/plugins/graphqlFields/longText.js +2 -6
- package/content/plugins/graphqlFields/longText.js.map +1 -0
- package/content/plugins/graphqlFields/number.js +2 -6
- package/content/plugins/graphqlFields/number.js.map +1 -0
- package/content/plugins/graphqlFields/object.js +20 -18
- package/content/plugins/graphqlFields/object.js.map +1 -0
- package/content/plugins/graphqlFields/ref.js +51 -18
- package/content/plugins/graphqlFields/ref.js.map +1 -0
- package/content/plugins/graphqlFields/richText.js +2 -6
- package/content/plugins/graphqlFields/richText.js.map +1 -0
- package/content/plugins/graphqlFields/text.js +2 -6
- package/content/plugins/graphqlFields/text.js.map +1 -0
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +1 -1
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +1 -0
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +1 -0
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +1 -1
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +1 -0
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +1 -0
- package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +3 -3
- package/content/plugins/modelManager/DefaultCmsModelManager.js.map +1 -0
- package/content/plugins/modelManager/index.js.map +1 -0
- package/content/plugins/schema/baseSchema.js +1 -0
- package/content/plugins/schema/baseSchema.js.map +1 -0
- package/content/plugins/schema/contentEntries.js +12 -5
- package/content/plugins/schema/contentEntries.js.map +1 -0
- package/content/plugins/schema/contentModelGroups.js +1 -2
- package/content/plugins/schema/contentModelGroups.js.map +1 -0
- package/content/plugins/schema/contentModels.js +2 -3
- package/content/plugins/schema/contentModels.js.map +1 -0
- package/content/plugins/schema/createFieldResolvers.d.ts +8 -7
- package/content/plugins/schema/createFieldResolvers.js +25 -12
- package/content/plugins/schema/createFieldResolvers.js.map +1 -0
- package/content/plugins/schema/createManageResolvers.d.ts +7 -6
- package/content/plugins/schema/createManageResolvers.js.map +1 -0
- package/content/plugins/schema/createManageSDL.d.ts +5 -4
- package/content/plugins/schema/createManageSDL.js.map +1 -0
- package/content/plugins/schema/createPreviewResolvers.d.ts +8 -6
- package/content/plugins/schema/createPreviewResolvers.js.map +1 -0
- package/content/plugins/schema/createReadResolvers.d.ts +8 -6
- package/content/plugins/schema/createReadResolvers.js.map +1 -0
- package/content/plugins/schema/createReadSDL.d.ts +7 -6
- package/content/plugins/schema/createReadSDL.js.map +1 -0
- package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +1 -1
- package/content/plugins/schema/resolvers/commonFieldResolvers.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +5 -4
- package/content/plugins/schema/resolvers/manage/resolveCreate.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveCreate.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +5 -4
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolveDelete.js +4 -8
- package/content/plugins/schema/resolvers/manage/resolveDelete.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveList.d.ts +4 -2
- package/content/plugins/schema/resolvers/manage/resolveList.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveList.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolvePublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRepublish.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolveRepublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +3 -2
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +3 -2
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +6 -1
- package/content/plugins/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +5 -4
- package/content/plugins/schema/resolvers/manage/resolveUpdate.js +2 -4
- package/content/plugins/schema/resolvers/manage/resolveUpdate.js.map +1 -0
- package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +4 -2
- package/content/plugins/schema/resolvers/preview/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/preview/resolveList.d.ts +4 -2
- package/content/plugins/schema/resolvers/preview/resolveList.js +2 -4
- package/content/plugins/schema/resolvers/preview/resolveList.js.map +1 -0
- package/content/plugins/schema/resolvers/read/resolveGet.d.ts +4 -2
- package/content/plugins/schema/resolvers/read/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/read/resolveList.d.ts +4 -2
- package/content/plugins/schema/resolvers/read/resolveList.js +2 -4
- package/content/plugins/schema/resolvers/read/resolveList.js.map +1 -0
- package/content/plugins/schema/schemaPlugins.js.map +1 -0
- package/content/plugins/storage/StorageTransformPlugin.d.ts +2 -2
- package/content/plugins/storage/StorageTransformPlugin.js.map +1 -0
- package/content/plugins/storage/default.js.map +1 -0
- package/content/plugins/storage/object.js +15 -10
- package/content/plugins/storage/object.js.map +1 -0
- package/content/plugins/utils/createTypeName.d.ts +3 -3
- package/content/plugins/utils/createTypeName.js.map +1 -0
- package/content/plugins/utils/entryStorage.d.ts +2 -2
- package/content/plugins/utils/entryStorage.js +0 -4
- package/content/plugins/utils/entryStorage.js.map +1 -0
- package/content/plugins/utils/getEntryTitle.d.ts +1 -1
- package/content/plugins/utils/getEntryTitle.js +1 -1
- package/content/plugins/utils/getEntryTitle.js.map +1 -0
- package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +7 -6
- package/content/plugins/utils/getSchemaFromFieldPlugins.js +12 -7
- package/content/plugins/utils/getSchemaFromFieldPlugins.js.map +1 -0
- package/content/plugins/utils/pluralizedTypeName.d.ts +1 -1
- package/content/plugins/utils/pluralizedTypeName.js.map +1 -0
- package/content/plugins/utils/renderFields.d.ts +11 -12
- package/content/plugins/utils/renderFields.js +1 -1
- package/content/plugins/utils/renderFields.js.map +1 -0
- package/content/plugins/utils/renderGetFilterFields.d.ts +5 -4
- package/content/plugins/utils/renderGetFilterFields.js +28 -13
- package/content/plugins/utils/renderGetFilterFields.js.map +1 -0
- package/content/plugins/utils/renderInputFields.d.ts +10 -10
- package/content/plugins/utils/renderInputFields.js.map +1 -0
- package/content/plugins/utils/renderListFilterFields.d.ts +7 -6
- package/content/plugins/utils/renderListFilterFields.js +24 -12
- package/content/plugins/utils/renderListFilterFields.js.map +1 -0
- package/content/plugins/utils/renderSortEnum.js +5 -5
- package/content/plugins/utils/renderSortEnum.js.map +1 -0
- package/content/plugins/validators/dateGte.js +1 -1
- package/content/plugins/validators/dateGte.js.map +1 -0
- package/content/plugins/validators/dateLte.js +1 -1
- package/content/plugins/validators/dateLte.js.map +1 -0
- package/content/plugins/validators/gte.js +3 -1
- package/content/plugins/validators/gte.js.map +1 -0
- package/content/plugins/validators/in.js +3 -1
- package/content/plugins/validators/in.js.map +1 -0
- package/content/plugins/validators/index.js.map +1 -0
- package/content/plugins/validators/lte.js +3 -1
- package/content/plugins/validators/lte.js.map +1 -0
- package/content/plugins/validators/maxLength.js +3 -1
- package/content/plugins/validators/maxLength.js.map +1 -0
- package/content/plugins/validators/minLength.js +3 -1
- package/content/plugins/validators/minLength.js.map +1 -0
- package/content/plugins/validators/pattern.js +2 -2
- package/content/plugins/validators/pattern.js.map +1 -0
- package/content/plugins/validators/patternPlugins/email.js.map +1 -0
- package/content/plugins/validators/patternPlugins/index.js.map +1 -0
- package/content/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
- package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/content/plugins/validators/patternPlugins/upperCase.js.map +1 -0
- package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/content/plugins/validators/patternPlugins/url.js.map +1 -0
- package/content/plugins/validators/required.js.map +1 -0
- package/content/plugins/validators/timeGte.js +3 -1
- package/content/plugins/validators/timeGte.js.map +1 -0
- package/content/plugins/validators/timeLte.js +3 -1
- package/content/plugins/validators/timeLte.js.map +1 -0
- package/content/plugins/validators/unique.js +1 -0
- package/content/plugins/validators/unique.js.map +1 -0
- package/index.d.ts +3 -3
- package/index.js.map +1 -0
- package/migrateCMSPermissions.d.ts +2 -2
- package/migrateCMSPermissions.js +4 -0
- package/migrateCMSPermissions.js.map +1 -0
- package/package.json +27 -26
- package/plugins/context.js +8 -3
- package/plugins/context.js.map +1 -0
- package/plugins/crud/index.d.ts +2 -2
- package/plugins/crud/index.js.map +1 -0
- package/plugins/crud/settings.crud.d.ts +2 -2
- package/plugins/crud/settings.crud.js.map +1 -0
- package/plugins/crud/system.crud.d.ts +3 -2
- package/plugins/crud/system.crud.js +2 -2
- package/plugins/crud/system.crud.js.map +1 -0
- package/plugins/graphql/system.d.ts +5 -4
- package/plugins/graphql/system.js +5 -3
- package/plugins/graphql/system.js.map +1 -0
- package/plugins/graphql.js +7 -0
- package/plugins/graphql.js.map +1 -0
- package/plugins/upgrades/index.js.map +1 -0
- package/plugins/upgrades/v5.5.0/helpers.js.map +1 -0
- package/plugins/upgrades/v5.5.0/index.js +5 -0
- package/plugins/upgrades/v5.5.0/index.js.map +1 -0
- package/transformers.js.map +1 -0
- package/types.d.ts +70 -40
- package/types.js +6 -0
- package/types.js.map +1 -0
- package/utils.d.ts +14 -16
- package/utils.js.map +1 -0
- package/content/plugins/graphqlFields/requiredField.d.ts +0 -2
- package/content/plugins/graphqlFields/requiredField.js +0 -24
|
@@ -9,11 +9,9 @@ var _responses = require("@webiny/handler-graphql/responses");
|
|
|
9
9
|
|
|
10
10
|
const resolveList = ({
|
|
11
11
|
model
|
|
12
|
-
}) => async (_, args, {
|
|
13
|
-
cms
|
|
14
|
-
}) => {
|
|
12
|
+
}) => async (_, args, context) => {
|
|
15
13
|
try {
|
|
16
|
-
const response = await cms.listLatestEntries(model, args);
|
|
14
|
+
const response = await context.cms.listLatestEntries(model, args);
|
|
17
15
|
return new _responses.ListResponse(...response);
|
|
18
16
|
} catch (e) {
|
|
19
17
|
return new _responses.ListErrorResponse(e);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveList.ts"],"names":["resolveList","model","_","args","context","response","cms","listLatestEntries","ListResponse","e","ListErrorResponse"],"mappings":";;;;;;;AAAA;;AAUO,MAAMA,WAAwB,GACjC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;AAClC,MAAI;AACA,UAAMC,QAAoC,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,iBAAZ,CAC/CN,KAD+C,EAE/CE,IAF+C,CAAnD;AAKA,WAAO,IAAIK,uBAAJ,CAAiB,GAAGH,QAApB,CAAP;AACH,GAPD,CAOE,OAAOI,CAAP,EAAU;AACR,WAAO,IAAIC,4BAAJ,CAAsBD,CAAtB,CAAP;AACH;AACJ,CAbE","sourcesContent":["import { ListResponse, ListErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport {\n CmsEntryMeta,\n CmsEntryResolverFactory as ResolverFactory,\n CmsEntry,\n CmsEntryListParams\n} from \"~/types\";\n\ntype ResolveList = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveList: ResolveList =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const response: [CmsEntry[], CmsEntryMeta] = await context.cms.listLatestEntries(\n model,\n args\n );\n\n return new ListResponse(...response);\n } catch (e) {\n return new ListErrorResponse(e);\n }\n };\n"]}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import { CmsEntryResolverFactory as ResolverFactory } from "../../../../../types";
|
|
2
|
-
|
|
1
|
+
import { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from "../../../../../types";
|
|
2
|
+
declare type ResolveGet = ResolverFactory<any, CmsEntryListParams>;
|
|
3
|
+
export declare const resolveGet: ResolveGet;
|
|
4
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveGet.ts"],"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;AAClC,MAAI;AACA,UAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAAiCN,KAAjC,kCACjBE,IADiB;AAEpBK,MAAAA,KAAK,EAAE;AAFa,OAAxB;;AAIA,QAAI,CAACH,KAAL,EAAY;AACR,YAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;AACH;;AACD,WAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;AACH,GATD,CASE,OAAOM,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAfE","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import { CmsEntryResolverFactory as ResolverFactory } from "../../../../../types";
|
|
2
|
-
|
|
1
|
+
import { CmsEntryResolverFactory as ResolverFactory, CmsEntryListParams } from "../../../../../types";
|
|
2
|
+
declare type ResolveList = ResolverFactory<any, CmsEntryListParams>;
|
|
3
|
+
export declare const resolveList: ResolveList;
|
|
4
|
+
export {};
|
|
@@ -9,11 +9,9 @@ var _responses = require("@webiny/handler-graphql/responses");
|
|
|
9
9
|
|
|
10
10
|
const resolveList = ({
|
|
11
11
|
model
|
|
12
|
-
}) => async (_, args, {
|
|
13
|
-
cms
|
|
14
|
-
}) => {
|
|
12
|
+
}) => async (_, args, context) => {
|
|
15
13
|
try {
|
|
16
|
-
const response = await cms.listPublishedEntries(model, args);
|
|
14
|
+
const response = await context.cms.listPublishedEntries(model, args);
|
|
17
15
|
return new _responses.ListResponse(...response);
|
|
18
16
|
} catch (e) {
|
|
19
17
|
return new _responses.ListErrorResponse(e);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveList.ts"],"names":["resolveList","model","_","args","context","response","cms","listPublishedEntries","ListResponse","e","ListErrorResponse"],"mappings":";;;;;;;AAAA;;AAUO,MAAMA,WAAwB,GACjC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAAyCC,OAAzC,KAAqD;AACjD,MAAI;AACA,UAAMC,QAAoC,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAC/CN,KAD+C,EAE/CE,IAF+C,CAAnD;AAKA,WAAO,IAAIK,uBAAJ,CAAiB,GAAGH,QAApB,CAAP;AACH,GAPD,CAOE,OAAOI,CAAP,EAAU;AACR,WAAO,IAAIC,4BAAJ,CAAsBD,CAAtB,CAAP;AACH;AACJ,CAbE","sourcesContent":["import { ListResponse, ListErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport {\n CmsEntryMeta,\n CmsEntryResolverFactory as ResolverFactory,\n CmsEntry,\n CmsEntryListParams\n} from \"~/types\";\n\ntype ResolveList = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveList: ResolveList =\n ({ model }) =>\n async (_: any, args: CmsEntryListParams, context) => {\n try {\n const response: [CmsEntry[], CmsEntryMeta] = await context.cms.listPublishedEntries(\n model,\n args\n );\n\n return new ListResponse(...response);\n } catch (e) {\n return new ListErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["schemaPlugins.ts"],"names":["generateSchemaPlugins","context","plugins","cms","fieldTypePlugins","byType","reduce","acc","pl","fieldType","security","disableAuthorization","models","listModels","enableAuthorization","schemas","type","newPlugins","schema","push","GraphQLSchemaPlugin","filter","model","fields","length","forEach","typeDefs","resolvers","READ"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,MAAMA,qBAAqB,GAAG,MACjCC,OADiC,IAEY;AAC7C,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAmBF,OAAzB,CAD6C,CAG7C;;AACA,QAAMG,gBAAqC,GAAGF,OAAO,CAChDG,MADyC,CACJ,4BADI,EAEzCC,MAFyC,CAElC,CAACC,GAAD,EAAMC,EAAN,KAAa;AACjBD,IAAAA,GAAG,CAACC,EAAE,CAACC,SAAJ,CAAH,GAAoBD,EAApB;AACA,WAAOD,GAAP;AACH,GALyC,EAKvC,EALuC,CAA9C,CAJ6C,CAW7C;;AACAN,EAAAA,OAAO,CAACS,QAAR,CAAiBC,oBAAjB;AACA,QAAMC,MAAM,GAAG,MAAMT,GAAG,CAACU,UAAJ,EAArB;AACAZ,EAAAA,OAAO,CAACS,QAAR,CAAiBI,mBAAjB;AAEA,QAAMC,OAAO,GAAG,0DAA0B;AAAEH,IAAAA,MAAF;AAAUR,IAAAA,gBAAV;AAA4BY,IAAAA,IAAI,EAAEb,GAAG,CAACa;AAAtC,GAA1B,CAAhB;AAEA,QAAMC,UAA6C,GAAG,EAAtD;;AACA,OAAK,MAAMC,MAAX,IAAqBH,OAArB,EAA8B;AAC1BE,IAAAA,UAAU,CAACE,IAAX,CAAgB,IAAIC,wCAAJ,CAAwBF,MAAxB,CAAhB;AACH;;AAEDN,EAAAA,MAAM,CACDS,MADL,CACYC,KAAK,IAAIA,KAAK,CAACC,MAAN,CAAaC,MAAb,GAAsB,CAD3C,EAEKC,OAFL,CAEaH,KAAK,IAAI;AACd,YAAQnB,GAAG,CAACa,IAAZ;AACI,WAAK,QAAL;AACIC,QAAAA,UAAU,CAACE,IAAX,CACI,IAAIC,wCAAJ,CAAwB;AACpBM,UAAAA,QAAQ,EAAE,sCAAgB;AAAEJ,YAAAA,KAAF;AAASlB,YAAAA;AAAT,WAAhB,CADU;AAEpBuB,UAAAA,SAAS,EAAE,kDAAsB;AAC7Bf,YAAAA,MAD6B;AAE7BU,YAAAA,KAF6B;AAG7BlB,YAAAA,gBAH6B;AAI7BH,YAAAA;AAJ6B,WAAtB;AAFS,SAAxB,CADJ;AAYA;;AACJ,WAAK,SAAL;AACA,WAAK,MAAL;AACIgB,QAAAA,UAAU,CAACE,IAAX,CACI,IAAIC,wCAAJ,CAAwB;AACpBM,UAAAA,QAAQ,EAAE,kCAAc;AAAEJ,YAAAA,KAAF;AAASlB,YAAAA;AAAT,WAAd,CADU;AAEpBuB,UAAAA,SAAS,EAAExB,GAAG,CAACyB,IAAJ,GACL,8CAAoB;AAChBhB,YAAAA,MADgB;AAEhBU,YAAAA,KAFgB;AAGhBlB,YAAAA,gBAHgB;AAIhBH,YAAAA;AAJgB,WAApB,CADK,GAOL,oDAAuB;AACnBW,YAAAA,MADmB;AAEnBU,YAAAA,KAFmB;AAGnBlB,YAAAA,gBAHmB;AAInBH,YAAAA;AAJmB,WAAvB;AATc,SAAxB,CADJ;AAkBA;;AACJ;AACI;AArCR;AAuCH,GA1CL;AA4CA,SAAOgB,UAAU,CAACI,MAAX,CAAkBb,EAAE,IAAI,CAAC,CAACA,EAAE,CAACU,MAAH,CAAUQ,QAApC,CAAP;AACH,CAtEM","sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { getSchemaFromFieldPlugins } from \"~/content/plugins/utils/getSchemaFromFieldPlugins\";\n\nexport const generateSchemaPlugins = async (\n context: CmsContext\n): Promise<GraphQLSchemaPlugin<CmsContext>[]> => {\n const { plugins, cms } = context;\n\n // Structure plugins for faster access\n const fieldTypePlugins: CmsFieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n // Load model data\n context.security.disableAuthorization();\n const models = await cms.listModels();\n context.security.enableAuthorization();\n\n const schemas = getSchemaFromFieldPlugins({ models, fieldTypePlugins, type: cms.type });\n\n const newPlugins: GraphQLSchemaPlugin<CmsContext>[] = [];\n for (const schema of schemas) {\n newPlugins.push(new GraphQLSchemaPlugin(schema));\n }\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (cms.type) {\n case \"manage\":\n newPlugins.push(\n new GraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n\n break;\n case \"preview\":\n case \"read\":\n newPlugins.push(\n new GraphQLSchemaPlugin({\n typeDefs: createReadSDL({ model, fieldTypePlugins }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n break;\n default:\n return;\n }\n });\n\n return newPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"]}
|
|
@@ -15,7 +15,7 @@ export interface FromStorageParams<T> {
|
|
|
15
15
|
getStoragePlugin(fieldType: string): StorageTransformPlugin<T>;
|
|
16
16
|
plugins: PluginsContainer;
|
|
17
17
|
}
|
|
18
|
-
export interface
|
|
18
|
+
export interface StorageTransformPluginParams<T, R> {
|
|
19
19
|
fieldType: string;
|
|
20
20
|
toStorage: (params: ToStorageParams<T>) => Promise<R>;
|
|
21
21
|
fromStorage: (params: FromStorageParams<R>) => Promise<T>;
|
|
@@ -24,7 +24,7 @@ export declare class StorageTransformPlugin<T = any, R = any> extends Plugin {
|
|
|
24
24
|
static readonly type: string;
|
|
25
25
|
get fieldType(): string;
|
|
26
26
|
private readonly config;
|
|
27
|
-
constructor(config:
|
|
27
|
+
constructor(config: StorageTransformPluginParams<T, R>);
|
|
28
28
|
toStorage(params: ToStorageParams<T>): Promise<R>;
|
|
29
29
|
fromStorage(params: FromStorageParams<R>): Promise<T>;
|
|
30
30
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["StorageTransformPlugin.ts"],"names":["StorageTransformPlugin","Plugin","fieldType","config","constructor","toStorage","params","fromStorage"],"mappings":";;;;;;;;;;;AAAA;;AAyBO,MAAMA,sBAAN,SAAuDC,cAAvD,CAA8D;AAE7C,MAATC,SAAS,GAAW;AAC3B,WAAO,KAAKC,MAAL,CAAYD,SAAnB;AACH;;AAIME,EAAAA,WAAW,CAACD,MAAD,EAA6C;AAC3D;AAD2D;AAE3D,SAAKA,MAAL,GAAcA,MAAd;AACH;;AAEME,EAAAA,SAAS,CAACC,MAAD,EAAyC;AACrD,WAAO,KAAKH,MAAL,CAAYE,SAAZ,CAAsBC,MAAtB,CAAP;AACH;;AAEMC,EAAAA,WAAW,CAACD,MAAD,EAA2C;AACzD,WAAO,KAAKH,MAAL,CAAYI,WAAZ,CAAwBD,MAAxB,CAAP;AACH;;AAnBgE;;;8BAAxDN,sB,UACsC,8B","sourcesContent":["import { Plugin } from \"@webiny/plugins/Plugin\";\nimport { CmsModel, CmsModelField } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport interface ToStorageParams<T> {\n model: CmsModel;\n field: CmsModelField;\n value: T;\n getStoragePlugin(fieldType: string): StorageTransformPlugin<T>;\n plugins: PluginsContainer;\n}\n\nexport interface FromStorageParams<T> {\n model: CmsModel;\n field: CmsModelField;\n value: T;\n getStoragePlugin(fieldType: string): StorageTransformPlugin<T>;\n plugins: PluginsContainer;\n}\n\nexport interface StorageTransformPluginParams<T, R> {\n fieldType: string;\n toStorage: (params: ToStorageParams<T>) => Promise<R>;\n fromStorage: (params: FromStorageParams<R>) => Promise<T>;\n}\nexport class StorageTransformPlugin<T = any, R = any> extends Plugin {\n public static override readonly type: string = \"cms.storage.transform.plugin\";\n public get fieldType(): string {\n return this.config.fieldType;\n }\n\n private readonly config: StorageTransformPluginParams<T, R>;\n\n public constructor(config: StorageTransformPluginParams<T, R>) {\n super();\n this.config = config;\n }\n\n public toStorage(params: ToStorageParams<T>): Promise<R> {\n return this.config.toStorage(params);\n }\n\n public fromStorage(params: FromStorageParams<R>): Promise<T> {\n return this.config.fromStorage(params);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["default.ts"],"names":["plugin","StorageTransformPlugin","fieldType","fromStorage","value","toStorage"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,MAAM,GAAG,IAAIC,8CAAJ,CAA2B;AACtCC,EAAAA,SAAS,EAAE,GAD2B;AAEtCC,EAAAA,WAAW,EAAE,OAAO;AAAEC,IAAAA;AAAF,GAAP,KAAqB;AAC9B,WAAOA,KAAP;AACH,GAJqC;AAKtCC,EAAAA,SAAS,EAAE,OAAO;AAAED,IAAAA;AAAF,GAAP,KAAqB;AAC5B,WAAOA,KAAP;AACH;AAPqC,CAA3B,CAAf;;eAUe,MAA8B;AACzC,SAAOJ,MAAP;AACH,C","sourcesContent":["import { StorageTransformPlugin } from \"./StorageTransformPlugin\";\n\nconst plugin = new StorageTransformPlugin({\n fieldType: \"*\",\n fromStorage: async ({ value }) => {\n return value;\n },\n toStorage: async ({ value }) => {\n return value;\n }\n});\n\nexport default (): StorageTransformPlugin => {\n return plugin;\n};\n"]}
|
|
@@ -19,14 +19,15 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
19
19
|
|
|
20
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
21
|
|
|
22
|
-
const processValue = async
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
const processValue = async params => {
|
|
23
|
+
const {
|
|
24
|
+
fields,
|
|
25
|
+
sourceValue,
|
|
26
|
+
getStoragePlugin,
|
|
27
|
+
plugins,
|
|
28
|
+
model,
|
|
29
|
+
operation
|
|
30
|
+
} = params;
|
|
30
31
|
return await (0, _pReduce.default)(fields, async (values, field) => {
|
|
31
32
|
const plugin = getStoragePlugin(field.type);
|
|
32
33
|
|
|
@@ -56,11 +57,13 @@ const plugin = new _StorageTransformPlugin.StorageTransformPlugin({
|
|
|
56
57
|
model,
|
|
57
58
|
plugins
|
|
58
59
|
}) => {
|
|
60
|
+
var _field$settings;
|
|
61
|
+
|
|
59
62
|
if (!value) {
|
|
60
63
|
return null;
|
|
61
64
|
}
|
|
62
65
|
|
|
63
|
-
const fields = field.settings.fields;
|
|
66
|
+
const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
|
|
64
67
|
|
|
65
68
|
if (field.multipleValues) {
|
|
66
69
|
return await (0, _pMap.default)(value, value => processValue({
|
|
@@ -89,11 +92,13 @@ const plugin = new _StorageTransformPlugin.StorageTransformPlugin({
|
|
|
89
92
|
plugins,
|
|
90
93
|
model
|
|
91
94
|
}) => {
|
|
95
|
+
var _field$settings2;
|
|
96
|
+
|
|
92
97
|
if (!value) {
|
|
93
98
|
return null;
|
|
94
99
|
}
|
|
95
100
|
|
|
96
|
-
const fields = field.settings.fields;
|
|
101
|
+
const fields = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [];
|
|
97
102
|
|
|
98
103
|
if (field.multipleValues) {
|
|
99
104
|
return (0, _pMap.default)(value, value => processValue({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["object.ts"],"names":["processValue","params","fields","sourceValue","getStoragePlugin","plugins","model","operation","values","field","plugin","type","Error","value","fieldId","StorageTransformPlugin","fieldType","toStorage","settings","multipleValues","fromStorage"],"mappings":"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","sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport { CmsModel, CmsModelField } from \"~/types\";\nimport { StorageTransformPlugin } from \"./StorageTransformPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: Record<string, any>;\n getStoragePlugin: (fieldType: string) => StorageTransformPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<Record<string, any>>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStoragePlugin, plugins, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const plugin = getStoragePlugin(field.type);\n if (!plugin) {\n throw new Error(`Missing storage plugin for field type \"${field.type}\".`);\n }\n const value = await plugin[operation]({\n plugins,\n model,\n field,\n value: sourceValue[field.fieldId],\n getStoragePlugin\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nconst plugin = new StorageTransformPlugin({\n fieldType: \"object\",\n toStorage: async ({ field, value, getStoragePlugin, model, plugins }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return await pMap(value as Record<string, any>[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n });\n },\n fromStorage: async ({ field, value, getStoragePlugin, plugins, model }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return pMap(value as Record<string, any>[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n })\n );\n }\n\n return processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n }\n});\n\nexport default (): StorageTransformPlugin => {\n return plugin;\n};\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const createTypeName: (modelId: string) =>
|
|
2
|
-
export declare const createReadTypeName: (baseTypeName: string) =>
|
|
3
|
-
export declare const createManageTypeName: (baseTypeName: string) =>
|
|
1
|
+
export declare const createTypeName: (modelId: string) => string;
|
|
2
|
+
export declare const createReadTypeName: (baseTypeName: string) => string;
|
|
3
|
+
export declare const createManageTypeName: (baseTypeName: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createTypeName.ts"],"names":["createTypeName","modelId","createReadTypeName","baseTypeName","createManageTypeName"],"mappings":";;;;;;;;;AAAA;;AAEO,MAAMA,cAAc,GAAIC,OAAD,IAA6B;AACvD,SAAO,yBAAWA,OAAX,CAAP;AACH,CAFM;;;;AAIA,MAAMC,kBAAkB,GAAIC,YAAD,IAAkC;AAChE,SAAOH,cAAc,CAACG,YAAD,CAArB;AACH,CAFM;;;;AAIA,MAAMC,oBAAoB,GAAID,YAAD,IAAkC;AAClE,SAAOH,cAAc,CAACG,YAAD,CAArB;AACH,CAFM","sourcesContent":["import upperFirst from \"lodash/upperFirst\";\n\nexport const createTypeName = (modelId: string): string => {\n return upperFirst(modelId);\n};\n\nexport const createReadTypeName = (baseTypeName: string): string => {\n return createTypeName(baseTypeName);\n};\n\nexport const createManageTypeName = (baseTypeName: string): string => {\n return createTypeName(baseTypeName);\n};\n"]}
|
|
@@ -6,12 +6,12 @@ export declare const entryToStorageTransform: (context: CmsContext, model: CmsMo
|
|
|
6
6
|
/**
|
|
7
7
|
* A function that is used to transform the whole entry from storage into its native form.
|
|
8
8
|
*/
|
|
9
|
-
export declare const entryFromStorageTransform: (context: CmsContext, model: CmsModel, entry
|
|
9
|
+
export declare const entryFromStorageTransform: (context: CmsContext, model: CmsModel, entry: CmsEntry) => Promise<CmsEntry>;
|
|
10
10
|
interface EntryFieldFromStorageTransformParams {
|
|
11
11
|
context: CmsContext;
|
|
12
12
|
model: CmsModel;
|
|
13
13
|
field: CmsModelField;
|
|
14
14
|
value: any;
|
|
15
15
|
}
|
|
16
|
-
export declare const entryFieldFromStorageTransform: (params: EntryFieldFromStorageTransformParams) => Promise<
|
|
16
|
+
export declare const entryFieldFromStorageTransform: <T = any>(params: EntryFieldFromStorageTransformParams) => Promise<T>;
|
|
17
17
|
export {};
|
|
@@ -87,10 +87,6 @@ const entryToStorageTransform = async (context, model, entry) => {
|
|
|
87
87
|
exports.entryToStorageTransform = entryToStorageTransform;
|
|
88
88
|
|
|
89
89
|
const entryFromStorageTransform = async (context, model, entry) => {
|
|
90
|
-
if (!entry) {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
90
|
return entryStorageTransform(context, model, "fromStorage", entry);
|
|
95
91
|
};
|
|
96
92
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["entryStorage.ts"],"names":["getStoragePluginFactory","context","defaultStoragePlugin","plugins","byType","StorageTransformPlugin","type","reverse","reduce","collection","plugin","fieldType","entryStorageTransform","model","operation","entry","getStoragePlugin","transformedValues","field","fields","WebinyError","name","fieldId","value","values","entryToStorageTransform","entryFromStorageTransform","entryFieldFromStorageTransform","params","fromStorage"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;AAMA,MAAMA,uBAAgD,GAAGC,OAAO,IAAI;AAChE,MAAIC,oBAAJ;AAEA,QAAMC,OAAO,GAAGF,OAAO,CAACE,OAAR,CACXC,MADW,CACoBC,+CAAuBC,IAD3C,EAEZ;AAFY,GAGXC,OAHW,GAIXC,MAJW,CAIJ,CAACC,UAAD,EAAaC,MAAb,KAAwB;AAC5B;AACA,QAAIA,MAAM,CAACC,SAAP,KAAqB,GAArB,IAA4B,CAACT,oBAAjC,EAAuD;AACnDA,MAAAA,oBAAoB,GAAGQ,MAAvB;AACA,aAAOD,UAAP;AACH;AAED;AACZ;AACA;AACA;;;AACY,QAAI,CAACA,UAAU,CAACC,MAAM,CAACC,SAAR,CAAf,EAAmC;AAC/BF,MAAAA,UAAU,CAACC,MAAM,CAACC,SAAR,CAAV,GAA+BD,MAA/B;AACH;;AAED,WAAOD,UAAP;AACH,GApBW,EAoBT,EApBS,CAAhB;AAsBA,SAAQE,SAAD,IAAuB;AAC1B,WAAOR,OAAO,CAACQ,SAAD,CAAP,IAAsBT,oBAA7B;AACH,GAFD;AAGH,CA5BD;AA8BA;AACA;AACA;;;AACA,MAAMU,qBAAqB,GAAG,OAC1BX,OAD0B,EAE1BY,KAF0B,EAG1BC,SAH0B,EAI1BC,KAJ0B,KAKN;AACpB,QAAMC,gBAAgB,GAAGhB,uBAAuB,CAACC,OAAD,CAAhD;AAEA,QAAMgB,iBAAsC,GAAG,EAA/C;;AACA,OAAK,MAAMC,KAAX,IAAoBL,KAAK,CAACM,MAA1B,EAAkC;AAC9B,UAAMT,MAAM,GAAGM,gBAAgB,CAACE,KAAK,CAACZ,IAAP,CAA/B,CAD8B,CAE9B;;AACA,QAAI,OAAOI,MAAM,CAACI,SAAD,CAAb,KAA6B,UAAjC,EAA6C;AACzC,YAAM,IAAIM,cAAJ,CACD,YAAWN,SAAU,iCAAgCJ,MAAM,CAACW,IAAK,qBAAoBH,KAAK,CAACZ,IAAK,GAD/F,CAAN;AAGH;;AAEDW,IAAAA,iBAAiB,CAACC,KAAK,CAACI,OAAP,CAAjB,GAAmC,MAAMZ,MAAM,CAACI,SAAD,CAAN,CAAkB;AACvDX,MAAAA,OAAO,EAAEF,OAAO,CAACE,OADsC;AAEvDU,MAAAA,KAFuD;AAGvDK,MAAAA,KAHuD;AAIvDK,MAAAA,KAAK,EAAER,KAAK,CAACS,MAAN,CAAaN,KAAK,CAACI,OAAnB,CAJgD;AAKvDN,MAAAA;AALuD,KAAlB,CAAzC;AAOH;;AAED,yCAAYD,KAAZ;AAAmBS,IAAAA,MAAM,EAAEP;AAA3B;AACH,CA5BD;AA8BA;AACA;AACA;;;AACO,MAAMQ,uBAAuB,GAAG,OACnCxB,OADmC,EAEnCY,KAFmC,EAGnCE,KAHmC,KAIf;AACpB,SAAOH,qBAAqB,CAACX,OAAD,EAAUY,KAAV,EAAiB,WAAjB,EAA8BE,KAA9B,CAA5B;AACH,CANM;AAQP;AACA;AACA;;;;;AACO,MAAMW,yBAAyB,GAAG,OACrCzB,OADqC,EAErCY,KAFqC,EAGrCE,KAHqC,KAIjB;AACpB,SAAOH,qBAAqB,CAACX,OAAD,EAAUY,KAAV,EAAiB,aAAjB,EAAgCE,KAAhC,CAA5B;AACH,CANM;;;;AAcP;AACA;AACA;AACO,MAAMY,8BAA8B,GAAG,MAC1CC,MAD0C,IAE7B;AACb,QAAM;AAAE3B,IAAAA,OAAF;AAAWY,IAAAA,KAAX;AAAkBK,IAAAA,KAAlB;AAAyBK,IAAAA;AAAzB,MAAmCK,MAAzC;AACA,QAAMZ,gBAAgB,GAAGhB,uBAAuB,CAACC,OAAD,CAAhD;AAEA,QAAMS,MAAM,GAAGM,gBAAgB,CAACE,KAAK,CAACZ,IAAP,CAA/B,CAJa,CAMb;;AACA,MAAI,OAAOI,MAAM,CAACmB,WAAd,KAA8B,UAAlC,EAA8C;AAC1C,UAAM,IAAIT,cAAJ,CACD,qDAAoDV,MAAM,CAACW,IAAK,qBAAoBH,KAAK,CAACZ,IAAK,GAD9F,CAAN;AAGH;;AAED,SAAOI,MAAM,CAACmB,WAAP,CAAmB;AACtB1B,IAAAA,OAAO,EAAEF,OAAO,CAACE,OADK;AAEtBU,IAAAA,KAFsB;AAGtBK,IAAAA,KAHsB;AAItBK,IAAAA,KAJsB;AAKtBP,IAAAA;AALsB,GAAnB,CAAP;AAOH,CAtBM","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntry, CmsModel, CmsModelField, CmsContext } from \"~/types\";\nimport { StorageTransformPlugin } from \"~/content/plugins/storage/StorageTransformPlugin\";\n\ninterface GetStoragePluginFactory {\n (context: CmsContext): (fieldType: string) => StorageTransformPlugin<any>;\n}\n\nconst getStoragePluginFactory: GetStoragePluginFactory = context => {\n let defaultStoragePlugin: StorageTransformPlugin;\n\n const plugins = context.plugins\n .byType<StorageTransformPlugin>(StorageTransformPlugin.type)\n // we reverse plugins because we want to get latest added only\n .reverse()\n .reduce((collection, plugin) => {\n // check if it's a default plugin\n if (plugin.fieldType === \"*\" && !defaultStoragePlugin) {\n defaultStoragePlugin = plugin;\n return collection;\n }\n\n /**\n * either existing plugin added or plugin fieldType does not exist in current model\n * this is to iterate a bit less later\n */\n if (!collection[plugin.fieldType]) {\n collection[plugin.fieldType] = plugin;\n }\n\n return collection;\n }, {} as Record<string, StorageTransformPlugin>);\n\n return (fieldType: string) => {\n return plugins[fieldType] || defaultStoragePlugin;\n };\n};\n\n/**\n * This should be used when transforming the whole entry.\n */\nconst entryStorageTransform = async (\n context: CmsContext,\n model: CmsModel,\n operation: \"toStorage\" | \"fromStorage\",\n entry: CmsEntry\n): Promise<CmsEntry> => {\n const getStoragePlugin = getStoragePluginFactory(context);\n\n const transformedValues: Record<string, any> = {};\n for (const field of model.fields) {\n const plugin = getStoragePlugin(field.type);\n // TODO: remove this once plugins are converted into classes\n if (typeof plugin[operation] !== \"function\") {\n throw new WebinyError(\n `Missing \"${operation}\" function in storage plugin \"${plugin.name}\" for field type \"${field.type}\"`\n );\n }\n\n transformedValues[field.fieldId] = await plugin[operation]({\n plugins: context.plugins,\n model,\n field,\n value: entry.values[field.fieldId],\n getStoragePlugin\n });\n }\n\n return { ...entry, values: transformedValues };\n};\n\n/**\n * A function that is used in crud to transform entry into the storage type.\n */\nexport const entryToStorageTransform = async (\n context: CmsContext,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"toStorage\", entry);\n};\n\n/**\n * A function that is used to transform the whole entry from storage into its native form.\n */\nexport const entryFromStorageTransform = async (\n context: CmsContext,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"fromStorage\", entry);\n};\n\ninterface EntryFieldFromStorageTransformParams {\n context: CmsContext;\n model: CmsModel;\n field: CmsModelField;\n value: any;\n}\n/*\n * A function that is used to transform a single field from storage\n */\nexport const entryFieldFromStorageTransform = async <T = any>(\n params: EntryFieldFromStorageTransformParams\n): Promise<T> => {\n const { context, model, field, value } = params;\n const getStoragePlugin = getStoragePluginFactory(context);\n\n const plugin = getStoragePlugin(field.type);\n\n // TODO: remove this once plugins are converted into classes\n if (typeof plugin.fromStorage !== \"function\") {\n throw new WebinyError(\n `Missing \"fromStorage\" function in storage plugin \"${plugin.name}\" for field type \"${field.type}\"`\n );\n }\n\n return plugin.fromStorage({\n plugins: context.plugins,\n model,\n field,\n value,\n getStoragePlugin\n });\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CmsEntry, CmsModel } from "../../../types";
|
|
2
|
-
export declare function getEntryTitle(model: CmsModel, entry: CmsEntry):
|
|
2
|
+
export declare function getEntryTitle(model: CmsModel, entry: CmsEntry): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getEntryTitle.ts"],"names":["getEntryTitle","model","entry","titleFieldId","id","titleValue","values","field","fields","find","f","fieldId","enabled","predefinedValues","Array","isArray","value","label"],"mappings":";;;;;;;AAEO,SAASA,aAAT,CAAuBC,KAAvB,EAAwCC,KAAxC,EAAiE;AACpE,MAAI,CAACD,KAAK,CAACE,YAAX,EAAyB;AACrB,WAAOD,KAAK,CAACE,EAAb;AACH;;AACD,QAAMC,UAAU,GAAGH,KAAK,CAACI,MAAN,CAAaL,KAAK,CAACE,YAAnB,CAAnB;;AACA,MAAI,CAACE,UAAL,EAAiB;AACb,WAAOH,KAAK,CAACE,EAAb;AACH;;AACD,QAAMG,KAAK,GAAGN,KAAK,CAACO,MAAN,CAAaC,IAAb,CAAkBC,CAAC,IAAIA,CAAC,CAACC,OAAF,KAAcV,KAAK,CAACE,YAA3C,CAAd;;AACA,MAAI,CAACI,KAAL,EAAY;AACR,WAAOF,UAAP;AACH;;AACD,QAAM;AAAEO,IAAAA,OAAO,GAAG,KAAZ;AAAmBN,IAAAA;AAAnB,MAA8BC,KAAK,CAACM,gBAAN,IAA0B,EAA9D;;AACA,MAAI,CAACD,OAAD,IAAY,CAACN,MAAb,IAAuBQ,KAAK,CAACC,OAAN,CAAcT,MAAd,MAA0B,KAArD,EAA4D;AACxD,WAAOD,UAAP;AACH;;AACD,OAAK,MAAMW,KAAX,IAAoBV,MAApB,EAA4B;AACxB;AACA,QAAIU,KAAK,CAACA,KAAN,IAAeX,UAAnB,EAA+B;AAC3B,aAAOW,KAAK,CAACC,KAAb;AACH;AACJ;;AACD,SAAOZ,UAAP;AACH","sourcesContent":["import { CmsEntry, CmsModel } from \"~/types\";\n\nexport function getEntryTitle(model: CmsModel, entry: CmsEntry): string {\n if (!model.titleFieldId) {\n return entry.id;\n }\n const titleValue = entry.values[model.titleFieldId];\n if (!titleValue) {\n return entry.id;\n }\n const field = model.fields.find(f => f.fieldId === model.titleFieldId);\n if (!field) {\n return titleValue;\n }\n const { enabled = false, values } = field.predefinedValues || {};\n if (!enabled || !values || Array.isArray(values) === false) {\n return titleValue;\n }\n for (const value of values) {\n // needs to be loose because titleValue can be a number and value can be a string - but it must match\n if (value.value == titleValue) {\n return value.label;\n }\n }\n return titleValue;\n}\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { CmsModel, CmsContext, CmsFieldTypePlugins } from "../../../types";
|
|
1
|
+
import { CmsModel, CmsContext, CmsFieldTypePlugins, ApiEndpoint } from "../../../types";
|
|
2
2
|
import { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types";
|
|
3
|
+
interface RenderTypesFromFieldPluginsParams {
|
|
4
|
+
models: CmsModel[];
|
|
5
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
6
|
+
type: ApiEndpoint;
|
|
7
|
+
}
|
|
3
8
|
interface RenderTypesFromFieldPlugins {
|
|
4
|
-
(params:
|
|
5
|
-
models: CmsModel[];
|
|
6
|
-
fieldTypePlugins: CmsFieldTypePlugins;
|
|
7
|
-
type: string;
|
|
8
|
-
}): GraphQLSchemaDefinition<CmsContext>[];
|
|
9
|
+
(params: RenderTypesFromFieldPluginsParams): GraphQLSchemaDefinition<CmsContext>[];
|
|
9
10
|
}
|
|
10
11
|
export declare const getSchemaFromFieldPlugins: RenderTypesFromFieldPlugins;
|
|
11
12
|
export {};
|
|
@@ -15,15 +15,20 @@ const getSchemaFromFieldPlugins = ({
|
|
|
15
15
|
fieldTypePlugins,
|
|
16
16
|
type
|
|
17
17
|
}) => {
|
|
18
|
-
return Object.values(fieldTypePlugins).map(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return pl[TYPE_MAP[type]].createSchema({
|
|
22
|
-
models
|
|
23
|
-
});
|
|
18
|
+
return Object.values(fieldTypePlugins).map(plugin => {
|
|
19
|
+
if (!TYPE_MAP[type] || !plugin[TYPE_MAP[type]]) {
|
|
20
|
+
return null;
|
|
24
21
|
}
|
|
25
22
|
|
|
26
|
-
|
|
23
|
+
const createSchema = plugin[TYPE_MAP[type]].createSchema; // Render gql types generated by field type plugins
|
|
24
|
+
|
|
25
|
+
if (!createSchema) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return createSchema({
|
|
30
|
+
models
|
|
31
|
+
});
|
|
27
32
|
}).filter(Boolean);
|
|
28
33
|
};
|
|
29
34
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getSchemaFromFieldPlugins.ts"],"names":["TYPE_MAP","preview","read","manage","getSchemaFromFieldPlugins","models","fieldTypePlugins","type","Object","values","map","plugin","createSchema","filter","Boolean"],"mappings":";;;;;;AAYA,MAAMA,QAA2C,GAAG;AAChDC,EAAAA,OAAO,EAAE,MADuC;AAEhDC,EAAAA,IAAI,EAAE,MAF0C;AAGhDC,EAAAA,MAAM,EAAE;AAHwC,CAApD;;AAMO,MAAMC,yBAAsD,GAAG,CAAC;AACnEC,EAAAA,MADmE;AAEnEC,EAAAA,gBAFmE;AAGnEC,EAAAA;AAHmE,CAAD,KAIhE;AACF,SAAOC,MAAM,CAACC,MAAP,CAAcH,gBAAd,EACFI,GADE,CACEC,MAAM,IAAI;AACX,QAAI,CAACX,QAAQ,CAACO,IAAD,CAAT,IAAmB,CAACI,MAAM,CAACX,QAAQ,CAACO,IAAD,CAAT,CAA9B,EAAgD;AAC5C,aAAO,IAAP;AACH;;AACD,UAAMK,YAAY,GAAGD,MAAM,CAACX,QAAQ,CAACO,IAAD,CAAT,CAAN,CAAuBK,YAA5C,CAJW,CAKX;;AACA,QAAI,CAACA,YAAL,EAAmB;AACf,aAAO,IAAP;AACH;;AACD,WAAOA,YAAY,CAAC;AAAEP,MAAAA;AAAF,KAAD,CAAnB;AACH,GAXE,EAYFQ,MAZE,CAYKC,OAZL,CAAP;AAaH,CAlBM","sourcesContent":["import { CmsModel, CmsContext, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types\";\n\ninterface RenderTypesFromFieldPluginsParams {\n models: CmsModel[];\n fieldTypePlugins: CmsFieldTypePlugins;\n type: ApiEndpoint;\n}\ninterface RenderTypesFromFieldPlugins {\n (params: RenderTypesFromFieldPluginsParams): GraphQLSchemaDefinition<CmsContext>[];\n}\n\nconst TYPE_MAP: Record<string, \"manage\" | \"read\"> = {\n preview: \"read\",\n read: \"read\",\n manage: \"manage\"\n};\n\nexport const getSchemaFromFieldPlugins: RenderTypesFromFieldPlugins = ({\n models,\n fieldTypePlugins,\n type\n}) => {\n return Object.values(fieldTypePlugins)\n .map(plugin => {\n if (!TYPE_MAP[type] || !plugin[TYPE_MAP[type]]) {\n return null;\n }\n const createSchema = plugin[TYPE_MAP[type]].createSchema;\n // Render gql types generated by field type plugins\n if (!createSchema) {\n return null;\n }\n return createSchema({ models });\n })\n .filter(Boolean) as GraphQLSchemaDefinition<CmsContext>[];\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pluralizedTypeName: (typeName: string) =>
|
|
1
|
+
export declare const pluralizedTypeName: (typeName: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["pluralizedTypeName.ts"],"names":["pluralizedTypeName","typeName","length"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACO,MAAMA,kBAAkB,GAAIC,QAAD,IAA8B;AAC5D,MAAID,kBAAJ;;AACA,MAAIC,QAAQ,CAACC,MAAT,KAAoB,CAAxB,EAA2B;AACvBF,IAAAA,kBAAkB,GAAI,GAAEC,QAAS,GAAjC;AACH,GAFD,MAEO;AACHD,IAAAA,kBAAkB,GAAG,wBAAUC,QAAV,CAArB;AACH;;AACD,SAAOD,kBAAP;AACH,CARM","sourcesContent":["import pluralize from \"pluralize\";\n\n// This will make it so if the content model name is a single capitalized letter\n// Ex. A, pluralizedTypeName will capitalize the name to As, instead of AS\nexport const pluralizedTypeName = (typeName: string): string => {\n let pluralizedTypeName;\n if (typeName.length === 1) {\n pluralizedTypeName = `${typeName}s`;\n } else {\n pluralizedTypeName = pluralize(typeName);\n }\n return pluralizedTypeName;\n};\n"]}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { CmsFieldTypePlugins, CmsModel, CmsModelFieldDefinition } from "../../../types";
|
|
1
|
+
import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField, CmsModelFieldDefinition } from "../../../types";
|
|
2
|
+
interface RenderFieldsParams {
|
|
3
|
+
model: CmsModel;
|
|
4
|
+
type: ApiEndpoint;
|
|
5
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
6
|
+
}
|
|
2
7
|
interface RenderFields {
|
|
3
|
-
(params:
|
|
4
|
-
model: CmsModel;
|
|
5
|
-
type: string;
|
|
6
|
-
fieldTypePlugins: CmsFieldTypePlugins;
|
|
7
|
-
}): CmsModelFieldDefinition[];
|
|
8
|
+
(params: RenderFieldsParams): CmsModelFieldDefinition[];
|
|
8
9
|
}
|
|
9
10
|
export declare const renderFields: RenderFields;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
fieldTypePlugins: any;
|
|
15
|
-
}) => any;
|
|
11
|
+
interface RenderFieldParams extends RenderFieldsParams {
|
|
12
|
+
field: CmsModelField;
|
|
13
|
+
}
|
|
14
|
+
export declare const renderField: ({ model, type, field, fieldTypePlugins }: RenderFieldParams) => CmsModelFieldDefinition | null;
|
|
16
15
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderFields.ts"],"names":["renderFields","model","type","fieldTypePlugins","fields","map","field","renderField","filter","Boolean","plugin","defs","createTypeField"],"mappings":";;;;;;;AAkBO,MAAMA,YAA0B,GAAG,CAAC;AACvCC,EAAAA,KADuC;AAEvCC,EAAAA,IAFuC;AAGvCC,EAAAA;AAHuC,CAAD,KAIT;AAC7B,SAAOF,KAAK,CAACG,MAAN,CACFC,GADE,CACEC,KAAK,IAAIC,WAAW,CAAC;AAAEN,IAAAA,KAAF;AAASC,IAAAA,IAAT;AAAeI,IAAAA,KAAf;AAAsBH,IAAAA;AAAtB,GAAD,CADtB,EAEFK,MAFE,CAEKC,OAFL,CAAP;AAGH,CARM;;;;AAcA,MAAMF,WAAW,GAAG,CAAC;AACxBN,EAAAA,KADwB;AAExBC,EAAAA,IAFwB;AAGxBI,EAAAA,KAHwB;AAIxBH,EAAAA;AAJwB,CAAD,KAK8B;AACrD,QAAMO,MAAoC,GAAGP,gBAAgB,CAACG,KAAK,CAACJ,IAAP,CAA7D;;AACA,MAAI,CAACQ,MAAL,EAAa;AACT;AACA,WAAO,IAAP;AACH;;AACD,QAAMC,IAAI,GAAGD,MAAM,CAACR,IAAD,CAAN,CAAaU,eAAb,CAA6B;AACtCX,IAAAA,KADsC;AAEtCK,IAAAA,KAFsC;AAGtCH,IAAAA;AAHsC,GAA7B,CAAb;;AAMA,MAAI,CAACQ,IAAL,EAAW;AACP,WAAO,IAAP;AACH,GAFD,MAEO,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AACjC,WAAO;AACHP,MAAAA,MAAM,EAAEO;AADL,KAAP;AAGH;;AAED,SAAOA,IAAP;AACH,CA1BM","sourcesContent":["import {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\n\ninterface RenderFieldsParams {\n model: CmsModel;\n type: ApiEndpoint;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface RenderFields {\n (params: RenderFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderFields: RenderFields = ({\n model,\n type,\n fieldTypePlugins\n}): CmsModelFieldDefinition[] => {\n return model.fields\n .map(field => renderField({ model, type, field, fieldTypePlugins }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\ninterface RenderFieldParams extends RenderFieldsParams {\n field: CmsModelField;\n}\n\nexport const renderField = ({\n model,\n type,\n field,\n fieldTypePlugins\n}: RenderFieldParams): CmsModelFieldDefinition | null => {\n const plugin: CmsModelFieldToGraphQLPlugin = fieldTypePlugins[field.type];\n if (!plugin) {\n // Let's not render the field if it does not exist in the field plugins.\n return null;\n }\n const defs = plugin[type].createTypeField({\n model,\n field,\n fieldTypePlugins\n });\n\n if (!defs) {\n return null;\n } else if (typeof defs === \"string\") {\n return {\n fields: defs\n };\n }\n\n return defs;\n};\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { CmsFieldTypePlugins, CmsModel } from "../../../types";
|
|
2
|
+
interface RenderGetFilterFieldsParams {
|
|
3
|
+
model: CmsModel;
|
|
4
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
5
|
+
}
|
|
2
6
|
interface RenderGetFilterFields {
|
|
3
|
-
(params:
|
|
4
|
-
model: CmsModel;
|
|
5
|
-
fieldTypePlugins: CmsFieldTypePlugins;
|
|
6
|
-
}): string;
|
|
7
|
+
(params: RenderGetFilterFieldsParams): string;
|
|
7
8
|
}
|
|
8
9
|
export declare const renderGetFilterFields: RenderGetFilterFields;
|
|
9
10
|
export {};
|
|
@@ -1,38 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.renderGetFilterFields = void 0;
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
const getCreateFilters = (plugins, fieldType) => {
|
|
9
|
+
if (!plugins[fieldType] || !plugins[fieldType].read.createGetFilters) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return plugins[fieldType].read.createGetFilters;
|
|
14
|
+
};
|
|
11
15
|
|
|
12
16
|
const renderGetFilterFields = ({
|
|
13
17
|
model,
|
|
14
18
|
fieldTypePlugins
|
|
15
19
|
}) => {
|
|
16
|
-
const fieldIds = model.fields.filter(
|
|
20
|
+
const fieldIds = model.fields.filter(field => {
|
|
17
21
|
// Every time a client updates content model's fields, we check the type of each field. If a field plugin
|
|
18
22
|
// for a particular "field.type" doesn't exist on the backend yet, we throw an error. But still, we also
|
|
19
23
|
// want to be careful when accessing the field plugin here too. It is still possible to have a content model
|
|
20
24
|
// that contains a field, for which we don't have a plugin registered on the backend. For example, user
|
|
21
25
|
// could've just removed the plugin from the backend.
|
|
22
|
-
|
|
26
|
+
if (!fieldTypePlugins[field.type]) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return fieldTypePlugins[field.type].isSearchable;
|
|
23
31
|
}).map(f => f.fieldId);
|
|
24
32
|
const filters = ["id: ID", "entryId: String"];
|
|
25
33
|
|
|
26
|
-
for (
|
|
27
|
-
const field = model.fields.find(item => item.fieldId ===
|
|
28
|
-
const createGetFilters = (0, _get.default)(fieldTypePlugins, `${field.type}.read.createGetFilters`);
|
|
34
|
+
for (const id of fieldIds) {
|
|
35
|
+
const field = model.fields.find(item => item.fieldId === id);
|
|
29
36
|
|
|
30
|
-
if (
|
|
31
|
-
|
|
32
|
-
model,
|
|
33
|
-
field
|
|
34
|
-
}));
|
|
37
|
+
if (!field) {
|
|
38
|
+
continue;
|
|
35
39
|
}
|
|
40
|
+
|
|
41
|
+
const createGetFilters = getCreateFilters(fieldTypePlugins, field.type);
|
|
42
|
+
|
|
43
|
+
if (typeof createGetFilters !== "function") {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
filters.push(createGetFilters({
|
|
48
|
+
model,
|
|
49
|
+
field
|
|
50
|
+
}));
|
|
36
51
|
}
|
|
37
52
|
|
|
38
53
|
return filters.filter(Boolean).join("\n");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderGetFilterFields.ts"],"names":["getCreateFilters","plugins","fieldType","read","createGetFilters","renderGetFilterFields","model","fieldTypePlugins","fieldIds","fields","filter","field","type","isSearchable","map","f","fieldId","filters","id","find","item","push","Boolean","join"],"mappings":";;;;;;;AAUA,MAAMA,gBAAgB,GAAG,CACrBC,OADqB,EAErBC,SAFqB,KAG6C;AAClE,MAAI,CAACD,OAAO,CAACC,SAAD,CAAR,IAAuB,CAACD,OAAO,CAACC,SAAD,CAAP,CAAmBC,IAAnB,CAAwBC,gBAApD,EAAsE;AAClE,WAAO,IAAP;AACH;;AACD,SAAOH,OAAO,CAACC,SAAD,CAAP,CAAmBC,IAAnB,CAAwBC,gBAA/B;AACH,CARD;;AAUO,MAAMC,qBAA4C,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAiC;AACzF,QAAMC,QAAQ,GAAGF,KAAK,CAACG,MAAN,CACZC,MADY,CACLC,KAAK,IAAI;AACb;AACA;AACA;AACA;AACA;AACA,QAAI,CAACJ,gBAAgB,CAACI,KAAK,CAACC,IAAP,CAArB,EAAmC;AAC/B,aAAO,KAAP;AACH;;AACD,WAAOL,gBAAgB,CAACI,KAAK,CAACC,IAAP,CAAhB,CAA6BC,YAApC;AACH,GAXY,EAYZC,GAZY,CAYRC,CAAC,IAAIA,CAAC,CAACC,OAZC,CAAjB;AAcA,QAAMC,OAAiB,GAAG,CAAC,QAAD,EAAW,iBAAX,CAA1B;;AAEA,OAAK,MAAMC,EAAX,IAAiBV,QAAjB,EAA2B;AACvB,UAAMG,KAAK,GAAGL,KAAK,CAACG,MAAN,CAAaU,IAAb,CAAkBC,IAAI,IAAIA,IAAI,CAACJ,OAAL,KAAiBE,EAA3C,CAAd;;AACA,QAAI,CAACP,KAAL,EAAY;AACR;AACH;;AACD,UAAMP,gBAAgB,GAAGJ,gBAAgB,CAACO,gBAAD,EAAmBI,KAAK,CAACC,IAAzB,CAAzC;;AACA,QAAI,OAAOR,gBAAP,KAA4B,UAAhC,EAA4C;AACxC;AACH;;AACDa,IAAAA,OAAO,CAACI,IAAR,CAAajB,gBAAgB,CAAC;AAAEE,MAAAA,KAAF;AAASK,MAAAA;AAAT,KAAD,CAA7B;AACH;;AAED,SAAOM,OAAO,CAACP,MAAR,CAAeY,OAAf,EAAwBC,IAAxB,CAA6B,IAA7B,CAAP;AACH,CA9BM","sourcesContent":["import { CmsFieldTypePlugins, CmsModel, CmsModelFieldToGraphQLPlugin } from \"~/types\";\n\ninterface RenderGetFilterFieldsParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface RenderGetFilterFields {\n (params: RenderGetFilterFieldsParams): string;\n}\n\nconst getCreateFilters = (\n plugins: CmsFieldTypePlugins,\n fieldType: string\n): CmsModelFieldToGraphQLPlugin[\"read\"][\"createGetFilters\"] | null => {\n if (!plugins[fieldType] || !plugins[fieldType].read.createGetFilters) {\n return null;\n }\n return plugins[fieldType].read.createGetFilters;\n};\n\nexport const renderGetFilterFields: RenderGetFilterFields = ({ model, fieldTypePlugins }) => {\n const fieldIds = model.fields\n .filter(field => {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n if (!fieldTypePlugins[field.type]) {\n return false;\n }\n return fieldTypePlugins[field.type].isSearchable;\n })\n .map(f => f.fieldId);\n\n const filters: string[] = [\"id: ID\", \"entryId: String\"];\n\n for (const id of fieldIds) {\n const field = model.fields.find(item => item.fieldId === id);\n if (!field) {\n continue;\n }\n const createGetFilters = getCreateFilters(fieldTypePlugins, field.type);\n if (typeof createGetFilters !== \"function\") {\n continue;\n }\n filters.push(createGetFilters({ model, field }));\n }\n\n return filters.filter(Boolean).join(\"\\n\");\n};\n"]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { CmsFieldTypePlugins, CmsModel, CmsModelFieldDefinition } from "../../../types";
|
|
1
|
+
import { CmsFieldTypePlugins, CmsModel, CmsModelField, CmsModelFieldDefinition } from "../../../types";
|
|
2
|
+
interface RenderInputFieldsParams {
|
|
3
|
+
model: CmsModel;
|
|
4
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
5
|
+
}
|
|
6
|
+
interface RenderInputFieldParams extends RenderInputFieldsParams {
|
|
7
|
+
field: CmsModelField;
|
|
8
|
+
}
|
|
2
9
|
interface RenderInputFields {
|
|
3
|
-
(params:
|
|
4
|
-
model: CmsModel;
|
|
5
|
-
fieldTypePlugins: CmsFieldTypePlugins;
|
|
6
|
-
}): CmsModelFieldDefinition[];
|
|
10
|
+
(params: RenderInputFieldsParams): CmsModelFieldDefinition[];
|
|
7
11
|
}
|
|
8
12
|
export declare const renderInputFields: RenderInputFields;
|
|
9
|
-
export declare const renderInputField: ({ model, field, fieldTypePlugins }:
|
|
10
|
-
model: any;
|
|
11
|
-
field: any;
|
|
12
|
-
fieldTypePlugins: any;
|
|
13
|
-
}) => CmsModelFieldDefinition;
|
|
13
|
+
export declare const renderInputField: ({ model, field, fieldTypePlugins }: RenderInputFieldParams) => CmsModelFieldDefinition | null;
|
|
14
14
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderInputFields.ts"],"names":["renderInputFields","model","fieldTypePlugins","fields","map","field","renderInputField","filter","Boolean","plugin","type","def","manage","createInputField"],"mappings":";;;;;;;AAmBO,MAAMA,iBAAoC,GAAG,CAAC;AACjDC,EAAAA,KADiD;AAEjDC,EAAAA;AAFiD,CAAD,KAGnB;AAC7B,SAAOD,KAAK,CAACE,MAAN,CACFC,GADE,CACEC,KAAK,IAAIC,gBAAgB,CAAC;AAAEL,IAAAA,KAAF;AAASI,IAAAA,KAAT;AAAgBH,IAAAA;AAAhB,GAAD,CAD3B,EAEFK,MAFE,CAEKC,OAFL,CAAP;AAGH,CAPM;;;;AASA,MAAMF,gBAAgB,GAAG,CAAC;AAC7BL,EAAAA,KAD6B;AAE7BI,EAAAA,KAF6B;AAG7BH,EAAAA;AAH6B,CAAD,KAI8B;AAC1D;AACA;AACA;AACA;AACA;AACA,QAAMO,MAAoC,GAAGP,gBAAgB,CAACG,KAAK,CAACK,IAAP,CAA7D;;AAEA,MAAI,CAACD,MAAL,EAAa;AACT;AACA,WAAO,IAAP;AACH;;AAED,QAAME,GAAG,GAAGF,MAAM,CAACG,MAAP,CAAcC,gBAAd,CAA+B;AACvCZ,IAAAA,KADuC;AAEvCI,IAAAA,KAFuC;AAGvCH,IAAAA;AAHuC,GAA/B,CAAZ;;AAKA,MAAI,OAAOS,GAAP,KAAe,QAAnB,EAA6B;AACzB,WAAO;AACHR,MAAAA,MAAM,EAAEQ;AADL,KAAP;AAGH;;AAED,SAAOA,GAAP;AACH,CA7BM","sourcesContent":["import {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\n\ninterface RenderInputFieldsParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface RenderInputFieldParams extends RenderInputFieldsParams {\n field: CmsModelField;\n}\ninterface RenderInputFields {\n (params: RenderInputFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderInputFields: RenderInputFields = ({\n model,\n fieldTypePlugins\n}): CmsModelFieldDefinition[] => {\n return model.fields\n .map(field => renderInputField({ model, field, fieldTypePlugins }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\nexport const renderInputField = ({\n model,\n field,\n fieldTypePlugins\n}: RenderInputFieldParams): CmsModelFieldDefinition | null => {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const plugin: CmsModelFieldToGraphQLPlugin = fieldTypePlugins[field.type];\n\n if (!plugin) {\n // Let's not render the field if it does not exist in the field plugins.\n return null;\n }\n\n const def = plugin.manage.createInputField({\n model,\n field,\n fieldTypePlugins\n });\n if (typeof def === \"string\") {\n return {\n fields: def\n };\n }\n\n return def;\n};\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CmsFieldTypePlugins, CmsModel } from "../../../types";
|
|
1
|
+
import { ApiEndpoint, CmsFieldTypePlugins, CmsModel } from "../../../types";
|
|
2
|
+
interface RenderListFilterFieldsParams {
|
|
3
|
+
model: CmsModel;
|
|
4
|
+
type: ApiEndpoint;
|
|
5
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
6
|
+
}
|
|
2
7
|
interface RenderListFilterFields {
|
|
3
|
-
(params:
|
|
4
|
-
model: CmsModel;
|
|
5
|
-
type: "read" | "manage";
|
|
6
|
-
fieldTypePlugins: CmsFieldTypePlugins;
|
|
7
|
-
}): string;
|
|
8
|
+
(params: RenderListFilterFieldsParams): string;
|
|
8
9
|
}
|
|
9
10
|
export declare const renderListFilterFields: RenderListFilterFields;
|
|
10
11
|
export {};
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.renderListFilterFields = void 0;
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
/**
|
|
9
|
+
* We cast as read type, because input and output of read and manage are same. This way we ease things.
|
|
10
|
+
* Internal stuff so it should be ok.
|
|
11
|
+
* TODO note that if changing read/manage types, change this as well.
|
|
12
|
+
*/
|
|
13
|
+
const getCreateListFilters = (plugins, fieldType, type) => {
|
|
14
|
+
if (!plugins[fieldType]) {
|
|
15
|
+
return null;
|
|
16
|
+
} else if (!plugins[fieldType][type]) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return plugins[fieldType][type].createListFilters;
|
|
21
|
+
};
|
|
11
22
|
|
|
12
23
|
const renderListFilterFields = ({
|
|
13
24
|
model,
|
|
@@ -16,21 +27,22 @@ const renderListFilterFields = ({
|
|
|
16
27
|
}) => {
|
|
17
28
|
const fields = [["id: ID", "id_not: ID", "id_in: [ID!]", "id_not_in: [ID!]", "entryId: String", "entryId_not: String", "entryId_in: [String!]", "entryId_not_in: [String!]", "createdOn: DateTime", "createdOn_gt: DateTime", "createdOn_gte: DateTime", "createdOn_lt: DateTime", "createdOn_lte: DateTime", "createdOn_between: [DateTime!]", "createdOn_not_between: [DateTime!]", "savedOn: DateTime", "savedOn_gt: DateTime", "savedOn_gte: DateTime", "savedOn_lt: DateTime", "savedOn_lte: DateTime", "savedOn_between: [DateTime!]", "savedOn_not_between: [DateTime!]", "createdBy: String", "createdBy_not: String", "createdBy_in: [String!]", "createdBy_not_in: [String!]", "ownedBy: String", "ownedBy_not: String", "ownedBy_in: [String!]", "ownedBy_not_in: [String!]"].join("\n")];
|
|
18
29
|
|
|
19
|
-
for (
|
|
20
|
-
|
|
30
|
+
for (const field of model.fields) {
|
|
31
|
+
// Every time a client updates content model's fields, we check the type of each field. If a field plugin
|
|
21
32
|
// for a particular "field.type" doesn't exist on the backend yet, we throw an error. But still, we also
|
|
22
33
|
// want to be careful when accessing the field plugin here too. It is still possible to have a content model
|
|
23
34
|
// that contains a field, for which we don't have a plugin registered on the backend. For example, user
|
|
24
35
|
// could've just removed the plugin from the backend.
|
|
36
|
+
const createListFilters = getCreateListFilters(fieldTypePlugins, field.type, type);
|
|
25
37
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (typeof createListFilters === "function") {
|
|
29
|
-
fields.push(createListFilters({
|
|
30
|
-
model,
|
|
31
|
-
field
|
|
32
|
-
}));
|
|
38
|
+
if (typeof createListFilters !== "function") {
|
|
39
|
+
continue;
|
|
33
40
|
}
|
|
41
|
+
|
|
42
|
+
fields.push(createListFilters({
|
|
43
|
+
model,
|
|
44
|
+
field
|
|
45
|
+
}));
|
|
34
46
|
}
|
|
35
47
|
|
|
36
48
|
return fields.filter(Boolean).join("\n");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderListFilterFields.ts"],"names":["getCreateListFilters","plugins","fieldType","type","createListFilters","renderListFilterFields","model","fieldTypePlugins","fields","join","field","push","filter","Boolean"],"mappings":";;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,GAAG,CACzBC,OADyB,EAEzBC,SAFyB,EAGzBC,IAHyB,KAIM;AAC/B,MAAI,CAACF,OAAO,CAACC,SAAD,CAAZ,EAAyB;AACrB,WAAO,IAAP;AACH,GAFD,MAEO,IAAI,CAACD,OAAO,CAACC,SAAD,CAAP,CAAmBC,IAAnB,CAAL,EAA+B;AAClC,WAAO,IAAP;AACH;;AACD,SAAOF,OAAO,CAACC,SAAD,CAAP,CAAmBC,IAAnB,EAAyBC,iBAAhC;AACH,CAXD;;AAaO,MAAMC,sBAA8C,GAAG,CAAC;AAC3DC,EAAAA,KAD2D;AAE3DH,EAAAA,IAF2D;AAG3DI,EAAAA;AAH2D,CAAD,KAIhD;AACV,QAAMC,MAAgB,GAAG,CACrB,CACI,QADJ,EAEI,YAFJ,EAGI,cAHJ,EAII,kBAJJ,EAKI,iBALJ,EAMI,qBANJ,EAOI,uBAPJ,EAQI,2BARJ,EASI,qBATJ,EAUI,wBAVJ,EAWI,yBAXJ,EAYI,wBAZJ,EAaI,yBAbJ,EAcI,gCAdJ,EAeI,oCAfJ,EAgBI,mBAhBJ,EAiBI,sBAjBJ,EAkBI,uBAlBJ,EAmBI,sBAnBJ,EAoBI,uBApBJ,EAqBI,8BArBJ,EAsBI,kCAtBJ,EAuBI,mBAvBJ,EAwBI,uBAxBJ,EAyBI,yBAzBJ,EA0BI,6BA1BJ,EA2BI,iBA3BJ,EA4BI,qBA5BJ,EA6BI,uBA7BJ,EA8BI,2BA9BJ,EA+BEC,IA/BF,CA+BO,IA/BP,CADqB,CAAzB;;AAmCA,OAAK,MAAMC,KAAX,IAAoBJ,KAAK,CAACE,MAA1B,EAAkC;AAC9B;AACA;AACA;AACA;AACA;AAEA,UAAMJ,iBAAiB,GAAGJ,oBAAoB,CAACO,gBAAD,EAAmBG,KAAK,CAACP,IAAzB,EAA+BA,IAA/B,CAA9C;;AACA,QAAI,OAAOC,iBAAP,KAA6B,UAAjC,EAA6C;AACzC;AACH;;AACDI,IAAAA,MAAM,CAACG,IAAP,CAAYP,iBAAiB,CAAC;AAAEE,MAAAA,KAAF;AAASI,MAAAA;AAAT,KAAD,CAA7B;AACH;;AAED,SAAOF,MAAM,CAACI,MAAP,CAAcC,OAAd,EAAuBJ,IAAvB,CAA4B,IAA5B,CAAP;AACH,CAvDM","sourcesContent":["import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelFieldToGraphQLPlugin } from \"~/types\";\n\ninterface RenderListFilterFieldsParams {\n model: CmsModel;\n type: ApiEndpoint;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface RenderListFilterFields {\n (params: RenderListFilterFieldsParams): string;\n}\n\ntype CreateListFiltersType =\n | CmsModelFieldToGraphQLPlugin[\"read\"][\"createListFilters\"]\n | CmsModelFieldToGraphQLPlugin[\"manage\"][\"createListFilters\"];\n/**\n * We cast as read type, because input and output of read and manage are same. This way we ease things.\n * Internal stuff so it should be ok.\n * TODO note that if changing read/manage types, change this as well.\n */\nconst getCreateListFilters = (\n plugins: CmsFieldTypePlugins,\n fieldType: string,\n type: ApiEndpoint\n): CreateListFiltersType | null => {\n if (!plugins[fieldType]) {\n return null;\n } else if (!plugins[fieldType][type]) {\n return null;\n }\n return plugins[fieldType][type].createListFilters;\n};\n\nexport const renderListFilterFields: RenderListFilterFields = ({\n model,\n type,\n fieldTypePlugins\n}): string => {\n const fields: string[] = [\n [\n \"id: ID\",\n \"id_not: ID\",\n \"id_in: [ID!]\",\n \"id_not_in: [ID!]\",\n \"entryId: String\",\n \"entryId_not: String\",\n \"entryId_in: [String!]\",\n \"entryId_not_in: [String!]\",\n \"createdOn: DateTime\",\n \"createdOn_gt: DateTime\",\n \"createdOn_gte: DateTime\",\n \"createdOn_lt: DateTime\",\n \"createdOn_lte: DateTime\",\n \"createdOn_between: [DateTime!]\",\n \"createdOn_not_between: [DateTime!]\",\n \"savedOn: DateTime\",\n \"savedOn_gt: DateTime\",\n \"savedOn_gte: DateTime\",\n \"savedOn_lt: DateTime\",\n \"savedOn_lte: DateTime\",\n \"savedOn_between: [DateTime!]\",\n \"savedOn_not_between: [DateTime!]\",\n \"createdBy: String\",\n \"createdBy_not: String\",\n \"createdBy_in: [String!]\",\n \"createdBy_not_in: [String!]\",\n \"ownedBy: String\",\n \"ownedBy_not: String\",\n \"ownedBy_in: [String!]\",\n \"ownedBy_not_in: [String!]\"\n ].join(\"\\n\")\n ];\n\n for (const field of model.fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n\n const createListFilters = getCreateListFilters(fieldTypePlugins, field.type, type);\n if (typeof createListFilters !== \"function\") {\n continue;\n }\n fields.push(createListFilters({ model, field }));\n }\n\n return fields.filter(Boolean).join(\"\\n\");\n};\n"]}
|