@webiny/api-headless-cms 5.24.0 → 5.25.0-beta.2
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 +4 -0
- 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.js +2 -1
- package/content/plugins/crud/contentEntry/afterDelete.js.map +1 -0
- package/content/plugins/crud/contentEntry/beforeCreate.js.map +1 -0
- 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.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.js.map +1 -0
- package/content/plugins/crud/contentModel/afterDelete.js.map +1 -0
- package/content/plugins/crud/contentModel/afterUpdate.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeCreate.d.ts +2 -2
- 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.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeUpdate.js +12 -4
- package/content/plugins/crud/contentModel/beforeUpdate.js.map +1 -0
- 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.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.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +1 -0
- 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 +2 -2
- 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 +11 -5
- package/content/plugins/graphqlFields/object.js.map +1 -0
- package/content/plugins/graphqlFields/ref.js +26 -13
- 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.js.map +1 -0
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +1 -0
- 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.js.map +1 -0
- package/content/plugins/schema/createManageResolvers.js.map +1 -0
- package/content/plugins/schema/createManageSDL.js.map +1 -0
- package/content/plugins/schema/createPreviewResolvers.js.map +1 -0
- package/content/plugins/schema/createReadResolvers.js.map +1 -0
- 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.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveDelete.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveList.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolvePublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRepublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveUpdate.js.map +1 -0
- package/content/plugins/schema/resolvers/preview/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/preview/resolveList.js.map +1 -0
- package/content/plugins/schema/resolvers/read/resolveGet.js.map +1 -0
- 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.js.map +1 -0
- package/content/plugins/storage/default.js.map +1 -0
- package/content/plugins/storage/object.js +6 -2
- package/content/plugins/storage/object.js.map +1 -0
- 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.js +1 -1
- package/content/plugins/utils/getEntryTitle.js.map +1 -0
- package/content/plugins/utils/getSchemaFromFieldPlugins.js +8 -3
- package/content/plugins/utils/getSchemaFromFieldPlugins.js.map +1 -0
- package/content/plugins/utils/pluralizedTypeName.js.map +1 -0
- package/content/plugins/utils/renderFields.js.map +1 -0
- package/content/plugins/utils/renderGetFilterFields.js +5 -0
- package/content/plugins/utils/renderGetFilterFields.js.map +1 -0
- package/content/plugins/utils/renderInputFields.d.ts +1 -1
- package/content/plugins/utils/renderInputFields.js.map +1 -0
- package/content/plugins/utils/renderListFilterFields.js.map +1 -0
- 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.js.map +1 -0
- package/package.json +26 -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 +1 -1
- 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 +1 -0
- package/plugins/upgrades/v5.5.0/index.js.map +1 -0
- package/transformers.js.map +1 -0
- package/types.d.ts +58 -28
- package/types.js +6 -0
- package/types.js.map +1 -0
- package/utils.d.ts +12 -14
- package/utils.js.map +1 -0
- package/content/plugins/graphqlFields/requiredField.d.ts +0 -2
- package/content/plugins/graphqlFields/requiredField.js +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["baseSchema.ts"],"names":["baseSchema","context","scalars","plugins","byType","map","item","scalar","GraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"mappings":";;;;;;;;;;;AAEA;;AAWA;;;;;;AAGA,MAAMA,UAAU,GAAIC,OAAD,IAA8C;AAC7D,QAAMC,OAAO,GAAGD,OAAO,CAACE,OAAR,CACXC,MADW,CACiB,gBADjB,EAEXC,GAFW,CAEPC,IAAI,IAAIA,IAAI,CAACC,MAFN,CAAhB;AAIA,SAAO,IAAIC,wCAAJ,CAAwB;AAC3BC,IAAAA,QAAQ;AAAE;AAAe;AACjC,cAAcP,OAAO,CAACG,GAAR,CAAYE,MAAM,IAAK,UAASA,MAAM,CAACG,IAAK,EAA5C,EAA+CC,IAA/C,CAAoD,GAApD,CAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SArDmC;AAsD3BC,IAAAA,SAAS,kCACFV,OAAO,CAACW,MAAR,CAAe,CAACC,GAAD,EAAMC,CAAN,KAAY;AAC1BD,MAAAA,GAAG,CAACC,CAAC,CAACL,IAAH,CAAH,GAAcK,CAAd;AACA,aAAOD,GAAP;AACH,KAHE,EAGA,EAHA,CADE;AAKLE,MAAAA,IAAI,EAAEC,wBALD;AAMLC,MAAAA,IAAI,EAAEC,wBAND;AAOLC,MAAAA,QAAQ,EAARA,sBAPK;AAQLC,MAAAA,MAAM,EAAEC,oBARH;AASLC,MAAAA,GAAG,EAAEC,iBATA;AAULC,MAAAA,QAAQ,EAAEC,4BAVL;AAWLC,MAAAA,SAAS,EAAEC,6BAXN;AAYLC,MAAAA,IAAI,EAAEC,wBAZD;AAaLC,MAAAA,IAAI,EAAEC,wBAbD;AAcLC,MAAAA,QAAQ,EAAE;AACNC,QAAAA,MAAM,EAAE,MAAM;AADR;AAdL;AAtDkB,GAAxB,CAAP;AAyEH,CA9ED;;eAgFelC,U","sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInput,\n Number as NumberScalar,\n Any as AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { GraphQLScalarType } from \"graphql\";\n\nconst baseSchema = (context: CmsContext): GraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsCreatedBy {\n id: String\n displayName: String\n type: String\n }\n\n type CmsOwnedBy {\n id: String\n displayName: String\n type: String\n }\n `,\n resolvers: {\n ...scalars.reduce((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {} as Record<string, GraphQLScalarType>),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n};\n\nexport default baseSchema;\n"]}
|
|
@@ -15,7 +15,10 @@ var _getEntryTitle = require("../utils/getEntryTitle");
|
|
|
15
15
|
|
|
16
16
|
const plugin = context => {
|
|
17
17
|
if (!context.cms.MANAGE) {
|
|
18
|
-
return
|
|
18
|
+
return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
|
|
19
|
+
typeDefs: "",
|
|
20
|
+
resolvers: {}
|
|
21
|
+
});
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
|
|
@@ -76,7 +79,9 @@ const plugin = context => {
|
|
|
76
79
|
const getters = models.filter(model => modelIds.includes(model.modelId)).map(async model => {
|
|
77
80
|
const latest = query === "__latest__";
|
|
78
81
|
const modelManager = await context.cms.getModelManager(model.modelId);
|
|
79
|
-
const where = {
|
|
82
|
+
const where = {
|
|
83
|
+
tenant: model.tenant
|
|
84
|
+
};
|
|
80
85
|
|
|
81
86
|
if (!latest) {
|
|
82
87
|
where[`${model.titleFieldId}_contains`] = query;
|
|
@@ -118,7 +123,8 @@ const plugin = context => {
|
|
|
118
123
|
});
|
|
119
124
|
}
|
|
120
125
|
|
|
121
|
-
const
|
|
126
|
+
const result = await context.cms.getEntriesByIds(model, [id]);
|
|
127
|
+
const [entry] = result;
|
|
122
128
|
return new _handlerGraphql.Response({
|
|
123
129
|
id: entry.id,
|
|
124
130
|
model: {
|
|
@@ -136,10 +142,11 @@ const plugin = context => {
|
|
|
136
142
|
collection[model.modelId] = model;
|
|
137
143
|
return collection;
|
|
138
144
|
}, {});
|
|
139
|
-
const
|
|
145
|
+
const argsEntries = args.entries;
|
|
146
|
+
const entriesByModel = argsEntries.reduce((collection, ref) => {
|
|
140
147
|
if (!collection[ref.modelId]) {
|
|
141
148
|
collection[ref.modelId] = [];
|
|
142
|
-
} else if (collection[ref.modelId].includes(ref.id)
|
|
149
|
+
} else if (collection[ref.modelId].includes(ref.id)) {
|
|
143
150
|
return collection;
|
|
144
151
|
}
|
|
145
152
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["contentEntries.ts"],"names":["plugin","context","cms","MANAGE","GraphQLSchemaPlugin","typeDefs","resolvers","Query","searchContentEntries","_","args","modelIds","query","limit","models","listModels","getters","filter","model","includes","modelId","map","latest","modelManager","getModelManager","where","tenant","titleFieldId","items","listLatest","entry","id","name","status","title","savedOn","entries","Promise","all","then","results","reduce","result","item","concat","Response","sort","a","b","Date","parse","slice","getContentEntry","find","m","NotAuthorizedResponse","data","getEntriesByIds","getContentEntries","modelsMap","collection","argsEntries","entriesByModel","ref","push","Object","keys","length"],"mappings":"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","sourcesContent":["import { Response } from \"@webiny/handler-graphql\";\nimport { CmsEntry, CmsContext, CmsModel, CmsEntryListWhere } from \"~/types\";\nimport { NotAuthorizedResponse } from \"@webiny/api-security\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { getEntryTitle } from \"~/content/plugins/utils/getEntryTitle\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n return new GraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsModelMeta {\n modelId: String\n name: String\n }\n\n type CmsContentEntry {\n id: ID\n model: CmsModelMeta\n status: String\n title: String\n }\n\n type CmsContentEntriesResponse {\n data: [CmsContentEntry]\n error: CmsError\n }\n\n type CmsContentEntryResponse {\n data: CmsContentEntry\n error: CmsError\n }\n\n input CmsModelEntryInput {\n modelId: ID!\n id: ID!\n }\n\n extend type Query {\n # Search content entries for given content models using the query string.\n searchContentEntries(\n modelIds: [ID!]!\n query: String!\n limit: Int\n ): CmsContentEntriesResponse\n\n # Get content entry meta data\n getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse\n\n # Get content entries meta data\n getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse\n }\n `,\n resolvers: {\n Query: {\n async searchContentEntries(_, args: any, context) {\n const { modelIds, query, limit = 10 } = args;\n const models = await context.cms.listModels();\n\n const getters = models\n .filter(model => modelIds.includes(model.modelId))\n .map(async model => {\n const latest = query === \"__latest__\";\n const modelManager = await context.cms.getModelManager(model.modelId);\n const where: CmsEntryListWhere = {\n tenant: model.tenant\n };\n if (!latest) {\n where[`${model.titleFieldId}_contains`] = query;\n }\n const [items] = await modelManager.listLatest({\n limit,\n where\n });\n\n return items.map((entry: CmsEntry) => ({\n id: entry.id,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry),\n // We need `savedOn` to sort entries from latest to oldest\n savedOn: entry.savedOn\n }));\n });\n\n const entries = await Promise.all(getters).then(results =>\n results.reduce((result, item) => result.concat(item), [])\n );\n\n return new Response(\n entries\n .sort((a, b) => Date.parse(b.savedOn) - Date.parse(a.savedOn))\n .slice(0, limit)\n );\n },\n async getContentEntry(_, args: any, context) {\n const { modelId, id } = args.entry;\n const models = await context.cms.listModels();\n const model = models.find(m => m.modelId === modelId);\n\n if (!model) {\n return new NotAuthorizedResponse({ data: { modelId } });\n }\n\n const result = await context.cms.getEntriesByIds(model, [id]);\n\n const [entry] = result;\n\n return new Response({\n id: entry.id,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry)\n });\n },\n async getContentEntries(_, args: any, context) {\n const models = await context.cms.listModels();\n\n const modelsMap = models.reduce((collection, model) => {\n collection[model.modelId] = model;\n return collection;\n }, {} as Record<string, CmsModel>);\n\n const argsEntries = args.entries as Pick<CmsEntry, \"id\" | \"modelId\">[];\n\n const entriesByModel = argsEntries.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.id)) {\n return collection;\n }\n collection[ref.modelId].push(ref.id);\n return collection;\n }, {} as EntriesByModel);\n\n const getters: Promise<CmsEntry[]>[] = Object.keys(entriesByModel).map(\n async modelId => {\n return context.cms.getEntriesByIds(\n modelsMap[modelId],\n entriesByModel[modelId]\n );\n }\n );\n\n if (getters.length === 0) {\n return new Response([]);\n }\n\n const results = await Promise.all(getters);\n\n const entries = results.reduce((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return {\n id: item.id,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: item.status,\n title: getEntryTitle(model, item)\n };\n })\n );\n }, [] as any[]);\n\n return new Response(entries);\n }\n }\n }\n });\n};\n\nexport default plugin;\n"]}
|
|
@@ -74,8 +74,7 @@ const plugin = context => {
|
|
|
74
74
|
return models.filter(m => m.group === group.id).length;
|
|
75
75
|
},
|
|
76
76
|
plugin: async (group, _, context) => {
|
|
77
|
-
|
|
78
|
-
return Boolean(groupPlugin);
|
|
77
|
+
return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).some(item => item.contentModelGroup.id === group.id);
|
|
79
78
|
}
|
|
80
79
|
},
|
|
81
80
|
Query: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["contentModelGroups.ts"],"names":["plugin","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","security","disableAuthorization","models","listModels","enableAuthorization","filter","m","id","totalContentModels","length","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","model","getGroup","Response","e","ErrorResponse","listContentModelGroups","__","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","GraphQLSchemaPlugin","typeDefs"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA;;AAEA,MAAMA,MAAM,GAAIC,OAAD,IAA0D;AACrE,MAAIC,YAAY,GAAG,EAAnB;;AACA,MAAID,OAAO,CAACE,GAAR,CAAYC,MAAhB,EAAwB;AACpBF,IAAAA,YAAY;AAAG;AAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SApCQ;AAqCH;;AAED,MAAIG,SAAgC,GAAG,EAAvC;;AAEA,MAAIJ,OAAO,CAACE,GAAR,CAAYC,MAAhB,EAAwB;AACpBC,IAAAA,SAAS,GAAG;AACRC,MAAAA,oBAAoB,EAAE;AAClBC,QAAAA,aAAa,EAAE,OAAOC,KAAP,EAAcC,CAAd,EAAiBR,OAAjB,KAA6B;AACxCA,UAAAA,OAAO,CAACS,QAAR,CAAiBC,oBAAjB;AACA,gBAAMC,MAAM,GAAG,MAAMX,OAAO,CAACE,GAAR,CAAYU,UAAZ,EAArB;AACAZ,UAAAA,OAAO,CAACS,QAAR,CAAiBI,mBAAjB;AACA,iBAAOF,MAAM,CAACG,MAAP,CAAcC,CAAC,IAAIA,CAAC,CAACR,KAAF,CAAQS,EAAR,KAAeT,KAAK,CAACS,EAAxC,CAAP;AACH,SANiB;AAOlBC,QAAAA,kBAAkB,EAAE,OAAOV,KAAP,EAAcC,CAAd,EAAiBR,OAAjB,KAA6B;AAC7CA,UAAAA,OAAO,CAACS,QAAR,CAAiBC,oBAAjB;AACA,gBAAMC,MAAM,GAAG,MAAMX,OAAO,CAACE,GAAR,CAAYU,UAAZ,EAArB;AACAZ,UAAAA,OAAO,CAACS,QAAR,CAAiBI,mBAAjB;AACA,iBAAOF,MAAM,CAACG,MAAP,CAAcC,CAAC,IAAIA,CAAC,CAACR,KAAF,KAAYA,KAAK,CAACS,EAArC,EAAyCE,MAAhD;AACH,SAZiB;AAalBnB,QAAAA,MAAM,EAAE,OAAOQ,KAAP,EAAcC,CAAd,EAAiBR,OAAjB,KAA2D;AAC/D,iBAAOA,OAAO,CAACmB,OAAR,CACFC,MADE,CACqBC,+BAAeC,IADpC,EAEFC,IAFE,CAEGC,IAAI,IAAIA,IAAI,CAACC,iBAAL,CAAuBT,EAAvB,KAA8BT,KAAK,CAACS,EAF/C,CAAP;AAGH;AAjBiB,OADd;AAoBRU,MAAAA,KAAK,EAAE;AACHC,QAAAA,oBAAoB,EAAE,OAAOnB,CAAP,EAAUoB,IAAV,EAAqB5B,OAArB,KAAiC;AACnD,cAAI;AACA,kBAAM;AAAEgB,cAAAA;AAAF,gBAASY,IAAf;AACA,kBAAMC,KAAK,GAAG,MAAM7B,OAAO,CAACE,GAAR,CAAY4B,QAAZ,CAAqBd,EAArB,CAApB;AACA,mBAAO,IAAIe,wBAAJ,CAAaF,KAAb,CAAP;AACH,WAJD,CAIE,OAAOG,CAAP,EAAU;AACR,mBAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,SATE;AAUHE,QAAAA,sBAAsB,EAAE,OAAO1B,CAAP,EAAU2B,EAAV,EAAcnC,OAAd,KAA0B;AAC9C,cAAI;AACA,kBAAMW,MAAM,GAAG,MAAMX,OAAO,CAACE,GAAR,CAAYkC,UAAZ,EAArB;AACA,mBAAO,IAAIL,wBAAJ,CAAapB,MAAb,CAAP;AACH,WAHD,CAGE,OAAOqB,CAAP,EAAU;AACR,mBAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ;AAjBE,OApBC;AAuCRK,MAAAA,QAAQ,EAAE;AACNC,QAAAA,uBAAuB,EAAE,OAAO9B,CAAP,EAAUoB,IAAV,EAAqB5B,OAArB,KAAiC;AACtD,cAAI;AACA,kBAAM6B,KAAK,GAAG,MAAM7B,OAAO,CAACE,GAAR,CAAYqC,WAAZ,CAAwBX,IAAI,CAACY,IAA7B,CAApB;AACA,mBAAO,IAAIT,wBAAJ,CAAaF,KAAb,CAAP;AACH,WAHD,CAGE,OAAOG,CAAP,EAAU;AACR,mBAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,SARK;AASNS,QAAAA,uBAAuB,EAAE,OAAOjC,CAAP,EAAUoB,IAAV,EAAqB5B,OAArB,KAAiC;AACtD,cAAI;AACA,kBAAMO,KAAK,GAAG,MAAMP,OAAO,CAACE,GAAR,CAAYwC,WAAZ,CAAwBd,IAAI,CAACZ,EAA7B,EAAiCY,IAAI,CAACY,IAAtC,CAApB;AACA,mBAAO,IAAIT,wBAAJ,CAAaxB,KAAb,CAAP;AACH,WAHD,CAGE,OAAOyB,CAAP,EAAU;AACR,mBAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,SAhBK;AAiBNW,QAAAA,uBAAuB,EAAE,OAAOnC,CAAP,EAAUoB,IAAV,EAAqB5B,OAArB,KAAiC;AACtD,cAAI;AACA,kBAAMA,OAAO,CAACE,GAAR,CAAY0C,WAAZ,CAAwBhB,IAAI,CAACZ,EAA7B,CAAN;AACA,mBAAO,IAAIe,wBAAJ,CAAa,IAAb,CAAP;AACH,WAHD,CAGE,OAAOC,CAAP,EAAU;AACR,mBAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ;AAxBK;AAvCF,KAAZ;AAkEH;;AAED,SAAO,IAAIa,wCAAJ,CAAoC;AACvCC,IAAAA,QAAQ;AAAE;AAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc7C,YAAa;AAC3B,SAlB+C;AAmBvCG,IAAAA;AAnBuC,GAApC,CAAP;AAqBH,CAtID;;eAwIeL,M","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\n\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/content/plugins/CmsGroupPlugin\";\n\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(m => m.group.id === group.id);\n },\n totalContentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(m => m.group === group.id).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const model = await context.cms.getGroup(id);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const models = await context.cms.listGroups();\n return new Response(models);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsCreatedBy\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n};\n\nexport default plugin;\n"]}
|
|
@@ -33,15 +33,14 @@ const plugin = context => {
|
|
|
33
33
|
},
|
|
34
34
|
CmsContentModel: {
|
|
35
35
|
plugin: async (model, _, context) => {
|
|
36
|
-
|
|
37
|
-
return Boolean(modelPlugin);
|
|
36
|
+
return context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type).some(item => item.contentModel.modelId === model.modelId);
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
};
|
|
41
40
|
let manageSchema = "";
|
|
42
41
|
|
|
43
42
|
if (context.cms.MANAGE) {
|
|
44
|
-
resolvers
|
|
43
|
+
resolvers["Mutation"] = {
|
|
45
44
|
createContentModel: async (_, args, context) => {
|
|
46
45
|
try {
|
|
47
46
|
const model = await context.cms.createModel(args.data);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["contentModels.ts"],"names":["plugin","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","Response","e","ErrorResponse","listContentModels","__","listModels","CmsContentModel","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","GraphQLSchemaPlugin","typeDefs"],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA3EQ;AA4EH;;AAED,SAAO,IAAIW,wCAAJ,CAAoC;AACvCC,IAAAA,QAAQ;AAAE;AAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcZ,YAAa;AAC3B,SAzE+C;AA0EvCvB,IAAAA;AA1EuC,GAApC,CAAP;AA4EH,CA9ND;;eAgOeF,M","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/content/plugins/CmsModelPlugin\";\n\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const model = await context.cms.listModels();\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModel: {\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n fieldId: String!\n type: String!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n group: RefInput\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n }\n `;\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsCreatedBy\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n};\n\nexport default plugin;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createFieldResolvers.ts"],"names":["getCreateResolver","plugins","field","endpointType","type","createResolver","createFieldResolversFactory","factoryParams","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","typeResolvers","resolver","fieldResolver","Object","assign","fieldId","parent","args","context","info","transformedValue","value","values"],"mappings":"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","sourcesContent":["import set from \"lodash/set\";\nimport {\n CmsModelField,\n CmsContext,\n CmsModelFieldToGraphQLCreateResolver,\n ApiEndpoint,\n CmsModel,\n CmsFieldTypePlugins\n} from \"~/types\";\nimport { entryFieldFromStorageTransform } from \"~/content/plugins/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\n\ninterface CreateFieldResolvers {\n graphQLType: string;\n fields: CmsModelField[];\n isRoot: boolean;\n extraResolvers?: Resolvers<any>;\n}\n\ninterface CreateFieldResolversFactoryParams {\n endpointType: ApiEndpoint;\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst getCreateResolver = (\n plugins: CmsFieldTypePlugins,\n field: CmsModelField,\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver | null => {\n if (!plugins[field.type]) {\n return null;\n } else if (!plugins[field.type][endpointType]) {\n return null;\n }\n return plugins[field.type][endpointType].createResolver;\n};\n/**\n * We use a factory to avoid passing the parameters for recursive invocations.\n * This way they will always be in the function scope and we can only pass \"fields\".\n */\nexport const createFieldResolversFactory = (factoryParams: CreateFieldResolversFactoryParams) => {\n const { endpointType, models, model, fieldTypePlugins } = factoryParams;\n return function createFieldResolvers(params: CreateFieldResolvers) {\n const { graphQLType, fields, isRoot = false, extraResolvers = {} } = params;\n\n const fieldResolvers = { ...extraResolvers };\n const typeResolvers = {};\n\n for (const field of fields) {\n if (!fieldTypePlugins[field.type]) {\n continue;\n }\n\n const createResolver = getCreateResolver(fieldTypePlugins, field, endpointType);\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({ graphQLType, models, model, field, createFieldResolvers })\n : null;\n\n /**\n * When fieldResolver is false it will completely skip adding fieldId into the resolvers.\n * This is to fix the breaking of GraphQL schema.\n */\n if (fieldResolver === false) {\n continue;\n } else if (typeof fieldResolver === \"function\") {\n resolver = fieldResolver;\n } else if (fieldResolver) {\n resolver = fieldResolver.resolver;\n Object.assign(typeResolvers, fieldResolver.typeResolvers);\n }\n\n const { fieldId } = field;\n // TODO @ts-refactor figure out types for parameters\n // @ts-ignore\n fieldResolvers[fieldId] = async (parent, args, context: CmsContext, info) => {\n // Get transformed value (eg. data decompression)\n const transformedValue = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: isRoot ? parent.values[fieldId] : parent[fieldId]\n });\n\n set(isRoot ? parent.values : parent, fieldId, transformedValue);\n\n if (!resolver) {\n return isRoot ? parent.values[fieldId] : parent[fieldId];\n }\n\n return await resolver(isRoot ? parent.values : parent, args, context, info);\n };\n }\n\n return { [graphQLType]: fieldResolvers, ...typeResolvers };\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createManageResolvers.ts"],"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","typeName","modelId","mTypeName","createFieldResolvers","endpointType","fieldResolvers","graphQLType","isRoot","extraResolvers","meta","entry","title","status","revisions","_","context","cms","getEntryRevisions","entryId","sort","a","b","version"],"mappings":"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","sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext, CmsEntry } from \"~/types\";\nimport { commonFieldResolvers } from \"./resolvers/commonFieldResolvers\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveGetRevisions } from \"./resolvers/manage/resolveGetRevisions\";\nimport { resolveGetByIds } from \"./resolvers/manage/resolveGetByIds\";\nimport { resolveCreate } from \"./resolvers/manage/resolveCreate\";\nimport { resolveUpdate } from \"./resolvers/manage/resolveUpdate\";\nimport { resolveRequestReview } from \"./resolvers/manage/resolveRequestReview\";\nimport { resolveRequestChanges } from \"./resolvers/manage/resolveRequestChanges\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolvePublish } from \"./resolvers/manage/resolvePublish\";\nimport { resolveRepublish } from \"./resolvers/manage/resolveRepublish\";\nimport { resolveUnpublish } from \"./resolvers/manage/resolveUnpublish\";\nimport { resolveCreateFrom } from \"./resolvers/manage/resolveCreateFrom\";\nimport { createFieldResolversFactory } from \"~/content/plugins/schema/createFieldResolvers\";\nimport { createManageTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/content/plugins/utils/pluralizedTypeName\";\nimport { getEntryTitle } from \"~/content/plugins/utils/getEntryTitle\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateManageResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateManageResolversParams): any;\n}\n\nexport const createManageResolvers: CreateManageResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: mTypeName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n ...commonFieldResolvers(),\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`get${typeName}Revisions`]: resolveGetRevisions({ model }),\n [`get${pluralizedTypeName(typeName)}ByIds`]: resolveGetByIds({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n Mutation: {\n [`create${typeName}`]: resolveCreate({ model }),\n [`update${typeName}`]: resolveUpdate({ model }),\n [`delete${typeName}`]: resolveDelete({ model }),\n [`publish${typeName}`]: resolvePublish({ model }),\n [`republish${typeName}`]: resolveRepublish({ model }),\n [`unpublish${typeName}`]: resolveUnpublish({ model }),\n [`create${typeName}From`]: resolveCreateFrom({ model }),\n [`request${typeName}Review`]: resolveRequestReview({ model }),\n [`request${typeName}Changes`]: resolveRequestChanges({ model })\n },\n ...fieldResolvers,\n [`${mTypeName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n async revisions(entry: CmsEntry, _: any, context: CmsContext) {\n const revisions = await context.cms.getEntryRevisions(model, entry.entryId);\n return revisions.sort((a, b) => b.version - a.version);\n }\n }\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createManageSDL.ts"],"names":["createManageSDL","model","fieldTypePlugins","typeName","modelId","mTypeName","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","inputFields","fields","length","description","map","f","typeDefs","filter","Boolean","join"],"mappings":"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","sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { createManageTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/content/plugins/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/content/plugins/utils/renderSortEnum\";\nimport { renderGetFilterFields } from \"~/content/plugins/utils/renderGetFilterFields\";\nimport { renderInputFields } from \"~/content/plugins/utils/renderInputFields\";\nimport { renderFields } from \"~/content/plugins/utils/renderFields\";\nimport { pluralizedTypeName } from \"~/content/plugins/utils/pluralizedTypeName\";\n\ninterface CreateManageSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({ model, fieldTypePlugins });\n const getFilterFieldsRender = renderGetFilterFields({ model, fieldTypePlugins });\n const inputFields = renderInputFields({ model, fieldTypePlugins });\n const fields = renderFields({ model, type: \"manage\", fieldTypePlugins });\n\n if (inputFields.length === 0) {\n return \"\";\n }\n\n return /* GraphQL */ `\n \"\"\"${model.description || model.modelId}\"\"\"\n ${fields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n type ${mTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n meta: ${mTypeName}Meta\n ${fields.map(f => f.fields).join(\"\\n\")}\n }\n\n type ${mTypeName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n publishedOn: DateTime\n status: String\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB. \n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\") \n \"\"\"\n revisions: [${mTypeName}]\n title: String\n }\n \n \n ${inputFields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${\n inputFields &&\n `input ${mTypeName}Input {\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }`\n }\n\n ${\n getFilterFieldsRender &&\n `input ${mTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n\n\n ${\n listFilterFieldsRender &&\n `input ${mTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n }`\n }\n\n type ${mTypeName}Response {\n data: ${mTypeName}\n error: CmsError\n }\n \n type ${mTypeName}ArrayResponse {\n data: [${mTypeName}]\n error: CmsError\n }\n\n type ${mTypeName}ListResponse {\n data: [${mTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n ${\n sortEnumRender &&\n `enum ${mTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n\n extend type Query {\n get${typeName}(revision: ID!): ${mTypeName}Response\n \n get${typeName}Revisions(id: ID!): ${mTypeName}ArrayResponse\n \n get${pluralizedTypeName(typeName)}ByIds(revisions: [ID!]!): ${mTypeName}ArrayResponse\n\n list${pluralizedTypeName(typeName)}(\n where: ${mTypeName}ListWhereInput\n sort: [${mTypeName}ListSorter]\n limit: Int\n after: String\n ): ${mTypeName}ListResponse\n }\n\n extend type Mutation{\n create${typeName}(data: ${mTypeName}Input!): ${mTypeName}Response\n\n create${typeName}From(revision: ID!, data: ${mTypeName}Input): ${mTypeName}Response\n\n update${typeName}(revision: ID!, data: ${mTypeName}Input!): ${mTypeName}Response\n\n delete${typeName}(revision: ID!): CmsDeleteResponse\n\n publish${typeName}(revision: ID!): ${mTypeName}Response\n \n republish${typeName}(revision: ID!): ${mTypeName}Response\n\n unpublish${typeName}(revision: ID!): ${mTypeName}Response\n \n request${typeName}Review(revision: ID!): ${mTypeName}Response\n \n request${typeName}Changes(revision: ID!): ${mTypeName}Response\n }\n `;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createPreviewResolvers.ts"],"names":["createPreviewResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","modelId","rTypeName","createFieldResolvers","endpointType","fieldResolvers","graphQLType","isRoot"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAaO,MAAMA,sBAA2C,GAAG,CAAC;AACxDC,EAAAA,MADwD;AAExDC,EAAAA,KAFwD;AAGxDC,EAAAA;AAHwD,CAAD,KAIrD;AACF,MAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;AAC3B,WAAO;AACHC,MAAAA,KAAK,EAAE;AADJ,KAAP;AAGH;;AACD,QAAMC,QAAQ,GAAG,oCAAeL,KAAK,CAACM,OAArB,CAAjB;AACA,QAAMC,SAAS,GAAG,wCAAmBF,QAAnB,CAAlB;AAEA,QAAMG,oBAAoB,GAAG,uDAA4B;AACrDC,IAAAA,YAAY,EAAE,MADuC;AAErDV,IAAAA,MAFqD;AAGrDC,IAAAA,KAHqD;AAIrDC,IAAAA;AAJqD,GAA5B,CAA7B;AAOA,QAAMS,cAAc,GAAGF,oBAAoB,CAAC;AACxCG,IAAAA,WAAW,EAAEJ,SAD2B;AAExCL,IAAAA,MAAM,EAAEF,KAAK,CAACE,MAF0B;AAGxCU,IAAAA,MAAM,EAAE;AAHgC,GAAD,CAA3C;AAMA;AACIR,IAAAA,KAAK,EAAE;AACH,OAAE,MAAKC,QAAS,EAAhB,GAAoB,4BAAW;AAAEL,QAAAA;AAAF,OAAX,CADjB;AAEH,OAAE,OAAM,4CAAmBK,QAAnB,CAA6B,EAArC,GAAyC,8BAAY;AAAEL,QAAAA;AAAF,OAAZ;AAFtC;AADX,KAKOU,cALP;AAOH,CAjCM","sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet\";\nimport { resolveList } from \"./resolvers/preview/resolveList\";\nimport { createFieldResolversFactory } from \"~/content/plugins/schema/createFieldResolvers\";\nimport { createReadTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/content/plugins/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createReadResolvers.ts"],"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","modelId","rTypeName","createFieldResolvers","endpointType","fieldResolvers","graphQLType","isRoot"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAaO,MAAMA,mBAAwC,GAAG,CAAC;AAAEC,EAAAA,MAAF;AAAUC,EAAAA,KAAV;AAAiBC,EAAAA;AAAjB,CAAD,KAAyC;AAC7F,MAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;AAC3B,WAAO;AACHC,MAAAA,KAAK,EAAE;AADJ,KAAP;AAGH;;AACD,QAAMC,QAAQ,GAAG,oCAAeL,KAAK,CAACM,OAArB,CAAjB;AACA,QAAMC,SAAS,GAAG,wCAAmBF,QAAnB,CAAlB;AAEA,QAAMG,oBAAoB,GAAG,uDAA4B;AACrDC,IAAAA,YAAY,EAAE,MADuC;AAErDV,IAAAA,MAFqD;AAGrDC,IAAAA,KAHqD;AAIrDC,IAAAA;AAJqD,GAA5B,CAA7B;AAOA,QAAMS,cAAc,GAAGF,oBAAoB,CAAC;AACxCG,IAAAA,WAAW,EAAEJ,SAD2B;AAExCL,IAAAA,MAAM,EAAEF,KAAK,CAACE,MAF0B;AAGxCU,IAAAA,MAAM,EAAE;AAHgC,GAAD,CAA3C;AAMA;AACIR,IAAAA,KAAK,EAAE;AACH,OAAE,MAAKC,QAAS,EAAhB,GAAoB,4BAAW;AAAEL,QAAAA;AAAF,OAAX,CADjB;AAEH,OAAE,OAAM,4CAAmBK,QAAnB,CAA6B,EAArC,GAAyC,8BAAY;AAAEL,QAAAA;AAAF,OAAZ;AAFtC;AADX,KAKOU,cALP;AAOH,CA7BM","sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"~/content/plugins/schema/createFieldResolvers\";\nimport { createReadTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/content/plugins/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createReadSDL.ts"],"names":["createReadSDL","model","fieldTypePlugins","typeName","modelId","rTypeName","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","fieldsRender","length","description","map","f","typeDefs","filter","Boolean","join","fields"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAUO,MAAMA,aAA4B,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyC;AACjF,QAAMC,QAAQ,GAAG,oCAAeF,KAAK,CAACG,OAArB,CAAjB;AACA,QAAMC,SAAS,GAAG,wCAAmBF,QAAnB,CAAlB;AAEA,QAAMG,sBAAsB,GAAG,oDAAuB;AAClDL,IAAAA,KADkD;AAElDM,IAAAA,IAAI,EAAE,MAF4C;AAGlDL,IAAAA;AAHkD,GAAvB,CAA/B;AAMA,QAAMM,cAAc,GAAG,oCAAe;AAAEP,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAf,CAAvB;AACA,QAAMO,qBAAqB,GAAG,kDAAsB;AAAER,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAtB,CAA9B;AACA,QAAMQ,YAAY,GAAG,gCAAa;AAAET,IAAAA,KAAF;AAASM,IAAAA,IAAI,EAAE,MAAf;AAAuBL,IAAAA;AAAvB,GAAb,CAArB;;AAEA,MAAIQ,YAAY,CAACC,MAAb,KAAwB,CAA5B,EAA+B;AAC3B,WAAO,EAAP;AACH;;AAED,SAAQ;AACZ,aAAaV,KAAK,CAACW,WAAN,IAAqB,EAAG;AACrC,UAAUF,YAAY,CACTG,GADH,CACOC,CAAC,IAAIA,CAAC,CAACC,QADd,EAEGC,MAFH,CAEUC,OAFV,EAGGC,IAHH,CAGQ,IAHR,CAGc;AACxB;AACA,eAAeb,SAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,cAAcK,YAAY,CAACG,GAAb,CAAiBC,CAAC,IAAIA,CAAC,CAACK,MAAxB,EAAgCD,IAAhC,CAAqC,IAArC,CAA2C;AACzD;AACA;AACA,UACYT,qBAAqB,IACpB,SAAQJ,SAAU;AAC/B,cAAcI,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYH,sBAAsB,IACrB,SAAQD,SAAU;AAC/B,cAAcC,sBAAuB;AACrC,UACS;AACT;AACA;AACA,UACYE,cAAc,IACb,QAAOH,SAAU;AAC9B,cAAcG,cAAe;AAC7B,UACS;AACT;AACA,eAAeH,SAAU;AACzB,oBAAoBA,SAAU;AAC9B;AACA;AACA;AACA,eAAeA,SAAU;AACzB,qBAAqBA,SAAU;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiBF,QAAS,WAAUE,SAAU,oBAAmBA,SAAU;AAC3E;AACA,kBAAkB,4CAAmBF,QAAnB,CAA6B;AAC/C,yBAAyBE,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KA7DI;AA8DH,CAhFM","sourcesContent":["import { CmsModel, CmsFieldTypePlugins } from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/content/plugins/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/content/plugins/utils/renderSortEnum\";\nimport { renderFields } from \"~/content/plugins/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/content/plugins/utils/renderGetFilterFields\";\nimport { pluralizedTypeName } from \"~/content/plugins/utils/pluralizedTypeName\";\n\ninterface CreateReadSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type: \"read\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({ model, fieldTypePlugins });\n const getFilterFieldsRender = renderGetFilterFields({ model, fieldTypePlugins });\n const fieldsRender = renderFields({ model, type: \"read\", fieldTypePlugins });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n return `\n \"\"\"${model.description || \"\"}\"\"\"\n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n type ${rTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${\n getFilterFieldsRender &&\n `input ${rTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n \n \n ${\n listFilterFieldsRender &&\n `input ${rTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n }`\n }\n \n \n ${\n sortEnumRender &&\n `enum ${rTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${rTypeName}Response {\n data: ${rTypeName}\n error: CmsError\n }\n \n type ${rTypeName}ListResponse {\n data: [${rTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response\n\n list${pluralizedTypeName(typeName)}(\n where: ${rTypeName}ListWhereInput\n sort: [${rTypeName}ListSorter]\n limit: Int\n after: String\n ): ${rTypeName}ListResponse\n }\n `;\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CmsEntry } from "../../../../types";
|
|
2
2
|
export declare const commonFieldResolvers: () => {
|
|
3
|
-
id: (entry: CmsEntry) => string;
|
|
3
|
+
id: (entry: CmsEntry) => string | null;
|
|
4
4
|
createdBy: (entry: CmsEntry) => import("../../../../types").CreatedBy;
|
|
5
5
|
ownedBy: (entry: CmsEntry) => import("../../../../types").CreatedBy;
|
|
6
6
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["commonFieldResolvers.ts"],"names":["commonFieldResolvers","id","entry","createdBy","ownedBy"],"mappings":";;;;;;;AAEO,MAAMA,oBAAoB,GAAG,OAAO;AACvCC,EAAAA,EAAE,EAAGC,KAAD,IAAqBA,KAAK,CAACD,EAAN,IAAY,IADE;AAEvCE,EAAAA,SAAS,EAAGD,KAAD,IAAqBA,KAAK,CAACC,SAAN,IAAmB,IAFZ;AAGvCC,EAAAA,OAAO,EAAGF,KAAD,IAAqBA,KAAK,CAACE,OAAN,IAAiB;AAHR,CAAP,CAA7B","sourcesContent":["import { CmsEntry } from \"~/types\";\n\nexport const commonFieldResolvers = () => ({\n id: (entry: CmsEntry) => entry.id || null,\n createdBy: (entry: CmsEntry) => entry.createdBy || null,\n ownedBy: (entry: CmsEntry) => entry.ownedBy || null\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveCreate.ts"],"names":["resolveCreate","model","_","args","context","entry","cms","createEntry","data","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,aAA4B,GACrC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,WAAZ,CAAwBN,KAAxB,EAA+BE,IAAI,CAACK,IAApC,CAApB;AAEA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAJD,CAIE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAVE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory, CreateCmsEntryInput } from \"~/types\";\n\ninterface ResolveCreateArgs {\n data: CreateCmsEntryInput;\n}\ntype ResolveCreate = ResolverFactory<any, ResolveCreateArgs>;\n\nexport const resolveCreate: ResolveCreate =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.createEntry(model, args.data);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveCreateFrom.ts"],"names":["resolveCreateFrom","model","_","args","context","newRevision","cms","createEntryRevisionFrom","revision","data","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AASO,MAAMA,iBAAoC,GAC7C,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,WAAW,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,uBAAZ,CACtBN,KADsB,EAEtBE,IAAI,CAACK,QAFiB,EAGtBL,IAAI,CAACM,IAAL,IAAa,EAHS,CAA1B;AAKA,WAAO,IAAIC,mBAAJ,CAAaL,WAAb,CAAP;AACH,GAPD,CAOE,OAAOM,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAbE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory, CreateFromCmsEntryInput } from \"~/types\";\n\ninterface ResolveCreateFromArgs {\n revision: string;\n data: CreateFromCmsEntryInput;\n}\ntype ResolveCreateFrom = ResolverFactory<any, ResolveCreateFromArgs>;\n\nexport const resolveCreateFrom: ResolveCreateFrom =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const newRevision = await context.cms.createEntryRevisionFrom(\n model,\n args.revision,\n args.data || {}\n );\n return new Response(newRevision);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveDelete.ts"],"names":["resolveDelete","model","_","args","context","version","revision","cms","deleteEntryRevision","deleteEntry","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAEA;;AAOO,MAAMA,aAA4B,GACrC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAc,4BAAgBF,IAAI,CAACG,QAArB,CAApB;;AACA,QAAID,OAAJ,EAAa;AACT,YAAMD,OAAO,CAACG,GAAR,CAAYC,mBAAZ,CAAgCP,KAAhC,EAAuCE,IAAI,CAACG,QAA5C,CAAN;AACH,KAFD,MAEO;AACH,YAAMF,OAAO,CAACG,GAAR,CAAYE,WAAZ,CAAwBR,KAAxB,EAA+BE,IAAI,CAACG,QAApC,CAAN;AACH;;AAED,WAAO,IAAII,mBAAJ,CAAa,IAAb,CAAP;AACH,GATD,CASE,OAAOC,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAfE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveDeleteArgs {\n revision: string;\n}\ntype ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;\n\nexport const resolveDelete: ResolveDelete =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const { version } = parseIdentifier(args.revision);\n if (version) {\n await context.cms.deleteEntryRevision(model, args.revision);\n } else {\n await context.cms.deleteEntry(model, args.revision);\n }\n\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveGet.ts"],"names":["resolveGet","model","_","args","context","entry","cms","getEntryById","revision","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AASO,MAAMA,UAAsB,GAC/B,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,YAAZ,CAAyBN,KAAzB,EAAgCE,IAAI,CAACK,QAArC,CAApB;AACA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAHD,CAGE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CATE","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveGetArgs {\n revision: string;\n}\n\ntype ResolveGet = ResolverFactory<any, ResolveGetArgs>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.getEntryById(model, args.revision);\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveGetByIds.ts"],"names":["resolveGetByIds","model","_","args","context","response","cms","getEntriesByIds","revisions","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,eAAgC,GACzC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,QAAoB,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,eAAZ,CAA4BN,KAA5B,EAAmCE,IAAI,CAACK,SAAxC,CAAnC;AAEA,WAAO,IAAIC,mBAAJ,CAAaJ,QAAb,CAAP;AACH,GAJD,CAIE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAVE","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory, CmsEntry } from \"~/types\";\n\ninterface ResolveGetByIdsArgs {\n revisions: string[];\n}\ntype ResolveGetByIds = ResolverFactory<any, ResolveGetByIdsArgs>;\n\nexport const resolveGetByIds: ResolveGetByIds =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const response: CmsEntry[] = await context.cms.getEntriesByIds(model, args.revisions);\n\n return new Response(response);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveGetRevisions.ts"],"names":["resolveGetRevisions","model","_","args","context","revisions","cms","getEntryRevisions","id","Response","sort","a","b","version","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,mBAAwC,GACjD,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,SAAS,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,iBAAZ,CAA8BN,KAA9B,EAAqCE,IAAI,CAACK,EAA1C,CAAxB;AAEA,WAAO,IAAIC,mBAAJ,CAAaJ,SAAS,CAACK,IAAV,CAAe,CAACC,CAAD,EAAIC,CAAJ,KAAUA,CAAC,CAACC,OAAF,GAAYF,CAAC,CAACE,OAAvC,CAAb,CAAP;AACH,GAJD,CAIE,OAAOC,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAVE","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveGetRevisionsArgs {\n id: string;\n}\ntype ResolveGetRevisions = ResolverFactory<any, ResolveGetRevisionsArgs>;\n\nexport const resolveGetRevisions: ResolveGetRevisions =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const revisions = await context.cms.getEntryRevisions(model, args.id);\n\n return new Response(revisions.sort((a, b) => b.version - a.version));\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -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,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,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 (_, 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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolvePublish.ts"],"names":["resolvePublish","model","_","args","context","entry","cms","publishEntry","revision","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AASO,MAAMA,cAA8B,GACvC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,YAAZ,CAAyBN,KAAzB,EAAgCE,IAAI,CAACK,QAArC,CAApB;AACA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAHD,CAGE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CATE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolvePublishArgs {\n revision: string;\n}\n\ntype ResolvePublish = ResolverFactory<any, ResolvePublishArgs>;\n\nexport const resolvePublish: ResolvePublish =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.publishEntry(model, args.revision);\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveRepublish.ts"],"names":["resolveRepublish","model","_","args","context","entry","cms","republishEntry","revision","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,gBAAkC,GAC3C,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,cAAZ,CAA2BN,KAA3B,EAAkCE,IAAI,CAACK,QAAvC,CAApB;AACA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAHD,CAGE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CATE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveRepublishArgs {\n revision: string;\n}\ntype ResolveRepublish = ResolverFactory<any, ResolveRepublishArgs>;\n\nexport const resolveRepublish: ResolveRepublish =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.republishEntry(model, args.revision);\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveRequestChanges.ts"],"names":["resolveRequestChanges","model","_","args","context","entry","cms","requestEntryChanges","revision","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,qBAA4C,GACrD,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,mBAAZ,CAAgCN,KAAhC,EAAuCE,IAAI,CAACK,QAA5C,CAApB;AAEA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAJD,CAIE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAVE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveRequestChangesArgs {\n revision: string;\n}\ntype ResolveRequestChanges = ResolverFactory<any, ResolveRequestChangesArgs>;\n\nexport const resolveRequestChanges: ResolveRequestChanges =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.requestEntryChanges(model, args.revision);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveRequestReview.ts"],"names":["resolveRequestReview","model","_","args","context","entry","cms","requestEntryReview","revision","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,oBAA0C,GACnD,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,kBAAZ,CAA+BN,KAA/B,EAAsCE,IAAI,CAACK,QAA3C,CAApB;AAEA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAJD,CAIE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAVE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveRequestReviewArgs {\n revision: string;\n}\ntype ResolveRequestReview = ResolverFactory<any, ResolveRequestReviewArgs>;\n\nexport const resolveRequestReview: ResolveRequestReview =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.requestEntryReview(model, args.revision);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveUnpublish.ts"],"names":["resolveUnpublish","model","_","args","context","entry","cms","unpublishEntry","revision","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,gBAAkC,GAC3C,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,cAAZ,CAA2BN,KAA3B,EAAkCE,IAAI,CAACK,QAAvC,CAApB;AACA,WAAO,IAAIC,mBAAJ,CAAaJ,KAAb,CAAP;AACH,GAHD,CAGE,OAAOK,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CATE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveUnpublishArgs {\n revision: string;\n}\ntype ResolveUnpublish = ResolverFactory<any, ResolveUnpublishArgs>;\n\nexport const resolveUnpublish: ResolveUnpublish =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.unpublishEntry(model, args.revision);\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveUpdate.ts"],"names":["resolveUpdate","model","_","args","context","entry","cms","updateEntry","revision","data","Response","e","ErrorResponse"],"mappings":";;;;;;;AAAA;;AASO,MAAMA,aAA4B,GACrC,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;AAC7B,MAAI;AACA,UAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAR,CAAYC,WAAZ,CAAwBN,KAAxB,EAA+BE,IAAI,CAACK,QAApC,EAA8CL,IAAI,CAACM,IAAnD,CAApB;AAEA,WAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;AACH,GAJD,CAIE,OAAOM,CAAP,EAAU;AACR,WAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;AACH;AACJ,CAVE","sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory, UpdateCmsEntryInput } from \"~/types\";\n\ninterface ResolveUpdateArgs {\n revision: string;\n data: UpdateCmsEntryInput;\n}\ntype ResolveUpdate = ResolverFactory<any, ResolveUpdateArgs>;\n\nexport const resolveUpdate: ResolveUpdate =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.updateEntry(model, args.revision, args.data);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["resolveGet.ts"],"names":["resolveGet","model","_","args","context","entry","cms","listLatestEntries","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,iBAAZ,CAA8BN,KAA9B,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.listLatestEntries(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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -57,11 +57,13 @@ const plugin = new _StorageTransformPlugin.StorageTransformPlugin({
|
|
|
57
57
|
model,
|
|
58
58
|
plugins
|
|
59
59
|
}) => {
|
|
60
|
+
var _field$settings;
|
|
61
|
+
|
|
60
62
|
if (!value) {
|
|
61
63
|
return null;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
const fields = field.settings.fields;
|
|
66
|
+
const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
|
|
65
67
|
|
|
66
68
|
if (field.multipleValues) {
|
|
67
69
|
return await (0, _pMap.default)(value, value => processValue({
|
|
@@ -90,11 +92,13 @@ const plugin = new _StorageTransformPlugin.StorageTransformPlugin({
|
|
|
90
92
|
plugins,
|
|
91
93
|
model
|
|
92
94
|
}) => {
|
|
95
|
+
var _field$settings2;
|
|
96
|
+
|
|
93
97
|
if (!value) {
|
|
94
98
|
return null;
|
|
95
99
|
}
|
|
96
100
|
|
|
97
|
-
const fields = field.settings.fields;
|
|
101
|
+
const fields = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [];
|
|
98
102
|
|
|
99
103
|
if (field.multipleValues) {
|
|
100
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"]}
|
|
@@ -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":"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","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"]}
|
|
@@ -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"]}
|
|
@@ -16,12 +16,17 @@ const getSchemaFromFieldPlugins = ({
|
|
|
16
16
|
type
|
|
17
17
|
}) => {
|
|
18
18
|
return Object.values(fieldTypePlugins).map(plugin => {
|
|
19
|
-
|
|
20
|
-
if (typeof plugin[TYPE_MAP[type]].createSchema !== "function") {
|
|
19
|
+
if (!TYPE_MAP[type] || !plugin[TYPE_MAP[type]]) {
|
|
21
20
|
return null;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
|
|
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({
|
|
25
30
|
models
|
|
26
31
|
});
|
|
27
32
|
}).filter(Boolean);
|
|
@@ -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"]}
|
|
@@ -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"]}
|