@adminiumjs/manifest 0.3.39 → 0.3.40
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/forms.d.ts +111 -0
- package/dist/forms.d.ts.map +1 -0
- package/dist/forms.js +224 -0
- package/dist/forms.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/mail-class.d.ts +11 -3
- package/dist/mail-class.d.ts.map +1 -1
- package/dist/mail-class.js +13 -1
- package/dist/mail-class.js.map +1 -1
- package/dist/mail-classes.d.ts +7 -0
- package/dist/mail-classes.d.ts.map +1 -1
- package/dist/mail-classes.js +6 -0
- package/dist/mail-classes.js.map +1 -1
- package/dist/outbox.d.ts +7 -0
- package/dist/outbox.d.ts.map +1 -1
- package/dist/outbox.js +66 -1
- package/dist/outbox.js.map +1 -1
- package/dist/public-access.d.ts +18 -0
- package/dist/public-access.d.ts.map +1 -1
- package/dist/public-access.js +72 -3
- package/dist/public-access.js.map +1 -1
- package/dist/schema.d.ts +83 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +79 -3
- package/dist/schema.js.map +1 -1
- package/dist/words.d.ts +1 -1
- package/dist/words.d.ts.map +1 -1
- package/dist/words.js +22 -0
- package/dist/words.js.map +1 -1
- package/package.json +2 -2
package/dist/forms.d.ts
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FORMS: THE ADD-ON BLOCK'S `forms` WORD.
|
|
3
|
+
*
|
|
4
|
+
* A forms add-on names which of its own tables hold the forms, the answers,
|
|
5
|
+
* and (optionally) the survey invitations and the strangers' files:
|
|
6
|
+
*
|
|
7
|
+
* ```json
|
|
8
|
+
* "addOn": { "forms": { "forms": "forms", "answers": "answers", "invitations": "invitations", "files": "answer_files" } }
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* The engine reads, draws and writes every form for a stranger (no add-on
|
|
12
|
+
* code runs for one), so each table must have the columns the engine reads
|
|
13
|
+
* and writes, by these names and of these kinds ({@link FORMS_COLUMNS}). The
|
|
14
|
+
* add-on's builder writes the forms; Adminium alone writes the answers and
|
|
15
|
+
* the files, as it does a ledger's receipts: no role of the add-on, no app's
|
|
16
|
+
* grant and no step of the add-on writes them. No public entry of the add-on
|
|
17
|
+
* opens any of the four: strangers are served by the engine alone.
|
|
18
|
+
*
|
|
19
|
+
* Which tables an answer may BECOME a row of is the apps' word, not the
|
|
20
|
+
* add-on's: an app opens a table to forms through a `publicAccess` entry
|
|
21
|
+
* under the reserved key `forms` (see `public-access.ts`).
|
|
22
|
+
*
|
|
23
|
+
* Pure: no I/O, and nothing imported from the manifest's own schema file, so
|
|
24
|
+
* that file may import this one.
|
|
25
|
+
*/
|
|
26
|
+
import { z } from 'zod';
|
|
27
|
+
import { type ReferenceIssue } from './refs.js';
|
|
28
|
+
/** The block: the add-on's own tables, by ref. */
|
|
29
|
+
export declare const addOnFormsSchema: z.ZodObject<{
|
|
30
|
+
forms: z.ZodString;
|
|
31
|
+
answers: z.ZodString;
|
|
32
|
+
invitations: z.ZodOptional<z.ZodString>;
|
|
33
|
+
files: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, z.core.$strict>;
|
|
35
|
+
export type AddOnForms = z.infer<typeof addOnFormsSchema>;
|
|
36
|
+
/** The four parts a forms block names. */
|
|
37
|
+
export type FormsPart = keyof AddOnForms;
|
|
38
|
+
export declare const FORMS_PARTS: readonly ["forms", "answers", "invitations", "files"];
|
|
39
|
+
/**
|
|
40
|
+
* The longest name of the table an answer became that every answers table
|
|
41
|
+
* holds (`became_table`: `<app>:<table ref>`). An app whose forms entry's
|
|
42
|
+
* table would be stored longer is refused, so no answer ever cuts one.
|
|
43
|
+
*/
|
|
44
|
+
export declare const FORMS_BECAME_TABLE_MAX = 64;
|
|
45
|
+
/** The category a package that declares forms is filed under. */
|
|
46
|
+
export declare const FORMS_CATEGORY = "marketing";
|
|
47
|
+
/** What one column of a forms table must be. */
|
|
48
|
+
export interface FormsColumn {
|
|
49
|
+
/** The column types it may be. */
|
|
50
|
+
types: readonly string[];
|
|
51
|
+
/** The engine writes it empty: the column must take that. */
|
|
52
|
+
nullable?: true;
|
|
53
|
+
/** No two rows hold the same value. */
|
|
54
|
+
unique?: true;
|
|
55
|
+
/** A text the engine writes this long must fit: unbounded, or at least this many characters. */
|
|
56
|
+
atLeast?: number;
|
|
57
|
+
/** An enum's values, exactly. */
|
|
58
|
+
values?: readonly string[];
|
|
59
|
+
/** A link to another part of the block. */
|
|
60
|
+
links?: FormsPart;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The columns each part has, which the engine reads and writes by these names.
|
|
64
|
+
* A table may have more of its own; on the tables Adminium alone writes
|
|
65
|
+
* (answers, files) each other column is one an insert may leave out.
|
|
66
|
+
*/
|
|
67
|
+
export declare const FORMS_COLUMNS: Readonly<Record<FormsPart, Readonly<Record<string, FormsColumn>>>>;
|
|
68
|
+
/** The column an answer row links its invitation by, when the block names invitations. */
|
|
69
|
+
export declare const ANSWER_INVITATION_COLUMN = "invitation_id";
|
|
70
|
+
/** What the checks read of a table. */
|
|
71
|
+
export interface FormsTableShape {
|
|
72
|
+
ref: string;
|
|
73
|
+
columns: readonly {
|
|
74
|
+
ref: string;
|
|
75
|
+
type: string;
|
|
76
|
+
role?: string | undefined;
|
|
77
|
+
nullable?: boolean | undefined;
|
|
78
|
+
enum?: readonly string[] | undefined;
|
|
79
|
+
references?: string | undefined;
|
|
80
|
+
maxLength?: number | undefined;
|
|
81
|
+
unique?: boolean | undefined;
|
|
82
|
+
default?: unknown;
|
|
83
|
+
}[];
|
|
84
|
+
appGrants?: {
|
|
85
|
+
actions: readonly string[];
|
|
86
|
+
} | undefined;
|
|
87
|
+
}
|
|
88
|
+
/** The parts of the add-on the checks read beside its tables. */
|
|
89
|
+
export interface FormsAddOnShape {
|
|
90
|
+
categories: readonly string[];
|
|
91
|
+
tables: readonly FormsTableShape[];
|
|
92
|
+
roles?: readonly {
|
|
93
|
+
key: string;
|
|
94
|
+
cloneFrom?: string | undefined;
|
|
95
|
+
permissions?: readonly string[] | undefined;
|
|
96
|
+
}[] | undefined;
|
|
97
|
+
publicAccess?: readonly {
|
|
98
|
+
table: string;
|
|
99
|
+
}[] | undefined;
|
|
100
|
+
steps?: readonly {
|
|
101
|
+
key: string;
|
|
102
|
+
writes: {
|
|
103
|
+
table: string;
|
|
104
|
+
};
|
|
105
|
+
}[] | undefined;
|
|
106
|
+
/** Whether a rule of the column decides it (a code, a stamp, a default rule): an insert may leave it out. */
|
|
107
|
+
decided?: ((table: string, column: string) => boolean) | undefined;
|
|
108
|
+
}
|
|
109
|
+
/** Everything wrong with an add-on's forms block, against its own tables, roles, entries and steps. */
|
|
110
|
+
export declare function formsBlockIssues(block: AddOnForms, m: FormsAddOnShape): ReferenceIssue[];
|
|
111
|
+
//# sourceMappingURL=forms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"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"}
|
package/dist/forms.js
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
|
+
/**
|
|
3
|
+
* FORMS: THE ADD-ON BLOCK'S `forms` WORD.
|
|
4
|
+
*
|
|
5
|
+
* A forms add-on names which of its own tables hold the forms, the answers,
|
|
6
|
+
* and (optionally) the survey invitations and the strangers' files:
|
|
7
|
+
*
|
|
8
|
+
* ```json
|
|
9
|
+
* "addOn": { "forms": { "forms": "forms", "answers": "answers", "invitations": "invitations", "files": "answer_files" } }
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* The engine reads, draws and writes every form for a stranger (no add-on
|
|
13
|
+
* code runs for one), so each table must have the columns the engine reads
|
|
14
|
+
* and writes, by these names and of these kinds ({@link FORMS_COLUMNS}). The
|
|
15
|
+
* add-on's builder writes the forms; Adminium alone writes the answers and
|
|
16
|
+
* the files, as it does a ledger's receipts: no role of the add-on, no app's
|
|
17
|
+
* grant and no step of the add-on writes them. No public entry of the add-on
|
|
18
|
+
* opens any of the four: strangers are served by the engine alone.
|
|
19
|
+
*
|
|
20
|
+
* Which tables an answer may BECOME a row of is the apps' word, not the
|
|
21
|
+
* add-on's: an app opens a table to forms through a `publicAccess` entry
|
|
22
|
+
* under the reserved key `forms` (see `public-access.ts`).
|
|
23
|
+
*
|
|
24
|
+
* Pure: no I/O, and nothing imported from the manifest's own schema file, so
|
|
25
|
+
* that file may import this one.
|
|
26
|
+
*/
|
|
27
|
+
import { z } from 'zod';
|
|
28
|
+
import { refSchema } from './refs.js';
|
|
29
|
+
/** The block: the add-on's own tables, by ref. */
|
|
30
|
+
export const addOnFormsSchema = z
|
|
31
|
+
.object({
|
|
32
|
+
forms: refSchema,
|
|
33
|
+
answers: refSchema,
|
|
34
|
+
invitations: refSchema.optional(),
|
|
35
|
+
files: refSchema.optional(),
|
|
36
|
+
})
|
|
37
|
+
.strict();
|
|
38
|
+
export const FORMS_PARTS = ['forms', 'answers', 'invitations', 'files'];
|
|
39
|
+
/**
|
|
40
|
+
* The longest name of the table an answer became that every answers table
|
|
41
|
+
* holds (`became_table`: `<app>:<table ref>`). An app whose forms entry's
|
|
42
|
+
* table would be stored longer is refused, so no answer ever cuts one.
|
|
43
|
+
*/
|
|
44
|
+
export const FORMS_BECAME_TABLE_MAX = 64;
|
|
45
|
+
/** The category a package that declares forms is filed under. */
|
|
46
|
+
export const FORMS_CATEGORY = 'marketing';
|
|
47
|
+
const text = (atLeast, nullable) => ({ types: ['text'], ...(atLeast === undefined ? {} : { atLeast }), ...(nullable === undefined ? {} : { nullable }) });
|
|
48
|
+
const moment = (nullable) => ({ types: ['timestamptz'], ...(nullable === undefined ? {} : { nullable }) });
|
|
49
|
+
const json = (nullable) => ({ types: ['json'], ...(nullable === undefined ? {} : { nullable }) });
|
|
50
|
+
const whole = (nullable) => ({ types: ['int', 'bigint'], ...(nullable === undefined ? {} : { nullable }) });
|
|
51
|
+
const choice = (values) => ({ types: ['enum'], values });
|
|
52
|
+
const link = (to, nullable) => ({ types: ['fk'], links: to, ...(nullable === undefined ? {} : { nullable }) });
|
|
53
|
+
/**
|
|
54
|
+
* The columns each part has, which the engine reads and writes by these names.
|
|
55
|
+
* A table may have more of its own; on the tables Adminium alone writes
|
|
56
|
+
* (answers, files) each other column is one an insert may leave out.
|
|
57
|
+
*/
|
|
58
|
+
export const FORMS_COLUMNS = {
|
|
59
|
+
forms: {
|
|
60
|
+
slug: { types: ['text'], unique: true },
|
|
61
|
+
kind: choice(['form', 'survey']),
|
|
62
|
+
state: choice(['draft', 'live', 'closed']),
|
|
63
|
+
definition: json(),
|
|
64
|
+
settings: json(),
|
|
65
|
+
/** The definition and settings frozen at publish: strangers are served only this. */
|
|
66
|
+
published: json(true),
|
|
67
|
+
published_at: moment(true),
|
|
68
|
+
},
|
|
69
|
+
answers: {
|
|
70
|
+
form_id: link('forms'),
|
|
71
|
+
submitted_at: moment(),
|
|
72
|
+
language: text(10),
|
|
73
|
+
values: json(),
|
|
74
|
+
email: text(320, true),
|
|
75
|
+
name: text(200, true),
|
|
76
|
+
became_table: text(FORMS_BECAME_TABLE_MAX, true),
|
|
77
|
+
became_key: text(200, true),
|
|
78
|
+
confirm: choice(['none', 'pending', 'confirmed', 'expired']),
|
|
79
|
+
consent_purpose: text(20, true),
|
|
80
|
+
consent_wording: text(2000, true),
|
|
81
|
+
consent_version: whole(true),
|
|
82
|
+
ip: text(64, true),
|
|
83
|
+
user_agent: text(512, true),
|
|
84
|
+
sent_from: text(2048, true),
|
|
85
|
+
},
|
|
86
|
+
invitations: {
|
|
87
|
+
form_id: link('forms'),
|
|
88
|
+
email: text(320),
|
|
89
|
+
name: text(200, true),
|
|
90
|
+
language: text(10),
|
|
91
|
+
person_table: text(64),
|
|
92
|
+
person_key: text(200),
|
|
93
|
+
/** The record a survey's answer fills a link column from (the job the survey is about). */
|
|
94
|
+
record_table: text(64, true),
|
|
95
|
+
record_key: text(200, true),
|
|
96
|
+
token_hash: text(64, true),
|
|
97
|
+
class: choice(['marketing', 'service']),
|
|
98
|
+
invited_at: moment(),
|
|
99
|
+
answered_at: moment(true),
|
|
100
|
+
expires_at: moment(true),
|
|
101
|
+
},
|
|
102
|
+
files: {
|
|
103
|
+
answer_id: link('answers', true),
|
|
104
|
+
file_id: text(64),
|
|
105
|
+
question: text(16),
|
|
106
|
+
name: text(255),
|
|
107
|
+
size: whole(),
|
|
108
|
+
kind: text(20),
|
|
109
|
+
uploaded_at: moment(),
|
|
110
|
+
expires_at: moment(true),
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
/** The column an answer row links its invitation by, when the block names invitations. */
|
|
114
|
+
export const ANSWER_INVITATION_COLUMN = 'invitation_id';
|
|
115
|
+
/** The actions on a table no grant gives on a table only Adminium writes. */
|
|
116
|
+
const WRITES = ['create', 'update', 'import'];
|
|
117
|
+
/** Everything wrong with an add-on's forms block, against its own tables, roles, entries and steps. */
|
|
118
|
+
export function formsBlockIssues(block, m) {
|
|
119
|
+
const out = [];
|
|
120
|
+
const tables = new Map(m.tables.map((table, t) => [table.ref, { table, t }]));
|
|
121
|
+
const at = (...rest) => ['addOn', 'forms', ...rest];
|
|
122
|
+
if (!m.categories.includes(FORMS_CATEGORY))
|
|
123
|
+
out.push({ path: ['categories'], message: `an add-on that declares forms is filed under the "${FORMS_CATEGORY}" category` });
|
|
124
|
+
const named = FORMS_PARTS.flatMap((part) => (block[part] === undefined ? [] : [[part, block[part]]]));
|
|
125
|
+
const seen = new Map();
|
|
126
|
+
for (const [part, ref] of named) {
|
|
127
|
+
const other = seen.get(ref);
|
|
128
|
+
if (other !== undefined)
|
|
129
|
+
out.push({ path: at(part), message: `"${ref}" holds the ${other} already: each part of forms is a table of its own` });
|
|
130
|
+
seen.set(ref, part);
|
|
131
|
+
}
|
|
132
|
+
for (const [part, ref] of named) {
|
|
133
|
+
const found = tables.get(ref);
|
|
134
|
+
if (found === undefined) {
|
|
135
|
+
out.push({ path: at(part), message: `"${ref}" is not one of this add-on's tables` });
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
const { table, t } = found;
|
|
139
|
+
const columnAt = (c, ...rest) => ['requiredSchema', 'tables', t, 'columns', c, ...rest];
|
|
140
|
+
const contract = { ...FORMS_COLUMNS[part] };
|
|
141
|
+
if (part === 'answers' && block.invitations !== undefined)
|
|
142
|
+
contract[ANSWER_INVITATION_COLUMN] = link('invitations', true);
|
|
143
|
+
for (const [name, want] of Object.entries(contract)) {
|
|
144
|
+
const c = table.columns.findIndex((column) => column.ref === name);
|
|
145
|
+
const column = table.columns[c];
|
|
146
|
+
if (column === undefined) {
|
|
147
|
+
out.push({ path: at(part), message: `"${ref}" holds the ${part}, so it has a column "${name}" (${describe(want)})` });
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
const say = (message, ...rest) => out.push({ path: columnAt(c, ...rest), message: `"${ref}.${name}" ${message}` });
|
|
151
|
+
if (!want.types.includes(column.type)) {
|
|
152
|
+
say(`is read and written by Adminium as ${describe(want)}, not ${column.type}`, 'type');
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
if (want.nullable === true && column.nullable !== true)
|
|
156
|
+
say('is written empty until there is something to put in it: make it nullable', 'nullable');
|
|
157
|
+
if (want.unique === true && column.unique !== true)
|
|
158
|
+
say('names one row: make it unique', 'unique');
|
|
159
|
+
if (want.atLeast !== undefined && column.maxLength !== undefined && column.maxLength < want.atLeast)
|
|
160
|
+
say(`takes up to ${String(want.atLeast)} characters: leave out maxLength, or make it at least that`, 'maxLength');
|
|
161
|
+
if (want.values !== undefined) {
|
|
162
|
+
const values = new Set(column.enum ?? []);
|
|
163
|
+
if (values.size !== want.values.length || !want.values.every((value) => values.has(value)))
|
|
164
|
+
say(`takes exactly ${want.values.map((value) => `"${value}"`).join(', ')}`, 'enum');
|
|
165
|
+
}
|
|
166
|
+
if (want.links !== undefined) {
|
|
167
|
+
const target = block[want.links];
|
|
168
|
+
if (column.references !== target)
|
|
169
|
+
say(`links to the ${want.links} ("${String(target)}")`, 'references');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// The engine serves a stranger a form's published words and nothing else: no public entry of the add-on opens a forms table.
|
|
173
|
+
(m.publicAccess ?? []).forEach((entry, e) => {
|
|
174
|
+
if (entry.table === ref)
|
|
175
|
+
out.push({ path: ['publicAccess', e, 'table'], message: `"${ref}" holds the ${part}, which Adminium alone serves to strangers: no public entry opens it` });
|
|
176
|
+
});
|
|
177
|
+
// A table only Adminium writes: every other column is one its insert may leave out.
|
|
178
|
+
if (part === 'answers' || part === 'files') {
|
|
179
|
+
table.columns.forEach((column, c) => {
|
|
180
|
+
if (contract[column.ref] !== undefined || column.role === 'pk' || column.nullable === true || column.default !== undefined || m.decided?.(ref, column.ref) === true)
|
|
181
|
+
return;
|
|
182
|
+
out.push({ path: columnAt(c), message: `"${ref}" is written by Adminium alone, which never fills "${column.ref}": make it nullable or give it a default` });
|
|
183
|
+
});
|
|
184
|
+
out.push(...onlyAdminiumWrites(ref, t, part, m));
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return out;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Nothing of the add-on writes a table only Adminium writes: no role's
|
|
191
|
+
* create, update or import, no app's grant beyond reading, no step (and, as
|
|
192
|
+
* for every forms table, no public entry). Staff read the answers and delete
|
|
193
|
+
* them, never write them.
|
|
194
|
+
*/
|
|
195
|
+
function onlyAdminiumWrites(ref, t, part, m) {
|
|
196
|
+
const out = [];
|
|
197
|
+
const why = `the ${part} are written by Adminium alone`;
|
|
198
|
+
const roles = m.roles ?? [];
|
|
199
|
+
roles.forEach((role, r) => {
|
|
200
|
+
const from = role.cloneFrom === undefined ? undefined : roles.find((other) => other.key === role.cloneFrom);
|
|
201
|
+
const grants = new Set([...(from?.permissions ?? []), ...(role.permissions ?? [])]);
|
|
202
|
+
for (const action of WRITES) {
|
|
203
|
+
if (grants.has(`table:@${ref}:${action}`) || grants.has(`table:@*:${action}`)) {
|
|
204
|
+
out.push({ path: ['roles', r, 'permissions'], message: `"${role.key}" may ${action} "${ref}", and ${why}: a role reads and deletes them` });
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
const table = m.tables[t];
|
|
209
|
+
(table?.appGrants?.actions ?? []).forEach((action, a) => {
|
|
210
|
+
if (action !== 'read')
|
|
211
|
+
out.push({ path: ['requiredSchema', 'tables', t, 'appGrants', 'actions', a], message: `${why}: an app's role may only read "${ref}"` });
|
|
212
|
+
});
|
|
213
|
+
(m.steps ?? []).forEach((step, s) => {
|
|
214
|
+
if (step.writes.table === ref)
|
|
215
|
+
out.push({ path: ['addOn', 'steps', s, 'writes', 'table'], message: `${why}: the step "${step.key}" may not write a row of "${ref}"` });
|
|
216
|
+
});
|
|
217
|
+
return out;
|
|
218
|
+
}
|
|
219
|
+
/** A column's contract in words, for a refusal. */
|
|
220
|
+
function describe(want) {
|
|
221
|
+
const kind = want.links !== undefined ? `a link to the ${want.links}` : want.values !== undefined ? `an enum of ${want.values.join(', ')}` : want.types.join(' or ');
|
|
222
|
+
return [kind, ...(want.atLeast === undefined ? [] : [`at least ${String(want.atLeast)} characters`]), ...(want.nullable === true ? ['nullable'] : []), ...(want.unique === true ? ['unique'] : [])].join(', ');
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* this package does I/O.
|
|
9
9
|
*/
|
|
10
10
|
export declare const PACKAGE_NAME = "@adminium/manifest";
|
|
11
|
-
export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, FILE_COLUMN_KINDS, PICTURE_FILE_KINDS, takesPicturesOnly, FILE_COLUMN_MAX_BYTES, PUBLIC_PICTURE_MAX_BYTES, FILE_COLUMN_MAX_COUNT, COLUMN_ROLES, FRONTEND_KINDS, PHONE_KIND, PHONE_SIDE, FIRST_PARTY_PUBLISHER_ID, LOCAL_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, defaultIssue, MAX_TEXT_LENGTH, MAX_TABLE_NAME, prefixFor, appReferenceIssues, ADD_ON_INSTALL_FLOOR, MAX_SEED_ROWS, installsLikeAnApp, ledgersOf, addOnRoleTableHold, adjusterOf, lookUpOf, wordsOf, indexSetIssues, tableIndexesSchema, addOnTableSchema, type AddOnTable, columnRulesSchema, stampSetSchema, stampTriggerSchema, shapeDefinitionSchema, shapePartSchema, shapeDefinitionIssues, capacitySchema, navGroupSchema, navLinkSchema, railPlaceSchema, type NavLink, publicAccessSchema, publicKeysSchema, sampleDataSchema, labelsSchema, type ColumnRules, type PublicAccess, type Manifest, type AppManifest, type AddOnManifest, type ManifestKind, type AddOnBlock, type Capability, type Publisher, type I18nMessage, type RequiredTable, type RequiredColumn, type RequiredTableShape, type ShapeDefinition, } from './schema.js';
|
|
11
|
+
export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, FILE_COLUMN_KINDS, PICTURE_FILE_KINDS, takesPicturesOnly, FILE_COLUMN_MAX_BYTES, PUBLIC_PICTURE_MAX_BYTES, FILE_COLUMN_MAX_COUNT, COLUMN_ROLES, FRONTEND_KINDS, PHONE_KIND, PHONE_SIDE, FIRST_PARTY_PUBLISHER_ID, LOCAL_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, defaultIssue, MAX_TEXT_LENGTH, MAX_TABLE_NAME, prefixFor, appReferenceIssues, ADD_ON_INSTALL_FLOOR, MAX_SEED_ROWS, installsLikeAnApp, ledgersOf, formsOf, formsEntriesOf, decidedColumnsOf, type FormsEntry, addOnRoleTableHold, adjusterOf, lookUpOf, wordsOf, indexSetIssues, tableIndexesSchema, addOnTableSchema, type AddOnTable, columnRulesSchema, stampSetSchema, stampTriggerSchema, shapeDefinitionSchema, shapePartSchema, shapeDefinitionIssues, capacitySchema, navGroupSchema, navLinkSchema, railPlaceSchema, type NavLink, publicAccessSchema, publicKeysSchema, sampleDataSchema, labelsSchema, type ColumnRules, type PublicAccess, type Manifest, type AppManifest, type AddOnManifest, type ManifestKind, type AddOnBlock, type Capability, type Publisher, type I18nMessage, type RequiredTable, type RequiredColumn, type RequiredTableShape, type ShapeDefinition, } from './schema.js';
|
|
12
12
|
export { EVERY_COLUMN, appGrantsIssues, appGrantsSchema, declaresAppGrants, holdWider, roleTableHold, type AppGrants, type RoleAddOnAction, type RoleTableHold, type RoleTableNarrowed, type RoleTableResult, type RoleTableSkip } from './app-grants.js';
|
|
13
13
|
export { ROLE_ADD_ON_ACTIONS, roleAddOnTableSchema, roleAddOnTablesSchema, roleLimitSchema, roleLimitsSchema, type RoleAddOnTable, type RoleLimit } from './roles.js';
|
|
14
14
|
export { personPathIssue, personPathSchema } from './roles.js';
|
|
@@ -22,15 +22,16 @@ export { validateManifest, isManifestOnly, hasPhoneSide, parseManifest, manifest
|
|
|
22
22
|
export { BOOKING_WEEKDAYS, bookingSchema, type BookingRule } from './booking.js';
|
|
23
23
|
export { occupiesSchema, type OccupiesRule } from './occupies.js';
|
|
24
24
|
export { REMOVAL_REASON_MAX, auditOnlyColumns, columnHistorySchema, removalIssues, removalSchema, type RemovalRule } from './removal.js';
|
|
25
|
-
export { MAIL_CLASSES, MAIL_CLASS_FLOOR, mailClassFloorIssues, mailClassOf, sentToTheHouse, type MailClass, type MailClassAnswer, type MailClassManifest } from './mail-class.js';
|
|
25
|
+
export { MAIL_CLASSES, MAIL_CLASS_FLOOR, MAIL_PURPOSES, mailClassFloorIssues, mailClassOf, mailPurposeOf, printsSurveyLink, sentToTheHouse, type MailClass, type MailClassAnswer, type MailClassManifest, type MailPurpose, } from './mail-class.js';
|
|
26
26
|
export { CONSENT_PURPOSES, COPY_HOLDS, FIRST_WORD_OF_NAME, KEPT_BY_LAW_REASONS, PEOPLE_KINDS, keepSchema, optOutMarkColumn, peopleEntrySchema, peopleIssues, peopleSchema, publicConsentIssues, publicConsentSchema, type Keep, type KeptByLawReason, type People, type PeopleCarry, type PeopleCopy, type PeopleEntry, type PublicConsent, } from './people.js';
|
|
27
27
|
export { MODULE_DEFAULTS, modulesSchema, moduleIssues, modulesLeftOut, optionalShapeAddOns, tablesLeftOut, columnsLeftOut, withoutModules, type ManifestModule, type ModuleDefault, } from './modules.js';
|
|
28
28
|
export { capacityListSchema, capacityRuleSchema, capacityViaColumns, isLegacyCapacity, kindOf as capacityKindOf, rulesOf as capacityRulesOf, type Capacity, type CapacityKind, type CapacityRule, type NightCapacityRule, type ParentCapacityRule, type SlotCapacityRule, } from './capacity.js';
|
|
29
29
|
export { assistantIssues, type AssistantTableShape } from './assistant.js';
|
|
30
30
|
export { stepsIssues, type StepTableShape } from './steps.js';
|
|
31
31
|
export { OTHERWISE_BLOCKS, blocksShownFor, fillPlaceholders, otherwiseOf, placeholderNames, placeholderPattern, placeholderValue, placeholdersIn, requiredNamesOfEmail, requiredPlaceholderNames, showWhenNames, showWhenOf, writePlaceholder, type Placeholder, type ShowWhen, } from './placeholders.js';
|
|
32
|
-
export { OUTBOX_WRITTEN, REPEAT_KEY_LENGTH, WAS_MIN_LENGTH, NOT_ON_REMOVAL, removalTableOf, WITH_ATTACHMENT, ONLY_WITH, ONLY_WITHOUT, GROUPED_FORM, groupedCode, isCodeColumn, clockShaped, rulesReading, OUTBOX_HELD, OUTBOX_SKIP_REASONS, OUTBOX_STATUSES, emailTemplateSchema, emailRowsDataSchema, outboxProducerSchema, outboxSchema, type EmailTemplate, type EmailRowsData, type Outbox, type OutboxProducer, } from './outbox.js';
|
|
33
|
-
export { SELF_UNLOCK_MIN_LENGTH } from './public-access.js';
|
|
32
|
+
export { OUTBOX_WRITTEN, REPEAT_KEY_LENGTH, WAS_MIN_LENGTH, NOT_ON_REMOVAL, removalTableOf, WITH_ATTACHMENT, ONLY_WITH, ONLY_WITHOUT, GROUPED_FORM, groupedCode, isCodeColumn, clockShaped, rulesReading, OUTBOX_HELD, OUTBOX_SKIP_REASONS, OUTBOX_STATUSES, SURVEY_LINK_VARIABLE, emailTemplateSchema, emailRowsDataSchema, outboxProducerSchema, outboxSchema, type EmailTemplate, type EmailRowsData, type Outbox, type OutboxProducer, } from './outbox.js';
|
|
33
|
+
export { FORMS_ENTRY_WORDS, FORMS_KEY, SELF_UNLOCK_MIN_LENGTH } from './public-access.js';
|
|
34
|
+
export { ANSWER_INVITATION_COLUMN, FORMS_BECAME_TABLE_MAX, FORMS_CATEGORY, FORMS_COLUMNS, FORMS_PARTS, addOnFormsSchema, formsBlockIssues, type AddOnForms, type FormsAddOnShape, type FormsColumn, type FormsPart, type FormsTableShape, } from './forms.js';
|
|
34
35
|
export { CUSTOMER_KEY, claimKind, claimSchema, codeSchemaOf, codeWhereSchema, hiddenFromStaff, ownLinksOfPerson, personalColumn, publicKeySchema, shareCodeColumns, type Claim, type CodeSchema, type PersonOwnLink, type PublicKey } from './public-access.js';
|
|
35
36
|
export { resendAddressOf, type ResendAddress, type ResendColumns, type ResendOutbox } from './public-access.js';
|
|
36
37
|
export { PLAIN_TEXT_DIGITS_MOST, PLAIN_TEXT_LONGEST, PLAIN_TEXT_MAX, plainTextMax, plainTextRef, type PlainTextColumnRef } from './public-access.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* this package does I/O.
|
|
10
10
|
*/
|
|
11
11
|
export const PACKAGE_NAME = '@adminium/manifest';
|
|
12
|
-
export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, FILE_COLUMN_KINDS, PICTURE_FILE_KINDS, takesPicturesOnly, FILE_COLUMN_MAX_BYTES, PUBLIC_PICTURE_MAX_BYTES, FILE_COLUMN_MAX_COUNT, COLUMN_ROLES, FRONTEND_KINDS, PHONE_KIND, PHONE_SIDE, FIRST_PARTY_PUBLISHER_ID, LOCAL_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, defaultIssue, MAX_TEXT_LENGTH, MAX_TABLE_NAME, prefixFor, appReferenceIssues, ADD_ON_INSTALL_FLOOR, MAX_SEED_ROWS, installsLikeAnApp, ledgersOf, addOnRoleTableHold, adjusterOf, lookUpOf, wordsOf, indexSetIssues, tableIndexesSchema, addOnTableSchema, columnRulesSchema, stampSetSchema, stampTriggerSchema, shapeDefinitionSchema, shapePartSchema, shapeDefinitionIssues, capacitySchema, navGroupSchema, navLinkSchema, railPlaceSchema, publicAccessSchema, publicKeysSchema, sampleDataSchema, labelsSchema, } from './schema.js';
|
|
12
|
+
export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, FILE_COLUMN_KINDS, PICTURE_FILE_KINDS, takesPicturesOnly, FILE_COLUMN_MAX_BYTES, PUBLIC_PICTURE_MAX_BYTES, FILE_COLUMN_MAX_COUNT, COLUMN_ROLES, FRONTEND_KINDS, PHONE_KIND, PHONE_SIDE, FIRST_PARTY_PUBLISHER_ID, LOCAL_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, defaultIssue, MAX_TEXT_LENGTH, MAX_TABLE_NAME, prefixFor, appReferenceIssues, ADD_ON_INSTALL_FLOOR, MAX_SEED_ROWS, installsLikeAnApp, ledgersOf, formsOf, formsEntriesOf, decidedColumnsOf, addOnRoleTableHold, adjusterOf, lookUpOf, wordsOf, indexSetIssues, tableIndexesSchema, addOnTableSchema, columnRulesSchema, stampSetSchema, stampTriggerSchema, shapeDefinitionSchema, shapePartSchema, shapeDefinitionIssues, capacitySchema, navGroupSchema, navLinkSchema, railPlaceSchema, publicAccessSchema, publicKeysSchema, sampleDataSchema, labelsSchema, } from './schema.js';
|
|
13
13
|
export { EVERY_COLUMN, appGrantsIssues, appGrantsSchema, declaresAppGrants, holdWider, roleTableHold } from './app-grants.js';
|
|
14
14
|
export { ROLE_ADD_ON_ACTIONS, roleAddOnTableSchema, roleAddOnTablesSchema, roleLimitSchema, roleLimitsSchema } from './roles.js';
|
|
15
15
|
export { personPathIssue, personPathSchema } from './roles.js';
|
|
@@ -23,15 +23,16 @@ export { validateManifest, isManifestOnly, hasPhoneSide, parseManifest, manifest
|
|
|
23
23
|
export { BOOKING_WEEKDAYS, bookingSchema } from './booking.js';
|
|
24
24
|
export { occupiesSchema } from './occupies.js';
|
|
25
25
|
export { REMOVAL_REASON_MAX, auditOnlyColumns, columnHistorySchema, removalIssues, removalSchema } from './removal.js';
|
|
26
|
-
export { MAIL_CLASSES, MAIL_CLASS_FLOOR, mailClassFloorIssues, mailClassOf, sentToTheHouse } from './mail-class.js';
|
|
26
|
+
export { MAIL_CLASSES, MAIL_CLASS_FLOOR, MAIL_PURPOSES, mailClassFloorIssues, mailClassOf, mailPurposeOf, printsSurveyLink, sentToTheHouse, } from './mail-class.js';
|
|
27
27
|
export { CONSENT_PURPOSES, COPY_HOLDS, FIRST_WORD_OF_NAME, KEPT_BY_LAW_REASONS, PEOPLE_KINDS, keepSchema, optOutMarkColumn, peopleEntrySchema, peopleIssues, peopleSchema, publicConsentIssues, publicConsentSchema, } from './people.js';
|
|
28
28
|
export { MODULE_DEFAULTS, modulesSchema, moduleIssues, modulesLeftOut, optionalShapeAddOns, tablesLeftOut, columnsLeftOut, withoutModules, } from './modules.js';
|
|
29
29
|
export { capacityListSchema, capacityRuleSchema, capacityViaColumns, isLegacyCapacity, kindOf as capacityKindOf, rulesOf as capacityRulesOf, } from './capacity.js';
|
|
30
30
|
export { assistantIssues } from './assistant.js';
|
|
31
31
|
export { stepsIssues } from './steps.js';
|
|
32
32
|
export { OTHERWISE_BLOCKS, blocksShownFor, fillPlaceholders, otherwiseOf, placeholderNames, placeholderPattern, placeholderValue, placeholdersIn, requiredNamesOfEmail, requiredPlaceholderNames, showWhenNames, showWhenOf, writePlaceholder, } from './placeholders.js';
|
|
33
|
-
export { OUTBOX_WRITTEN, REPEAT_KEY_LENGTH, WAS_MIN_LENGTH, NOT_ON_REMOVAL, removalTableOf, WITH_ATTACHMENT, ONLY_WITH, ONLY_WITHOUT, GROUPED_FORM, groupedCode, isCodeColumn, clockShaped, rulesReading, OUTBOX_HELD, OUTBOX_SKIP_REASONS, OUTBOX_STATUSES, emailTemplateSchema, emailRowsDataSchema, outboxProducerSchema, outboxSchema, } from './outbox.js';
|
|
34
|
-
export { SELF_UNLOCK_MIN_LENGTH } from './public-access.js';
|
|
33
|
+
export { OUTBOX_WRITTEN, REPEAT_KEY_LENGTH, WAS_MIN_LENGTH, NOT_ON_REMOVAL, removalTableOf, WITH_ATTACHMENT, ONLY_WITH, ONLY_WITHOUT, GROUPED_FORM, groupedCode, isCodeColumn, clockShaped, rulesReading, OUTBOX_HELD, OUTBOX_SKIP_REASONS, OUTBOX_STATUSES, SURVEY_LINK_VARIABLE, emailTemplateSchema, emailRowsDataSchema, outboxProducerSchema, outboxSchema, } from './outbox.js';
|
|
34
|
+
export { FORMS_ENTRY_WORDS, FORMS_KEY, SELF_UNLOCK_MIN_LENGTH } from './public-access.js';
|
|
35
|
+
export { ANSWER_INVITATION_COLUMN, FORMS_BECAME_TABLE_MAX, FORMS_CATEGORY, FORMS_COLUMNS, FORMS_PARTS, addOnFormsSchema, formsBlockIssues, } from './forms.js';
|
|
35
36
|
export { CUSTOMER_KEY, claimKind, claimSchema, codeSchemaOf, codeWhereSchema, hiddenFromStaff, ownLinksOfPerson, personalColumn, publicKeySchema, shareCodeColumns } from './public-access.js';
|
|
36
37
|
export { resendAddressOf } from './public-access.js';
|
|
37
38
|
export { PLAIN_TEXT_DIGITS_MOST, PLAIN_TEXT_LONGEST, PLAIN_TEXT_MAX, plainTextMax, plainTextRef } from './public-access.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mail-class.d.ts
CHANGED
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import type { ManifestAction, ManifestAutomation } from './automations.js';
|
|
32
32
|
import type { Outbox } from './outbox.js';
|
|
33
|
-
import type { MailClass } from './mail-classes.js';
|
|
34
|
-
export { MAIL_CLASSES, type MailClass } from './mail-classes.js';
|
|
33
|
+
import type { MailClass, MailPurpose } from './mail-classes.js';
|
|
34
|
+
export { MAIL_CLASSES, MAIL_PURPOSES, type MailClass, type MailPurpose } from './mail-classes.js';
|
|
35
35
|
/** What `mailClassOf` answers: a class, or `staff` for mail to staff that has none. */
|
|
36
36
|
export type MailClassAnswer = MailClass | 'staff';
|
|
37
37
|
/** The first Adminium that reads the classes, and from which a manifest must say every one. */
|
|
38
38
|
export declare const MAIL_CLASS_FLOOR = "0.3.38";
|
|
39
39
|
/** What `mailClassOf` reads of a manifest. */
|
|
40
40
|
export interface MailClassManifest {
|
|
41
|
-
outbox?: Pick<Outbox, 'kinds' | 'classes' | 'producers'> | undefined;
|
|
41
|
+
outbox?: Pick<Outbox, 'kinds' | 'classes' | 'producers' | 'purposes' | 'surveyLinks'> | undefined;
|
|
42
42
|
}
|
|
43
43
|
/** Whether a kind goes only to the house: it has producers, and each sends to an address a setting holds. */
|
|
44
44
|
export declare function sentToTheHouse(outbox: Pick<Outbox, 'producers'> | undefined, kind: string): boolean;
|
|
@@ -55,6 +55,14 @@ export declare function mailClassOf(manifest: MailClassManifest, of: {
|
|
|
55
55
|
} | {
|
|
56
56
|
step: Pick<EmailStep, 'to' | 'class'>;
|
|
57
57
|
}): MailClassAnswer;
|
|
58
|
+
/**
|
|
59
|
+
* The consent purpose an outbox kind is sent for (`outbox.purposes`), or
|
|
60
|
+
* null when it names none: a marketing kind is then judged for the
|
|
61
|
+
* newsletter, and a service kind by nothing but its class.
|
|
62
|
+
*/
|
|
63
|
+
export declare function mailPurposeOf(manifest: MailClassManifest, outboxKind: string): MailPurpose | null;
|
|
64
|
+
/** Whether an outbox kind's template may print a survey's link (`outbox.surveyLinks`). */
|
|
65
|
+
export declare function printsSurveyLink(manifest: MailClassManifest, outboxKind: string): boolean;
|
|
58
66
|
/**
|
|
59
67
|
* From {@link MAIL_CLASS_FLOOR} on, a gap is refused: every outbox kind but one sent only to the house, and
|
|
60
68
|
* every rule's e-mail to the record's own address, says `marketing` or
|
package/dist/mail-class.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-class.d.ts","sourceRoot":"","sources":["../src/mail-class.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mail-class.d.ts","sourceRoot":"","sources":["../src/mail-class.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElG,uFAAuF;AACvF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAElD,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;CACnG;AAED,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnG;AAED,KAAK,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,CAAA;CAAE,GAAG,eAAe,CAMhJ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAEjG;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzF;AAgBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE;IACtC,aAAa,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IACrE,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;CACzD,GAAG;IAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAiBnD"}
|
package/dist/mail-class.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compareSemver } from './semver.js';
|
|
2
|
-
export { MAIL_CLASSES } from './mail-classes.js';
|
|
2
|
+
export { MAIL_CLASSES, MAIL_PURPOSES } from './mail-classes.js';
|
|
3
3
|
/** The first Adminium that reads the classes, and from which a manifest must say every one. */
|
|
4
4
|
export const MAIL_CLASS_FLOOR = '0.3.38';
|
|
5
5
|
/** Whether a kind goes only to the house: it has producers, and each sends to an address a setting holds. */
|
|
@@ -20,6 +20,18 @@ export function mailClassOf(manifest, of) {
|
|
|
20
20
|
}
|
|
21
21
|
return manifest.outbox?.classes?.[of.outboxKind] ?? (sentToTheHouse(manifest.outbox, of.outboxKind) ? 'staff' : 'service');
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* The consent purpose an outbox kind is sent for (`outbox.purposes`), or
|
|
25
|
+
* null when it names none: a marketing kind is then judged for the
|
|
26
|
+
* newsletter, and a service kind by nothing but its class.
|
|
27
|
+
*/
|
|
28
|
+
export function mailPurposeOf(manifest, outboxKind) {
|
|
29
|
+
return manifest.outbox?.purposes?.[outboxKind] ?? null;
|
|
30
|
+
}
|
|
31
|
+
/** Whether an outbox kind's template may print a survey's link (`outbox.surveyLinks`). */
|
|
32
|
+
export function printsSurveyLink(manifest, outboxKind) {
|
|
33
|
+
return (manifest.outbox?.surveyLinks ?? []).includes(outboxKind);
|
|
34
|
+
}
|
|
23
35
|
/** Every e-mail step of a rule, with the path it is written at. */
|
|
24
36
|
function emailSteps(rule, r) {
|
|
25
37
|
const out = [];
|
package/dist/mail-class.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-class.js","sourceRoot":"","sources":["../src/mail-class.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"mail-class.js","sourceRoot":"","sources":["../src/mail-class.ts"],"names":[],"mappings":"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"}
|
package/dist/mail-classes.d.ts
CHANGED
|
@@ -5,4 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const MAIL_CLASSES: readonly ["marketing", "service"];
|
|
7
7
|
export type MailClass = (typeof MAIL_CLASSES)[number];
|
|
8
|
+
/**
|
|
9
|
+
* The consent purposes a mail to a contact may be sent for: the consent log's
|
|
10
|
+
* own (`CONSENT_PURPOSES` in `@adminium/meta`, spelled here so the manifest
|
|
11
|
+
* imports no store). An outbox kind may name one (`outbox.purposes`).
|
|
12
|
+
*/
|
|
13
|
+
export declare const MAIL_PURPOSES: readonly ["newsletter", "surveys"];
|
|
14
|
+
export type MailPurpose = (typeof MAIL_PURPOSES)[number];
|
|
8
15
|
//# sourceMappingURL=mail-classes.d.ts.map
|