@paroicms/public-server-lib 0.29.0 → 0.31.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.
- package/dist/api-error-handler.d.ts +7 -0
- package/dist/api-error-handler.js +30 -0
- package/dist/api-error-handler.js.map +1 -0
- package/dist/html-helpers/html-helpers.d.ts +1 -1
- package/dist/html-helpers/html-helpers.js +2 -0
- package/dist/html-helpers/html-helpers.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/types/backend-plugin-types.d.ts +19 -17
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type ApiErrorStatus = 400 | 401 | 403 | 404 | 409 | 500;
|
|
2
|
+
export declare class ApiError extends Error {
|
|
3
|
+
readonly status: ApiErrorStatus;
|
|
4
|
+
readonly statusLabel: string;
|
|
5
|
+
constructor(status: ApiErrorStatus);
|
|
6
|
+
constructor(message: string, status: ApiErrorStatus);
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class ApiError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
statusLabel;
|
|
4
|
+
constructor(arg1, arg2) {
|
|
5
|
+
const message = typeof arg1 === "string" ? arg1 : getErrorLabel(arg1);
|
|
6
|
+
const status = (typeof arg1 === "string" ? arg2 : arg1) ?? 500;
|
|
7
|
+
super(message);
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.statusLabel = getErrorLabel(status);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function getErrorLabel(status) {
|
|
13
|
+
switch (status) {
|
|
14
|
+
case 400:
|
|
15
|
+
return "Bad Request";
|
|
16
|
+
case 401:
|
|
17
|
+
return "Unauthorized";
|
|
18
|
+
case 403:
|
|
19
|
+
return "Forbidden";
|
|
20
|
+
case 404:
|
|
21
|
+
return "Not Found";
|
|
22
|
+
case 409:
|
|
23
|
+
return "Conflict";
|
|
24
|
+
case 500:
|
|
25
|
+
return "Internal Server Error";
|
|
26
|
+
default:
|
|
27
|
+
return "Unknown Error";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=api-error-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-error-handler.js","sourceRoot":"","sources":["../src/api-error-handler.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,MAAM,CAAiB;IACvB,WAAW,CAAS;IAI7B,YAAY,IAA6B,EAAE,IAAqB;QAC9D,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,aAAa,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,UAAU,CAAC;QACpB,KAAK,GAAG;YACN,OAAO,uBAAuB,CAAC;QACjC;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @see https://stackoverflow.com/a/4835406/3786294
|
|
3
3
|
*/
|
|
4
|
-
export declare function escapeHtml(text: string, options?: {
|
|
4
|
+
export declare function escapeHtml(text: string | undefined, options?: {
|
|
5
5
|
newLinesToBr?: boolean;
|
|
6
6
|
}): string;
|
|
7
7
|
export declare function decodeHtmlEntities(str: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-helpers.js","sourceRoot":"","sources":["../../src/html-helpers/html-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,YAAY,GAAG;IACnB,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAC;AAEF,MAAM,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"html-helpers.js","sourceRoot":"","sources":["../../src/html-helpers/html-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/public-server-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "Common utilitaries for paroicms plugins (backend side).",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"repository": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@paroi/data-formatters-lib": "~0.4.0",
|
|
24
|
-
"@paroicms/internal-anywhere-lib": "1.
|
|
25
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
24
|
+
"@paroicms/internal-anywhere-lib": "1.27.0",
|
|
25
|
+
"@paroicms/public-anywhere-lib": "0.21.0",
|
|
26
26
|
"@types/express": "~4.17.21"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Obj } from "@paroi/data-formatters-lib";
|
|
2
2
|
import type {
|
|
3
|
-
FieldValue,
|
|
4
3
|
ImageSize,
|
|
4
|
+
JsonFieldValue,
|
|
5
5
|
ParsedNodelId,
|
|
6
|
+
ReadFieldValue,
|
|
6
7
|
ScFieldDataType,
|
|
7
8
|
ScSiteSchema,
|
|
8
9
|
SiteIds,
|
|
@@ -74,11 +75,11 @@ export interface BackendPluginInitService {
|
|
|
74
75
|
handler: PluginLiquidFilterHandler,
|
|
75
76
|
options?: { raw?: boolean },
|
|
76
77
|
): void;
|
|
77
|
-
registerFieldPreprocessor(
|
|
78
|
+
registerFieldPreprocessor(handler: FieldPreprocessor): void;
|
|
78
79
|
registerHook(hookName: string, handler: BackendHookHandler, options?: { unique?: boolean }): void;
|
|
79
80
|
setPublicApiHandler(handler: PublicApiHandler): void;
|
|
80
81
|
addHeadTag(...htmlTags: string[]): void;
|
|
81
|
-
|
|
82
|
+
configuration: PluginConfiguration;
|
|
82
83
|
pluginAssetsUrl: string;
|
|
83
84
|
}
|
|
84
85
|
|
|
@@ -104,9 +105,9 @@ export type PublicApiHandler = (
|
|
|
104
105
|
|
|
105
106
|
export type FieldPreprocessor = (
|
|
106
107
|
service: BackendPluginRenderService,
|
|
107
|
-
value:
|
|
108
|
+
value: ReadFieldValue,
|
|
108
109
|
options: FieldPreprocessorOptions,
|
|
109
|
-
) =>
|
|
110
|
+
) => ReadFieldValue | undefined | Promise<ReadFieldValue | undefined>;
|
|
110
111
|
|
|
111
112
|
export interface BackendPluginService {
|
|
112
113
|
fqdn: string;
|
|
@@ -117,7 +118,7 @@ export interface BackendPluginService {
|
|
|
117
118
|
validateRecaptchaResponse: (gRecaptchaResponse: string | undefined) => Promise<boolean>;
|
|
118
119
|
sendMail: ({ subject, html, replyTo, to }: MailData) => Promise<void>;
|
|
119
120
|
executeHook<T = unknown>(hookName: string, params?: any): T[];
|
|
120
|
-
|
|
121
|
+
configuration: PluginConfiguration;
|
|
121
122
|
pluginAssetsUrl: string;
|
|
122
123
|
registerNewSite: (options: NewSiteOptions) => Promise<Readonly<SiteConf>>;
|
|
123
124
|
/** This is the connector of the running instance of ParoiCMS. */
|
|
@@ -135,13 +136,13 @@ export interface BackendPluginRenderService extends BackendPluginService {
|
|
|
135
136
|
getSiteFieldValue: (options: {
|
|
136
137
|
fieldName: string;
|
|
137
138
|
language?: string;
|
|
138
|
-
}) => Promise<
|
|
139
|
+
}) => Promise<ReadFieldValue | undefined>;
|
|
139
140
|
renderChildPartials(
|
|
140
141
|
ctx: PaHttpContext,
|
|
141
142
|
options: {
|
|
142
143
|
params: PartialsParamsInput;
|
|
143
144
|
parentDocumentId: ParsedNodelId;
|
|
144
|
-
|
|
145
|
+
labeledBy?: LabeledBy;
|
|
145
146
|
},
|
|
146
147
|
): Promise<void>;
|
|
147
148
|
renderSearchPartials(
|
|
@@ -158,6 +159,11 @@ export interface BackendPluginRenderService extends BackendPluginService {
|
|
|
158
159
|
getDocument: (documentId: string) => Promise<PublicDocument | undefined>;
|
|
159
160
|
}
|
|
160
161
|
|
|
162
|
+
export interface LabeledBy {
|
|
163
|
+
termNodeId: string;
|
|
164
|
+
fieldName: string;
|
|
165
|
+
}
|
|
166
|
+
|
|
161
167
|
export interface PublicDocument {
|
|
162
168
|
id: string;
|
|
163
169
|
getUrl: (options?: { absoluteUrl?: boolean }) => Promise<string>;
|
|
@@ -182,13 +188,14 @@ export interface FieldPreprocessorOptions {
|
|
|
182
188
|
outputType?: "plainText";
|
|
183
189
|
}
|
|
184
190
|
|
|
185
|
-
export interface
|
|
186
|
-
[pluginName: string]:
|
|
191
|
+
export interface PluginConfigurations {
|
|
192
|
+
[pluginName: string]: PluginConfiguration;
|
|
187
193
|
}
|
|
188
194
|
|
|
189
|
-
export interface
|
|
195
|
+
export interface PluginConfiguration {
|
|
190
196
|
[key: string]: unknown;
|
|
191
197
|
backOffice?: Obj;
|
|
198
|
+
googleRecaptchaKey?: string;
|
|
192
199
|
}
|
|
193
200
|
|
|
194
201
|
export interface MailData {
|
|
@@ -338,7 +345,7 @@ export type RiFieldContent =
|
|
|
338
345
|
export type RiStringContent = RiFieldContentTemplate<"string", string>;
|
|
339
346
|
export type RiNumberContent = RiFieldContentTemplate<"number", number>;
|
|
340
347
|
export type RiBooleanContent = RiFieldContentTemplate<"boolean", boolean>;
|
|
341
|
-
export type RiQuillDeltaContent = RiFieldContentTemplate<"
|
|
348
|
+
export type RiQuillDeltaContent = RiFieldContentTemplate<"json", JsonFieldValue>;
|
|
342
349
|
export type RiMediaContent = RiFieldContentTemplate<"media", RiMediaValue>;
|
|
343
350
|
export type RiGalleryContent = RiFieldContentTemplate<"gallery", RiGalleryValue>;
|
|
344
351
|
|
|
@@ -367,8 +374,3 @@ export interface RiMediaValue {
|
|
|
367
374
|
export interface RiGalleryValue {
|
|
368
375
|
files: string[];
|
|
369
376
|
}
|
|
370
|
-
|
|
371
|
-
// TODO: replace with markdown content. The plugin should convert markdown to quill delta.
|
|
372
|
-
export interface QuillDeltaValue {
|
|
373
|
-
ops: any[];
|
|
374
|
-
}
|