@webiny/api-headless-cms 0.0.0-unstable.9e825fd5fb → 0.0.0-unstable.aa00eecd97

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 (135) hide show
  1. package/context.js +4 -3
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/referenceFieldsMapping.js +34 -5
  4. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  5. package/crud/contentEntry.crud.d.ts +4 -4
  6. package/crud/contentEntry.crud.js +207 -106
  7. package/crud/contentEntry.crud.js.map +1 -1
  8. package/crud/contentModel/beforeDelete.d.ts +1 -1
  9. package/crud/contentModel/beforeDelete.js +1 -5
  10. package/crud/contentModel/beforeDelete.js.map +1 -1
  11. package/crud/contentModel/validation.d.ts +48 -16
  12. package/crud/contentModel/validation.js +2 -2
  13. package/crud/contentModel/validation.js.map +1 -1
  14. package/crud/contentModelGroup.crud.js +1 -7
  15. package/crud/contentModelGroup.crud.js.map +1 -1
  16. package/graphql/checkEndpointAccess.d.ts +2 -0
  17. package/graphql/checkEndpointAccess.js +18 -0
  18. package/graphql/checkEndpointAccess.js.map +1 -0
  19. package/graphql/createRequestBody.d.ts +2 -0
  20. package/graphql/createRequestBody.js +14 -0
  21. package/graphql/createRequestBody.js.map +1 -0
  22. package/graphql/formatErrorPayload.d.ts +1 -0
  23. package/graphql/formatErrorPayload.js +25 -0
  24. package/graphql/formatErrorPayload.js.map +1 -0
  25. package/graphql/generateSchema.js.map +1 -1
  26. package/graphql/getSchema.d.ts +17 -0
  27. package/graphql/getSchema.js +102 -0
  28. package/graphql/getSchema.js.map +1 -0
  29. package/graphql/graphQLHandlerFactory.js +5 -190
  30. package/graphql/graphQLHandlerFactory.js.map +1 -1
  31. package/graphql/handleRequest.d.ts +11 -0
  32. package/graphql/handleRequest.js +81 -0
  33. package/graphql/handleRequest.js.map +1 -0
  34. package/graphql/schema/baseSchema.js +15 -0
  35. package/graphql/schema/baseSchema.js.map +1 -1
  36. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  37. package/graphql/schema/createFieldResolvers.js +6 -12
  38. package/graphql/schema/createFieldResolvers.js.map +1 -1
  39. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  40. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  41. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  42. package/graphql/schema/createManageResolvers.js +4 -0
  43. package/graphql/schema/createManageResolvers.js.map +1 -1
  44. package/graphql/schema/createManageSDL.js +34 -26
  45. package/graphql/schema/createManageSDL.js.map +1 -1
  46. package/graphql/schema/createReadSDL.js +22 -19
  47. package/graphql/schema/createReadSDL.js.map +1 -1
  48. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  49. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -3
  50. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  51. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  52. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  53. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  54. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  55. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  56. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  57. package/graphql/schema/schemaPlugins.js +2 -11
  58. package/graphql/schema/schemaPlugins.js.map +1 -1
  59. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  60. package/graphqlFields/dynamicZone/dynamicZoneField.js +44 -17
  61. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  62. package/graphqlFields/object.js.map +1 -1
  63. package/graphqlFields/ref.js +7 -7
  64. package/graphqlFields/ref.js.map +1 -1
  65. package/index.d.ts +1 -1
  66. package/index.js +13 -9
  67. package/index.js.map +1 -1
  68. package/package.json +35 -35
  69. package/plugins/CmsModelPlugin.d.ts +3 -1
  70. package/plugins/CmsModelPlugin.js +5 -5
  71. package/plugins/CmsModelPlugin.js.map +1 -1
  72. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  73. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  74. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  75. package/plugins/index.d.ts +1 -0
  76. package/plugins/index.js +11 -0
  77. package/plugins/index.js.map +1 -1
  78. package/types.d.ts +122 -71
  79. package/types.js +11 -0
  80. package/types.js.map +1 -1
  81. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  82. package/utils/converters/valueKeyStorageConverter.js +24 -25
  83. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  84. package/utils/createTypeFromFields.js +1 -2
  85. package/utils/createTypeFromFields.js.map +1 -1
  86. package/utils/createTypeName.d.ts +0 -2
  87. package/utils/createTypeName.js +2 -10
  88. package/utils/createTypeName.js.map +1 -1
  89. package/utils/getBaseFieldType.d.ts +1 -3
  90. package/utils/getBaseFieldType.js.map +1 -1
  91. package/utils/getEntryDescription.d.ts +1 -1
  92. package/utils/getEntryDescription.js.map +1 -1
  93. package/utils/getEntryImage.d.ts +1 -1
  94. package/utils/getEntryImage.js.map +1 -1
  95. package/utils/getEntryTitle.d.ts +1 -1
  96. package/utils/getEntryTitle.js.map +1 -1
  97. package/utils/renderFields.d.ts +2 -1
  98. package/utils/renderFields.js +2 -1
  99. package/utils/renderFields.js.map +1 -1
  100. package/utils/renderGetFilterFields.d.ts +2 -2
  101. package/utils/renderGetFilterFields.js +7 -20
  102. package/utils/renderGetFilterFields.js.map +1 -1
  103. package/utils/renderInputFields.d.ts +2 -1
  104. package/utils/renderInputFields.js +14 -6
  105. package/utils/renderInputFields.js.map +1 -1
  106. package/utils/renderListFilterFields.d.ts +2 -1
  107. package/utils/renderListFilterFields.js +9 -20
  108. package/utils/renderListFilterFields.js.map +1 -1
  109. package/utils/renderSortEnum.d.ts +2 -1
  110. package/utils/renderSortEnum.js +2 -1
  111. package/utils/renderSortEnum.js.map +1 -1
  112. package/crud/contentModel/createFieldModels.d.ts +0 -2
  113. package/crud/contentModel/createFieldModels.js +0 -26
  114. package/crud/contentModel/createFieldModels.js.map +0 -1
  115. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  116. package/crud/contentModel/fieldIdValidation.js +0 -25
  117. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  118. package/crud/contentModel/idValidation.d.ts +0 -1
  119. package/crud/contentModel/idValidation.js +0 -22
  120. package/crud/contentModel/idValidation.js.map +0 -1
  121. package/crud/contentModel/models.d.ts +0 -4
  122. package/crud/contentModel/models.js +0 -192
  123. package/crud/contentModel/models.js.map +0 -1
  124. package/crud/contentModel/systemFields.d.ts +0 -1
  125. package/crud/contentModel/systemFields.js +0 -8
  126. package/crud/contentModel/systemFields.js.map +0 -1
  127. package/upgrades/5.33.0/index.d.ts +0 -3
  128. package/upgrades/5.33.0/index.js +0 -182
  129. package/upgrades/5.33.0/index.js.map +0 -1
  130. package/upgrades/index.d.ts +0 -1
  131. package/upgrades/index.js +0 -12
  132. package/upgrades/index.js.map +0 -1
  133. package/utils/pluralizedTypeName.d.ts +0 -1
  134. package/utils/pluralizedTypeName.js +0 -26
  135. package/utils/pluralizedTypeName.js.map +0 -1
@@ -15,34 +15,38 @@ const createManageSDL = ({
15
15
  fieldTypePlugins,
16
16
  sorterPlugins
17
17
  }) => {
18
+ const inputFields = (0, _renderInputFields.renderInputFields)({
19
+ models,
20
+ model,
21
+ fields: model.fields,
22
+ fieldTypePlugins
23
+ });
24
+ if (inputFields.length === 0) {
25
+ return "";
26
+ }
18
27
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
19
28
  model,
29
+ fields: model.fields,
20
30
  type: "manage",
21
31
  fieldTypePlugins
22
32
  });
23
33
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
24
34
  model,
35
+ fields: model.fields,
25
36
  fieldTypePlugins,
26
37
  sorterPlugins
27
38
  });
28
39
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
29
- model,
30
- fieldTypePlugins
31
- });
32
- const inputFields = (0, _renderInputFields.renderInputFields)({
33
- models,
34
- model,
40
+ fields: model.fields,
35
41
  fieldTypePlugins
36
42
  });
37
43
  const fields = (0, _renderFields.renderFields)({
38
44
  models,
39
45
  model,
46
+ fields: model.fields,
40
47
  type: "manage",
41
48
  fieldTypePlugins
42
49
  });
43
- if (inputFields.length === 0) {
44
- return "";
45
- }
46
50
  const {
47
51
  singularApiName: singularName,
48
52
  pluralApiName: pluralName
@@ -81,25 +85,26 @@ const createManageSDL = ({
81
85
  data: JSON
82
86
  }
83
87
 
84
- ${fields.map(f => f.typeDefs).filter(Boolean).join("\n")}
88
+ ${fields.map(f => f.typeDefs).join("\n")}
89
+
90
+ ${inputFields.map(f => f.typeDefs).join("\n")}
85
91
 
86
- ${inputFields.map(f => f.typeDefs).filter(Boolean).join("\n")}
87
92
 
88
- ${inputFields && `input ${singularName}Input {
89
- id: ID
93
+ input ${singularName}Input {
94
+ id: ID
90
95
  ${inputFields.map(f => f.fields).join("\n")}
91
- }`}
96
+ }
92
97
 
93
- ${getFilterFieldsRender && `input ${singularName}GetWhereInput {
98
+ input ${singularName}GetWhereInput {
94
99
  ${getFilterFieldsRender}
95
- }`}
100
+ }
96
101
 
102
+ input ${singularName}ListWhereInput {
103
+ ${listFilterFieldsRender}
104
+ AND: [${singularName}ListWhereInput!]
105
+ OR: [${singularName}ListWhereInput!]
106
+ }
97
107
 
98
- ${listFilterFieldsRender && `input ${singularName}ListWhereInput {
99
- ${listFilterFieldsRender}
100
- AND: [${singularName}ListWhereInput!]
101
- OR: [${singularName}ListWhereInput!]
102
- }`}
103
108
 
104
109
  type ${singularName}Response {
105
110
  data: ${singularName}
@@ -117,9 +122,10 @@ const createManageSDL = ({
117
122
  error: CmsError
118
123
  }
119
124
 
120
- ${sortEnumRender && `enum ${singularName}ListSorter {
125
+
126
+ enum ${singularName}ListSorter {
121
127
  ${sortEnumRender}
122
- }`}
128
+ }
123
129
 
124
130
  extend type Query {
125
131
  get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response
@@ -138,12 +144,14 @@ const createManageSDL = ({
138
144
 
139
145
  extend type Mutation {
140
146
  create${singularName}(data: ${singularName}Input!): ${singularName}Response
141
-
147
+
142
148
  create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response
143
149
 
144
150
  update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response
145
-
146
- delete${singularName}(revision: ID!): CmsDeleteResponse
151
+
152
+ delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse
153
+
154
+ deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!
147
155
 
148
156
  publish${singularName}(revision: ID!): ${singularName}Response
149
157
 
@@ -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","inputFields","renderInputFields","fields","length","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","renderFields","singularApiName","singularName","pluralApiName","pluralName","description","map","f","join","typeDefs"],"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 inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldTypePlugins\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\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.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n\n\n input ${singularName}Input {\n id: ID\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }\n\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 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 ): ${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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"}
@@ -15,29 +15,32 @@ const createReadSDL = ({
15
15
  sorterPlugins
16
16
  }) => {
17
17
  const type = "read";
18
+ const fieldsRender = (0, _renderFields.renderFields)({
19
+ models,
20
+ model,
21
+ fields: model.fields,
22
+ type,
23
+ fieldTypePlugins
24
+ });
25
+ if (fieldsRender.length === 0) {
26
+ return "";
27
+ }
18
28
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
19
29
  model,
30
+ fields: model.fields,
20
31
  type,
21
32
  fieldTypePlugins
22
33
  });
23
34
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
24
35
  model,
36
+ fields: model.fields,
25
37
  fieldTypePlugins,
26
38
  sorterPlugins
27
39
  });
28
40
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
29
- model,
30
- fieldTypePlugins
31
- });
32
- const fieldsRender = (0, _renderFields.renderFields)({
33
- models,
34
- model,
35
- type,
41
+ fields: model.fields,
36
42
  fieldTypePlugins
37
43
  });
38
- if (fieldsRender.length === 0) {
39
- return "";
40
- }
41
44
  const hasModelIdField = model.fields.some(f => f.fieldId === "modelId");
42
45
  const {
43
46
  singularApiName: singularName,
@@ -58,21 +61,21 @@ const createReadSDL = ({
58
61
 
59
62
  ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
60
63
 
61
- ${getFilterFieldsRender && `input ${singularName}GetWhereInput {
64
+ input ${singularName}GetWhereInput {
62
65
  ${getFilterFieldsRender}
63
- }`}
66
+ }
64
67
 
65
68
 
66
- ${listFilterFieldsRender && `input ${singularName}ListWhereInput {
67
- ${listFilterFieldsRender}
68
- AND: [${singularName}ListWhereInput!]
69
- OR: [${singularName}ListWhereInput!]
70
- }`}
69
+ input ${singularName}ListWhereInput {
70
+ ${listFilterFieldsRender}
71
+ AND: [${singularName}ListWhereInput!]
72
+ OR: [${singularName}ListWhereInput!]
73
+ }
71
74
 
72
75
 
73
- ${sortEnumRender && `enum ${singularName}ListSorter {
76
+ enum ${singularName}ListSorter {
74
77
  ${sortEnumRender}
75
- }`}
78
+ }
76
79
 
77
80
  type ${singularName}Response {
78
81
  data: ${singularName}
@@ -1 +1 @@
1
- {"version":3,"names":["createReadSDL","models","model","fieldTypePlugins","sorterPlugins","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","hasModelIdField","fields","some","f","fieldId","singularApiName","singularName","pluralApiName","pluralName","description","map","join","typeDefs","filter","Boolean"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateReadSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const type: ApiEndpoint = \"read\";\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type,\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n model,\n fieldTypePlugins\n });\n const fieldsRender = renderFields({\n models,\n model,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n return `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsIdentity!\n ownedBy: CmsIdentity!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\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 \n ${\n sortEnumRender &&\n `enum ${singularName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response\n\n list${pluralName}(\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n ): ${singularName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AAaO,MAAMA,aAA4B,GAAG,CAAC;EACzCC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC;AACJ,CAAC,KAAa;EACV,MAAMC,IAAiB,GAAG,MAAM;EAEhC,MAAMC,sBAAsB,GAAG,IAAAC,8CAAsB,EAAC;IAClDL,KAAK;IACLG,IAAI;IACJF;EACJ,CAAC,CAAC;EAEF,MAAMK,cAAc,GAAG,IAAAC,8BAAc,EAAC;IAClCP,KAAK;IACLC,gBAAgB;IAChBC;EACJ,CAAC,CAAC;EACF,MAAMM,qBAAqB,GAAG,IAAAC,4CAAqB,EAAC;IAChDT,KAAK;IACLC;EACJ,CAAC,CAAC;EACF,MAAMS,YAAY,GAAG,IAAAC,0BAAY,EAAC;IAC9BZ,MAAM;IACNC,KAAK;IACLG,IAAI;IACJF;EACJ,CAAC,CAAC;EAEF,IAAIS,YAAY,CAACE,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACb;EAEA,MAAMC,eAAe,GAAGb,KAAK,CAACc,MAAM,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAK,SAAS,CAAC;EAEvE,MAAM;IAAEC,eAAe,EAAEC,YAAY;IAAEC,aAAa,EAAEC;EAAW,CAAC,GAAGrB,KAAK;EAE1E,OAAQ;AACZ,aAAaA,KAAK,CAACsB,WAAW,IAAIH,YAAa;AAC/C,eAAeA,YAAa;AAC5B;AACA;AACA,cAAcN,eAAe,GAAG,EAAE,GAAG,kBAAmB;AACxD;AACA;AACA;AACA;AACA,cAAcH,YAAY,CAACa,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACF,MAAM,CAAC,CAACU,IAAI,CAAC,IAAI,CAAE;AACzD;AACA;AACA,UAAUd,YAAY,CACTa,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACS,QAAQ,CAAC,CACpBC,MAAM,CAACC,OAAO,CAAC,CACfH,IAAI,CAAC,IAAI,CAAE;AACxB;AACA,UACYhB,qBAAqB,IACpB,SAAQW,YAAa;AAClC,cAAcX,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQe,YAAa;AAClC,kBAAkBf,sBAAuB;AACzC,wBAAwBe,YAAa;AACrC,uBAAuBA,YAAa;AACpC,UACS;AACT;AACA;AACA,UACYb,cAAc,IACb,QAAOa,YAAa;AACjC,cAAcb,cAAe;AAC7B,UACS;AACT;AACA,eAAea,YAAa;AAC5B,oBAAoBA,YAAa;AACjC;AACA;AACA;AACA,eAAeA,YAAa;AAC5B,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA;AACA,iBAAiBA,YAAa,WAAUA,YAAa,oBAAmBA,YAAa;AACrF;AACA,kBAAkBE,UAAW;AAC7B,yBAAyBF,YAAa;AACtC,yBAAyBA,YAAa;AACtC;AACA;AACA,iBAAiBA,YAAa;AAC9B;AACA,KAAK;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["createReadSDL","models","model","fieldTypePlugins","sorterPlugins","type","fieldsRender","renderFields","fields","length","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","hasModelIdField","some","f","fieldId","singularApiName","singularName","pluralApiName","pluralName","description","map","join","typeDefs","filter","Boolean"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateReadSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const type: ApiEndpoint = \"read\";\n\n const fieldsRender = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n return `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsIdentity!\n ownedBy: CmsIdentity!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }\n \n \n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n \n \n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n \n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response\n\n list${pluralName}(\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n ): ${singularName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AAaO,MAAMA,aAA4B,GAAG,CAAC;EACzCC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC;AACJ,CAAC,KAAa;EACV,MAAMC,IAAiB,GAAG,MAAM;EAEhC,MAAMC,YAAY,GAAG,IAAAC,0BAAY,EAAC;IAC9BN,MAAM;IACNC,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBH,IAAI;IACJF;EACJ,CAAC,CAAC;EAEF,IAAIG,YAAY,CAACG,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACb;EACA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAsB,EAAC;IAClDT,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBH,IAAI;IACJF;EACJ,CAAC,CAAC;EACF,MAAMS,cAAc,GAAG,IAAAC,8BAAc,EAAC;IAClCX,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBL,gBAAgB;IAChBC;EACJ,CAAC,CAAC;EACF,MAAMU,qBAAqB,GAAG,IAAAC,4CAAqB,EAAC;IAChDP,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBL;EACJ,CAAC,CAAC;EAEF,MAAMa,eAAe,GAAGd,KAAK,CAACM,MAAM,CAACS,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAK,SAAS,CAAC;EAEvE,MAAM;IAAEC,eAAe,EAAEC,YAAY;IAAEC,aAAa,EAAEC;EAAW,CAAC,GAAGrB,KAAK;EAE1E,OAAQ;AACZ,aAAaA,KAAK,CAACsB,WAAW,IAAIH,YAAa;AAC/C,eAAeA,YAAa;AAC5B;AACA;AACA,cAAcL,eAAe,GAAG,EAAE,GAAG,kBAAmB;AACxD;AACA;AACA;AACA;AACA,cAAcV,YAAY,CAACmB,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACV,MAAM,CAAC,CAACkB,IAAI,CAAC,IAAI,CAAE;AACzD;AACA;AACA,UAAUpB,YAAY,CACTmB,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACS,QAAQ,CAAC,CACpBC,MAAM,CAACC,OAAO,CAAC,CACfH,IAAI,CAAC,IAAI,CAAE;AACxB;AACA,gBAAgBL,YAAa;AAC7B,cAAcP,qBAAsB;AACpC;AACA;AACA;AACA,gBAAgBO,YAAa;AAC7B,cAAcX,sBAAuB;AACrC,oBAAoBW,YAAa;AACjC,mBAAmBA,YAAa;AAChC;AACA;AACA;AACA,eAAeA,YAAa;AAC5B,cAAcT,cAAe;AAC7B;AACA;AACA,eAAeS,YAAa;AAC5B,oBAAoBA,YAAa;AACjC;AACA;AACA;AACA,eAAeA,YAAa;AAC5B,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA;AACA,iBAAiBA,YAAa,WAAUA,YAAa,oBAAmBA,YAAa;AACrF;AACA,kBAAkBE,UAAW;AAC7B,yBAAyBF,YAAa;AACtC,yBAAyBA,YAAa;AACtC;AACA;AACA,iBAAiBA,YAAa;AAC9B;AACA,KAAK;AACL,CAAC;AAAC"}
@@ -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"}
@@ -0,0 +1,4 @@
1
+ import { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
2
+ declare type ResolveGetUniqueFieldValuesList = ResolverFactory<any, CmsEntryListParams>;
3
+ export declare const resolveGetUniqueFieldValues: ResolveGetUniqueFieldValuesList;
4
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveGetUniqueFieldValues = void 0;
7
+ var _responses = require("@webiny/handler-graphql/responses");
8
+ const resolveGetUniqueFieldValues = ({
9
+ model
10
+ }) => async (_, params, context) => {
11
+ try {
12
+ const response = await context.cms.getUniqueFieldValues(model, params);
13
+ return new _responses.Response(response);
14
+ } catch (e) {
15
+ return new _responses.ListErrorResponse(e);
16
+ }
17
+ };
18
+ exports.resolveGetUniqueFieldValues = resolveGetUniqueFieldValues;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveGetUniqueFieldValues","model","_","params","context","response","cms","getUniqueFieldValues","Response","e","ListErrorResponse"],"sources":["resolveGetUniqueFieldValues.ts"],"sourcesContent":["import { ListErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ntype ResolveGetUniqueFieldValuesList = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGetUniqueFieldValues: ResolveGetUniqueFieldValuesList =\n ({ model }) =>\n async (_, params: any, context) => {\n try {\n const response = await context.cms.getUniqueFieldValues(model, params);\n\n return new Response(response);\n } catch (e) {\n return new ListErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AAKO,MAAMA,2BAA4D,GACrE,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,MAAW,EAAEC,OAAO,KAAK;EAC/B,IAAI;IACA,MAAMC,QAAQ,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,oBAAoB,CAACN,KAAK,EAAEE,MAAM,CAAC;IAEtE,OAAO,IAAIK,mBAAQ,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC,OAAOI,CAAC,EAAE;IACR,OAAO,IAAIC,4BAAiB,CAACD,CAAC,CAAC;EACnC;AACJ,CAAC;AAAC"}
@@ -11,6 +11,7 @@ var _createReadResolvers = require("./createReadResolvers");
11
11
  var _createPreviewResolvers = require("./createPreviewResolvers");
12
12
  var _getSchemaFromFieldPlugins = require("../../utils/getSchemaFromFieldPlugins");
13
13
  var _plugins = require("../../plugins");
14
+ var _createFieldTypePluginRecords = require("./createFieldTypePluginRecords");
14
15
  const generateSchemaPlugins = async params => {
15
16
  const {
16
17
  context,
@@ -33,10 +34,7 @@ const generateSchemaPlugins = async params => {
33
34
  }
34
35
 
35
36
  // Structure plugins for faster access
36
- const fieldTypePlugins = plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
37
- acc[pl.fieldType] = pl;
38
- return acc;
39
- }, {});
37
+ const fieldTypePlugins = (0, _createFieldTypePluginRecords.createFieldTypePluginRecords)(plugins);
40
38
  const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type);
41
39
  const schemaPlugins = (0, _getSchemaFromFieldPlugins.createGraphQLSchemaPluginFromFieldPlugins)({
42
40
  models,
@@ -44,13 +42,6 @@ const generateSchemaPlugins = async params => {
44
42
  type
45
43
  });
46
44
  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
45
  return model.fields.length > 0;
55
46
  }).forEach(model => {
56
47
  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","createFieldTypePluginRecords","sorterPlugins","byType","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","pl","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { 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 { CmsGraphQLSchemaPlugin, CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { createFieldTypePluginRecords } from \"~/graphql/schema/createFieldTypePluginRecords\";\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 = createFieldTypePluginRecords(plugins);\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;AACA;AAOO,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,GAAG,IAAAC,0DAA4B,EAACJ,OAAO,CAAC;EAE9D,MAAMK,aAAa,GAAGL,OAAO,CAACM,MAAM,CAChCC,qCAA4B,CAACL,IAAI,CACpC;EAED,MAAMM,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5DV,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDW,MAAM,CAACC,KAAK,IAAI;IACb,OAAOA,KAAK,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC;EAClC,CAAC,CAAC,CACDC,OAAO,CAACH,KAAK,IAAI;IACd,QAAQT,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMa,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cACtBnB,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBE;YACJ,CAAC,CAAC;YACFc,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7BrB,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFiB,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;cACpBzB,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBE;YACJ,CAAC,CAAC;YACFc,SAAS,EAAElB,GAAG,CAACwB,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChB3B,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAA6B,8CAAsB,EAAC;cACnB5B,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFiB,MAAM,CAACM,IAAI,GAAI,+BAA8BnB,IAAK,IAAGS,KAAK,CAACW,OAAQ,EAAC;UACpEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOP,aAAa,CAACE,MAAM,CAACkB,EAAE,IAAI,CAAC,CAACA,EAAE,CAACC,MAAM,CAACZ,QAAQ,CAAC;AAC3D,CAAC;AAAC"}
@@ -1,2 +1,2 @@
1
- import { CmsModelFieldToGraphQLPlugin, CmsModelDynamicZoneField } from "../../types";
1
+ import { CmsModelDynamicZoneField, CmsModelFieldToGraphQLPlugin } from "../../types";
2
2
  export declare const createDynamicZoneField: () => CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField>;
@@ -10,7 +10,7 @@ var _createTypeName = require("../../utils/createTypeName");
10
10
  var _createTypeFromFields = require("../../utils/createTypeFromFields");
11
11
  var _helpers = require("../helpers");
12
12
  const createUnionTypeName = (model, field) => {
13
- return `${model.singularApiName}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
13
+ return `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
14
14
  };
15
15
  const getFieldTemplates = field => {
16
16
  var _field$settings;
@@ -58,20 +58,47 @@ const remapTemplateValue = (value, typeName) => {
58
58
  __typename: `${typeName}_${templateType}`
59
59
  });
60
60
  };
61
- const createResolver = ({
62
- model,
63
- field
64
- }) => {
65
- return parent => {
66
- const value = parent[field.fieldId];
67
- if (!value) {
68
- return value;
69
- }
70
- const typeName = `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
71
- if (field.multipleValues && Array.isArray(value)) {
72
- return value.map(v => remapTemplateValue(v, typeName));
73
- }
74
- return remapTemplateValue(value, typeName);
61
+ const createResolver = endpointType => {
62
+ return ({
63
+ model,
64
+ models,
65
+ field,
66
+ fieldTypePlugins,
67
+ createFieldResolvers
68
+ }) => {
69
+ const resolver = parent => {
70
+ const value = parent[field.fieldId];
71
+ if (!value) {
72
+ return value;
73
+ }
74
+ const typeName = `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
75
+ if (field.multipleValues && Array.isArray(value)) {
76
+ return value.map(v => remapTemplateValue(v, typeName));
77
+ }
78
+ return remapTemplateValue(value, typeName);
79
+ };
80
+ const templates = getFieldTemplates(field);
81
+ const {
82
+ templateTypes
83
+ } = createTypeDefsForTemplates({
84
+ models,
85
+ field,
86
+ type: endpointType,
87
+ typeOfType: "type",
88
+ model,
89
+ fieldTypePlugins,
90
+ templates
91
+ });
92
+ const typeResolvers = templateTypes.reduce((typeResolvers, templateType, index) => {
93
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, typeResolvers), createFieldResolvers({
94
+ graphQLType: templateType,
95
+ fields: field.settings.templates[index].fields
96
+ }));
97
+ }, {});
98
+ return {
99
+ resolver,
100
+ typeResolvers
101
+ };
75
102
  };
76
103
  };
77
104
  const createDynamicZoneField = () => {
@@ -129,7 +156,7 @@ const createDynamicZoneField = () => {
129
156
  typeDefs: typeDefs.join("\n")
130
157
  };
131
158
  },
132
- createResolver
159
+ createResolver: createResolver("read")
133
160
  },
134
161
  manage: {
135
162
  createTypeField({
@@ -209,7 +236,7 @@ const createDynamicZoneField = () => {
209
236
  typeDefs: typeDefs.join("\n")
210
237
  };
211
238
  },
212
- createResolver
239
+ createResolver: createResolver("manage")
213
240
  }
214
241
  };
215
242
  };