@webiny/api-headless-cms 6.5.0-beta.2 → 6.5.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/exports/api/cms/entry.d.ts +2 -0
  2. package/exports/api/cms/entry.js +2 -0
  3. package/features/contentEntry/ContentEntriesFeature.js +4 -0
  4. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  5. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +2 -2
  6. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -2
  7. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  8. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +2 -2
  9. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -2
  10. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  11. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +2 -2
  12. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -2
  13. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  14. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  15. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  16. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  17. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +2 -2
  18. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -2
  19. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  20. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +2 -2
  21. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -2
  22. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  23. package/features/contentEntry/DuplicateEntry/DuplicateEntryUseCase.d.ts +17 -0
  24. package/features/contentEntry/DuplicateEntry/DuplicateEntryUseCase.js +83 -0
  25. package/features/contentEntry/DuplicateEntry/DuplicateEntryUseCase.js.map +1 -0
  26. package/features/contentEntry/DuplicateEntry/abstractions.d.ts +47 -0
  27. package/features/contentEntry/DuplicateEntry/abstractions.js +5 -0
  28. package/features/contentEntry/DuplicateEntry/abstractions.js.map +1 -0
  29. package/features/contentEntry/DuplicateEntry/events.d.ts +41 -0
  30. package/features/contentEntry/DuplicateEntry/events.js +32 -0
  31. package/features/contentEntry/DuplicateEntry/events.js.map +1 -0
  32. package/features/contentEntry/DuplicateEntry/feature.d.ts +4 -0
  33. package/features/contentEntry/DuplicateEntry/feature.js +11 -0
  34. package/features/contentEntry/DuplicateEntry/feature.js.map +1 -0
  35. package/features/contentEntry/DuplicateEntry/index.d.ts +2 -0
  36. package/features/contentEntry/DuplicateEntry/index.js +2 -0
  37. package/features/contentEntry/DuplicateEntry/prepareDuplicateValues.d.ts +7 -0
  38. package/features/contentEntry/DuplicateEntry/prepareDuplicateValues.js +12 -0
  39. package/features/contentEntry/DuplicateEntry/prepareDuplicateValues.js.map +1 -0
  40. package/features/contentEntry/EntryEventPublisher/EntryEventPublisher.d.ts +10 -0
  41. package/features/contentEntry/EntryEventPublisher/EntryEventPublisher.js +25 -0
  42. package/features/contentEntry/EntryEventPublisher/EntryEventPublisher.js.map +1 -0
  43. package/features/contentEntry/EntryEventPublisher/abstractions.d.ts +16 -0
  44. package/features/contentEntry/EntryEventPublisher/abstractions.js +5 -0
  45. package/features/contentEntry/EntryEventPublisher/abstractions.js.map +1 -0
  46. package/features/contentEntry/EntryEventPublisher/feature.d.ts +4 -0
  47. package/features/contentEntry/EntryEventPublisher/feature.js +11 -0
  48. package/features/contentEntry/EntryEventPublisher/feature.js.map +1 -0
  49. package/features/contentEntry/EntryEventPublisher/index.d.ts +2 -0
  50. package/features/contentEntry/EntryEventPublisher/index.js +2 -0
  51. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +2 -2
  52. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -2
  53. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  54. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  55. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  56. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  57. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  58. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  59. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  60. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  61. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  62. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  63. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  64. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  65. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  66. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +2 -2
  67. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -2
  68. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  69. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +2 -2
  70. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -2
  71. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  72. package/features/modelBuilder/abstractions.d.ts +4 -0
  73. package/features/modelBuilder/abstractions.js.map +1 -1
  74. package/features/modelBuilder/fields/DateTimeFieldType.js +1 -0
  75. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  76. package/features/modelBuilder/models/ModelBuilder.d.ts +8 -0
  77. package/features/modelBuilder/models/ModelBuilder.js +1 -0
  78. package/features/modelBuilder/models/ModelBuilder.js.map +1 -1
  79. package/features/modelBuilder/models/PrivateModelBuilder.d.ts +5 -0
  80. package/features/modelBuilder/models/PrivateModelBuilder.js +12 -1
  81. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  82. package/graphql/schema/createManageResolvers.js +3 -1
  83. package/graphql/schema/createManageResolvers.js.map +1 -1
  84. package/graphql/schema/createManageSDL.js +2 -0
  85. package/graphql/schema/createManageSDL.js.map +1 -1
  86. package/graphql/schema/resolvers/manage/resolveDuplicate.d.ts +7 -0
  87. package/graphql/schema/resolvers/manage/resolveDuplicate.js +11 -0
  88. package/graphql/schema/resolvers/manage/resolveDuplicate.js.map +1 -0
  89. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/schema/createManageSDL.js","sources":["../../../src/graphql/schema/createManageSDL.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldRegistry,\n sorters\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n revisionDescription: String\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\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\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\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 enum ${singularName}ListSorter {\n ${sortEnumRender}\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 search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}RevisionDescription(revision: ID!, revisionDescription: String): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\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"],"names":["createManageSDL","models","model","fieldRegistry","sorters","inputFields","renderInputFields","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fields","renderFields","singularName","pluralName","inputGqlFields","f","onByMetaInputGqlFields","ENTRY_META_FIELDS","field","fieldType","isDateTimeEntryMetaField","onByMetaGqlFields"],"mappings":"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"}
1
+ {"version":3,"file":"graphql/schema/createManageSDL.js","sources":["../../../src/graphql/schema/createManageSDL.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldRegistry,\n sorters\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n revisionDescription: String\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\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\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\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 enum ${singularName}ListSorter {\n ${sortEnumRender}\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 search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n\n duplicate${singularName}(revision: ID!): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}RevisionDescription(revision: ID!, revisionDescription: String): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\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"],"names":["createManageSDL","models","model","fieldRegistry","sorters","inputFields","renderInputFields","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fields","renderFields","singularName","pluralName","inputGqlFields","f","onByMetaInputGqlFields","ENTRY_META_FIELDS","field","fieldType","isDateTimeEntryMetaField","onByMetaGqlFields"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CmsEntryResolverFactory as ResolverFactory } from "../../../../types/index.js";
2
+ interface ResolveDuplicateArgs {
3
+ revision: string;
4
+ }
5
+ type ResolveDuplicate = ResolverFactory<any, ResolveDuplicateArgs>;
6
+ export declare const resolveDuplicate: ResolveDuplicate;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { ErrorResponse, Response } from "@webiny/handler-graphql/responses.js";
2
+ import { DuplicateEntryUseCase } from "../../../../features/contentEntry/DuplicateEntry/index.js";
3
+ const resolveDuplicate = ({ model })=>async (_, args, context)=>{
4
+ const duplicateEntry = context.container.resolve(DuplicateEntryUseCase);
5
+ const entry = await duplicateEntry.execute(model, args.revision);
6
+ if (entry.isFail()) return new ErrorResponse(entry.error);
7
+ return new Response(entry.value);
8
+ };
9
+ export { resolveDuplicate };
10
+
11
+ //# sourceMappingURL=resolveDuplicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql/schema/resolvers/manage/resolveDuplicate.js","sources":["../../../../../src/graphql/schema/resolvers/manage/resolveDuplicate.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses.js\";\nimport type { CmsEntryResolverFactory as ResolverFactory } from \"~/types/index.js\";\nimport { DuplicateEntryUseCase } from \"~/features/contentEntry/DuplicateEntry/index.js\";\n\ninterface ResolveDuplicateArgs {\n revision: string;\n}\ntype ResolveDuplicate = ResolverFactory<any, ResolveDuplicateArgs>;\n\nexport const resolveDuplicate: ResolveDuplicate =\n ({ model }) =>\n async (_, args: any, context) => {\n const duplicateEntry = context.container.resolve(DuplicateEntryUseCase);\n const entry = await duplicateEntry.execute(model, args.revision);\n\n if (entry.isFail()) {\n return new ErrorResponse(entry.error);\n }\n\n return new Response(entry.value);\n };\n"],"names":["resolveDuplicate","model","_","args","context","duplicateEntry","DuplicateEntryUseCase","entry","ErrorResponse","Response"],"mappings":";;AASO,MAAMA,mBACT,CAAC,EAAEC,KAAK,EAAE,GACV,OAAOC,GAAGC,MAAWC;QACjB,MAAMC,iBAAiBD,QAAQ,SAAS,CAAC,OAAO,CAACE;QACjD,MAAMC,QAAQ,MAAMF,eAAe,OAAO,CAACJ,OAAOE,KAAK,QAAQ;QAE/D,IAAII,MAAM,MAAM,IACZ,OAAO,IAAIC,cAAcD,MAAM,KAAK;QAGxC,OAAO,IAAIE,SAASF,MAAM,KAAK;IACnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms",
3
- "version": "6.5.0-beta.2",
3
+ "version": "6.5.0-beta.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -25,19 +25,19 @@
25
25
  "@babel/code-frame": "8.0.0",
26
26
  "@graphql-tools/merge": "9.2.2",
27
27
  "@graphql-tools/schema": "10.0.38",
28
- "@webiny/api": "6.5.0-beta.2",
29
- "@webiny/api-core": "6.5.0-beta.2",
28
+ "@webiny/api": "6.5.0-beta.4",
29
+ "@webiny/api-core": "6.5.0-beta.4",
30
30
  "@webiny/di": "1.0.2",
31
- "@webiny/error": "6.5.0-beta.2",
32
- "@webiny/feature": "6.5.0-beta.2",
33
- "@webiny/handler": "6.5.0-beta.2",
34
- "@webiny/handler-aws": "6.5.0-beta.2",
35
- "@webiny/handler-db": "6.5.0-beta.2",
36
- "@webiny/handler-graphql": "6.5.0-beta.2",
37
- "@webiny/plugins": "6.5.0-beta.2",
38
- "@webiny/project": "6.5.0-beta.2",
39
- "@webiny/utils": "6.5.0-beta.2",
40
- "@webiny/validation": "6.5.0-beta.2",
31
+ "@webiny/error": "6.5.0-beta.4",
32
+ "@webiny/feature": "6.5.0-beta.4",
33
+ "@webiny/handler": "6.5.0-beta.4",
34
+ "@webiny/handler-aws": "6.5.0-beta.4",
35
+ "@webiny/handler-db": "6.5.0-beta.4",
36
+ "@webiny/handler-graphql": "6.5.0-beta.4",
37
+ "@webiny/plugins": "6.5.0-beta.4",
38
+ "@webiny/project": "6.5.0-beta.4",
39
+ "@webiny/utils": "6.5.0-beta.4",
40
+ "@webiny/validation": "6.5.0-beta.4",
41
41
  "dot-prop-immutable": "2.1.1",
42
42
  "graphql": "16.14.2",
43
43
  "graphql-tag": "2.12.7",
@@ -50,11 +50,11 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/pluralize": "0.0.33",
53
- "@webiny/build-tools": "6.5.0-beta.2",
54
- "@webiny/handler-db": "6.5.0-beta.2",
55
- "@webiny/project-utils": "6.5.0-beta.2",
56
- "@webiny/sdk": "6.5.0-beta.2",
57
- "@webiny/wcp": "6.5.0-beta.2",
53
+ "@webiny/build-tools": "6.5.0-beta.4",
54
+ "@webiny/handler-db": "6.5.0-beta.4",
55
+ "@webiny/project-utils": "6.5.0-beta.4",
56
+ "@webiny/sdk": "6.5.0-beta.4",
57
+ "@webiny/wcp": "6.5.0-beta.4",
58
58
  "apollo-graphql": "0.9.7",
59
59
  "graphql": "16.14.2",
60
60
  "oxfmt": "0.59.0",