@webiny/api-aco 0.0.0-unstable.9e825fd5fb → 0.0.0-unstable.a9593f74dd

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 (183) hide show
  1. package/README.md +6 -6
  2. package/apps/AcoApp.d.ts +21 -0
  3. package/apps/AcoApp.js +143 -0
  4. package/apps/AcoApp.js.map +1 -0
  5. package/apps/AcoApps.d.ts +10 -0
  6. package/apps/AcoApps.js +75 -0
  7. package/apps/AcoApps.js.map +1 -0
  8. package/apps/app.gql.d.ts +3 -0
  9. package/apps/app.gql.js +60 -0
  10. package/apps/app.gql.js.map +1 -0
  11. package/apps/index.d.ts +2 -0
  12. package/apps/index.js +29 -0
  13. package/apps/index.js.map +1 -0
  14. package/createAcoContext.d.ts +5 -1
  15. package/createAcoContext.js +159 -28
  16. package/createAcoContext.js.map +1 -1
  17. package/createAcoGraphQL.d.ts +2 -2
  18. package/createAcoGraphQL.js +39 -6
  19. package/createAcoGraphQL.js.map +1 -1
  20. package/createAcoHooks.js +9 -3
  21. package/createAcoHooks.js.map +1 -1
  22. package/createAcoModels.js +6 -42
  23. package/createAcoModels.js.map +1 -1
  24. package/createAcoStorageOperations.d.ts +0 -1
  25. package/createAcoStorageOperations.js +10 -7
  26. package/createAcoStorageOperations.js.map +1 -1
  27. package/{createAcoFields.d.ts → fields/index.d.ts} +1 -1
  28. package/fields/index.js +14 -0
  29. package/fields/index.js.map +1 -0
  30. package/fields/location.d.ts +2 -0
  31. package/fields/location.js +46 -0
  32. package/fields/location.js.map +1 -0
  33. package/filter/filter.crud.d.ts +3 -0
  34. package/filter/filter.crud.js +94 -0
  35. package/filter/filter.crud.js.map +1 -0
  36. package/filter/filter.gql.d.ts +3 -0
  37. package/filter/filter.gql.js +153 -0
  38. package/filter/filter.gql.js.map +1 -0
  39. package/filter/filter.model.d.ts +2 -0
  40. package/filter/filter.model.js +125 -0
  41. package/filter/filter.model.js.map +1 -0
  42. package/filter/filter.so.d.ts +3 -0
  43. package/filter/filter.so.js +98 -0
  44. package/filter/filter.so.js.map +1 -0
  45. package/filter/filter.types.d.ts +95 -0
  46. package/filter/filter.types.js +14 -0
  47. package/filter/filter.types.js.map +1 -0
  48. package/folder/folder.crud.d.ts +8 -1
  49. package/folder/folder.crud.js +201 -4
  50. package/folder/folder.crud.js.map +1 -1
  51. package/folder/folder.gql.js +98 -6
  52. package/folder/folder.gql.js.map +1 -1
  53. package/folder/folder.model.d.ts +1 -3
  54. package/folder/folder.model.js +54 -25
  55. package/folder/folder.model.js.map +1 -1
  56. package/folder/folder.so.js +38 -18
  57. package/folder/folder.so.js.map +1 -1
  58. package/folder/folder.types.d.ts +35 -3
  59. package/folder/folder.types.js +3 -1
  60. package/folder/folder.types.js.map +1 -1
  61. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  62. package/folder/onFolderBeforeDeleteAco.hook.js +67 -0
  63. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  64. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  65. package/folder/onFolderBeforeDeleteFm.hook.js +49 -0
  66. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  67. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  68. package/folder/onFolderBeforeDeleteHcms.hook.js +56 -0
  69. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  70. package/index.d.ts +9 -1
  71. package/index.js +57 -5
  72. package/index.js.map +1 -1
  73. package/package.json +38 -32
  74. package/plugins/AcoAppModifierPlugin.d.ts +43 -0
  75. package/plugins/AcoAppModifierPlugin.js +58 -0
  76. package/plugins/AcoAppModifierPlugin.js.map +1 -0
  77. package/plugins/AcoAppRegisterPlugin.d.ts +8 -0
  78. package/plugins/AcoAppRegisterPlugin.js +21 -0
  79. package/plugins/AcoAppRegisterPlugin.js.map +1 -0
  80. package/plugins/index.d.ts +2 -0
  81. package/plugins/index.js +29 -0
  82. package/plugins/index.js.map +1 -0
  83. package/record/graphql/createAppResolvers.d.ts +14 -0
  84. package/record/graphql/createAppResolvers.js +115 -0
  85. package/record/graphql/createAppResolvers.js.map +1 -0
  86. package/record/graphql/createAppSchema.d.ts +9 -0
  87. package/record/graphql/createAppSchema.js +147 -0
  88. package/record/graphql/createAppSchema.js.map +1 -0
  89. package/record/record.crud.js +49 -13
  90. package/record/record.crud.js.map +1 -1
  91. package/record/record.gql.d.ts +8 -3
  92. package/record/record.gql.js +38 -112
  93. package/record/record.gql.js.map +1 -1
  94. package/record/record.model.d.ts +7 -3
  95. package/record/record.model.js +42 -13
  96. package/record/record.model.js.map +1 -1
  97. package/record/record.so.js +109 -45
  98. package/record/record.so.js.map +1 -1
  99. package/record/record.types.d.ts +71 -18
  100. package/record/record.types.js +3 -1
  101. package/record/record.types.js.map +1 -1
  102. package/types.d.ts +69 -8
  103. package/types.js +52 -4
  104. package/types.js.map +1 -1
  105. package/utils/FolderLevelPermissions.d.ts +71 -0
  106. package/utils/FolderLevelPermissions.js +353 -0
  107. package/utils/FolderLevelPermissions.js.map +1 -0
  108. package/utils/acoRecordId.d.ts +6 -0
  109. package/utils/acoRecordId.js +35 -0
  110. package/utils/acoRecordId.js.map +1 -0
  111. package/utils/createListSort.js +3 -1
  112. package/utils/createListSort.js.map +1 -1
  113. package/utils/createModelField.js +3 -1
  114. package/utils/createModelField.js.map +1 -1
  115. package/utils/createOperationsWrapper.js +3 -1
  116. package/utils/createOperationsWrapper.js.map +1 -1
  117. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  118. package/utils/decorators/CmsEntriesCrudDecorators.js +232 -0
  119. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  120. package/utils/decorators/constants.d.ts +1 -0
  121. package/utils/decorators/constants.js +10 -0
  122. package/utils/decorators/constants.js.map +1 -0
  123. package/utils/decorators/where.d.ts +14 -0
  124. package/utils/decorators/where.js +52 -0
  125. package/utils/decorators/where.js.map +1 -0
  126. package/utils/ensureAuthentication.d.ts +2 -0
  127. package/utils/ensureAuthentication.js +16 -0
  128. package/utils/ensureAuthentication.js.map +1 -0
  129. package/utils/getFolderAndItsAncestors.d.ts +7 -0
  130. package/utils/getFolderAndItsAncestors.js +53 -0
  131. package/utils/getFolderAndItsAncestors.js.map +1 -0
  132. package/utils/isInstallationPending.js +3 -1
  133. package/utils/isInstallationPending.js.map +1 -1
  134. package/utils/modelFactory.d.ts +1 -3
  135. package/utils/modelFactory.js +7 -10
  136. package/utils/modelFactory.js.map +1 -1
  137. package/utils/pickEntryFieldValues.d.ts +3 -0
  138. package/utils/pickEntryFieldValues.js +31 -0
  139. package/utils/pickEntryFieldValues.js.map +1 -0
  140. package/utils/resolve.d.ts +3 -2
  141. package/utils/resolve.js +13 -2
  142. package/utils/resolve.js.map +1 -1
  143. package/context/folders.d.ts +0 -2
  144. package/context/folders.js +0 -261
  145. package/context/folders.js.map +0 -1
  146. package/context/index.d.ts +0 -2
  147. package/context/index.js +0 -22
  148. package/context/index.js.map +0 -1
  149. package/context/links.d.ts +0 -2
  150. package/context/links.js +0 -270
  151. package/context/links.js.map +0 -1
  152. package/createAcoCrud.d.ts +0 -2
  153. package/createAcoCrud.js +0 -17
  154. package/createAcoCrud.js.map +0 -1
  155. package/createAcoFields.js +0 -40
  156. package/createAcoFields.js.map +0 -1
  157. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  158. package/folder/onFolderBeforeDelete.hook.js +0 -53
  159. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  160. package/graphql/base.gql.d.ts +0 -3
  161. package/graphql/base.gql.js +0 -63
  162. package/graphql/base.gql.js.map +0 -1
  163. package/graphql/folders.gql.d.ts +0 -3
  164. package/graphql/folders.gql.js +0 -126
  165. package/graphql/folders.gql.js.map +0 -1
  166. package/graphql/index.d.ts +0 -1
  167. package/graphql/index.js +0 -15
  168. package/graphql/index.js.map +0 -1
  169. package/graphql/links.gql.d.ts +0 -3
  170. package/graphql/links.gql.js +0 -123
  171. package/graphql/links.gql.js.map +0 -1
  172. package/subscriptions/afterFolderDelete.d.ts +0 -3
  173. package/subscriptions/afterFolderDelete.js +0 -62
  174. package/subscriptions/afterFolderDelete.js.map +0 -1
  175. package/subscriptions/index.d.ts +0 -3
  176. package/subscriptions/index.js +0 -14
  177. package/subscriptions/index.js.map +0 -1
  178. package/utils/fieldResolver.d.ts +0 -16
  179. package/utils/fieldResolver.js +0 -44
  180. package/utils/fieldResolver.js.map +0 -1
  181. package/utils/getFieldValues.d.ts +0 -2
  182. package/utils/getFieldValues.js +0 -19
  183. package/utils/getFieldValues.js.map +0 -1
@@ -14,6 +14,9 @@ const createSearchRecordCrudMethods = ({
14
14
  // update
15
15
  const onSearchRecordBeforeUpdate = (0, _pubsub.createTopic)("aco.onSearchRecordBeforeUpdate");
16
16
  const onSearchRecordAfterUpdate = (0, _pubsub.createTopic)("aco.onSearchRecordAfterUpdate");
17
+ // move
18
+ const onSearchRecordBeforeMove = (0, _pubsub.createTopic)("aco.onSearchRecordBeforeMove");
19
+ const onSearchRecordAfterMove = (0, _pubsub.createTopic)("aco.onSearchRecordAfterMove");
17
20
  // delete
18
21
  const onSearchRecordBeforeDelete = (0, _pubsub.createTopic)("aco.onSearchRecordBeforeDelete");
19
22
  const onSearchRecordAfterDelete = (0, _pubsub.createTopic)("aco.onSearchRecordAfterDelete");
@@ -25,44 +28,50 @@ const createSearchRecordCrudMethods = ({
25
28
  onSearchRecordAfterCreate,
26
29
  onSearchRecordBeforeUpdate,
27
30
  onSearchRecordAfterUpdate,
31
+ onSearchRecordBeforeMove,
32
+ onSearchRecordAfterMove,
28
33
  onSearchRecordBeforeDelete,
29
34
  onSearchRecordAfterDelete,
30
- async get(id) {
31
- return storageOperations.getRecord({
35
+ async get(model, id) {
36
+ return storageOperations.getRecord(model, {
32
37
  id
33
38
  });
34
39
  },
35
- async list(params) {
36
- return storageOperations.listRecords(params);
40
+ async list(model, params) {
41
+ return storageOperations.listRecords(model, params);
37
42
  },
38
- async create(data) {
43
+ async create(model, data) {
39
44
  await onSearchRecordBeforeCreate.publish({
45
+ model,
40
46
  input: data
41
47
  });
42
- const record = await storageOperations.createRecord({
48
+ const record = await storageOperations.createRecord(model, {
43
49
  data
44
50
  });
45
51
  await onSearchRecordAfterCreate.publish({
52
+ model,
46
53
  record
47
54
  });
48
55
  return record;
49
56
  },
50
- async update(id, data) {
51
- const original = await storageOperations.getRecord({
57
+ async update(model, id, data) {
58
+ const original = await storageOperations.getRecord(model, {
52
59
  id
53
60
  });
54
61
  await onSearchRecordBeforeUpdate.publish({
62
+ model,
55
63
  original,
56
64
  input: {
57
65
  id,
58
66
  data
59
67
  }
60
68
  });
61
- const record = await storageOperations.updateRecord({
69
+ const record = await storageOperations.updateRecord(model, {
62
70
  id,
63
71
  data
64
72
  });
65
73
  await onSearchRecordAfterUpdate.publish({
74
+ model,
66
75
  original,
67
76
  input: {
68
77
  id,
@@ -72,21 +81,48 @@ const createSearchRecordCrudMethods = ({
72
81
  });
73
82
  return record;
74
83
  },
75
- async delete(id) {
76
- const record = await storageOperations.getRecord({
84
+ async move(model, id, folderId) {
85
+ const original = await storageOperations.getRecord(model, {
86
+ id
87
+ });
88
+ await onSearchRecordBeforeMove.publish({
89
+ model,
90
+ original,
91
+ folderId
92
+ });
93
+ const result = await storageOperations.moveRecord(model, {
94
+ id,
95
+ folderId
96
+ });
97
+ await onSearchRecordAfterMove.publish({
98
+ model,
99
+ original,
100
+ folderId
101
+ });
102
+ return result;
103
+ },
104
+ async delete(model, id) {
105
+ const record = await storageOperations.getRecord(model, {
77
106
  id
78
107
  });
79
108
  await onSearchRecordBeforeDelete.publish({
109
+ model,
80
110
  record
81
111
  });
82
- await storageOperations.deleteRecord({
112
+ await storageOperations.deleteRecord(model, {
83
113
  id
84
114
  });
85
115
  await onSearchRecordAfterDelete.publish({
116
+ model,
86
117
  record
87
118
  });
88
119
  return true;
120
+ },
121
+ async listTags(model, params) {
122
+ return storageOperations.listTags(model, params);
89
123
  }
90
124
  };
91
125
  };
92
- exports.createSearchRecordCrudMethods = createSearchRecordCrudMethods;
126
+ exports.createSearchRecordCrudMethods = createSearchRecordCrudMethods;
127
+
128
+ //# sourceMappingURL=record.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSearchRecordCrudMethods","storageOperations","onSearchRecordBeforeCreate","createTopic","onSearchRecordAfterCreate","onSearchRecordBeforeUpdate","onSearchRecordAfterUpdate","onSearchRecordBeforeDelete","onSearchRecordAfterDelete","get","id","getRecord","list","params","listRecords","create","data","publish","input","record","createRecord","update","original","updateRecord","delete","deleteRecord"],"sources":["record.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\n\nimport { CreateAcoParams } from \"~/types\";\nimport {\n AcoSearchRecordCrud,\n OnSearchRecordAfterCreateTopicParams,\n OnSearchRecordAfterDeleteTopicParams,\n OnSearchRecordAfterUpdateTopicParams,\n OnSearchRecordBeforeCreateTopicParams,\n OnSearchRecordBeforeDeleteTopicParams,\n OnSearchRecordBeforeUpdateTopicParams\n} from \"./record.types\";\n\nexport const createSearchRecordCrudMethods = ({\n storageOperations\n}: CreateAcoParams): AcoSearchRecordCrud => {\n // create\n const onSearchRecordBeforeCreate = createTopic<OnSearchRecordBeforeCreateTopicParams>(\n \"aco.onSearchRecordBeforeCreate\"\n );\n const onSearchRecordAfterCreate = createTopic<OnSearchRecordAfterCreateTopicParams>(\n \"aco.onSearchRecordAfterCreate\"\n );\n // update\n const onSearchRecordBeforeUpdate = createTopic<OnSearchRecordBeforeUpdateTopicParams>(\n \"aco.onSearchRecordBeforeUpdate\"\n );\n const onSearchRecordAfterUpdate = createTopic<OnSearchRecordAfterUpdateTopicParams>(\n \"aco.onSearchRecordAfterUpdate\"\n );\n // delete\n const onSearchRecordBeforeDelete = createTopic<OnSearchRecordBeforeDeleteTopicParams>(\n \"aco.onSearchRecordBeforeDelete\"\n );\n const onSearchRecordAfterDelete = createTopic<OnSearchRecordAfterDeleteTopicParams>(\n \"aco.onSearchRecordAfterDelete\"\n );\n\n return {\n /**\n * Lifecycle events\n */\n onSearchRecordBeforeCreate,\n onSearchRecordAfterCreate,\n onSearchRecordBeforeUpdate,\n onSearchRecordAfterUpdate,\n onSearchRecordBeforeDelete,\n onSearchRecordAfterDelete,\n async get(id) {\n return storageOperations.getRecord({ id });\n },\n async list(params) {\n return storageOperations.listRecords(params);\n },\n async create(data) {\n await onSearchRecordBeforeCreate.publish({ input: data });\n const record = await storageOperations.createRecord({ data });\n await onSearchRecordAfterCreate.publish({ record });\n return record;\n },\n async update(id, data) {\n const original = await storageOperations.getRecord({ id });\n await onSearchRecordBeforeUpdate.publish({ original, input: { id, data } });\n const record = await storageOperations.updateRecord({ id, data });\n await onSearchRecordAfterUpdate.publish({ original, input: { id, data }, record });\n return record;\n },\n async delete(id: string) {\n const record = await storageOperations.getRecord({ id });\n await onSearchRecordBeforeDelete.publish({ record });\n await storageOperations.deleteRecord({ id });\n await onSearchRecordAfterDelete.publish({ record });\n return true;\n }\n };\n};\n"],"mappings":";;;;;;AAAA;AAaO,MAAMA,6BAA6B,GAAG,CAAC;EAC1CC;AACa,CAAC,KAA0B;EACxC;EACA,MAAMC,0BAA0B,GAAG,IAAAC,mBAAW,EAC1C,gCAAgC,CACnC;EACD,MAAMC,yBAAyB,GAAG,IAAAD,mBAAW,EACzC,+BAA+B,CAClC;EACD;EACA,MAAME,0BAA0B,GAAG,IAAAF,mBAAW,EAC1C,gCAAgC,CACnC;EACD,MAAMG,yBAAyB,GAAG,IAAAH,mBAAW,EACzC,+BAA+B,CAClC;EACD;EACA,MAAMI,0BAA0B,GAAG,IAAAJ,mBAAW,EAC1C,gCAAgC,CACnC;EACD,MAAMK,yBAAyB,GAAG,IAAAL,mBAAW,EACzC,+BAA+B,CAClC;EAED,OAAO;IACH;AACR;AACA;IACQD,0BAA0B;IAC1BE,yBAAyB;IACzBC,0BAA0B;IAC1BC,yBAAyB;IACzBC,0BAA0B;IAC1BC,yBAAyB;IACzB,MAAMC,GAAG,CAACC,EAAE,EAAE;MACV,OAAOT,iBAAiB,CAACU,SAAS,CAAC;QAAED;MAAG,CAAC,CAAC;IAC9C,CAAC;IACD,MAAME,IAAI,CAACC,MAAM,EAAE;MACf,OAAOZ,iBAAiB,CAACa,WAAW,CAACD,MAAM,CAAC;IAChD,CAAC;IACD,MAAME,MAAM,CAACC,IAAI,EAAE;MACf,MAAMd,0BAA0B,CAACe,OAAO,CAAC;QAAEC,KAAK,EAAEF;MAAK,CAAC,CAAC;MACzD,MAAMG,MAAM,GAAG,MAAMlB,iBAAiB,CAACmB,YAAY,CAAC;QAAEJ;MAAK,CAAC,CAAC;MAC7D,MAAMZ,yBAAyB,CAACa,OAAO,CAAC;QAAEE;MAAO,CAAC,CAAC;MACnD,OAAOA,MAAM;IACjB,CAAC;IACD,MAAME,MAAM,CAACX,EAAE,EAAEM,IAAI,EAAE;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,SAAS,CAAC;QAAED;MAAG,CAAC,CAAC;MAC1D,MAAML,0BAA0B,CAACY,OAAO,CAAC;QAAEK,QAAQ;QAAEJ,KAAK,EAAE;UAAER,EAAE;UAAEM;QAAK;MAAE,CAAC,CAAC;MAC3E,MAAMG,MAAM,GAAG,MAAMlB,iBAAiB,CAACsB,YAAY,CAAC;QAAEb,EAAE;QAAEM;MAAK,CAAC,CAAC;MACjE,MAAMV,yBAAyB,CAACW,OAAO,CAAC;QAAEK,QAAQ;QAAEJ,KAAK,EAAE;UAAER,EAAE;UAAEM;QAAK,CAAC;QAAEG;MAAO,CAAC,CAAC;MAClF,OAAOA,MAAM;IACjB,CAAC;IACD,MAAMK,MAAM,CAACd,EAAU,EAAE;MACrB,MAAMS,MAAM,GAAG,MAAMlB,iBAAiB,CAACU,SAAS,CAAC;QAAED;MAAG,CAAC,CAAC;MACxD,MAAMH,0BAA0B,CAACU,OAAO,CAAC;QAAEE;MAAO,CAAC,CAAC;MACpD,MAAMlB,iBAAiB,CAACwB,YAAY,CAAC;QAAEf;MAAG,CAAC,CAAC;MAC5C,MAAMF,yBAAyB,CAACS,OAAO,CAAC;QAAEE;MAAO,CAAC,CAAC;MACnD,OAAO,IAAI;IACf;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_pubsub","require","createSearchRecordCrudMethods","storageOperations","onSearchRecordBeforeCreate","createTopic","onSearchRecordAfterCreate","onSearchRecordBeforeUpdate","onSearchRecordAfterUpdate","onSearchRecordBeforeMove","onSearchRecordAfterMove","onSearchRecordBeforeDelete","onSearchRecordAfterDelete","get","model","id","getRecord","list","params","listRecords","create","data","publish","input","record","createRecord","update","original","updateRecord","move","folderId","result","moveRecord","delete","deleteRecord","listTags","exports"],"sources":["record.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\nimport {\n CreateAcoParams,\n OnSearchRecordAfterMoveTopicParams,\n OnSearchRecordBeforeMoveTopicParams\n} from \"~/types\";\nimport {\n AcoSearchRecordCrud,\n OnSearchRecordAfterCreateTopicParams,\n OnSearchRecordAfterDeleteTopicParams,\n OnSearchRecordAfterUpdateTopicParams,\n OnSearchRecordBeforeCreateTopicParams,\n OnSearchRecordBeforeDeleteTopicParams,\n OnSearchRecordBeforeUpdateTopicParams\n} from \"./record.types\";\n\nexport const createSearchRecordCrudMethods = ({\n storageOperations\n}: CreateAcoParams): AcoSearchRecordCrud => {\n // create\n const onSearchRecordBeforeCreate = createTopic<OnSearchRecordBeforeCreateTopicParams>(\n \"aco.onSearchRecordBeforeCreate\"\n );\n const onSearchRecordAfterCreate = createTopic<OnSearchRecordAfterCreateTopicParams>(\n \"aco.onSearchRecordAfterCreate\"\n );\n // update\n const onSearchRecordBeforeUpdate = createTopic<OnSearchRecordBeforeUpdateTopicParams>(\n \"aco.onSearchRecordBeforeUpdate\"\n );\n const onSearchRecordAfterUpdate = createTopic<OnSearchRecordAfterUpdateTopicParams>(\n \"aco.onSearchRecordAfterUpdate\"\n );\n // move\n const onSearchRecordBeforeMove = createTopic<OnSearchRecordBeforeMoveTopicParams>(\n \"aco.onSearchRecordBeforeMove\"\n );\n const onSearchRecordAfterMove = createTopic<OnSearchRecordAfterMoveTopicParams>(\n \"aco.onSearchRecordAfterMove\"\n );\n // delete\n const onSearchRecordBeforeDelete = createTopic<OnSearchRecordBeforeDeleteTopicParams>(\n \"aco.onSearchRecordBeforeDelete\"\n );\n const onSearchRecordAfterDelete = createTopic<OnSearchRecordAfterDeleteTopicParams>(\n \"aco.onSearchRecordAfterDelete\"\n );\n\n return {\n /**\n * Lifecycle events\n */\n onSearchRecordBeforeCreate,\n onSearchRecordAfterCreate,\n onSearchRecordBeforeUpdate,\n onSearchRecordAfterUpdate,\n onSearchRecordBeforeMove,\n onSearchRecordAfterMove,\n onSearchRecordBeforeDelete,\n onSearchRecordAfterDelete,\n async get(model, id) {\n return storageOperations.getRecord(model, { id });\n },\n async list(model, params) {\n return storageOperations.listRecords(model, params);\n },\n async create(model, data) {\n await onSearchRecordBeforeCreate.publish({ model, input: data });\n const record = await storageOperations.createRecord(model, { data });\n await onSearchRecordAfterCreate.publish({ model, record });\n return record;\n },\n async update(model, id, data) {\n const original = await storageOperations.getRecord(model, { id });\n await onSearchRecordBeforeUpdate.publish({ model, original, input: { id, data } });\n const record = await storageOperations.updateRecord(model, { id, data });\n await onSearchRecordAfterUpdate.publish({\n model,\n original,\n input: { id, data },\n record\n });\n return record;\n },\n async move(model, id, folderId) {\n const original = await storageOperations.getRecord(model, { id });\n await onSearchRecordBeforeMove.publish({ model, original, folderId });\n const result = await storageOperations.moveRecord(model, {\n id,\n folderId\n });\n await onSearchRecordAfterMove.publish({\n model,\n original,\n folderId\n });\n return result;\n },\n async delete(model, id: string) {\n const record = await storageOperations.getRecord(model, { id });\n await onSearchRecordBeforeDelete.publish({ model, record });\n await storageOperations.deleteRecord(model, { id });\n await onSearchRecordAfterDelete.publish({ model, record });\n return true;\n },\n async listTags(model, params) {\n return storageOperations.listTags(model, params);\n }\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAgBO,MAAMC,6BAA6B,GAAGA,CAAC;EAC1CC;AACa,CAAC,KAA0B;EACxC;EACA,MAAMC,0BAA0B,GAAG,IAAAC,mBAAW,EAC1C,gCACJ,CAAC;EACD,MAAMC,yBAAyB,GAAG,IAAAD,mBAAW,EACzC,+BACJ,CAAC;EACD;EACA,MAAME,0BAA0B,GAAG,IAAAF,mBAAW,EAC1C,gCACJ,CAAC;EACD,MAAMG,yBAAyB,GAAG,IAAAH,mBAAW,EACzC,+BACJ,CAAC;EACD;EACA,MAAMI,wBAAwB,GAAG,IAAAJ,mBAAW,EACxC,8BACJ,CAAC;EACD,MAAMK,uBAAuB,GAAG,IAAAL,mBAAW,EACvC,6BACJ,CAAC;EACD;EACA,MAAMM,0BAA0B,GAAG,IAAAN,mBAAW,EAC1C,gCACJ,CAAC;EACD,MAAMO,yBAAyB,GAAG,IAAAP,mBAAW,EACzC,+BACJ,CAAC;EAED,OAAO;IACH;AACR;AACA;IACQD,0BAA0B;IAC1BE,yBAAyB;IACzBC,0BAA0B;IAC1BC,yBAAyB;IACzBC,wBAAwB;IACxBC,uBAAuB;IACvBC,0BAA0B;IAC1BC,yBAAyB;IACzB,MAAMC,GAAGA,CAACC,KAAK,EAAEC,EAAE,EAAE;MACjB,OAAOZ,iBAAiB,CAACa,SAAS,CAACF,KAAK,EAAE;QAAEC;MAAG,CAAC,CAAC;IACrD,CAAC;IACD,MAAME,IAAIA,CAACH,KAAK,EAAEI,MAAM,EAAE;MACtB,OAAOf,iBAAiB,CAACgB,WAAW,CAACL,KAAK,EAAEI,MAAM,CAAC;IACvD,CAAC;IACD,MAAME,MAAMA,CAACN,KAAK,EAAEO,IAAI,EAAE;MACtB,MAAMjB,0BAA0B,CAACkB,OAAO,CAAC;QAAER,KAAK;QAAES,KAAK,EAAEF;MAAK,CAAC,CAAC;MAChE,MAAMG,MAAM,GAAG,MAAMrB,iBAAiB,CAACsB,YAAY,CAACX,KAAK,EAAE;QAAEO;MAAK,CAAC,CAAC;MACpE,MAAMf,yBAAyB,CAACgB,OAAO,CAAC;QAAER,KAAK;QAAEU;MAAO,CAAC,CAAC;MAC1D,OAAOA,MAAM;IACjB,CAAC;IACD,MAAME,MAAMA,CAACZ,KAAK,EAAEC,EAAE,EAAEM,IAAI,EAAE;MAC1B,MAAMM,QAAQ,GAAG,MAAMxB,iBAAiB,CAACa,SAAS,CAACF,KAAK,EAAE;QAAEC;MAAG,CAAC,CAAC;MACjE,MAAMR,0BAA0B,CAACe,OAAO,CAAC;QAAER,KAAK;QAAEa,QAAQ;QAAEJ,KAAK,EAAE;UAAER,EAAE;UAAEM;QAAK;MAAE,CAAC,CAAC;MAClF,MAAMG,MAAM,GAAG,MAAMrB,iBAAiB,CAACyB,YAAY,CAACd,KAAK,EAAE;QAAEC,EAAE;QAAEM;MAAK,CAAC,CAAC;MACxE,MAAMb,yBAAyB,CAACc,OAAO,CAAC;QACpCR,KAAK;QACLa,QAAQ;QACRJ,KAAK,EAAE;UAAER,EAAE;UAAEM;QAAK,CAAC;QACnBG;MACJ,CAAC,CAAC;MACF,OAAOA,MAAM;IACjB,CAAC;IACD,MAAMK,IAAIA,CAACf,KAAK,EAAEC,EAAE,EAAEe,QAAQ,EAAE;MAC5B,MAAMH,QAAQ,GAAG,MAAMxB,iBAAiB,CAACa,SAAS,CAACF,KAAK,EAAE;QAAEC;MAAG,CAAC,CAAC;MACjE,MAAMN,wBAAwB,CAACa,OAAO,CAAC;QAAER,KAAK;QAAEa,QAAQ;QAAEG;MAAS,CAAC,CAAC;MACrE,MAAMC,MAAM,GAAG,MAAM5B,iBAAiB,CAAC6B,UAAU,CAAClB,KAAK,EAAE;QACrDC,EAAE;QACFe;MACJ,CAAC,CAAC;MACF,MAAMpB,uBAAuB,CAACY,OAAO,CAAC;QAClCR,KAAK;QACLa,QAAQ;QACRG;MACJ,CAAC,CAAC;MACF,OAAOC,MAAM;IACjB,CAAC;IACD,MAAME,MAAMA,CAACnB,KAAK,EAAEC,EAAU,EAAE;MAC5B,MAAMS,MAAM,GAAG,MAAMrB,iBAAiB,CAACa,SAAS,CAACF,KAAK,EAAE;QAAEC;MAAG,CAAC,CAAC;MAC/D,MAAMJ,0BAA0B,CAACW,OAAO,CAAC;QAAER,KAAK;QAAEU;MAAO,CAAC,CAAC;MAC3D,MAAMrB,iBAAiB,CAAC+B,YAAY,CAACpB,KAAK,EAAE;QAAEC;MAAG,CAAC,CAAC;MACnD,MAAMH,yBAAyB,CAACU,OAAO,CAAC;QAAER,KAAK;QAAEU;MAAO,CAAC,CAAC;MAC1D,OAAO,IAAI;IACf,CAAC;IACD,MAAMW,QAAQA,CAACrB,KAAK,EAAEI,MAAM,EAAE;MAC1B,OAAOf,iBAAiB,CAACgC,QAAQ,CAACrB,KAAK,EAAEI,MAAM,CAAC;IACpD;EACJ,CAAC;AACL,CAAC;AAACkB,OAAA,CAAAlC,6BAAA,GAAAA,6BAAA"}
@@ -1,3 +1,8 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
2
- import { AcoContext } from "../types";
3
- export declare const searchRecordSchema: GraphQLSchemaPlugin<AcoContext>;
1
+ import { AcoContext, IAcoApp } from "../types";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
3
+ interface Params {
4
+ context: AcoContext;
5
+ app: IAcoApp;
6
+ }
7
+ export declare const createSchema: (params: Params) => Promise<GraphQLSchemaPlugin<import("@webiny/api/types").Context>>;
8
+ export {};
@@ -3,115 +3,41 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.searchRecordSchema = void 0;
7
- var _responses = require("@webiny/handler-graphql/responses");
8
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
9
- var _resolve = require("../utils/resolve");
10
- const searchRecordSchema = new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
11
- typeDefs: /* GraphQL */`
12
- type SearchRecord {
13
- id: ID!
14
- type: String!
15
- location: SearchLocationType!
16
- title: String!
17
- content: String
18
- data: JSON
19
- savedOn: DateTime
20
- createdOn: DateTime
21
- createdBy: AcoUser
22
- }
23
-
24
- type SearchLocationType {
25
- folderId: ID!
26
- }
27
-
28
- input SearchLocationInput {
29
- folderId: ID!
30
- }
31
-
32
- input SearchRecordCreateInput {
33
- id: String!
34
- type: String!
35
- title: String!
36
- content: String
37
- location: SearchLocationInput!
38
- data: JSON
39
- }
40
-
41
- input SearchRecordUpdateInput {
42
- title: String
43
- content: String
44
- location: SearchLocationInput
45
- data: JSON
46
- }
47
-
48
- input SearchRecordListWhereInput {
49
- type: String!
50
- location: SearchLocationInput
51
- }
52
-
53
- type SearchRecordResponse {
54
- data: SearchRecord
55
- error: AcoError
56
- }
57
-
58
- type SearchRecordListResponse {
59
- data: [SearchRecord]
60
- error: AcoError
61
- meta: AcoMeta
62
- }
63
-
64
- extend type SearchQuery {
65
- getRecord(id: ID!): SearchRecordResponse
66
- listRecords(
67
- where: SearchRecordListWhereInput
68
- search: String
69
- limit: Int
70
- after: String
71
- sort: AcoSort
72
- ): SearchRecordListResponse
73
- }
74
-
75
- extend type SearchMutation {
76
- createRecord(data: SearchRecordCreateInput!): SearchRecordResponse
77
- updateRecord(id: ID!, data: SearchRecordUpdateInput!): SearchRecordResponse
78
- deleteRecord(id: ID!): AcoBooleanResponse
79
- }
80
- `,
81
- resolvers: {
82
- SearchQuery: {
83
- getRecord: async (_, {
84
- id
85
- }, context) => {
86
- return (0, _resolve.resolve)(() => context.aco.search.get(id));
87
- },
88
- listRecords: async (_, args, context) => {
89
- try {
90
- const [entries, meta] = await context.aco.search.list(args);
91
- return new _responses.ListResponse(entries, meta);
92
- } catch (e) {
93
- return new _responses.ErrorResponse(e);
94
- }
95
- }
96
- },
97
- SearchMutation: {
98
- createRecord: async (_, {
99
- data
100
- }, context) => {
101
- return (0, _resolve.resolve)(() => context.aco.search.create(data));
102
- },
103
- updateRecord: async (_, {
104
- id,
105
- data
106
- }, context) => {
107
- return (0, _resolve.resolve)(() => context.aco.search.update(id, data));
108
- },
109
- deleteRecord: async (_, {
110
- id
111
- }, context) => {
112
- return (0, _resolve.resolve)(() => context.aco.search.delete(id));
113
- }
114
- }
115
- }
116
- });
117
- exports.searchRecordSchema = searchRecordSchema;
6
+ exports.createSchema = void 0;
7
+ var _handlerGraphql = require("@webiny/handler-graphql");
8
+ var _createAppSchema = require("./graphql/createAppSchema");
9
+ var _createAppResolvers = require("./graphql/createAppResolvers");
10
+ const createSchema = async params => {
11
+ const {
12
+ context,
13
+ app
14
+ } = params;
15
+ const plugins = context.plugins.byType("cms-model-field-to-graphql").reduce((fields, plugin) => {
16
+ fields[plugin.fieldType] = plugin;
17
+ return fields;
18
+ }, {});
19
+ const models = await context.security.withoutAuthorization(async () => {
20
+ return (await context.cms.listModels()).filter(model => {
21
+ return !model.isPrivate;
22
+ });
23
+ });
24
+ return context.benchmark.measure(`aco.schema.generate.${app.name}`, async () => {
25
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
26
+ typeDefs: (0, _createAppSchema.createAppSchema)({
27
+ models,
28
+ app,
29
+ plugins
30
+ }),
31
+ resolvers: (0, _createAppResolvers.createAppResolvers)({
32
+ models,
33
+ app,
34
+ plugins
35
+ })
36
+ });
37
+ plugin.name = `aco.graphql.appSchema.searchRecord.${app.name}`;
38
+ return plugin;
39
+ });
40
+ };
41
+ exports.createSchema = createSchema;
42
+
43
+ //# sourceMappingURL=record.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["searchRecordSchema","GraphQLSchemaPlugin","typeDefs","resolvers","SearchQuery","getRecord","_","id","context","resolve","aco","search","get","listRecords","args","entries","meta","list","ListResponse","e","ErrorResponse","SearchMutation","createRecord","data","create","updateRecord","update","deleteRecord","delete"],"sources":["record.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\n\nimport { resolve } from \"~/utils/resolve\";\n\nimport { AcoContext } from \"~/types\";\n\nexport const searchRecordSchema = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n type SearchRecord {\n id: ID!\n type: String!\n location: SearchLocationType!\n title: String!\n content: String\n data: JSON\n savedOn: DateTime\n createdOn: DateTime\n createdBy: AcoUser\n }\n\n type SearchLocationType {\n folderId: ID!\n }\n\n input SearchLocationInput {\n folderId: ID!\n }\n\n input SearchRecordCreateInput {\n id: String!\n type: String!\n title: String!\n content: String\n location: SearchLocationInput!\n data: JSON\n }\n\n input SearchRecordUpdateInput {\n title: String\n content: String\n location: SearchLocationInput\n data: JSON\n }\n\n input SearchRecordListWhereInput {\n type: String!\n location: SearchLocationInput\n }\n\n type SearchRecordResponse {\n data: SearchRecord\n error: AcoError\n }\n\n type SearchRecordListResponse {\n data: [SearchRecord]\n error: AcoError\n meta: AcoMeta\n }\n\n extend type SearchQuery {\n getRecord(id: ID!): SearchRecordResponse\n listRecords(\n where: SearchRecordListWhereInput\n search: String\n limit: Int\n after: String\n sort: AcoSort\n ): SearchRecordListResponse\n }\n\n extend type SearchMutation {\n createRecord(data: SearchRecordCreateInput!): SearchRecordResponse\n updateRecord(id: ID!, data: SearchRecordUpdateInput!): SearchRecordResponse\n deleteRecord(id: ID!): AcoBooleanResponse\n }\n `,\n resolvers: {\n SearchQuery: {\n getRecord: async (_, { id }, context) => {\n return resolve(() => context.aco.search.get(id));\n },\n listRecords: async (_, args: any, context) => {\n try {\n const [entries, meta] = await context.aco.search.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n SearchMutation: {\n createRecord: async (_, { data }, context) => {\n return resolve(() => context.aco.search.create(data));\n },\n updateRecord: async (_, { id, data }, context) => {\n return resolve(() => context.aco.search.update(id, data));\n },\n deleteRecord: async (_, { id }, context) => {\n return resolve(() => context.aco.search.delete(id));\n }\n }\n }\n});\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AAIO,MAAMA,kBAAkB,GAAG,IAAIC,wCAAmB,CAAa;EAClEC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,WAAW,EAAE;MACTC,SAAS,EAAE,OAAOC,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACrC,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,GAAG,CAACC,MAAM,CAACC,GAAG,CAACL,EAAE,CAAC,CAAC;MACpD,CAAC;MACDM,WAAW,EAAE,OAAOP,CAAC,EAAEQ,IAAS,EAAEN,OAAO,KAAK;QAC1C,IAAI;UACA,MAAM,CAACO,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAMR,OAAO,CAACE,GAAG,CAACC,MAAM,CAACM,IAAI,CAACH,IAAI,CAAC;UAC3D,OAAO,IAAII,uBAAY,CAACH,OAAO,EAAEC,IAAI,CAAC;QAC1C,CAAC,CAAC,OAAOG,CAAC,EAAE;UACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IACDE,cAAc,EAAE;MACZC,YAAY,EAAE,OAAOhB,CAAC,EAAE;QAAEiB;MAAK,CAAC,EAAEf,OAAO,KAAK;QAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,GAAG,CAACC,MAAM,CAACa,MAAM,CAACD,IAAI,CAAC,CAAC;MACzD,CAAC;MACDE,YAAY,EAAE,OAAOnB,CAAC,EAAE;QAAEC,EAAE;QAAEgB;MAAK,CAAC,EAAEf,OAAO,KAAK;QAC9C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,GAAG,CAACC,MAAM,CAACe,MAAM,CAACnB,EAAE,EAAEgB,IAAI,CAAC,CAAC;MAC7D,CAAC;MACDI,YAAY,EAAE,OAAOrB,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACxC,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,GAAG,CAACC,MAAM,CAACiB,MAAM,CAACrB,EAAE,CAAC,CAAC;MACvD;IACJ;EACJ;AACJ,CAAC,CAAC;AAAC"}
1
+ {"version":3,"names":["_handlerGraphql","require","_createAppSchema","_createAppResolvers","createSchema","params","context","app","plugins","byType","reduce","fields","plugin","fieldType","models","security","withoutAuthorization","cms","listModels","filter","model","isPrivate","benchmark","measure","name","GraphQLSchemaPlugin","typeDefs","createAppSchema","resolvers","createAppResolvers","exports"],"sources":["record.gql.ts"],"sourcesContent":["import { AcoContext, IAcoApp } from \"~/types\";\nimport { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"@webiny/api-headless-cms/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { createAppSchema } from \"./graphql/createAppSchema\";\nimport { createAppResolvers } from \"./graphql/createAppResolvers\";\n\ninterface Params {\n context: AcoContext;\n app: IAcoApp;\n}\n\nexport const createSchema = async (params: Params) => {\n const { context, app } = params;\n const plugins = context.plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((fields, plugin) => {\n fields[plugin.fieldType] = plugin;\n return fields;\n }, {});\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n return !model.isPrivate;\n });\n });\n\n return context.benchmark.measure(`aco.schema.generate.${app.name}`, async () => {\n const plugin = new GraphQLSchemaPlugin({\n typeDefs: createAppSchema({\n models,\n app,\n plugins\n }),\n resolvers: createAppResolvers({\n models,\n app,\n plugins\n })\n });\n plugin.name = `aco.graphql.appSchema.searchRecord.${app.name}`;\n return plugin;\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAOO,MAAMG,YAAY,GAAG,MAAOC,MAAc,IAAK;EAClD,MAAM;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGF,MAAM;EAC/B,MAAMG,OAAO,GAAGF,OAAO,CAACE,OAAO,CAC1BC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,MAAM,EAAEC,MAAM,KAAK;IAC7CD,MAAM,CAACC,MAAM,CAACC,SAAS,CAAC,GAAGD,MAAM;IACjC,OAAOD,MAAM;EACjB,CAAC,EAAE,CAAC,CAAC,CAAC;EACV,MAAMG,MAAM,GAAG,MAAMR,OAAO,CAACS,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IACnE,OAAO,CAAC,MAAMV,OAAO,CAACW,GAAG,CAACC,UAAU,CAAC,CAAC,EAAEC,MAAM,CAACC,KAAK,IAAI;MACpD,OAAO,CAACA,KAAK,CAACC,SAAS;IAC3B,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOf,OAAO,CAACgB,SAAS,CAACC,OAAO,CAAE,uBAAsBhB,GAAG,CAACiB,IAAK,EAAC,EAAE,YAAY;IAC5E,MAAMZ,MAAM,GAAG,IAAIa,mCAAmB,CAAC;MACnCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;QACtBb,MAAM;QACNP,GAAG;QACHC;MACJ,CAAC,CAAC;MACFoB,SAAS,EAAE,IAAAC,sCAAkB,EAAC;QAC1Bf,MAAM;QACNP,GAAG;QACHC;MACJ,CAAC;IACL,CAAC,CAAC;IACFI,MAAM,CAACY,IAAI,GAAI,sCAAqCjB,GAAG,CAACiB,IAAK,EAAC;IAC9D,OAAOZ,MAAM;EACjB,CAAC,CAAC;AACN,CAAC;AAACkB,OAAA,CAAA1B,YAAA,GAAAA,YAAA"}
@@ -1,4 +1,8 @@
1
- import { CmsPrivateModelFull } from "@webiny/api-headless-cms";
2
- export declare type SearchRecordModelDefinition = Omit<CmsPrivateModelFull, "noValidate" | "group">;
1
+ import { CmsModelField } from "@webiny/api-headless-cms/types";
3
2
  export declare const SEARCH_RECORD_MODEL_ID = "acoSearchRecord";
4
- export declare const createSearchModelDefinition: () => SearchRecordModelDefinition;
3
+ interface CreateSearchModelDefinitionParams {
4
+ fields?: CmsModelField[];
5
+ }
6
+ export declare const DEFAULT_FIELDS: string[];
7
+ export declare const createSearchModelDefinition: (params?: CreateSearchModelDefinitionParams) => import("@webiny/api-headless-cms").CmsPrivateModelFull;
8
+ export {};
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createSearchModelDefinition = exports.SEARCH_RECORD_MODEL_ID = void 0;
6
+ exports.createSearchModelDefinition = exports.SEARCH_RECORD_MODEL_ID = exports.DEFAULT_FIELDS = void 0;
7
7
  var _createModelField = require("../utils/createModelField");
8
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
8
9
  const typeField = () => (0, _createModelField.createModelField)({
9
10
  label: "Type",
10
11
  type: "text",
@@ -15,7 +16,11 @@ const typeField = () => (0, _createModelField.createModelField)({
15
16
  });
16
17
  const titleField = () => (0, _createModelField.createModelField)({
17
18
  label: "Title",
18
- type: "text"
19
+ type: "text",
20
+ validation: [{
21
+ name: "required",
22
+ message: "Value is required."
23
+ }]
19
24
  });
20
25
  const contentField = () => (0, _createModelField.createModelField)({
21
26
  label: "Content",
@@ -25,6 +30,10 @@ const locationField = fields => (0, _createModelField.createModelField)({
25
30
  label: "Location",
26
31
  type: "object",
27
32
  multipleValues: false,
33
+ validation: [{
34
+ name: "required",
35
+ message: "The location field must be populated."
36
+ }],
28
37
  settings: {
29
38
  fields
30
39
  }
@@ -37,21 +46,41 @@ const locationFolderIdField = () => (0, _createModelField.createModelField)({
37
46
  message: "Value is required."
38
47
  }]
39
48
  });
40
- const dataField = () => (0, _createModelField.createModelField)({
41
- label: "Data",
42
- type: "wby-aco-json"
49
+ const dataField = fields => {
50
+ return (0, _createModelField.createModelField)({
51
+ label: "Data",
52
+ type: "object",
53
+ multipleValues: false,
54
+ validation: [{
55
+ name: "required",
56
+ message: "The data field must be populated."
57
+ }],
58
+ settings: {
59
+ fields
60
+ }
61
+ });
62
+ };
63
+ const tagsField = () => (0, _createModelField.createModelField)({
64
+ label: "Tags",
65
+ type: "text",
66
+ multipleValues: true,
67
+ validation: [{
68
+ name: "required",
69
+ message: "The tags field must be populated."
70
+ }]
43
71
  });
44
72
  const SEARCH_RECORD_MODEL_ID = "acoSearchRecord";
45
73
  exports.SEARCH_RECORD_MODEL_ID = SEARCH_RECORD_MODEL_ID;
46
- const createSearchModelDefinition = () => {
47
- return {
74
+ const DEFAULT_FIELDS = ["type", "title", "content", "location", "data", "tags"];
75
+ exports.DEFAULT_FIELDS = DEFAULT_FIELDS;
76
+ const createSearchModelDefinition = params => {
77
+ return (0, _apiHeadlessCms.createPrivateModelDefinition)({
48
78
  name: "ACO - Search Record",
49
79
  modelId: SEARCH_RECORD_MODEL_ID,
50
80
  titleFieldId: "title",
51
- layout: [["type"], ["title"], ["content"], ["location"], ["data"]],
52
- fields: [typeField(), titleField(), contentField(), locationField([locationFolderIdField()]), dataField()],
53
- description: "ACO - Search record model",
54
- isPrivate: true
55
- };
81
+ fields: [typeField(), titleField(), contentField(), locationField([locationFolderIdField()]), dataField(params?.fields), tagsField()]
82
+ });
56
83
  };
57
- exports.createSearchModelDefinition = createSearchModelDefinition;
84
+ exports.createSearchModelDefinition = createSearchModelDefinition;
85
+
86
+ //# sourceMappingURL=record.model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["typeField","createModelField","label","type","validation","name","message","titleField","contentField","locationField","fields","multipleValues","settings","locationFolderIdField","dataField","SEARCH_RECORD_MODEL_ID","createSearchModelDefinition","modelId","titleFieldId","layout","description","isPrivate"],"sources":["record.model.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { createModelField } from \"~/utils/createModelField\";\nimport { CmsPrivateModelFull } from \"@webiny/api-headless-cms\";\n\nexport type SearchRecordModelDefinition = Omit<CmsPrivateModelFull, \"noValidate\" | \"group\">;\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\"\n });\n\nconst contentField = () =>\n createModelField({\n label: \"Content\",\n type: \"text\"\n });\n\nconst locationField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Location\",\n type: \"object\",\n multipleValues: false,\n settings: { fields }\n });\n\nconst locationFolderIdField = () =>\n createModelField({\n label: \"Folder Id\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst dataField = () =>\n createModelField({\n label: \"Data\",\n type: \"wby-aco-json\"\n });\n\nexport const SEARCH_RECORD_MODEL_ID = \"acoSearchRecord\";\n\nexport const createSearchModelDefinition = (): SearchRecordModelDefinition => {\n return {\n name: \"ACO - Search Record\",\n modelId: SEARCH_RECORD_MODEL_ID,\n titleFieldId: \"title\",\n layout: [[\"type\"], [\"title\"], [\"content\"], [\"location\"], [\"data\"]],\n fields: [\n typeField(),\n titleField(),\n contentField(),\n locationField([locationFolderIdField()]),\n dataField()\n ],\n description: \"ACO - Search record model\",\n isPrivate: true\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,SAAS,GAAG,MACd,IAAAC,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMC,UAAU,GAAG,MACf,IAAAN,kCAAgB,EAAC;EACbC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACV,CAAC,CAAC;AAEN,MAAMK,YAAY,GAAG,MACjB,IAAAP,kCAAgB,EAAC;EACbC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE;AACV,CAAC,CAAC;AAEN,MAAMM,aAAa,GAAIC,MAAuB,IAC1C,IAAAT,kCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE,QAAQ;EACdQ,cAAc,EAAE,KAAK;EACrBC,QAAQ,EAAE;IAAEF;EAAO;AACvB,CAAC,CAAC;AAEN,MAAMG,qBAAqB,GAAG,MAC1B,IAAAZ,kCAAgB,EAAC;EACbC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMQ,SAAS,GAAG,MACd,IAAAb,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE;AACV,CAAC,CAAC;AAEC,MAAMY,sBAAsB,GAAG,iBAAiB;AAAC;AAEjD,MAAMC,2BAA2B,GAAG,MAAmC;EAC1E,OAAO;IACHX,IAAI,EAAE,qBAAqB;IAC3BY,OAAO,EAAEF,sBAAsB;IAC/BG,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAClET,MAAM,EAAE,CACJV,SAAS,EAAE,EACXO,UAAU,EAAE,EACZC,YAAY,EAAE,EACdC,aAAa,CAAC,CAACI,qBAAqB,EAAE,CAAC,CAAC,EACxCC,SAAS,EAAE,CACd;IACDM,WAAW,EAAE,2BAA2B;IACxCC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_createModelField","require","_apiHeadlessCms","typeField","createModelField","label","type","validation","name","message","titleField","contentField","locationField","fields","multipleValues","settings","locationFolderIdField","dataField","tagsField","SEARCH_RECORD_MODEL_ID","exports","DEFAULT_FIELDS","createSearchModelDefinition","params","createPrivateModelDefinition","modelId","titleFieldId"],"sources":["record.model.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { createModelField } from \"~/utils/createModelField\";\nimport { createPrivateModelDefinition } from \"@webiny/api-headless-cms\";\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst contentField = () =>\n createModelField({\n label: \"Content\",\n type: \"text\"\n });\n\nconst locationField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Location\",\n type: \"object\",\n multipleValues: false,\n validation: [\n {\n name: \"required\",\n message: \"The location field must be populated.\"\n }\n ],\n settings: {\n fields\n }\n });\n\nconst locationFolderIdField = () =>\n createModelField({\n label: \"Folder Id\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst dataField = (fields?: CmsModelField[]) => {\n return createModelField({\n label: \"Data\",\n type: \"object\",\n multipleValues: false,\n validation: [\n {\n name: \"required\",\n message: \"The data field must be populated.\"\n }\n ],\n settings: {\n fields\n }\n });\n};\n\nconst tagsField = () =>\n createModelField({\n label: \"Tags\",\n type: \"text\",\n multipleValues: true,\n validation: [\n {\n name: \"required\",\n message: \"The tags field must be populated.\"\n }\n ]\n });\n\nexport const SEARCH_RECORD_MODEL_ID = \"acoSearchRecord\";\n\ninterface CreateSearchModelDefinitionParams {\n fields?: CmsModelField[];\n}\n\nexport const DEFAULT_FIELDS = [\"type\", \"title\", \"content\", \"location\", \"data\", \"tags\"];\n\nexport const createSearchModelDefinition = (params?: CreateSearchModelDefinitionParams) => {\n return createPrivateModelDefinition({\n name: \"ACO - Search Record\",\n modelId: SEARCH_RECORD_MODEL_ID,\n titleFieldId: \"title\",\n fields: [\n typeField(),\n titleField(),\n contentField(),\n locationField([locationFolderIdField()]),\n dataField(params?.fields),\n tagsField()\n ]\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,MAAME,SAAS,GAAGA,CAAA,KACd,IAAAC,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMC,UAAU,GAAGA,CAAA,KACf,IAAAN,kCAAgB,EAAC;EACbC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAME,YAAY,GAAGA,CAAA,KACjB,IAAAP,kCAAgB,EAAC;EACbC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE;AACV,CAAC,CAAC;AAEN,MAAMM,aAAa,GAAIC,MAAuB,IAC1C,IAAAT,kCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE,QAAQ;EACdQ,cAAc,EAAE,KAAK;EACrBP,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC,CACJ;EACDM,QAAQ,EAAE;IACNF;EACJ;AACJ,CAAC,CAAC;AAEN,MAAMG,qBAAqB,GAAGA,CAAA,KAC1B,IAAAZ,kCAAgB,EAAC;EACbC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMQ,SAAS,GAAIJ,MAAwB,IAAK;EAC5C,OAAO,IAAAT,kCAAgB,EAAC;IACpBC,KAAK,EAAE,MAAM;IACbC,IAAI,EAAE,QAAQ;IACdQ,cAAc,EAAE,KAAK;IACrBP,UAAU,EAAE,CACR;MACIC,IAAI,EAAE,UAAU;MAChBC,OAAO,EAAE;IACb,CAAC,CACJ;IACDM,QAAQ,EAAE;MACNF;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAED,MAAMK,SAAS,GAAGA,CAAA,KACd,IAAAd,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZQ,cAAc,EAAE,IAAI;EACpBP,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEC,MAAMU,sBAAsB,GAAG,iBAAiB;AAACC,OAAA,CAAAD,sBAAA,GAAAA,sBAAA;AAMjD,MAAME,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;AAACD,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAEhF,MAAMC,2BAA2B,GAAIC,MAA0C,IAAK;EACvF,OAAO,IAAAC,4CAA4B,EAAC;IAChChB,IAAI,EAAE,qBAAqB;IAC3BiB,OAAO,EAAEN,sBAAsB;IAC/BO,YAAY,EAAE,OAAO;IACrBb,MAAM,EAAE,CACJV,SAAS,CAAC,CAAC,EACXO,UAAU,CAAC,CAAC,EACZC,YAAY,CAAC,CAAC,EACdC,aAAa,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC,CAAC,EACxCC,SAAS,CAACM,MAAM,EAAEV,MAAM,CAAC,EACzBK,SAAS,CAAC,CAAC;EAEnB,CAAC,CAAC;AACN,CAAC;AAACE,OAAA,CAAAE,2BAAA,GAAAA,2BAAA"}