@webiny/api-headless-cms 5.35.0 → 5.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/crud/contentEntry.crud.js +110 -4
  2. package/crud/contentEntry.crud.js.map +1 -1
  3. package/crud/contentModel/validation.d.ts +87 -87
  4. package/crud/contentModelGroup/validation.d.ts +4 -4
  5. package/graphql/index.d.ts +1 -1
  6. package/graphql/schema/baseSchema.js +15 -0
  7. package/graphql/schema/baseSchema.js.map +1 -1
  8. package/graphql/schema/createManageResolvers.js +4 -0
  9. package/graphql/schema/createManageResolvers.js.map +1 -1
  10. package/graphql/schema/createManageSDL.js +4 -2
  11. package/graphql/schema/createManageSDL.js.map +1 -1
  12. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  13. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -3
  14. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  15. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  16. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  17. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  18. package/graphql/schema/schemaPlugins.js +0 -7
  19. package/graphql/schema/schemaPlugins.js.map +1 -1
  20. package/index.d.ts +1 -1
  21. package/package.json +36 -35
  22. package/types.d.ts +52 -8
  23. package/types.js +7 -0
  24. package/types.js.map +1 -1
  25. package/crud/contentModel/createFieldModels.d.ts +0 -2
  26. package/crud/contentModel/createFieldModels.js +0 -26
  27. package/crud/contentModel/createFieldModels.js.map +0 -1
  28. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  29. package/crud/contentModel/fieldIdValidation.js +0 -25
  30. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  31. package/crud/contentModel/idValidation.d.ts +0 -1
  32. package/crud/contentModel/idValidation.js +0 -22
  33. package/crud/contentModel/idValidation.js.map +0 -1
  34. package/crud/contentModel/models.d.ts +0 -4
  35. package/crud/contentModel/models.js +0 -192
  36. package/crud/contentModel/models.js.map +0 -1
  37. package/crud/contentModel/systemFields.d.ts +0 -1
  38. package/crud/contentModel/systemFields.js +0 -8
  39. package/crud/contentModel/systemFields.js.map +0 -1
  40. package/upgrades/5.33.0/index.d.ts +0 -3
  41. package/upgrades/5.33.0/index.js +0 -182
  42. package/upgrades/5.33.0/index.js.map +0 -1
  43. package/upgrades/index.d.ts +0 -1
  44. package/upgrades/index.js +0 -12
  45. package/upgrades/index.js.map +0 -1
  46. package/utils/pluralizedTypeName.d.ts +0 -1
  47. package/utils/pluralizedTypeName.js +0 -26
  48. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","commonFieldResolvers","meta","entry","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveDelete","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsContext, CmsEntry, CmsModel } 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 { 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 \"./createFieldResolvers\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\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\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\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${model.singularApiName}`]: resolveGet({ model }),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions({ model }),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n Mutation: {\n [`create${model.singularApiName}`]: resolveCreate({ model }),\n [`update${model.singularApiName}`]: resolveUpdate({ model }),\n [`delete${model.singularApiName}`]: resolveDelete({ model }),\n [`publish${model.singularApiName}`]: resolvePublish({ model }),\n [`republish${model.singularApiName}`]: resolveRepublish({ model }),\n [`unpublish${model.singularApiName}`]: resolveUnpublish({ model }),\n [`create${model.singularApiName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\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"],"mappings":"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"}
1
+ {"version":3,"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","commonFieldResolvers","meta","entry","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveDelete","resolveDeleteMultiple","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsContext, CmsEntry, CmsModel } 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 { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolveDeleteMultiple } from \"./resolvers/manage/resolveDeleteMultiple\";\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 \"./createFieldResolvers\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\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\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\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${model.singularApiName}`]: resolveGet({ model }),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions({ model }),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n Mutation: {\n [`create${model.singularApiName}`]: resolveCreate({ model }),\n [`update${model.singularApiName}`]: resolveUpdate({ model }),\n [`delete${model.singularApiName}`]: resolveDelete({ model }),\n [`deleteMultiple${model.pluralApiName}`]: resolveDeleteMultiple({ model }),\n [`publish${model.singularApiName}`]: resolvePublish({ model }),\n [`republish${model.singularApiName}`]: resolveRepublish({ model }),\n [`unpublish${model.singularApiName}`]: resolveUnpublish({ model }),\n [`create${model.singularApiName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\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"],"mappings":"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"}
@@ -142,8 +142,10 @@ const createManageSDL = ({
142
142
  create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response
143
143
 
144
144
  update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response
145
-
146
- delete${singularName}(revision: ID!): CmsDeleteResponse
145
+
146
+ delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse
147
+
148
+ deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!
147
149
 
148
150
  publish${singularName}(revision: ID!): ${singularName}Response
149
151
 
@@ -1 +1 @@
1
- {"version":3,"names":["createManageSDL","models","model","fieldTypePlugins","sorterPlugins","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","inputFields","renderInputFields","fields","renderFields","length","singularApiName","singularName","pluralApiName","pluralName","description","map","f","join","typeDefs","filter","Boolean"],"sources":["createManageSDL.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { renderInputFields } from \"~/utils/renderInputFields\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({ model, fieldTypePlugins, sorterPlugins });\n const getFilterFieldsRender = renderGetFilterFields({ model, fieldTypePlugins });\n const inputFields = renderInputFields({ models, model, fieldTypePlugins });\n const fields = renderFields({ models, model, type: \"manage\", fieldTypePlugins });\n\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n return /* GraphQL */ `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsIdentity!\n ownedBy: CmsIdentity!\n modifiedBy: CmsIdentity\n meta: ${singularName}Meta\n ${fields.map(f => f.fields).join(\"\\n\")}\n }\n\n type ${singularName}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: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${inputFields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${\n inputFields &&\n `input ${singularName}Input {\n id: ID\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }`\n }\n\n ${\n getFilterFieldsRender &&\n `input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n\n\n ${\n listFilterFieldsRender &&\n `input ${singularName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }`\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n ${\n sortEnumRender &&\n `enum ${singularName}ListSorter {\n ${sortEnumRender}\n }`\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!): ${singularName}Response\n \n create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response\n \n delete${singularName}(revision: ID!): CmsDeleteResponse\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createManageSDL","models","model","fieldTypePlugins","sorterPlugins","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","inputFields","renderInputFields","fields","renderFields","length","singularApiName","singularName","pluralApiName","pluralName","description","map","f","join","typeDefs","filter","Boolean"],"sources":["createManageSDL.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { renderInputFields } from \"~/utils/renderInputFields\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({ model, fieldTypePlugins, sorterPlugins });\n const getFilterFieldsRender = renderGetFilterFields({ model, fieldTypePlugins });\n const inputFields = renderInputFields({ models, model, fieldTypePlugins });\n const fields = renderFields({ models, model, type: \"manage\", fieldTypePlugins });\n\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n return /* GraphQL */ `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsIdentity!\n ownedBy: CmsIdentity!\n modifiedBy: CmsIdentity\n meta: ${singularName}Meta\n ${fields.map(f => f.fields).join(\"\\n\")}\n }\n\n type ${singularName}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: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${inputFields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${\n inputFields &&\n `input ${singularName}Input {\n id: ID\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }`\n }\n\n ${\n getFilterFieldsRender &&\n `input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n\n\n ${\n listFilterFieldsRender &&\n `input ${singularName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }`\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n ${\n sortEnumRender &&\n `enum ${singularName}ListSorter {\n ${sortEnumRender}\n }`\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!): ${singularName}Response\n \n create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
1
+ import { CmsDeleteEntryOptions, CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
2
2
  interface ResolveDeleteArgs {
3
3
  revision: string;
4
+ options?: CmsDeleteEntryOptions;
4
5
  }
5
6
  declare type ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;
6
7
  export declare const resolveDelete: ResolveDelete;
@@ -10,13 +10,23 @@ const resolveDelete = ({
10
10
  model
11
11
  }) => async (_, args, context) => {
12
12
  try {
13
+ const {
14
+ revision,
15
+ options: deleteOptions
16
+ } = args || {};
13
17
  const {
14
18
  version
15
- } = (0, _utils.parseIdentifier)(args.revision);
19
+ } = (0, _utils.parseIdentifier)(revision);
16
20
  if (version) {
17
- await context.cms.deleteEntryRevision(model, args.revision);
21
+ await context.cms.deleteEntryRevision(model, revision);
18
22
  } else {
19
- await context.cms.deleteEntry(model, args.revision);
23
+ /**
24
+ * @see CmsDeleteEntryOptions
25
+ */
26
+ const options = {
27
+ force: (deleteOptions === null || deleteOptions === void 0 ? void 0 : deleteOptions.force) === true
28
+ };
29
+ await context.cms.deleteEntry(model, revision, options);
20
30
  }
21
31
  return new _responses.Response(true);
22
32
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"names":["resolveDelete","model","_","args","context","version","parseIdentifier","revision","cms","deleteEntryRevision","deleteEntry","Response","e","ErrorResponse"],"sources":["resolveDelete.ts"],"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"],"mappings":";;;;;;AAAA;AAEA;AAOO,MAAMA,aAA4B,GACrC,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;EAC7B,IAAI;IACA,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACH,IAAI,CAACI,QAAQ,CAAC;IAClD,IAAIF,OAAO,EAAE;MACT,MAAMD,OAAO,CAACI,GAAG,CAACC,mBAAmB,CAACR,KAAK,EAAEE,IAAI,CAACI,QAAQ,CAAC;IAC/D,CAAC,MAAM;MACH,MAAMH,OAAO,CAACI,GAAG,CAACE,WAAW,CAACT,KAAK,EAAEE,IAAI,CAACI,QAAQ,CAAC;IACvD;IAEA,OAAO,IAAII,mBAAQ,CAAC,IAAI,CAAC;EAC7B,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
1
+ {"version":3,"names":["resolveDelete","model","_","args","context","revision","options","deleteOptions","version","parseIdentifier","cms","deleteEntryRevision","force","deleteEntry","Response","e","ErrorResponse"],"sources":["resolveDelete.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsDeleteEntryOptions, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveDeleteArgs {\n revision: string;\n options?: CmsDeleteEntryOptions;\n}\ntype ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;\n\nexport const resolveDelete: ResolveDelete =\n ({ model }) =>\n async (_, args, context) => {\n try {\n const { revision, options: deleteOptions } = args || {};\n const { version } = parseIdentifier(revision);\n if (version) {\n await context.cms.deleteEntryRevision(model, revision);\n } else {\n /**\n * @see CmsDeleteEntryOptions\n */\n const options: CmsDeleteEntryOptions = {\n force: deleteOptions?.force === true\n };\n await context.cms.deleteEntry(model, revision, options);\n }\n\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AAEA;AAQO,MAAMA,aAA4B,GACrC,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;EACxB,IAAI;IACA,MAAM;MAAEC,QAAQ;MAAEC,OAAO,EAAEC;IAAc,CAAC,GAAGJ,IAAI,IAAI,CAAC,CAAC;IACvD,MAAM;MAAEK;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACJ,QAAQ,CAAC;IAC7C,IAAIG,OAAO,EAAE;MACT,MAAMJ,OAAO,CAACM,GAAG,CAACC,mBAAmB,CAACV,KAAK,EAAEI,QAAQ,CAAC;IAC1D,CAAC,MAAM;MACH;AAChB;AACA;MACgB,MAAMC,OAA8B,GAAG;QACnCM,KAAK,EAAE,CAAAL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,KAAK,MAAK;MACpC,CAAC;MACD,MAAMR,OAAO,CAACM,GAAG,CAACG,WAAW,CAACZ,KAAK,EAAEI,QAAQ,EAAEC,OAAO,CAAC;IAC3D;IAEA,OAAO,IAAIQ,mBAAQ,CAAC,IAAI,CAAC;EAC7B,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
@@ -0,0 +1,7 @@
1
+ import { CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
2
+ interface ResolveDeleteArgs {
3
+ revision: string;
4
+ }
5
+ declare type ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;
6
+ export declare const resolveDeleteMultiple: ResolveDelete;
7
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveDeleteMultiple = void 0;
7
+ var _responses = require("@webiny/handler-graphql/responses");
8
+ const resolveDeleteMultiple = ({
9
+ model
10
+ }) => async (_, args, context) => {
11
+ try {
12
+ const response = await context.cms.deleteMultipleEntries(model, {
13
+ entries: (args === null || args === void 0 ? void 0 : args.entries) || []
14
+ });
15
+ return new _responses.ListResponse(response);
16
+ } catch (e) {
17
+ return new _responses.ErrorResponse(e);
18
+ }
19
+ };
20
+ exports.resolveDeleteMultiple = resolveDeleteMultiple;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveDeleteMultiple","model","_","args","context","response","cms","deleteMultipleEntries","entries","ListResponse","e","ErrorResponse"],"sources":["resolveDeleteMultiple.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveDeleteArgs {\n revision: string;\n}\n\ntype ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;\n\nexport const resolveDeleteMultiple: ResolveDelete =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const response = await context.cms.deleteMultipleEntries(model, {\n entries: args?.entries || []\n });\n\n return new ListResponse(response);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AASO,MAAMA,qBAAoC,GAC7C,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;EAC7B,IAAI;IACA,MAAMC,QAAQ,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,qBAAqB,CAACN,KAAK,EAAE;MAC5DO,OAAO,EAAE,CAAAL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,OAAO,KAAI;IAC9B,CAAC,CAAC;IAEF,OAAO,IAAIC,uBAAY,CAACJ,QAAQ,CAAC;EACrC,CAAC,CAAC,OAAOK,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
@@ -44,13 +44,6 @@ const generateSchemaPlugins = async params => {
44
44
  type
45
45
  });
46
46
  models.filter(model => {
47
- /**
48
- * TODO @bruno Remove before 5.35.0
49
- * Temporary check for the development.
50
- */
51
- if (!model.singularApiName || !model.pluralApiName) {
52
- return false;
53
- }
54
47
  return model.fields.length > 0;
55
48
  }).forEach(model => {
56
49
  switch (type) {
@@ -1 +1 @@
1
- {"version":3,"names":["generateSchemaPlugins","params","context","models","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","singularApiName","pluralApiName","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext, CmsModel } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\n\nexport const generateSchemaPlugins = async (\n params: GenerateSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { context, models } = params;\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n const schemaPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n models\n .filter(model => {\n /**\n * TODO @bruno Remove before 5.35.0\n * Temporary check for the development.\n */\n if (!model.singularApiName || !model.pluralApiName) {\n return false;\n }\n return model.fields.length > 0;\n })\n .forEach(model => {\n switch (type) {\n case \"manage\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.manage.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n\n break;\n case \"preview\":\n case \"read\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createReadSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\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 plugin.name = `headless-cms.graphql.schema.${type}.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n break;\n default:\n return;\n }\n });\n\n return schemaPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,MAAMA,qBAAqB,GAAG,MACjCC,MAAmC,IACC;EACpC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAClC,MAAM;IAAEG,OAAO;IAAEC;EAAI,CAAC,GAAGH,OAAO;;EAEhC;AACJ;AACA;AACA;EACI,MAAM;IAAEI;EAAK,CAAC,GAAGD,GAAG;EACpB,IAAI,CAACC,IAAI,EAAE;IACP,OAAO,EAAE;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;EAEV,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAM,CAChCM,qCAA4B,CAACR,IAAI,CACpC;EAED,MAAMS,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5Db,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDc,MAAM,CAACC,KAAK,IAAI;IACb;AACZ;AACA;AACA;IACY,IAAI,CAACA,KAAK,CAACC,eAAe,IAAI,CAACD,KAAK,CAACE,aAAa,EAAE;MAChD,OAAO,KAAK;IAChB;IACA,OAAOF,KAAK,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC;EAClC,CAAC,CAAC,CACDC,OAAO,CAACL,KAAK,IAAI;IACd,QAAQZ,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMkB,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cACtBxB,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBM;YACJ,CAAC,CAAC;YACFe,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7B1B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFsB,MAAM,CAACM,IAAI,GAAI,sCAAqCZ,KAAK,CAACa,OAAQ,EAAC;UACnEhB,aAAa,CAACiB,IAAI,CAACR,MAAM,CAAC;QAC9B;QAEA;MACJ,KAAK,SAAS;MACd,KAAK,MAAM;QACP;UACI,MAAMA,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAO,4BAAa,EAAC;cACpB9B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBM;YACJ,CAAC,CAAC;YACFe,SAAS,EAAEvB,GAAG,CAAC6B,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChBhC,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAAkC,8CAAsB,EAAC;cACnBjC,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFsB,MAAM,CAACM,IAAI,GAAI,+BAA8BxB,IAAK,IAAGY,KAAK,CAACa,OAAQ,EAAC;UACpEhB,aAAa,CAACiB,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOT,aAAa,CAACE,MAAM,CAACN,EAAE,IAAI,CAAC,CAACA,EAAE,CAAC0B,MAAM,CAACX,QAAQ,CAAC;AAC3D,CAAC;AAAC"}
1
+ {"version":3,"names":["generateSchemaPlugins","params","context","models","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext, CmsModel } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\n\nexport const generateSchemaPlugins = async (\n params: GenerateSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { context, models } = params;\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n const schemaPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n models\n .filter(model => {\n return model.fields.length > 0;\n })\n .forEach(model => {\n switch (type) {\n case \"manage\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.manage.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n\n break;\n case \"preview\":\n case \"read\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createReadSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\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 plugin.name = `headless-cms.graphql.schema.${type}.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n break;\n default:\n return;\n }\n });\n\n return schemaPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,MAAMA,qBAAqB,GAAG,MACjCC,MAAmC,IACC;EACpC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAClC,MAAM;IAAEG,OAAO;IAAEC;EAAI,CAAC,GAAGH,OAAO;;EAEhC;AACJ;AACA;AACA;EACI,MAAM;IAAEI;EAAK,CAAC,GAAGD,GAAG;EACpB,IAAI,CAACC,IAAI,EAAE;IACP,OAAO,EAAE;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;EAEV,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAM,CAChCM,qCAA4B,CAACR,IAAI,CACpC;EAED,MAAMS,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5Db,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDc,MAAM,CAACC,KAAK,IAAI;IACb,OAAOA,KAAK,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC;EAClC,CAAC,CAAC,CACDC,OAAO,CAACH,KAAK,IAAI;IACd,QAAQZ,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMgB,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cACtBtB,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBM;YACJ,CAAC,CAAC;YACFa,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7BxB,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFoB,MAAM,CAACM,IAAI,GAAI,sCAAqCV,KAAK,CAACW,OAAQ,EAAC;UACnEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QAEA;MACJ,KAAK,SAAS;MACd,KAAK,MAAM;QACP;UACI,MAAMA,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAO,4BAAa,EAAC;cACpB5B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBM;YACJ,CAAC,CAAC;YACFa,SAAS,EAAErB,GAAG,CAAC2B,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChB9B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAAgC,8CAAsB,EAAC;cACnB/B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFoB,MAAM,CAACM,IAAI,GAAI,+BAA8BtB,IAAK,IAAGY,KAAK,CAACW,OAAQ,EAAC;UACpEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOP,aAAa,CAACE,MAAM,CAACN,EAAE,IAAI,CAAC,CAACA,EAAE,CAACwB,MAAM,CAACX,QAAQ,CAAC;AAC3D,CAAC;AAAC"}
package/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { CreateGraphQLParams } from "./graphql";
2
2
  import { CrudParams } from "./context";
3
3
  import { entryFieldFromStorageTransform, entryFromStorageTransform, entryToStorageTransform } from "./utils/entryStorage";
4
4
  export declare type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;
5
- export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("@webiny/plugins/types").PluginCollection)[];
5
+ export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("@webiny/plugins/types").PluginCollection | import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/api").ContextPlugin<import("./types").CmsContext>)[];
6
6
  export declare type ContentContextParams = CrudParams;
7
7
  export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelDynamicZoneField> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin | import("./fieldConverters/CmsModelDynamicZoneFieldConverterPlugin").CmsModelDynamicZoneFieldConverterPlugin)[])[];
8
8
  export * from "./graphqlFields";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms",
3
- "version": "5.35.0",
3
+ "version": "5.35.1",
4
4
  "main": "index.js",
5
5
  "keywords": [
6
6
  "cms:base"
@@ -20,21 +20,21 @@
20
20
  "dependencies": {
21
21
  "@babel/runtime": "7.20.13",
22
22
  "@graphql-tools/schema": "7.1.5",
23
- "@webiny/api": "5.35.0",
24
- "@webiny/api-file-manager": "5.35.0",
25
- "@webiny/api-i18n": "5.35.0",
26
- "@webiny/api-i18n-ddb": "5.35.0",
27
- "@webiny/api-security": "5.35.0",
28
- "@webiny/api-tenancy": "5.35.0",
29
- "@webiny/error": "5.35.0",
30
- "@webiny/handler": "5.35.0",
31
- "@webiny/handler-aws": "5.35.0",
32
- "@webiny/handler-db": "5.35.0",
33
- "@webiny/handler-graphql": "5.35.0",
34
- "@webiny/plugins": "5.35.0",
35
- "@webiny/pubsub": "5.35.0",
36
- "@webiny/utils": "5.35.0",
37
- "@webiny/validation": "5.35.0",
23
+ "@webiny/api": "^5.35.1",
24
+ "@webiny/api-file-manager": "^5.35.1",
25
+ "@webiny/api-i18n": "^5.35.1",
26
+ "@webiny/api-i18n-ddb": "^5.35.1",
27
+ "@webiny/api-security": "^5.35.1",
28
+ "@webiny/api-tenancy": "^5.35.1",
29
+ "@webiny/error": "^5.35.1",
30
+ "@webiny/handler": "^5.35.1",
31
+ "@webiny/handler-aws": "^5.35.1",
32
+ "@webiny/handler-db": "^5.35.1",
33
+ "@webiny/handler-graphql": "^5.35.1",
34
+ "@webiny/plugins": "^5.35.1",
35
+ "@webiny/pubsub": "^5.35.1",
36
+ "@webiny/utils": "^5.35.1",
37
+ "@webiny/validation": "^5.35.1",
38
38
  "code-frame": "5.0.0",
39
39
  "dataloader": "2.2.1",
40
40
  "dot-prop": "6.0.1",
@@ -48,24 +48,25 @@
48
48
  "zod": "3.20.2"
49
49
  },
50
50
  "devDependencies": {
51
- "@babel/cli": "^7.19.3",
52
- "@babel/core": "^7.19.3",
53
- "@babel/preset-env": "^7.19.4",
54
- "@webiny/api-security-so-ddb": "^5.35.0",
55
- "@webiny/api-tenancy-so-ddb": "^5.35.0",
56
- "@webiny/api-wcp": "^5.35.0",
57
- "@webiny/cli": "^5.35.0",
58
- "@webiny/project-utils": "^5.35.0",
59
- "apollo-graphql": "^0.9.5",
60
- "get-yarn-workspaces": "^1.0.2",
61
- "graphql": "^15.7.2",
62
- "jest": "^28.1.0",
63
- "mdbid": "^1.0.0",
64
- "prettier": "^2.3.2",
65
- "rimraf": "^3.0.2",
66
- "sinon": "^9.0.2",
67
- "ttypescript": "^1.5.12",
68
- "typescript": "4.7.4"
51
+ "@babel/cli": "7.20.7",
52
+ "@babel/core": "7.20.12",
53
+ "@babel/preset-env": "7.20.2",
54
+ "@webiny/api-security-so-ddb": "^5.35.1",
55
+ "@webiny/api-tenancy-so-ddb": "^5.35.1",
56
+ "@webiny/api-wcp": "^5.35.1",
57
+ "@webiny/cli": "^5.35.1",
58
+ "@webiny/project-utils": "^5.35.1",
59
+ "apollo-graphql": "0.9.7",
60
+ "get-yarn-workspaces": "1.0.2",
61
+ "graphql": "15.8.0",
62
+ "jest": "28.1.3",
63
+ "mdbid": "1.0.0",
64
+ "prettier": "2.8.3",
65
+ "rimraf": "3.0.2",
66
+ "sinon": "9.2.4",
67
+ "ttypescript": "1.5.15",
68
+ "typescript": "4.7.4",
69
+ "write-json-file": "4.3.0"
69
70
  },
70
71
  "publishConfig": {
71
72
  "access": "public",
@@ -75,5 +76,5 @@
75
76
  "build": "yarn webiny run build",
76
77
  "watch": "yarn webiny run watch"
77
78
  },
78
- "gitHead": "948cd1e05978e0ed25137ace7dd6c15ed0bf2cca"
79
+ "gitHead": "d6a257ebbb9e7aeccfaa33a7f83301cf1919b082"
79
80
  }
package/types.d.ts CHANGED
@@ -2018,6 +2018,22 @@ export interface OnEntryRevisionDeleteErrorTopicParams {
2018
2018
  entry: CmsEntry;
2019
2019
  model: CmsModel;
2020
2020
  }
2021
+ export interface OnEntryBeforeDeleteMultipleTopicParams {
2022
+ model: CmsModel;
2023
+ entries: CmsEntry[];
2024
+ ids: string[];
2025
+ }
2026
+ export interface OnEntryAfterDeleteMultipleTopicParams {
2027
+ model: CmsModel;
2028
+ entries: CmsEntry[];
2029
+ ids: string[];
2030
+ }
2031
+ export interface OnEntryDeleteMultipleErrorTopicParams {
2032
+ model: CmsModel;
2033
+ entries: CmsEntry[];
2034
+ ids: string[];
2035
+ error: Error;
2036
+ }
2021
2037
  export interface OnEntryBeforeGetTopicParams {
2022
2038
  model: CmsModel;
2023
2039
  where: CmsEntryListWhere;
@@ -2048,6 +2064,26 @@ export interface CreateFromCmsEntryInput {
2048
2064
  export interface UpdateCmsEntryInput {
2049
2065
  [key: string]: any;
2050
2066
  }
2067
+ /**
2068
+ * @category CmsEntry
2069
+ */
2070
+ export interface CmsDeleteEntryOptions {
2071
+ /**
2072
+ * Runs the delete commands even if the entry is not found in the DynamoDB.
2073
+ * This is to force clean the entry records that might have been left behind a failed delete.
2074
+ */
2075
+ force?: boolean;
2076
+ }
2077
+ /**
2078
+ * @category Context
2079
+ * @category CmsEntry
2080
+ */
2081
+ export interface DeleteMultipleEntriesParams {
2082
+ entries: string[];
2083
+ }
2084
+ export declare type DeleteMultipleEntriesResponse = {
2085
+ id: string;
2086
+ }[];
2051
2087
  /**
2052
2088
  * Cms Entry CRUD methods in the context.
2053
2089
  *
@@ -2058,7 +2094,7 @@ export interface CmsEntryContext {
2058
2094
  /**
2059
2095
  * Get a single content entry for a model.
2060
2096
  */
2061
- getEntry: (model: CmsModel, params: CmsEntryGetParams) => Promise<CmsEntry | null>;
2097
+ getEntry: (model: CmsModel, params: CmsEntryGetParams) => Promise<CmsEntry>;
2062
2098
  /**
2063
2099
  * Get a list of entries for a model by a given ID (revision).
2064
2100
  */
@@ -2070,15 +2106,15 @@ export interface CmsEntryContext {
2070
2106
  /**
2071
2107
  * List entries for a model. Internal method used by get, listLatest and listPublished.
2072
2108
  */
2073
- listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2109
+ listEntries: <T = CmsEntryValues>(model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
2074
2110
  /**
2075
2111
  * Lists the latest entries. Used for manage API.
2076
2112
  */
2077
- listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2113
+ listLatestEntries: <T = CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
2078
2114
  /**
2079
2115
  * List published entries. Used for read API.
2080
2116
  */
2081
- listPublishedEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2117
+ listPublishedEntries: <T = CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
2082
2118
  /**
2083
2119
  * List published entries by IDs.
2084
2120
  */
@@ -2111,7 +2147,11 @@ export interface CmsEntryContext {
2111
2147
  /**
2112
2148
  * Delete entry with all its revisions.
2113
2149
  */
2114
- deleteEntry: (model: CmsModel, id: string) => Promise<void>;
2150
+ deleteEntry: (model: CmsModel, id: string, options?: CmsDeleteEntryOptions) => Promise<void>;
2151
+ /**
2152
+ * Delete multiple entries
2153
+ */
2154
+ deleteMultipleEntries: (model: CmsModel, params: DeleteMultipleEntriesParams) => Promise<DeleteMultipleEntriesResponse>;
2115
2155
  /**
2116
2156
  * Publish entry.
2117
2157
  */
@@ -2471,11 +2511,11 @@ export interface CmsEntryStorageOperationsDeleteRevisionParams<T extends CmsStor
2471
2511
  latestStorageEntry: T | null;
2472
2512
  }
2473
2513
  export interface CmsEntryStorageOperationsDeleteParams {
2474
- /**
2475
- * Entry that is going to be deleted.
2476
- */
2477
2514
  entry: CmsEntry;
2478
2515
  }
2516
+ export interface CmsEntryStorageOperationsDeleteEntriesParams {
2517
+ entries: string[];
2518
+ }
2479
2519
  export interface CmsEntryStorageOperationsPublishParams<T extends CmsStorageEntry = CmsStorageEntry> {
2480
2520
  /**
2481
2521
  * The modified entry that is going to be saved as published.
@@ -2610,6 +2650,10 @@ export interface CmsEntryStorageOperations<T extends CmsStorageEntry = CmsStorag
2610
2650
  * Delete the entry.
2611
2651
  */
2612
2652
  delete: (model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2653
+ /**
2654
+ * Delete multiple entries, with a limit on how much can be deleted in one call.
2655
+ */
2656
+ deleteMultipleEntries: (model: CmsModel, params: CmsEntryStorageOperationsDeleteEntriesParams) => Promise<void>;
2613
2657
  /**
2614
2658
  * Publish the entry.
2615
2659
  */
package/types.js CHANGED
@@ -334,6 +334,13 @@ exports.CONTENT_ENTRY_STATUS = void 0;
334
334
  * @category Context
335
335
  * @category CmsEntry
336
336
  */
337
+ /**
338
+ * @category CmsEntry
339
+ */
340
+ /**
341
+ * @category Context
342
+ * @category CmsEntry
343
+ */
337
344
  /**
338
345
  * Cms Entry CRUD methods in the context.
339
346
  *