@paroicms/public-server-lib 1.0.1 → 1.1.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-descriptors.d.ts","sourceRoot":"","sources":["../src/load-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAI3C,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,WAAW,6BAA6B;IAC5C,oBAAoB,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB,EAAE,0BAA0B,CAAC;CAClD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,EACN,cAAc,EAAE,yBAAyB,GACxC,CAAC,GAAG,6BAA6B,CAAC;AACrC,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,EACN,cAAc,EAAE,uBAAuB,GACtC,CAAC,GAAG,2BAA2B,CAAC;AACnC,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,EACN,cAAc,EAAE,cAAc,GAC7B,CAAC,GAAG,kBAAkB,CAAC;AAM1B,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAK9E;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,OAAO,GACX,yBAAyB,GAAG,SAAS,CAIvC;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS,CAIhG;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,EAC9D,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,kBAAkB,GAC5B,CAAC,
|
|
1
|
+
{"version":3,"file":"load-descriptors.d.ts","sourceRoot":"","sources":["../src/load-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAI3C,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,WAAW,6BAA6B;IAC5C,oBAAoB,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB,EAAE,0BAA0B,CAAC;CAClD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,EACN,cAAc,EAAE,yBAAyB,GACxC,CAAC,GAAG,6BAA6B,CAAC;AACrC,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,EACN,cAAc,EAAE,uBAAuB,GACtC,CAAC,GAAG,2BAA2B,CAAC;AACnC,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,EACN,cAAc,EAAE,cAAc,GAC7B,CAAC,GAAG,kBAAkB,CAAC;AAM1B,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAK9E;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,OAAO,GACX,yBAAyB,GAAG,SAAS,CAIvC;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS,CAIhG;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,EAC9D,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,kBAAkB,GAC5B,CAAC,CAkBH"}
|
package/dist/load-descriptors.js
CHANGED
|
@@ -28,6 +28,9 @@ export function mergeListDescriptor(base, newValues) {
|
|
|
28
28
|
if (newValues.labeledWith) {
|
|
29
29
|
target.labeledWith = newValues.labeledWith;
|
|
30
30
|
}
|
|
31
|
+
if (newValues.fieldEquals) {
|
|
32
|
+
target.fieldEquals = newValues.fieldEquals;
|
|
33
|
+
}
|
|
31
34
|
if (newValues.sorting) {
|
|
32
35
|
target.sorting = newValues.sorting;
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-descriptors.js","sourceRoot":"","sources":["../src/load-descriptors.ts"],"names":[],"mappings":"AAOA,MAAM,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AA0BtD,MAAM,UAAU,oBAAoB,CAAC,GAAQ,EAAE,cAA8B;IAC3E,GAAG,CAAC,oBAAoB,CAAC,GAAG,cAAc,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO;IACpD,IAAI,CAAC,CAAC,oBAAoB,IAAI,GAAG,CAAC;QAAE,OAAO;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAmB,CAAC;IAC5D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,GAAY;IAEZ,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAY;IACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAO,EACP,SAA6B;IAE7B,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"load-descriptors.js","sourceRoot":"","sources":["../src/load-descriptors.ts"],"names":[],"mappings":"AAOA,MAAM,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AA0BtD,MAAM,UAAU,oBAAoB,CAAC,GAAQ,EAAE,cAA8B;IAC3E,GAAG,CAAC,oBAAoB,CAAC,GAAG,cAAc,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO;IACpD,IAAI,CAAC,CAAC,oBAAoB,IAAI,GAAG,CAAC;QAAE,OAAO;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAmB,CAAC;IAC5D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,GAAY;IAEZ,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAY;IACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAO,EACP,SAA6B;IAE7B,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/public-server-lib",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Common utilitaries for paroicms plugins (backend side).",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"repository": {
|
|
@@ -17,15 +17,16 @@
|
|
|
17
17
|
"build:ci": "npm run typeonly && tsc --declarationMap false",
|
|
18
18
|
"tsc": "tsc",
|
|
19
19
|
"typeonly": "typeonly --bundle dist/types.to.json --source-dir typeonly",
|
|
20
|
+
"typecheck": "tsc --noEmit -p tsconfig.typecheck.json",
|
|
20
21
|
"test:watch": "vitest",
|
|
21
22
|
"test": "vitest run",
|
|
22
23
|
"clear": "rimraf dist/*",
|
|
23
24
|
"dev": "tsc --watch --preserveWatchOutput"
|
|
24
25
|
},
|
|
25
26
|
"dependencies": {
|
|
26
|
-
"@paroicms/internal-anywhere-lib": "1.39.
|
|
27
|
-
"@paroicms/public-anywhere-lib": "1.0.
|
|
28
|
-
"@paroicms/script-lib": "1.0.
|
|
27
|
+
"@paroicms/internal-anywhere-lib": "1.39.8",
|
|
28
|
+
"@paroicms/public-anywhere-lib": "1.0.1",
|
|
29
|
+
"@paroicms/script-lib": "1.0.1",
|
|
29
30
|
"@typeonly/validator": "~1.1.2",
|
|
30
31
|
"arktype": "~2.2.1"
|
|
31
32
|
},
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ReadFieldValue,
|
|
10
10
|
ReadFieldValues,
|
|
11
11
|
ResizeRule,
|
|
12
|
+
RoutingCluster,
|
|
12
13
|
ScFieldType,
|
|
13
14
|
ScSiteSchema,
|
|
14
15
|
ThemeConf,
|
|
@@ -112,6 +113,10 @@ export interface BackendPluginInitService extends PluginStaticConfiguration {
|
|
|
112
113
|
UpdateFieldValue
|
|
113
114
|
>,
|
|
114
115
|
): void;
|
|
116
|
+
registerHook(
|
|
117
|
+
hookName: "afterSaveValues",
|
|
118
|
+
handler: BackendHookHandler<undefined, AfterSaveValuesInfo, void>,
|
|
119
|
+
): void;
|
|
115
120
|
registerHook(hookName: "sendMail", handler: BackendHookHandler<MailData, undefined, void>): void;
|
|
116
121
|
registerHook(
|
|
117
122
|
hookName: "markdownToNative",
|
|
@@ -135,6 +140,24 @@ export type BackendHookHandler<V = unknown, O = unknown, R = unknown> = (hookPay
|
|
|
135
140
|
options: O;
|
|
136
141
|
}) => Promise<R> | R;
|
|
137
142
|
|
|
143
|
+
export interface AfterSaveValuesInfo {
|
|
144
|
+
nodeKind: "document" | "part" | "site";
|
|
145
|
+
/** Absent for `"site"`. For a part, this is the partId. */
|
|
146
|
+
lNodeId?: string;
|
|
147
|
+
/** Absent for `"site"`. */
|
|
148
|
+
nodeId?: string;
|
|
149
|
+
/** `"_site"` for site saves. */
|
|
150
|
+
typeName: string;
|
|
151
|
+
language?: string;
|
|
152
|
+
changes: SavedFieldChange[];
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface SavedFieldChange {
|
|
156
|
+
fieldName: string;
|
|
157
|
+
oldValue: ReadFieldValue | undefined;
|
|
158
|
+
newValue: ReadFieldValue | undefined;
|
|
159
|
+
}
|
|
160
|
+
|
|
138
161
|
export type RenderingHookHandler<V extends ReadFieldValue = ReadFieldValue> = (hookPayload: {
|
|
139
162
|
service: PluginRenderingService;
|
|
140
163
|
value: V;
|
|
@@ -262,10 +285,13 @@ export interface PluginRenderingService {
|
|
|
262
285
|
homeUrl: string;
|
|
263
286
|
setRenderState(key: string, value: any): void;
|
|
264
287
|
|
|
265
|
-
loadDocuments(loadDescriptor: DocumentsLoadDescriptor): Promise<LiquidPayload<TpDocPayload>[]>;
|
|
266
288
|
loadDocuments(
|
|
267
289
|
loadDescriptor: DocumentsLoadDescriptor,
|
|
268
|
-
options
|
|
290
|
+
options?: { onlyPublished?: boolean },
|
|
291
|
+
): Promise<LiquidPayload<TpDocPayload>[]>;
|
|
292
|
+
loadDocuments(
|
|
293
|
+
loadDescriptor: DocumentsLoadDescriptor,
|
|
294
|
+
options: { withTotal: true; onlyPublished?: boolean },
|
|
269
295
|
): Promise<{ documents: LiquidPayload<TpDocPayload>[]; total: number }>;
|
|
270
296
|
|
|
271
297
|
renderDocument(templateName: string, doc: LiquidPayload<TpDocPayload>): Promise<string>;
|
|
@@ -377,6 +403,7 @@ export interface SubDomainSitePackConfiguration extends SitePackConfigurationBas
|
|
|
377
403
|
export interface RunningSiteConnector {
|
|
378
404
|
loadSiteSchemaAndIds(): Promise<RiSiteSchemaAndIds>;
|
|
379
405
|
getSiteInfo(): Promise<SiteInfo>;
|
|
406
|
+
loadRoutingClusterFromNode(input: { nodeId: string; typeName: string }): Promise<RoutingCluster>;
|
|
380
407
|
createAccount(account: RiNewAccount, options?: { asContactEmail?: boolean }): Promise<string>;
|
|
381
408
|
updateSiteFields(language: string, values: UpdateFieldValues): Promise<void>;
|
|
382
409
|
removeSite: () => Promise<void>;
|
|
@@ -401,6 +428,8 @@ export interface RunningSiteConnector {
|
|
|
401
428
|
createPart(input: CreatePartInput): Promise<MinimalPartInfo>;
|
|
402
429
|
createPartTranslation(input: CreatePartTranslationInput): Promise<MinimalPartInfo>;
|
|
403
430
|
setMedia(input: SetMediaInput): Promise<MSourceMedia>;
|
|
431
|
+
/** Returns the deleted media ids. */
|
|
432
|
+
deleteMedia(input: { handle: string; mediaId?: string }): Promise<string[]>;
|
|
404
433
|
}
|
|
405
434
|
|
|
406
435
|
export interface MinimalDocumentInfo {
|
|
@@ -482,6 +511,11 @@ export interface CreateDocumentInput {
|
|
|
482
511
|
typeName: string;
|
|
483
512
|
title?: string;
|
|
484
513
|
slug?: string;
|
|
514
|
+
/**
|
|
515
|
+
* Honored when the document type's route is `":relativeId"` (validated for format and sibling
|
|
516
|
+
* uniqueness); ignored otherwise.
|
|
517
|
+
*/
|
|
518
|
+
relativeId?: string;
|
|
485
519
|
values?: UpdateFieldValues;
|
|
486
520
|
}
|
|
487
521
|
|
|
@@ -9,6 +9,7 @@ export interface ListBaseDescriptor {
|
|
|
9
9
|
limit?: number;
|
|
10
10
|
sorting?: ScSorting;
|
|
11
11
|
labeledWith?: LabeledWithDescriptor;
|
|
12
|
+
fieldEquals?: FieldEqualsDescriptor;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export interface LabeledWithDescriptor {
|
|
@@ -16,6 +17,11 @@ export interface LabeledWithDescriptor {
|
|
|
16
17
|
termNodeId: string;
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
export interface FieldEqualsDescriptor {
|
|
21
|
+
fieldName: string;
|
|
22
|
+
value: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
19
25
|
export interface ChildDocumentsLoadDescriptor extends ListBaseDescriptor {
|
|
20
26
|
load: "list";
|
|
21
27
|
nodeKind: "document";
|