@adminiumjs/manifest 0.3.41 → 0.3.43

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 (46) hide show
  1. package/dist/automations.js +1 -1
  2. package/dist/automations.js.map +1 -1
  3. package/dist/change-guards.js +1 -1
  4. package/dist/change-guards.js.map +1 -1
  5. package/dist/check.d.ts +81 -0
  6. package/dist/check.d.ts.map +1 -0
  7. package/dist/check.js +130 -0
  8. package/dist/check.js.map +1 -0
  9. package/dist/expire.d.ts +46 -0
  10. package/dist/expire.d.ts.map +1 -0
  11. package/dist/expire.js +59 -0
  12. package/dist/expire.js.map +1 -0
  13. package/dist/formula.d.ts +6 -1
  14. package/dist/formula.d.ts.map +1 -1
  15. package/dist/formula.js +34 -6
  16. package/dist/formula.js.map +1 -1
  17. package/dist/index.d.ts +5 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/outbox.d.ts.map +1 -1
  22. package/dist/outbox.js +5 -4
  23. package/dist/outbox.js.map +1 -1
  24. package/dist/people.d.ts +45 -4
  25. package/dist/people.d.ts.map +1 -1
  26. package/dist/people.js +74 -8
  27. package/dist/people.js.map +1 -1
  28. package/dist/public-access.d.ts +14 -0
  29. package/dist/public-access.d.ts.map +1 -1
  30. package/dist/public-access.js +183 -6
  31. package/dist/public-access.js.map +1 -1
  32. package/dist/roles.d.ts +4 -0
  33. package/dist/roles.d.ts.map +1 -1
  34. package/dist/roles.js +5 -0
  35. package/dist/roles.js.map +1 -1
  36. package/dist/schema.d.ts +808 -5
  37. package/dist/schema.d.ts.map +1 -1
  38. package/dist/schema.js +456 -20
  39. package/dist/schema.js.map +1 -1
  40. package/dist/validate.js +1 -1
  41. package/dist/validate.js.map +1 -1
  42. package/dist/words.d.ts +3 -1
  43. package/dist/words.d.ts.map +1 -1
  44. package/dist/words.js +130 -0
  45. package/dist/words.js.map +1 -1
  46. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"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"}
package/dist/people.d.ts CHANGED
@@ -30,9 +30,15 @@
30
30
  * - `consent`: a yes/no column that mirrors one purpose of the consent log
31
31
  * (`newsletter` or `surveys`). With none, the consent log alone holds it;
32
32
  * - `copies`: columns on OTHER tables that hold this person's address, name or phone
33
- * (a quote's recipient, a signer), each with the link back to the person
33
+ * (a quote's recipient, a signer), or other details of theirs (`details`,
34
+ * in text or JSON: a design's words), each with the link back to the person
34
35
  * when there is one. Found and exported with the person, and blanked when
35
- * they are erased (but not on a table the law keeps);
36
+ * they are erased (but not on a table the law keeps). A copy may sit on a
37
+ * table of an add-on the app requires (`addOn`): its `via` is then the
38
+ * app's own link into that table (`order_lines.design_id`), on a table of
39
+ * the app that reaches the person (the people table itself, one of the
40
+ * entry's copy tables, or a table linking to one of those): the rows the
41
+ * person's own rows name through it are theirs;
36
42
  * - `customer`: a yes/no or number column that says the person is a customer
37
43
  * (a count of won deals), for "existing customers";
38
44
  * - `optOutMark`: the moment the app's own screen showed the person the line
@@ -65,8 +71,13 @@ export declare const PEOPLE_KINDS: readonly ["people", "companies"];
65
71
  export declare const CONSENT_PURPOSES: readonly ["newsletter", "surveys"];
66
72
  /** A first name read as the first word of the name column. */
67
73
  export declare const FIRST_WORD_OF_NAME = "firstWordOfName";
68
- /** What a copy of a person holds. */
69
- export declare const COPY_HOLDS: readonly ["email", "name", "phone"];
74
+ /**
75
+ * What a copy of a person holds. `details`: anything else of theirs kept on
76
+ * the row, in a `text` or a `json` column (the words and choices of a design
77
+ * they made, `{"line1": "Mum & Dad 1985"}`). It finds nobody: its row is
78
+ * theirs by a link, as every copy's is. A `json` column holds only details.
79
+ */
80
+ export declare const COPY_HOLDS: readonly ["email", "name", "phone", "details"];
70
81
  /** The most people tables one app declares, and copies one entry lists. */
71
82
  export declare const PEOPLE_MAX = 8;
72
83
  export declare const PEOPLE_COPIES_MAX = 32;
@@ -126,17 +137,33 @@ declare const carrySchema: z.ZodUnion<readonly [z.ZodObject<{
126
137
  }, z.core.$strict>;
127
138
  }, z.core.$strict>]>;
128
139
  export type PeopleCarry = z.infer<typeof carrySchema>;
140
+ /** An app's link column, as `table.column`. */
141
+ export declare const LINK_PATH: RegExp;
142
+ /**
143
+ * A copy of a person on another table. On a table of the app's own, `via`
144
+ * is a link column of that table back to the person, when it has one. On a
145
+ * table of an add-on the app requires (`addOn`), `via` is the app's own link
146
+ * into that table, as `table.column`, and is always said.
147
+ */
129
148
  declare const copySchema: z.ZodObject<{
149
+ addOn: z.ZodOptional<z.ZodString>;
130
150
  table: z.ZodString;
131
151
  column: z.ZodString;
132
152
  holds: z.ZodEnum<{
133
153
  name: "name";
134
154
  email: "email";
135
155
  phone: "phone";
156
+ details: "details";
136
157
  }>;
137
158
  via: z.ZodOptional<z.ZodString>;
138
159
  }, z.core.$strict>;
139
160
  export type PeopleCopy = z.infer<typeof copySchema>;
161
+ export type PeopleAddOnCopy = PeopleCopy & {
162
+ addOn: string;
163
+ via: string;
164
+ };
165
+ /** Whether a copy sits on a table of an add-on. */
166
+ export declare const isAddOnCopy: (copy: PeopleCopy) => copy is PeopleAddOnCopy;
140
167
  export declare const peopleEntrySchema: z.ZodObject<{
141
168
  table: z.ZodString;
142
169
  kind: z.ZodEnum<{
@@ -158,12 +185,14 @@ export declare const peopleEntrySchema: z.ZodObject<{
158
185
  }>;
159
186
  }, z.core.$strict>>;
160
187
  copies: z.ZodOptional<z.ZodArray<z.ZodObject<{
188
+ addOn: z.ZodOptional<z.ZodString>;
161
189
  table: z.ZodString;
162
190
  column: z.ZodString;
163
191
  holds: z.ZodEnum<{
164
192
  name: "name";
165
193
  email: "email";
166
194
  phone: "phone";
195
+ details: "details";
167
196
  }>;
168
197
  via: z.ZodOptional<z.ZodString>;
169
198
  }, z.core.$strict>>>;
@@ -212,12 +241,14 @@ export declare const peopleSchema: z.ZodArray<z.ZodObject<{
212
241
  }>;
213
242
  }, z.core.$strict>>;
214
243
  copies: z.ZodOptional<z.ZodArray<z.ZodObject<{
244
+ addOn: z.ZodOptional<z.ZodString>;
215
245
  table: z.ZodString;
216
246
  column: z.ZodString;
217
247
  holds: z.ZodEnum<{
218
248
  name: "name";
219
249
  email: "email";
220
250
  phone: "phone";
251
+ details: "details";
221
252
  }>;
222
253
  via: z.ZodOptional<z.ZodString>;
223
254
  }, z.core.$strict>>>;
@@ -252,6 +283,10 @@ interface PeopleColumn {
252
283
  stamp?: {
253
284
  strict?: true | undefined;
254
285
  } | undefined;
286
+ addOnLink?: {
287
+ addOn: string;
288
+ table: string;
289
+ } | undefined;
255
290
  } | undefined;
256
291
  }
257
292
  /**
@@ -275,8 +310,14 @@ export declare function peopleIssues<C extends PeopleColumn>(m: {
275
310
  tables: readonly {
276
311
  ref: string;
277
312
  keyField?: string | undefined;
313
+ columns?: readonly C[];
278
314
  }[];
279
315
  };
316
+ addOns?: {
317
+ requires?: readonly {
318
+ key: string;
319
+ }[] | undefined;
320
+ } | undefined;
280
321
  }, index: TableIndex<C>): ReferenceIssue[];
281
322
  /**
282
323
  * Everything wrong with a public entry's consent tick: an entry that writes
@@ -1 +1 @@
1
- {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../src/people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../src/people.ts"],"names":[],"mappings":"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"}
package/dist/people.js CHANGED
@@ -31,9 +31,15 @@
31
31
  * - `consent`: a yes/no column that mirrors one purpose of the consent log
32
32
  * (`newsletter` or `surveys`). With none, the consent log alone holds it;
33
33
  * - `copies`: columns on OTHER tables that hold this person's address, name or phone
34
- * (a quote's recipient, a signer), each with the link back to the person
34
+ * (a quote's recipient, a signer), or other details of theirs (`details`,
35
+ * in text or JSON: a design's words), each with the link back to the person
35
36
  * when there is one. Found and exported with the person, and blanked when
36
- * they are erased (but not on a table the law keeps);
37
+ * they are erased (but not on a table the law keeps). A copy may sit on a
38
+ * table of an add-on the app requires (`addOn`): its `via` is then the
39
+ * app's own link into that table (`order_lines.design_id`), on a table of
40
+ * the app that reaches the person (the people table itself, one of the
41
+ * entry's copy tables, or a table linking to one of those): the rows the
42
+ * person's own rows name through it are theirs;
37
43
  * - `customer`: a yes/no or number column that says the person is a customer
38
44
  * (a count of won deals), for "existing customers";
39
45
  * - `optOutMark`: the moment the app's own screen showed the person the line
@@ -66,8 +72,13 @@ export const PEOPLE_KINDS = ['people', 'companies'];
66
72
  export const CONSENT_PURPOSES = ['newsletter', 'surveys'];
67
73
  /** A first name read as the first word of the name column. */
68
74
  export const FIRST_WORD_OF_NAME = 'firstWordOfName';
69
- /** What a copy of a person holds. */
70
- export const COPY_HOLDS = ['email', 'name', 'phone'];
75
+ /**
76
+ * What a copy of a person holds. `details`: anything else of theirs kept on
77
+ * the row, in a `text` or a `json` column (the words and choices of a design
78
+ * they made, `{"line1": "Mum & Dad 1985"}`). It finds nobody: its row is
79
+ * theirs by a link, as every copy's is. A `json` column holds only details.
80
+ */
81
+ export const COPY_HOLDS = ['email', 'name', 'phone', 'details'];
71
82
  /** The most people tables one app declares, and copies one entry lists. */
72
83
  export const PEOPLE_MAX = 8;
73
84
  export const PEOPLE_COPIES_MAX = 32;
@@ -117,15 +128,35 @@ const carrySchema = z.union([
117
128
  z.object({ stopList: z.object({ column: refSchema }).strict() }).strict(),
118
129
  z.object({ consent: z.object({ from: refSchema, via: refSchema, column: refSchema, latest: refSchema }).strict() }).strict(),
119
130
  ]);
131
+ /** An app's link column, as `table.column`. */
132
+ export const LINK_PATH = /^([a-z][a-z0-9_]*)\.([a-z][a-z0-9_]*)$/;
133
+ /**
134
+ * A copy of a person on another table. On a table of the app's own, `via`
135
+ * is a link column of that table back to the person, when it has one. On a
136
+ * table of an add-on the app requires (`addOn`), `via` is the app's own link
137
+ * into that table, as `table.column`, and is always said.
138
+ */
120
139
  const copySchema = z
121
140
  .object({
141
+ /** The add-on whose table holds the copy; absent, the table is the app's. */
142
+ addOn: z.string().regex(/^[a-z][a-z0-9-]{1,79}$/, 'an add-on key').optional(),
122
143
  table: refSchema,
123
144
  column: refSchema,
124
145
  holds: z.enum(COPY_HOLDS),
125
- /** A link column of the copy's table back to the person, when it has one. */
126
- via: refSchema.optional(),
146
+ via: z.string().min(1).max(129).optional(),
127
147
  })
128
- .strict();
148
+ .strict()
149
+ .superRefine((copy, ctx) => {
150
+ if (copy.addOn === undefined) {
151
+ if (copy.via !== undefined && !refSchema.safeParse(copy.via).success)
152
+ ctx.addIssue({ code: 'custom', path: ['via'], message: 'a link column of the copy\'s table, back to the person' });
153
+ }
154
+ else if (copy.via === undefined || !LINK_PATH.test(copy.via)) {
155
+ ctx.addIssue({ code: 'custom', path: ['via'], message: 'a copy on an add-on\'s table is reached through the app\'s link into it, as "table.column" (order_lines.design_id)' });
156
+ }
157
+ });
158
+ /** Whether a copy sits on a table of an add-on. */
159
+ export const isAddOnCopy = (copy) => copy.addOn !== undefined;
129
160
  export const peopleEntrySchema = z
130
161
  .object({
131
162
  table: refSchema,
@@ -251,8 +282,42 @@ export function peopleIssues(m, index) {
251
282
  col(from.from, from.latest, ['date', 'timestamptz', ...NUMBERS], here('consent', 'latest'), 'a date, a moment or a number (what makes an answer the newest)');
252
283
  });
253
284
  const seen = new Set();
285
+ /** The tables of the app that reach the person: their own, and each copy table of the entry's own. */
286
+ const reaching = new Set([entry.table, ...(entry.copies ?? []).filter((copy) => !isAddOnCopy(copy)).map((copy) => copy.table)]);
254
287
  (entry.copies ?? []).forEach((copy, c) => {
255
288
  const here = (...rest) => at('copies', c, ...rest);
289
+ if (isAddOnCopy(copy)) {
290
+ const id = `${copy.addOn}:${copy.table}.${copy.column}`;
291
+ if (seen.has(id))
292
+ out.push({ path: here('column'), message: `"${copy.table}.${copy.column}" of "${copy.addOn}" is listed twice` });
293
+ seen.add(id);
294
+ if (!(m.addOns?.requires ?? []).some((required) => required.key === copy.addOn)) {
295
+ out.push({ path: here('addOn'), message: `a copy on "${copy.addOn}"'s table is kept only of an add-on the app requires (addOns.requires)` });
296
+ }
297
+ // What the add-on's table holds is the add-on's to declare: only the app's side of the link is checked here.
298
+ const path = LINK_PATH.exec(copy.via);
299
+ // A path that is no `table.column` is the schema's to refuse.
300
+ if (path === null)
301
+ return;
302
+ const [, lineTable, linkColumn] = path;
303
+ if (index.table(lineTable) === undefined) {
304
+ out.push({ path: here('via'), message: `"${lineTable}" is not a table of this app` });
305
+ return;
306
+ }
307
+ const link = index.column(lineTable, linkColumn);
308
+ const bound = link?.rules?.addOnLink;
309
+ if (link === undefined)
310
+ out.push({ path: here('via'), message: `"${lineTable}" has no column "${linkColumn}"` });
311
+ else if (bound === undefined || bound.addOn !== copy.addOn || bound.table !== copy.table) {
312
+ out.push({ path: here('via'), message: `"${copy.via}" is not a link into "${copy.addOn}"'s table "${copy.table}" (rules.addOnLink)` });
313
+ }
314
+ // The line reaches the person as the app's own copies do: it is one of their tables, or links to one.
315
+ const lineColumns = m.requiredSchema.tables.find((table) => table.ref === lineTable)?.columns ?? [];
316
+ if (!reaching.has(lineTable) && !lineColumns.some((column) => column.type === 'fk' && column.references !== undefined && reaching.has(column.references))) {
317
+ out.push({ path: here('via'), message: `"${lineTable}" does not reach the person: it is not "${entry.table}" or one of this entry's copy tables, and links to none of them` });
318
+ }
319
+ return;
320
+ }
256
321
  if (copy.table === entry.table) {
257
322
  out.push({ path: here('table'), message: `a copy is kept on another table: "${entry.table}.${copy.column}" is the person's own column` });
258
323
  return;
@@ -265,7 +330,8 @@ export function peopleIssues(m, index) {
265
330
  if (seen.has(id))
266
331
  out.push({ path: here('column'), message: `"${id}" is listed twice` });
267
332
  seen.add(id);
268
- col(copy.table, copy.column, ['text'], here('column'), `a text column (${copy.holds === 'email' ? 'an address' : copy.holds === 'phone' ? 'a phone number' : 'a name'})`);
333
+ // Details may be kept as JSON (a design's words); an address, a name or a number is text, which a search reads.
334
+ col(copy.table, copy.column, copy.holds === 'details' ? ['text', 'json'] : ['text'], here('column'), copy.holds === 'details' ? 'a text or json column (their details)' : `a text column (${copy.holds === 'email' ? 'an address' : copy.holds === 'phone' ? 'a phone number' : 'a name'})`);
269
335
  if (copy.via !== undefined) {
270
336
  const link = col(copy.table, copy.via, ['fk'], here('via'), `a link to "${entry.table}"`);
271
337
  if (link?.type === 'fk' && link.references !== entry.table)