@sittari/payload-templates 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +37 -3
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAOV,MAAM,EACP,MAAM,SAAS,CAAA;AAOhB,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAkRvE,eAAO,MAAM,eAAe,GACzB,cAAc,qBAAqB,KAAG,MAyCpC,CAAA;AAEL,eAAe,eAAe,CAAA"}
|
package/dist/plugin.js
CHANGED
|
@@ -5,6 +5,7 @@ import { localizedText } from './translations/index.js';
|
|
|
5
5
|
import { fieldsContain, transformBlock, transformFields } from './traverseFields.js';
|
|
6
6
|
const COLLECTION_SLUG = 'templates';
|
|
7
7
|
const DATA_FIELD_PREFIX = 'data_';
|
|
8
|
+
const RECONCILE_CONTEXT_KEY = 'sittariTemplatesReconcile';
|
|
8
9
|
const VALID_TEMPLATE_NAME = /^[A-Za-z0-9_]+$/;
|
|
9
10
|
const dataFieldName = (name) => `${DATA_FIELD_PREFIX}${name}`;
|
|
10
11
|
const extendOnInit = (incomingConfig, onInit) => async (payload) => {
|
|
@@ -106,7 +107,7 @@ const createTemplateFields = (templates) => [
|
|
|
106
107
|
},
|
|
107
108
|
})),
|
|
108
109
|
];
|
|
109
|
-
const createTemplatesCollection = (templates) => ({
|
|
110
|
+
const createTemplatesCollection = (templates, beforeOperation) => ({
|
|
110
111
|
slug: COLLECTION_SLUG,
|
|
111
112
|
access: {
|
|
112
113
|
create: () => false,
|
|
@@ -121,11 +122,18 @@ const createTemplatesCollection = (templates) => ({
|
|
|
121
122
|
singular: localizedText('template'),
|
|
122
123
|
plural: localizedText('templates'),
|
|
123
124
|
},
|
|
125
|
+
hooks: {
|
|
126
|
+
beforeOperation: [beforeOperation],
|
|
127
|
+
},
|
|
124
128
|
fields: createTemplateFields(templates),
|
|
125
129
|
});
|
|
126
130
|
const reconcileTemplates = async (payload, templates) => {
|
|
131
|
+
const context = {
|
|
132
|
+
[RECONCILE_CONTEXT_KEY]: true,
|
|
133
|
+
};
|
|
127
134
|
const result = await payload.find({
|
|
128
135
|
collection: COLLECTION_SLUG,
|
|
136
|
+
context,
|
|
129
137
|
depth: 0,
|
|
130
138
|
limit: 0,
|
|
131
139
|
overrideAccess: true,
|
|
@@ -141,6 +149,7 @@ const reconcileTemplates = async (payload, templates) => {
|
|
|
141
149
|
if (!existing) {
|
|
142
150
|
await payload.create({
|
|
143
151
|
collection: COLLECTION_SLUG,
|
|
152
|
+
context,
|
|
144
153
|
data: {
|
|
145
154
|
[dataFieldName(template.name)]: template.initialData ?? {},
|
|
146
155
|
templateType: template.name,
|
|
@@ -153,6 +162,7 @@ const reconcileTemplates = async (payload, templates) => {
|
|
|
153
162
|
if (existing.title !== template.label) {
|
|
154
163
|
await payload.update({
|
|
155
164
|
collection: COLLECTION_SLUG,
|
|
165
|
+
context,
|
|
156
166
|
id: existing.id,
|
|
157
167
|
data: { title: template.label },
|
|
158
168
|
overrideAccess: true,
|
|
@@ -163,12 +173,35 @@ const reconcileTemplates = async (payload, templates) => {
|
|
|
163
173
|
if (typeof document.templateType !== 'string' || !configuredNames.has(document.templateType)) {
|
|
164
174
|
await payload.delete({
|
|
165
175
|
collection: COLLECTION_SLUG,
|
|
176
|
+
context,
|
|
166
177
|
id: document.id,
|
|
167
178
|
overrideAccess: true,
|
|
168
179
|
});
|
|
169
180
|
}
|
|
170
181
|
}
|
|
171
182
|
};
|
|
183
|
+
const createTemplateReconciler = (templates) => {
|
|
184
|
+
let reconciliation;
|
|
185
|
+
const reconcile = (payload) => {
|
|
186
|
+
if (!reconciliation) {
|
|
187
|
+
reconciliation = reconcileTemplates(payload, templates).catch((error) => {
|
|
188
|
+
reconciliation = undefined;
|
|
189
|
+
throw error;
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
return reconciliation;
|
|
193
|
+
};
|
|
194
|
+
const beforeOperation = async ({ context, req }) => {
|
|
195
|
+
if (context[RECONCILE_CONTEXT_KEY] === true) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
await reconcile(req.payload);
|
|
199
|
+
};
|
|
200
|
+
return {
|
|
201
|
+
beforeOperation,
|
|
202
|
+
reconcile,
|
|
203
|
+
};
|
|
204
|
+
};
|
|
172
205
|
export const templatesPlugin = (pluginConfig) => (incomingConfig) => {
|
|
173
206
|
if (pluginConfig.enabled === false) {
|
|
174
207
|
return incomingConfig;
|
|
@@ -178,6 +211,7 @@ export const templatesPlugin = (pluginConfig) => (incomingConfig) => {
|
|
|
178
211
|
throw new Error(`[templatesPlugin] A collection with slug "${COLLECTION_SLUG}" already exists.`);
|
|
179
212
|
}
|
|
180
213
|
const transformTemplateField = createTemplateFieldTransformer(pluginConfig.templates, incomingConfig.blocks ?? []);
|
|
214
|
+
const templateReconciler = createTemplateReconciler(pluginConfig.templates);
|
|
181
215
|
const collections = (incomingConfig.collections ?? []).map((collection) => {
|
|
182
216
|
const fields = transformFields(collection.fields, transformTemplateField);
|
|
183
217
|
return fields === collection.fields ? collection : { ...collection, fields };
|
|
@@ -190,11 +224,11 @@ export const templatesPlugin = (pluginConfig) => (incomingConfig) => {
|
|
|
190
224
|
...incomingConfig,
|
|
191
225
|
collections: [
|
|
192
226
|
...collections,
|
|
193
|
-
createTemplatesCollection(pluginConfig.templates),
|
|
227
|
+
createTemplatesCollection(pluginConfig.templates, templateReconciler.beforeOperation),
|
|
194
228
|
],
|
|
195
229
|
globals,
|
|
196
230
|
blocks: incomingConfig.blocks?.map((block) => transformBlock(block, transformTemplateField)),
|
|
197
|
-
onInit: extendOnInit(incomingConfig,
|
|
231
|
+
onInit: extendOnInit(incomingConfig, templateReconciler.reconcile),
|
|
198
232
|
};
|
|
199
233
|
};
|
|
200
234
|
export default templatesPlugin;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|