@adminiumjs/manifest 0.3.0-rc.4 → 0.3.1
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/add-ons.d.ts +63 -0
- package/dist/add-ons.d.ts.map +1 -0
- package/dist/add-ons.js +100 -0
- package/dist/add-ons.js.map +1 -0
- package/dist/booking.d.ts +100 -0
- package/dist/booking.d.ts.map +1 -0
- package/dist/booking.js +237 -0
- package/dist/booking.js.map +1 -0
- package/dist/documents.d.ts +100 -0
- package/dist/documents.d.ts.map +1 -0
- package/dist/documents.js +148 -0
- package/dist/documents.js.map +1 -0
- package/dist/formula.d.ts +124 -0
- package/dist/formula.d.ts.map +1 -0
- package/dist/formula.js +428 -0
- package/dist/formula.js.map +1 -0
- package/dist/index.d.ts +14 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/outbox.d.ts +543 -0
- package/dist/outbox.d.ts.map +1 -0
- package/dist/outbox.js +559 -0
- package/dist/outbox.js.map +1 -0
- package/dist/page-calendar.d.ts +42 -0
- package/dist/page-calendar.d.ts.map +1 -0
- package/dist/page-calendar.js +95 -0
- package/dist/page-calendar.js.map +1 -0
- package/dist/plan-model.d.ts +1 -1
- package/dist/plan-model.d.ts.map +1 -1
- package/dist/public-access.d.ts +208 -0
- package/dist/public-access.d.ts.map +1 -0
- package/dist/public-access.js +681 -0
- package/dist/public-access.js.map +1 -0
- package/dist/refs.d.ts +91 -0
- package/dist/refs.d.ts.map +1 -0
- package/dist/refs.js +82 -0
- package/dist/refs.js.map +1 -0
- package/dist/roles.d.ts +44 -0
- package/dist/roles.d.ts.map +1 -0
- package/dist/roles.js +75 -0
- package/dist/roles.js.map +1 -0
- package/dist/sample.d.ts +150 -2
- package/dist/sample.d.ts.map +1 -1
- package/dist/sample.js +101 -3
- package/dist/sample.js.map +1 -1
- package/dist/schema.d.ts +3464 -151
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +681 -143
- package/dist/schema.js.map +1 -1
- package/dist/semver.d.ts +28 -0
- package/dist/semver.d.ts.map +1 -0
- package/dist/semver.js +85 -0
- package/dist/semver.js.map +1 -0
- package/dist/shapes.d.ts +97 -0
- package/dist/shapes.d.ts.map +1 -0
- package/dist/shapes.js +190 -0
- package/dist/shapes.js.map +1 -0
- package/dist/states.d.ts +134 -0
- package/dist/states.d.ts.map +1 -0
- package/dist/states.js +244 -0
- package/dist/states.js.map +1 -0
- package/dist/validate.d.ts +14 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +29 -2
- package/dist/validate.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-access.js","sourceRoot":"","sources":["../src/public-access.ts"],"names":[],"mappings":"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"}
|
package/dist/refs.d.ts
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The small shapes every block of a manifest reuses: a snake_case name, a
|
|
3
|
+
* label in several languages, a number that may come from the app's settings
|
|
4
|
+
* row, and the structural view of a table the cross-reference checks read.
|
|
5
|
+
*
|
|
6
|
+
* A module of its own so `schema.ts` and the blocks split out of it
|
|
7
|
+
* (`booking.ts`, `outbox.ts`, `public-access.ts`) import one definition
|
|
8
|
+
* without importing each other.
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
/** A snake_case identifier: a table or column ref. */
|
|
12
|
+
export declare const refSchema: z.ZodString;
|
|
13
|
+
/** A BCP 47 tag, the way every label map in a manifest is keyed (`de-DE`). */
|
|
14
|
+
export declare const bcp47TagSchema: z.ZodString;
|
|
15
|
+
/** A label in several languages. US English is the one every reader falls back to. */
|
|
16
|
+
export declare const labelsSchema: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
17
|
+
/** A text that is either one string, or the same text in several languages. */
|
|
18
|
+
export declare const textOrLabels: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
19
|
+
/** One column of the app's one-row settings table, read when the rule runs. */
|
|
20
|
+
export declare const settingRefSchema: z.ZodObject<{
|
|
21
|
+
table: z.ZodString;
|
|
22
|
+
column: z.ZodString;
|
|
23
|
+
}, z.core.$strict>;
|
|
24
|
+
/**
|
|
25
|
+
* A value read from a setting when a rule runs: a column of the app's own
|
|
26
|
+
* one-row settings table, or a setting of an add-on the app requires
|
|
27
|
+
* (`{addOn: "invoices", setting: "default_tax_rate"}`), kept by Adminium.
|
|
28
|
+
*/
|
|
29
|
+
export declare const addOnSettingRefSchema: z.ZodObject<{
|
|
30
|
+
addOn: z.ZodString;
|
|
31
|
+
setting: z.ZodString;
|
|
32
|
+
}, z.core.$strict>;
|
|
33
|
+
export declare const settingSourceSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
34
|
+
table: z.ZodString;
|
|
35
|
+
column: z.ZodString;
|
|
36
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
37
|
+
addOn: z.ZodString;
|
|
38
|
+
setting: z.ZodString;
|
|
39
|
+
}, z.core.$strict>]>;
|
|
40
|
+
export type SettingSource = z.infer<typeof settingSourceSchema>;
|
|
41
|
+
/**
|
|
42
|
+
* A number the manifest states, or one the app's own settings row holds — so
|
|
43
|
+
* a venue can change its capacity without a new release. `{table, column}`
|
|
44
|
+
* reads the one row of that (one-row) table at write time.
|
|
45
|
+
*/
|
|
46
|
+
export declare const numberOrSetting: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
47
|
+
table: z.ZodString;
|
|
48
|
+
column: z.ZodString;
|
|
49
|
+
}, z.core.$strict>]>;
|
|
50
|
+
/** A value a rule compares a column with. */
|
|
51
|
+
export declare const scalarSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
52
|
+
/** What the cross-reference checks read of a column. */
|
|
53
|
+
export interface ColumnShape {
|
|
54
|
+
ref: string;
|
|
55
|
+
type: string;
|
|
56
|
+
role?: string | undefined;
|
|
57
|
+
nullable?: boolean | undefined;
|
|
58
|
+
enum?: readonly string[] | undefined;
|
|
59
|
+
references?: string | undefined;
|
|
60
|
+
maxLength?: number | undefined;
|
|
61
|
+
}
|
|
62
|
+
/** What the cross-reference checks read of a table. */
|
|
63
|
+
export interface TableShape<C extends ColumnShape = ColumnShape> {
|
|
64
|
+
ref: string;
|
|
65
|
+
columns: readonly C[];
|
|
66
|
+
}
|
|
67
|
+
/** One cross-reference problem: where in the manifest, and what is wrong. */
|
|
68
|
+
export interface ReferenceIssue {
|
|
69
|
+
path: (string | number)[];
|
|
70
|
+
message: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Lookups over the manifest's tables, shared by every block's checks so each
|
|
74
|
+
* says "no such column" the same way.
|
|
75
|
+
*/
|
|
76
|
+
export declare function tableIndex<C extends ColumnShape>(tables: readonly TableShape<C>[]): {
|
|
77
|
+
table: (ref: string) => TableShape<C> | undefined;
|
|
78
|
+
column: (table: string, ref: string) => C | undefined;
|
|
79
|
+
has: (table: string, ref: string) => boolean;
|
|
80
|
+
/** The table's primary key column, when it declares one. */
|
|
81
|
+
pk: (table: string) => C | undefined;
|
|
82
|
+
};
|
|
83
|
+
export type TableIndex<C extends ColumnShape = ColumnShape> = ReturnType<typeof tableIndex<C>>;
|
|
84
|
+
/** Column types a total, a price or a count can be kept in. */
|
|
85
|
+
export declare const NUMERIC_TYPES: readonly string[];
|
|
86
|
+
/**
|
|
87
|
+
* Whether `value` is one a column of this shape can hold: one of an enum's
|
|
88
|
+
* values, a boolean for a bool, a number for a number, any text for text.
|
|
89
|
+
*/
|
|
90
|
+
export declare function valueFits(column: ColumnShape, value: unknown): boolean;
|
|
91
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sDAAsD;AACtD,eAAO,MAAM,SAAS,aAA2E,CAAC;AAElG,8EAA8E;AAC9E,eAAO,MAAM,cAAc,aAA8E,CAAC;AAE1G,sFAAsF;AACtF,eAAO,MAAM,YAAY,uCAEqE,CAAC;AAE/F,+EAA+E;AAC/E,eAAO,MAAM,YAAY,2EAAsD,CAAC;AAEhF,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB;;;kBAA6D,CAAC;AAE3F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;kBAKvB,CAAC;AACZ,eAAO,MAAM,mBAAmB;;;;;;oBAAqD,CAAC;AACtF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;oBAA8D,CAAC;AAE3F,6CAA6C;AAC7C,eAAO,MAAM,YAAY,+DAAiD,CAAC;AAE3E,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,uDAAuD;AACvD,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CACvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE;iBAIjE,MAAM;oBAFE,MAAM,OAAO,MAAM,KAAG,CAAC,GAAG,SAAS;iBAI3C,MAAM,OAAO,MAAM;IAChC,4DAA4D;gBAChD,MAAM;EAErB;AACD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/F,+DAA+D;AAC/D,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAmD,CAAC;AAE/F;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAgBtE"}
|
package/dist/refs.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
|
+
/**
|
|
3
|
+
* The small shapes every block of a manifest reuses: a snake_case name, a
|
|
4
|
+
* label in several languages, a number that may come from the app's settings
|
|
5
|
+
* row, and the structural view of a table the cross-reference checks read.
|
|
6
|
+
*
|
|
7
|
+
* A module of its own so `schema.ts` and the blocks split out of it
|
|
8
|
+
* (`booking.ts`, `outbox.ts`, `public-access.ts`) import one definition
|
|
9
|
+
* without importing each other.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
/** A snake_case identifier: a table or column ref. */
|
|
13
|
+
export const refSchema = z.string().regex(/^[a-z][a-z0-9_]*$/, 'must be a snake_case identifier');
|
|
14
|
+
/** A BCP 47 tag, the way every label map in a manifest is keyed (`de-DE`). */
|
|
15
|
+
export const bcp47TagSchema = z.string().regex(/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/, 'keyed by BCP 47 tag');
|
|
16
|
+
/** A label in several languages. US English is the one every reader falls back to. */
|
|
17
|
+
export const labelsSchema = z
|
|
18
|
+
.record(bcp47TagSchema, z.string().min(1).max(120))
|
|
19
|
+
.refine((labels) => labels['en-US'] !== undefined, { message: 'labels must include en-US' });
|
|
20
|
+
/** A text that is either one string, or the same text in several languages. */
|
|
21
|
+
export const textOrLabels = z.union([z.string().min(1).max(256), labelsSchema]);
|
|
22
|
+
/** One column of the app's one-row settings table, read when the rule runs. */
|
|
23
|
+
export const settingRefSchema = z.object({ table: refSchema, column: refSchema }).strict();
|
|
24
|
+
/**
|
|
25
|
+
* A value read from a setting when a rule runs: a column of the app's own
|
|
26
|
+
* one-row settings table, or a setting of an add-on the app requires
|
|
27
|
+
* (`{addOn: "invoices", setting: "default_tax_rate"}`), kept by Adminium.
|
|
28
|
+
*/
|
|
29
|
+
export const addOnSettingRefSchema = z
|
|
30
|
+
.object({
|
|
31
|
+
addOn: z.string().regex(/^[a-z][a-z0-9-]{1,79}$/, 'an add-on key'),
|
|
32
|
+
setting: z.string().regex(/^[a-z][a-z0-9_]*$/, 'a setting key is snake_case'),
|
|
33
|
+
})
|
|
34
|
+
.strict();
|
|
35
|
+
export const settingSourceSchema = z.union([settingRefSchema, addOnSettingRefSchema]);
|
|
36
|
+
/**
|
|
37
|
+
* A number the manifest states, or one the app's own settings row holds — so
|
|
38
|
+
* a venue can change its capacity without a new release. `{table, column}`
|
|
39
|
+
* reads the one row of that (one-row) table at write time.
|
|
40
|
+
*/
|
|
41
|
+
export const numberOrSetting = z.union([z.number().int().nonnegative(), settingRefSchema]);
|
|
42
|
+
/** A value a rule compares a column with. */
|
|
43
|
+
export const scalarSchema = z.union([z.string(), z.number(), z.boolean()]);
|
|
44
|
+
/**
|
|
45
|
+
* Lookups over the manifest's tables, shared by every block's checks so each
|
|
46
|
+
* says "no such column" the same way.
|
|
47
|
+
*/
|
|
48
|
+
export function tableIndex(tables) {
|
|
49
|
+
const byRef = new Map(tables.map((t) => [t.ref, t]));
|
|
50
|
+
const column = (table, ref) => byRef.get(table)?.columns.find((c) => c.ref === ref);
|
|
51
|
+
return {
|
|
52
|
+
table: (ref) => byRef.get(ref),
|
|
53
|
+
column,
|
|
54
|
+
has: (table, ref) => column(table, ref) !== undefined,
|
|
55
|
+
/** The table's primary key column, when it declares one. */
|
|
56
|
+
pk: (table) => byRef.get(table)?.columns.find((c) => c.role === 'pk'),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** Column types a total, a price or a count can be kept in. */
|
|
60
|
+
export const NUMERIC_TYPES = ['int', 'bigint', 'decimal', 'money', 'float'];
|
|
61
|
+
/**
|
|
62
|
+
* Whether `value` is one a column of this shape can hold: one of an enum's
|
|
63
|
+
* values, a boolean for a bool, a number for a number, any text for text.
|
|
64
|
+
*/
|
|
65
|
+
export function valueFits(column, value) {
|
|
66
|
+
switch (column.type) {
|
|
67
|
+
case 'enum':
|
|
68
|
+
return typeof value === 'string' && (column.enum ?? []).includes(value);
|
|
69
|
+
case 'bool':
|
|
70
|
+
return typeof value === 'boolean';
|
|
71
|
+
case 'int':
|
|
72
|
+
case 'bigint':
|
|
73
|
+
return typeof value === 'number' && Number.isInteger(value);
|
|
74
|
+
case 'decimal':
|
|
75
|
+
case 'money':
|
|
76
|
+
case 'float':
|
|
77
|
+
return typeof value === 'number';
|
|
78
|
+
default:
|
|
79
|
+
return typeof value === 'string';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=refs.js.map
|
package/dist/refs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"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"}
|
package/dist/roles.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `roles[].limits` — what a role's `update` on one of the app's tables may
|
|
3
|
+
* write, when it may not write everything.
|
|
4
|
+
*
|
|
5
|
+
* A clinician moves a visit along and does nothing else to it:
|
|
6
|
+
*
|
|
7
|
+
* ```json
|
|
8
|
+
* "limits": {
|
|
9
|
+
* "appointments": {
|
|
10
|
+
* "writable": ["status"],
|
|
11
|
+
* "writableValues": { "status": ["roomed", "with_clinician", "ready"] }
|
|
12
|
+
* }
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* The names are the public-access entries' (`writable`, `writableValues`).
|
|
17
|
+
* A limit narrows the role's own `table:@<ref>:update`, so a role must grant
|
|
18
|
+
* that update (itself or through `cloneFrom`) for a limit on the table to
|
|
19
|
+
* mean anything. Roles add up: someone who also holds a role with a plain
|
|
20
|
+
* update on the table is not held to the limit. Creating rows is not limited.
|
|
21
|
+
*/
|
|
22
|
+
import { z } from 'zod';
|
|
23
|
+
import { type ColumnShape, type ReferenceIssue, type TableIndex } from './refs.js';
|
|
24
|
+
/** One table's limit. */
|
|
25
|
+
export declare const roleLimitSchema: z.ZodObject<{
|
|
26
|
+
writable: z.ZodArray<z.ZodString>;
|
|
27
|
+
writableValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
export type RoleLimit = z.infer<typeof roleLimitSchema>;
|
|
30
|
+
/** Per table ref, the limit on the role's update there. */
|
|
31
|
+
export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
32
|
+
writable: z.ZodArray<z.ZodString>;
|
|
33
|
+
writableValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
|
|
34
|
+
}, z.core.$strict>>;
|
|
35
|
+
/** What the checks read of a role. */
|
|
36
|
+
export interface RoleShape {
|
|
37
|
+
key: string;
|
|
38
|
+
cloneFrom?: string | undefined;
|
|
39
|
+
permissions?: readonly string[] | undefined;
|
|
40
|
+
limits?: Readonly<Record<string, RoleLimit>> | undefined;
|
|
41
|
+
}
|
|
42
|
+
/** Every `limits` problem across the app's roles. */
|
|
43
|
+
export declare function roleLimitIssues<C extends ColumnShape>(roles: readonly RoleShape[], index: TableIndex<C>): ReferenceIssue[];
|
|
44
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAsC,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvH,yBAAyB;AACzB,eAAO,MAAM,eAAe;;;kBAOjB,CAAC;AACZ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB;;;mBAAuC,CAAC;AAErE,sCAAsC;AACtC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CAC1D;AAQD,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,CA4B1H"}
|
package/dist/roles.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
|
+
/**
|
|
3
|
+
* `roles[].limits` — what a role's `update` on one of the app's tables may
|
|
4
|
+
* write, when it may not write everything.
|
|
5
|
+
*
|
|
6
|
+
* A clinician moves a visit along and does nothing else to it:
|
|
7
|
+
*
|
|
8
|
+
* ```json
|
|
9
|
+
* "limits": {
|
|
10
|
+
* "appointments": {
|
|
11
|
+
* "writable": ["status"],
|
|
12
|
+
* "writableValues": { "status": ["roomed", "with_clinician", "ready"] }
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* The names are the public-access entries' (`writable`, `writableValues`).
|
|
18
|
+
* A limit narrows the role's own `table:@<ref>:update`, so a role must grant
|
|
19
|
+
* that update (itself or through `cloneFrom`) for a limit on the table to
|
|
20
|
+
* mean anything. Roles add up: someone who also holds a role with a plain
|
|
21
|
+
* update on the table is not held to the limit. Creating rows is not limited.
|
|
22
|
+
*/
|
|
23
|
+
import { z } from 'zod';
|
|
24
|
+
import { refSchema, scalarSchema, valueFits } from './refs.js';
|
|
25
|
+
/** One table's limit. */
|
|
26
|
+
export const roleLimitSchema = z
|
|
27
|
+
.object({
|
|
28
|
+
/** The only columns the update may change. */
|
|
29
|
+
writable: z.array(refSchema).min(1),
|
|
30
|
+
/** For some of those columns, the only values it may set. */
|
|
31
|
+
writableValues: z.record(refSchema, z.array(scalarSchema).min(1).max(32)).optional(),
|
|
32
|
+
})
|
|
33
|
+
.strict();
|
|
34
|
+
/** Per table ref, the limit on the role's update there. */
|
|
35
|
+
export const roleLimitsSchema = z.record(refSchema, roleLimitSchema);
|
|
36
|
+
/** The grants a role ends up with: its own and the ones of the role it clones. */
|
|
37
|
+
function grantsOf(role, roles) {
|
|
38
|
+
const from = role.cloneFrom === undefined ? undefined : roles.find((other) => other.key === role.cloneFrom);
|
|
39
|
+
return new Set([...(from?.permissions ?? []), ...(role.permissions ?? [])]);
|
|
40
|
+
}
|
|
41
|
+
/** Every `limits` problem across the app's roles. */
|
|
42
|
+
export function roleLimitIssues(roles, index) {
|
|
43
|
+
const out = [];
|
|
44
|
+
roles.forEach((role, r) => {
|
|
45
|
+
const grants = grantsOf(role, roles);
|
|
46
|
+
for (const [ref, limit] of Object.entries(role.limits ?? {})) {
|
|
47
|
+
const at = (...rest) => ['roles', r, 'limits', ref, ...rest];
|
|
48
|
+
if (index.table(ref) === undefined) {
|
|
49
|
+
out.push({ path: at(), message: `"${ref}" is not a table of this app` });
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (!grants.has(`table:@${ref}:update`)) {
|
|
53
|
+
out.push({ path: at(), message: `the role does not grant table:@${ref}:update, so there is nothing to limit` });
|
|
54
|
+
}
|
|
55
|
+
const writable = new Set(limit.writable);
|
|
56
|
+
for (const column of limit.writable) {
|
|
57
|
+
if (index.column(ref, column) === undefined)
|
|
58
|
+
out.push({ path: at('writable'), message: `"${ref}" has no column "${column}"` });
|
|
59
|
+
}
|
|
60
|
+
for (const [column, values] of Object.entries(limit.writableValues ?? {})) {
|
|
61
|
+
if (!writable.has(column))
|
|
62
|
+
out.push({ path: at('writableValues', column), message: `"${column}" is not writable` });
|
|
63
|
+
const found = index.column(ref, column);
|
|
64
|
+
if (found === undefined)
|
|
65
|
+
continue;
|
|
66
|
+
for (const value of values) {
|
|
67
|
+
if (!valueFits(found, value))
|
|
68
|
+
out.push({ path: at('writableValues', column), message: `${JSON.stringify(value)} is not a value of "${ref}.${column}"` });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"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"}
|
package/dist/sample.d.ts
CHANGED
|
@@ -3,15 +3,42 @@
|
|
|
3
3
|
* by the manifest's `sampleData.file`.
|
|
4
4
|
*
|
|
5
5
|
* Rows are written in the order the tables are listed, parents first, and
|
|
6
|
-
* removed in reverse. A value is a plain JSON value or one of
|
|
6
|
+
* removed in reverse. A value is a plain JSON value or one of these directives:
|
|
7
7
|
*
|
|
8
8
|
* `{"@ref": "<label>"}` the key of an earlier row with that `@label`
|
|
9
9
|
* `{"@ago": "PT19M"}` an ISO-8601 duration before now
|
|
10
10
|
* `{"@day": -1, "@time": "09:30"}` a wall time in the venue's own zone,
|
|
11
11
|
* days from today
|
|
12
|
+
* `{"@day": 3}` a date in the venue's own zone
|
|
12
13
|
* `{"@t": {"en-US": "…"}}` the adding person's language
|
|
13
14
|
* `{"@asset": "<label>"}` a file from `assets`, added to the Files library
|
|
14
15
|
*
|
|
16
|
+
* A `@day` may add `"@workdays": true`: its days count Monday to Friday, and
|
|
17
|
+
* day 0 on a weekend is the Monday after — so "today's" busy day is never a
|
|
18
|
+
* Saturday.
|
|
19
|
+
*
|
|
20
|
+
* `{"@month": -2, "@dom": 14}` a date in the venue's own zone: that day of
|
|
21
|
+
* the month so many months from this one; with
|
|
22
|
+
* `"@time": "10:00"`, a wall time on it
|
|
23
|
+
*
|
|
24
|
+
* `@month` keeps a sample's history in calendar months whatever day it is
|
|
25
|
+
* added on: a figure "this month" or "in May" reads the same on the 3rd as on
|
|
26
|
+
* the 28th. A day past the month's end is its last day, and a day in this
|
|
27
|
+
* month or later that has not come yet is today (at a time not yet come, now):
|
|
28
|
+
* a month's history never runs into the future.
|
|
29
|
+
*
|
|
30
|
+
* A row may carry, beside its `@label`, one ROW directive: `@byClock`
|
|
31
|
+
* `{at, before, around, after}` merges one of three sets of columns into the
|
|
32
|
+
* row, by where its time `at` (a column of the row, or a `@day`/`@time`)
|
|
33
|
+
* falls against the adding moment — more than half an hour before, within
|
|
34
|
+
* half an hour, or later — so a sample day's statuses match the clock it is
|
|
35
|
+
* added at. A set with `"@skip": true` leaves the row out (a payment for a
|
|
36
|
+
* visit that has not happened yet).
|
|
37
|
+
*
|
|
38
|
+
* `"@onlyIfEmpty": true` is for a table that holds one row, the app's own
|
|
39
|
+
* settings: the row is added only when the table has none, and otherwise its
|
|
40
|
+
* `@label` names the row already there — the operator's own settings stay.
|
|
41
|
+
*
|
|
15
42
|
* Pure: a format and its checks, no I/O. The server resolves the directives.
|
|
16
43
|
*/
|
|
17
44
|
import { z } from 'zod';
|
|
@@ -25,6 +52,14 @@ export declare const sampleValueSchema: z.ZodUnion<readonly [z.ZodUnion<readonly
|
|
|
25
52
|
}, z.core.$strict>, z.ZodObject<{
|
|
26
53
|
'@day': z.ZodNumber;
|
|
27
54
|
'@time': z.ZodString;
|
|
55
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
56
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
57
|
+
'@day': z.ZodNumber;
|
|
58
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
59
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
60
|
+
'@month': z.ZodNumber;
|
|
61
|
+
'@dom': z.ZodNumber;
|
|
62
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
28
63
|
}, z.core.$strict>, z.ZodObject<{
|
|
29
64
|
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
30
65
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -37,11 +72,105 @@ export declare const sampleRowSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readon
|
|
|
37
72
|
}, z.core.$strict>, z.ZodObject<{
|
|
38
73
|
'@day': z.ZodNumber;
|
|
39
74
|
'@time': z.ZodString;
|
|
75
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
76
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
77
|
+
'@day': z.ZodNumber;
|
|
78
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
79
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
80
|
+
'@month': z.ZodNumber;
|
|
81
|
+
'@dom': z.ZodNumber;
|
|
82
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
40
83
|
}, z.core.$strict>, z.ZodObject<{
|
|
41
84
|
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
42
85
|
}, z.core.$strict>, z.ZodObject<{
|
|
43
86
|
'@asset': z.ZodString;
|
|
44
87
|
}, z.core.$strict>]>, z.ZodArray<z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
|
|
88
|
+
/** `@byClock`: a row's columns by where its time falls against the adding moment. */
|
|
89
|
+
export declare const byClockSchema: z.ZodObject<{
|
|
90
|
+
at: z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
91
|
+
'@ref': z.ZodString;
|
|
92
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
93
|
+
'@ago': z.ZodString;
|
|
94
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
95
|
+
'@day': z.ZodNumber;
|
|
96
|
+
'@time': z.ZodString;
|
|
97
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
98
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
99
|
+
'@day': z.ZodNumber;
|
|
100
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
101
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
102
|
+
'@month': z.ZodNumber;
|
|
103
|
+
'@dom': z.ZodNumber;
|
|
104
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
105
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
106
|
+
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
107
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
108
|
+
'@asset': z.ZodString;
|
|
109
|
+
}, z.core.$strict>]>]>;
|
|
110
|
+
before: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodUnion<readonly [z.ZodObject<{
|
|
111
|
+
'@ref': z.ZodString;
|
|
112
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
113
|
+
'@ago': z.ZodString;
|
|
114
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
115
|
+
'@day': z.ZodNumber;
|
|
116
|
+
'@time': z.ZodString;
|
|
117
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
118
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
119
|
+
'@day': z.ZodNumber;
|
|
120
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
121
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
122
|
+
'@month': z.ZodNumber;
|
|
123
|
+
'@dom': z.ZodNumber;
|
|
124
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
125
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
126
|
+
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
127
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
128
|
+
'@asset': z.ZodString;
|
|
129
|
+
}, z.core.$strict>]>, z.ZodArray<z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
|
|
130
|
+
around: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodUnion<readonly [z.ZodObject<{
|
|
131
|
+
'@ref': z.ZodString;
|
|
132
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
133
|
+
'@ago': z.ZodString;
|
|
134
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
135
|
+
'@day': z.ZodNumber;
|
|
136
|
+
'@time': z.ZodString;
|
|
137
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
138
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
139
|
+
'@day': z.ZodNumber;
|
|
140
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
141
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
142
|
+
'@month': z.ZodNumber;
|
|
143
|
+
'@dom': z.ZodNumber;
|
|
144
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
145
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
146
|
+
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
147
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
148
|
+
'@asset': z.ZodString;
|
|
149
|
+
}, z.core.$strict>]>, z.ZodArray<z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
|
|
150
|
+
after: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodUnion<readonly [z.ZodObject<{
|
|
151
|
+
'@ref': z.ZodString;
|
|
152
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
153
|
+
'@ago': z.ZodString;
|
|
154
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
155
|
+
'@day': z.ZodNumber;
|
|
156
|
+
'@time': z.ZodString;
|
|
157
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
158
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
159
|
+
'@day': z.ZodNumber;
|
|
160
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
161
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
162
|
+
'@month': z.ZodNumber;
|
|
163
|
+
'@dom': z.ZodNumber;
|
|
164
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
165
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
166
|
+
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
167
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
168
|
+
'@asset': z.ZodString;
|
|
169
|
+
}, z.core.$strict>]>, z.ZodArray<z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
|
|
170
|
+
}, z.core.$strict>;
|
|
171
|
+
export type ByClock = z.infer<typeof byClockSchema>;
|
|
172
|
+
/** The keys of a row that are directives about the row, not columns. */
|
|
173
|
+
export declare const ROW_DIRECTIVES: ReadonlySet<string>;
|
|
45
174
|
export declare const sampleBundleSchema: z.ZodObject<{
|
|
46
175
|
format: z.ZodLiteral<"adminium.sample/1">;
|
|
47
176
|
app: z.ZodString;
|
|
@@ -58,6 +187,14 @@ export declare const sampleBundleSchema: z.ZodObject<{
|
|
|
58
187
|
}, z.core.$strict>, z.ZodObject<{
|
|
59
188
|
'@day': z.ZodNumber;
|
|
60
189
|
'@time': z.ZodString;
|
|
190
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
191
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
192
|
+
'@day': z.ZodNumber;
|
|
193
|
+
'@workdays': z.ZodOptional<z.ZodLiteral<true>>;
|
|
194
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
195
|
+
'@month': z.ZodNumber;
|
|
196
|
+
'@dom': z.ZodNumber;
|
|
197
|
+
'@time': z.ZodOptional<z.ZodString>;
|
|
61
198
|
}, z.core.$strict>, z.ZodObject<{
|
|
62
199
|
'@t': z.ZodRecord<z.ZodString, z.ZodString>;
|
|
63
200
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -78,6 +215,16 @@ export declare function sampleDirective(value: unknown): {
|
|
|
78
215
|
kind: 'wall';
|
|
79
216
|
day: number;
|
|
80
217
|
time: string;
|
|
218
|
+
workdays: boolean;
|
|
219
|
+
} | {
|
|
220
|
+
kind: 'date';
|
|
221
|
+
day: number;
|
|
222
|
+
workdays: boolean;
|
|
223
|
+
} | {
|
|
224
|
+
kind: 'month';
|
|
225
|
+
months: number;
|
|
226
|
+
dom: number;
|
|
227
|
+
time: string | null;
|
|
81
228
|
} | {
|
|
82
229
|
kind: 't';
|
|
83
230
|
texts: Record<string, string>;
|
|
@@ -94,7 +241,8 @@ export interface SampleIssue {
|
|
|
94
241
|
/**
|
|
95
242
|
* Everything wrong with a bundle for this manifest: a table it does not
|
|
96
243
|
* declare, a column the table does not have, a label used twice, a `@ref` to
|
|
97
|
-
* a row that comes later or not at all, an `@asset` it does not list
|
|
244
|
+
* a row that comes later or not at all, an `@asset` it does not list, a
|
|
245
|
+
* number without gaps the row does not spell `null`.
|
|
98
246
|
*/
|
|
99
247
|
export declare function sampleBundleIssues(bundle: SampleBundle, manifest: Manifest): SampleIssue[];
|
|
100
248
|
//# sourceMappingURL=sample.d.ts.map
|
package/dist/sample.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../src/sample.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../src/sample.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,aAAa,sBAAsB,CAAC;AA+BjD,gGAAgG;AAChG,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;wFAAuF,CAAC;AAEtH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;yFAA0C,CAAC;AAKvE,qFAAqF;AACrF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQf,CAAC;AACZ,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,wEAAwE;AACxE,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAmD,CAAC;AAEnG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAC1C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC,IAAI,CAiBP;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,CAgG1F"}
|