@paroicms/server 0.146.0 → 0.146.2
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/README.md +5 -1
- package/dist/cli.js +0 -0
- package/package.json +3 -3
- package/dist/backup/site/archiver.helper.d.ts +0 -12
- package/dist/backup/site/archiver.helper.js +0 -46
- package/dist/backup/site/archiver.helper.js.map +0 -1
- package/dist/backup/site/backup.d.ts +0 -5
- package/dist/backup/site/backup.js +0 -118
- package/dist/backup/site/backup.js.map +0 -1
- package/dist/helpers/excerpt.helpers.spec.d.ts +0 -1
- package/dist/helpers/excerpt.helpers.spec.js +0 -133
- package/dist/helpers/excerpt.helpers.spec.js.map +0 -1
- package/dist/helpers/search-text-helper.d.ts +0 -7
- package/dist/helpers/search-text-helper.js +0 -27
- package/dist/helpers/search-text-helper.js.map +0 -1
- package/dist/modules/core/account-auth/account-auth.controller.d.ts +0 -5
- package/dist/modules/core/account-auth/account-auth.controller.js +0 -46
- package/dist/modules/core/account-auth/account-auth.controller.js.map +0 -1
- package/dist/modules/core/document/search-document-item.resolver.d.ts +0 -7
- package/dist/modules/core/document/search-document-item.resolver.js +0 -58
- package/dist/modules/core/document/search-document-item.resolver.js.map +0 -1
- package/dist/modules/core/part/part.model.d.ts +0 -6
- package/dist/modules/core/part/part.model.js +0 -44
- package/dist/modules/core/part/part.model.js.map +0 -1
- package/dist/modules/core/site-fields/site-fields.model.d.ts +0 -4
- package/dist/modules/core/site-fields/site-fields.model.js +0 -30
- package/dist/modules/core/site-fields/site-fields.model.js.map +0 -1
- package/dist/modules/core/site-fields/site-fields.module.d.ts +0 -2
- package/dist/modules/core/site-fields/site-fields.module.js +0 -20
- package/dist/modules/core/site-fields/site-fields.module.js.map +0 -1
- package/dist/modules/core/site-fields/site-fields.queries.d.ts +0 -9
- package/dist/modules/core/site-fields/site-fields.queries.js +0 -123
- package/dist/modules/core/site-fields/site-fields.queries.js.map +0 -1
- package/dist/modules/core/site-fields/site-fields.resolver.d.ts +0 -5
- package/dist/modules/core/site-fields/site-fields.resolver.js +0 -56
- package/dist/modules/core/site-fields/site-fields.resolver.js.map +0 -1
- package/dist/modules/core/term-flag/term-flag.service.d.ts +0 -9
- package/dist/modules/core/term-flag/term-flag.service.js +0 -50
- package/dist/modules/core/term-flag/term-flag.service.js.map +0 -1
- package/dist/modules/public-site/google-auth.controller.d.ts +0 -10
- package/dist/modules/public-site/google-auth.controller.js +0 -127
- package/dist/modules/public-site/google-auth.controller.js.map +0 -1
- package/dist/modules/public-site/helpers/format-date.helper.spec.d.ts +0 -1
- package/dist/modules/public-site/helpers/format-date.helper.spec.js +0 -37
- package/dist/modules/public-site/helpers/format-date.helper.spec.js.map +0 -1
- package/dist/modules/public-site/helpers/public-field-values.d.ts +0 -10
- package/dist/modules/public-site/helpers/public-field-values.js +0 -76
- package/dist/modules/public-site/helpers/public-field-values.js.map +0 -1
- package/dist/modules/public-site/liquidjs-filters/translate-filter.1.d.ts +0 -3
- package/dist/modules/public-site/liquidjs-filters/translate-filter.1.js +0 -12
- package/dist/modules/public-site/liquidjs-filters/translate-filter.1.js.map +0 -1
- package/dist/modules/public-site/liquidjs-tags/get-breadcrumb-liquidjs-tag.d.ts +0 -13
- package/dist/modules/public-site/liquidjs-tags/get-breadcrumb-liquidjs-tag.js +0 -49
- package/dist/modules/public-site/liquidjs-tags/get-breadcrumb-liquidjs-tag.js.map +0 -1
- package/dist/modules/public-site/liquidjs-tags/get-siblings-liquidjs-tag.d.ts +0 -13
- package/dist/modules/public-site/liquidjs-tags/get-siblings-liquidjs-tag.js +0 -61
- package/dist/modules/public-site/liquidjs-tags/get-siblings-liquidjs-tag.js.map +0 -1
- package/dist/modules/security/gqlThrottlerGuard.d.ts +0 -8
- package/dist/modules/security/gqlThrottlerGuard.js +0 -24
- package/dist/modules/security/gqlThrottlerGuard.js.map +0 -1
- package/dist/public-payload/create-page-payload-drop.d.ts +0 -10
- package/dist/public-payload/create-page-payload-drop.js +0 -143
- package/dist/public-payload/create-page-payload-drop.js.map +0 -1
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SiteJsonFieldEntity = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
let SiteJsonFieldEntity = class SiteJsonFieldEntity {
|
|
15
|
-
field;
|
|
16
|
-
val;
|
|
17
|
-
};
|
|
18
|
-
exports.SiteJsonFieldEntity = SiteJsonFieldEntity;
|
|
19
|
-
__decorate([
|
|
20
|
-
(0, typeorm_1.Column)({ primary: true, type: "varchar", length: 250 }),
|
|
21
|
-
__metadata("design:type", String)
|
|
22
|
-
], SiteJsonFieldEntity.prototype, "field", void 0);
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, typeorm_1.Column)({ type: "text", nullable: true }),
|
|
25
|
-
__metadata("design:type", String)
|
|
26
|
-
], SiteJsonFieldEntity.prototype, "val", void 0);
|
|
27
|
-
exports.SiteJsonFieldEntity = SiteJsonFieldEntity = __decorate([
|
|
28
|
-
(0, typeorm_1.Entity)("PaSiteJsonField")
|
|
29
|
-
], SiteJsonFieldEntity);
|
|
30
|
-
//# sourceMappingURL=site-fields.model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-fields.model.js","sourceRoot":"","sources":["../../../../src/modules/core/site-fields/site-fields.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,KAAK,CAAU;IAGf,GAAG,CAAU;CACd,CAAA;AANY,kDAAmB;AAE9B;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;kDACzC;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC5B;8BALF,mBAAmB;IAD/B,IAAA,gBAAM,EAAC,iBAAiB,CAAC;GACb,mBAAmB,CAM/B"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.SiteJsonFieldModule = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const site_fields_resolver_1 = require("./site-fields.resolver");
|
|
12
|
-
let SiteJsonFieldModule = class SiteJsonFieldModule {
|
|
13
|
-
};
|
|
14
|
-
exports.SiteJsonFieldModule = SiteJsonFieldModule;
|
|
15
|
-
exports.SiteJsonFieldModule = SiteJsonFieldModule = __decorate([
|
|
16
|
-
(0, common_1.Module)({
|
|
17
|
-
providers: [site_fields_resolver_1.SiteJsonFieldResolver],
|
|
18
|
-
})
|
|
19
|
-
], SiteJsonFieldModule);
|
|
20
|
-
//# sourceMappingURL=site-fields.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-fields.module.js","sourceRoot":"","sources":["../../../../src/modules/core/site-fields/site-fields.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iEAA+D;AAKxD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,4CAAqB,CAAC;KACnC,CAAC;GACW,mBAAmB,CAAG"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SiteContext } from "../../../site-context/site-context.types";
|
|
2
|
-
import { FieldValues } from "../fields/load-fields.queries";
|
|
3
|
-
export declare function getSiteFieldValue(siteContext: Pick<SiteContext, "mainCn" | "siteSchema">, fieldName: string): Promise<unknown | undefined>;
|
|
4
|
-
export declare function loadSiteFieldValues(siteContext: Pick<SiteContext, "mainCn" | "siteSchema">, { fieldNames, }: {
|
|
5
|
-
fieldNames: string[];
|
|
6
|
-
}): Promise<FieldValues>;
|
|
7
|
-
export declare function saveSiteJsonFieldValues(siteContext: Pick<SiteContext, "mainCn" | "siteSchema" | "textCache">, { values, }: {
|
|
8
|
-
values: FieldValues;
|
|
9
|
-
}): Promise<void>;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.saveSiteJsonFieldValues = exports.loadSiteFieldValues = exports.getSiteFieldValue = void 0;
|
|
4
|
-
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
-
const media_handles_helpers_1 = require("../../../common/media-handles.helpers");
|
|
6
|
-
const context_1 = require("../../../context");
|
|
7
|
-
async function getSiteFieldValue(siteContext, fieldName) {
|
|
8
|
-
const values = await loadSiteFieldValues(siteContext, { fieldNames: [fieldName] });
|
|
9
|
-
return values[fieldName];
|
|
10
|
-
}
|
|
11
|
-
exports.getSiteFieldValue = getSiteFieldValue;
|
|
12
|
-
async function loadSiteFieldValues(siteContext, { fieldNames, }) {
|
|
13
|
-
const result = {};
|
|
14
|
-
const siteFields = siteContext.siteSchema.siteFields;
|
|
15
|
-
const names = fieldNames ?? siteFields.map(({ name }) => name);
|
|
16
|
-
if (names.length === 0)
|
|
17
|
-
return result;
|
|
18
|
-
const siteJsonFields = siteFields.filter((item) => item.type === "siteJson" && fieldNames.includes(item.name));
|
|
19
|
-
const siteJsonFieldValues = await loadSiteJsonFieldValues(siteContext, siteJsonFields);
|
|
20
|
-
const typeMap = new Map(siteFields.map((item) => [item.name, item]));
|
|
21
|
-
for (const fieldName of names) {
|
|
22
|
-
const siteField = typeMap.get(fieldName);
|
|
23
|
-
if (!siteField)
|
|
24
|
-
throw new Error(`should have the site field of '${fieldName}'`);
|
|
25
|
-
if (siteField.type === "siteJson") {
|
|
26
|
-
result[fieldName] = siteJsonFieldValues.get(fieldName);
|
|
27
|
-
}
|
|
28
|
-
else if (siteField.type === "gallery") {
|
|
29
|
-
result[fieldName] = {
|
|
30
|
-
handle: (0, media_handles_helpers_1.getHandleOfSiteField)(fieldName),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
else if (siteField.type === "media") {
|
|
34
|
-
result[fieldName] = {
|
|
35
|
-
handle: (0, media_handles_helpers_1.getHandleOfSiteField)(fieldName),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
throw new Error(`invalid field type '${siteField.type}'`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return result;
|
|
43
|
-
}
|
|
44
|
-
exports.loadSiteFieldValues = loadSiteFieldValues;
|
|
45
|
-
async function loadSiteJsonFieldValues(siteContext, siteFields) {
|
|
46
|
-
const values = new Map();
|
|
47
|
-
if (siteFields.length === 0)
|
|
48
|
-
return values;
|
|
49
|
-
const typeMap = new Map(siteFields.map((item) => [item.name, item]));
|
|
50
|
-
const rows = await siteContext.mainCn
|
|
51
|
-
.createQueryBuilder()
|
|
52
|
-
.select("f.field", "field")
|
|
53
|
-
.addSelect("f.val", "val")
|
|
54
|
-
.from("PaSiteJsonField", "f")
|
|
55
|
-
.where("f.field in (:...fieldNames)", { fieldNames: [...typeMap.keys()] })
|
|
56
|
-
.getRawMany();
|
|
57
|
-
for (const row of rows) {
|
|
58
|
-
const field = (0, data_formatters_lib_1.strVal)(row.field);
|
|
59
|
-
const siteField = typeMap.get(field);
|
|
60
|
-
if (!siteField)
|
|
61
|
-
throw new Error(`should have the site field of '${field}'`);
|
|
62
|
-
values.set(field, formatSiteJsonFieldValue(row.val, siteField));
|
|
63
|
-
}
|
|
64
|
-
return values;
|
|
65
|
-
}
|
|
66
|
-
function formatSiteJsonFieldValue(val, siteField) {
|
|
67
|
-
const asStr = (0, data_formatters_lib_1.strValOrUndef)(val);
|
|
68
|
-
let formattedVal;
|
|
69
|
-
if (asStr === undefined || asStr === null) {
|
|
70
|
-
formattedVal = undefined;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
try {
|
|
74
|
-
formattedVal = JSON.parse(asStr);
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
context_1.appLog.warn(`invalid siteJsonField value '${asStr}'`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (formattedVal === undefined)
|
|
81
|
-
return;
|
|
82
|
-
if (typeof formattedVal !== siteField.dataType) {
|
|
83
|
-
context_1.appLog.warn(`invalid type '${typeof formattedVal}' (should be '${siteField.dataType}') for siteJsonField value '${asStr}'`);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
return formattedVal;
|
|
87
|
-
}
|
|
88
|
-
async function saveSiteJsonFieldValues(siteContext, { values, }) {
|
|
89
|
-
const siteFields = siteContext.siteSchema.siteFields;
|
|
90
|
-
const typeMap = new Map(siteFields.map((item) => [item.name, item]));
|
|
91
|
-
await siteContext.mainCn.transaction(async (cn) => {
|
|
92
|
-
for (const [fieldName, value] of Object.entries(values)) {
|
|
93
|
-
const siteField = typeMap.get(fieldName);
|
|
94
|
-
if (!siteField)
|
|
95
|
-
throw new Error(`should have the site field of '${fieldName}'`);
|
|
96
|
-
await saveSiteJsonFieldValue({ cn, fieldName, value });
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
await siteContext.textCache.clearCache();
|
|
100
|
-
}
|
|
101
|
-
exports.saveSiteJsonFieldValues = saveSiteJsonFieldValues;
|
|
102
|
-
async function saveSiteJsonFieldValue({ cn, fieldName, value, }) {
|
|
103
|
-
if (value === null || value === undefined) {
|
|
104
|
-
await cn
|
|
105
|
-
.createQueryBuilder()
|
|
106
|
-
.delete()
|
|
107
|
-
.from("PaSiteJsonField")
|
|
108
|
-
.where("field = :fieldName", { fieldName })
|
|
109
|
-
.execute();
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
await cn
|
|
113
|
-
.createQueryBuilder()
|
|
114
|
-
.insert()
|
|
115
|
-
.into("PaSiteJsonField")
|
|
116
|
-
.values({ field: fieldName, val: JSON.stringify(value) })
|
|
117
|
-
.orUpdate(["val"], ["field"], {
|
|
118
|
-
skipUpdateIfNoValuesChanged: true,
|
|
119
|
-
})
|
|
120
|
-
.execute();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=site-fields.queries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-fields.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/site-fields/site-fields.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.SiteJsonFieldResolver = void 0;
|
|
16
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
17
|
-
const site_context_1 = require("../../../site-context/site-context");
|
|
18
|
-
const save_fields_queries_1 = require("../fields/save-fields.queries");
|
|
19
|
-
const site_fields_queries_1 = require("./site-fields.queries");
|
|
20
|
-
let SiteJsonFieldResolver = class SiteJsonFieldResolver {
|
|
21
|
-
async siteFieldValues({ fqdn }, fieldNames) {
|
|
22
|
-
const siteContext = await (0, site_context_1.getSiteContext)(fqdn);
|
|
23
|
-
const values = await (0, site_fields_queries_1.loadSiteFieldValues)(siteContext, {
|
|
24
|
-
fieldNames,
|
|
25
|
-
});
|
|
26
|
-
return JSON.stringify(values);
|
|
27
|
-
}
|
|
28
|
-
async setSiteFieldValues({ fqdn }, values) {
|
|
29
|
-
const siteContext = await (0, site_context_1.getSiteContext)(fqdn);
|
|
30
|
-
await (0, site_fields_queries_1.saveSiteJsonFieldValues)(siteContext, {
|
|
31
|
-
values: (0, save_fields_queries_1.parseFieldValues)(values),
|
|
32
|
-
});
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
exports.SiteJsonFieldResolver = SiteJsonFieldResolver;
|
|
37
|
-
__decorate([
|
|
38
|
-
(0, graphql_1.Query)(() => String),
|
|
39
|
-
__param(0, (0, graphql_1.Context)()),
|
|
40
|
-
__param(1, (0, graphql_1.Args)("fieldNames", { type: () => [String] })),
|
|
41
|
-
__metadata("design:type", Function),
|
|
42
|
-
__metadata("design:paramtypes", [Object, Array]),
|
|
43
|
-
__metadata("design:returntype", Promise)
|
|
44
|
-
], SiteJsonFieldResolver.prototype, "siteFieldValues", null);
|
|
45
|
-
__decorate([
|
|
46
|
-
(0, graphql_1.Mutation)(() => Boolean),
|
|
47
|
-
__param(0, (0, graphql_1.Context)()),
|
|
48
|
-
__param(1, (0, graphql_1.Args)("values", { type: () => String })),
|
|
49
|
-
__metadata("design:type", Function),
|
|
50
|
-
__metadata("design:paramtypes", [Object, String]),
|
|
51
|
-
__metadata("design:returntype", Promise)
|
|
52
|
-
], SiteJsonFieldResolver.prototype, "setSiteFieldValues", null);
|
|
53
|
-
exports.SiteJsonFieldResolver = SiteJsonFieldResolver = __decorate([
|
|
54
|
-
(0, graphql_1.Resolver)()
|
|
55
|
-
], SiteJsonFieldResolver);
|
|
56
|
-
//# sourceMappingURL=site-fields.resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-fields.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/site-fields/site-fields.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA2E;AAC3E,qEAAoE;AAEpE,uEAAiE;AACjE,+DAAqF;AAG9E,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAE1B,AAAN,KAAK,CAAC,eAAe,CACR,EAAE,IAAI,EAAkB,EACW,UAAoB;QAElE,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAmB,EAAC,WAAW,EAAE;YACpD,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACX,EAAE,IAAI,EAAkB,EACK,MAAc;QAEtD,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAA,6CAAuB,EAAC,WAAW,EAAE;YACzC,MAAM,EAAE,IAAA,sCAAgB,EAAC,MAAM,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAzBY,sDAAqB;AAE1B;IADL,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAEjB,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;;;;4DAQ9C;AAGK;IADL,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;;;;+DAOxC;gCAxBU,qBAAqB;IADjC,IAAA,kBAAQ,GAAE;GACE,qBAAqB,CAyBjC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SiteContext } from "../../../site-context/site-context.types";
|
|
2
|
-
import { TermValuesInput } from "./term-flag.schema";
|
|
3
|
-
export declare class TermFlagService {
|
|
4
|
-
#private;
|
|
5
|
-
flagWith(siteContext: SiteContext, { flaggedLeafId, terms, }: {
|
|
6
|
-
flaggedLeafId: string;
|
|
7
|
-
terms: TermValuesInput[];
|
|
8
|
-
}): Promise<boolean>;
|
|
9
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.TermFlagService = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const term_flag_model_1 = require("./term-flag.model");
|
|
12
|
-
let TermFlagService = class TermFlagService {
|
|
13
|
-
async flagWith(siteContext, { flaggedLeafId, terms, }) {
|
|
14
|
-
await siteContext.mainCn.transaction(async (cn) => {
|
|
15
|
-
await this.#deleteOldTermFlags(flaggedLeafId, {
|
|
16
|
-
cn,
|
|
17
|
-
});
|
|
18
|
-
await this.#insertNewTermFlags(flaggedLeafId, {
|
|
19
|
-
terms,
|
|
20
|
-
cn,
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
async #deleteOldTermFlags(flaggedLeafId, { cn }) {
|
|
26
|
-
await cn
|
|
27
|
-
.createQueryBuilder()
|
|
28
|
-
.delete()
|
|
29
|
-
.from("PaTermFlag")
|
|
30
|
-
.where("flaggedId = :flaggedId", {
|
|
31
|
-
flaggedId: flaggedLeafId,
|
|
32
|
-
})
|
|
33
|
-
.execute();
|
|
34
|
-
}
|
|
35
|
-
async #insertNewTermFlags(flaggedLeafId, { terms, cn }) {
|
|
36
|
-
for (const term of terms) {
|
|
37
|
-
await cn
|
|
38
|
-
.createQueryBuilder()
|
|
39
|
-
.insert()
|
|
40
|
-
.into(term_flag_model_1.TermFlagEntity)
|
|
41
|
-
.values({ flaggedId: flaggedLeafId, termId: term.termLeafId, lead: term.isLead })
|
|
42
|
-
.execute();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
exports.TermFlagService = TermFlagService;
|
|
47
|
-
exports.TermFlagService = TermFlagService = __decorate([
|
|
48
|
-
(0, common_1.Injectable)()
|
|
49
|
-
], TermFlagService);
|
|
50
|
-
//# sourceMappingURL=term-flag.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"term-flag.service.js","sourceRoot":"","sources":["../../../../src/modules/core/term-flag/term-flag.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAG5C,uDAAmD;AAI5C,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,KAAK,CAAC,QAAQ,CACZ,WAAwB,EACxB,EACE,aAAa,EACb,KAAK,GAIN;QAED,MAAM,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;gBAC5C,EAAE;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;gBAC5C,KAAK;gBACL,EAAE;aACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,aAAqB,EAAE,EAAE,EAAE,EAAyB;QAC5E,MAAM,EAAE;aACL,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,YAAY,CAAC;aAClB,KAAK,CAAC,wBAAwB,EAAE;YAC/B,SAAS,EAAE,aAAa;SACzB,CAAC;aACD,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,aAAqB,EACrB,EAAE,KAAK,EAAE,EAAE,EAAmD;QAE9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE;iBACL,kBAAkB,EAAE;iBACpB,MAAM,EAAE;iBACR,IAAI,CAAC,gCAAc,CAAC;iBACpB,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;iBAChF,OAAO,EAAE,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AAjDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;GACA,eAAe,CAiD3B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { JwtService } from "@nestjs/jwt";
|
|
2
|
-
import { Request, Response } from "express";
|
|
3
|
-
export declare class GoogleAuthController {
|
|
4
|
-
private readonly jwtService;
|
|
5
|
-
constructor(jwtService: JwtService);
|
|
6
|
-
auth(req: Request, res: Response): Promise<void>;
|
|
7
|
-
googleLogin(): void;
|
|
8
|
-
googleLoginCallback(req: Request, res: Response): Promise<void>;
|
|
9
|
-
siteUrl(redirectTo: string): string;
|
|
10
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.GoogleAuthController = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const jwt_1 = require("@nestjs/jwt");
|
|
18
|
-
const passport_1 = require("@nestjs/passport");
|
|
19
|
-
const html_helpers_1 = require("../../common/mail/html-helpers");
|
|
20
|
-
const context_1 = require("../../context");
|
|
21
|
-
const url_helpers_1 = require("../../helpers/url.helpers");
|
|
22
|
-
let GoogleAuthController = class GoogleAuthController {
|
|
23
|
-
jwtService;
|
|
24
|
-
constructor(jwtService) {
|
|
25
|
-
this.jwtService = jwtService;
|
|
26
|
-
}
|
|
27
|
-
async auth(req, res) {
|
|
28
|
-
if (req.hostname !== context_1.appConf.googleAuth.fqdn) {
|
|
29
|
-
throw new common_1.NotFoundException();
|
|
30
|
-
}
|
|
31
|
-
res.send(generateAuthPageHtml(context_1.platformAuthUrl));
|
|
32
|
-
}
|
|
33
|
-
googleLogin() { }
|
|
34
|
-
async googleLoginCallback(req, res) {
|
|
35
|
-
if (!req.user) {
|
|
36
|
-
throw new common_1.BadRequestException("Email not found in user payload");
|
|
37
|
-
}
|
|
38
|
-
const platformToken = await this.jwtService.signAsync(req.user, {
|
|
39
|
-
secret: context_1.jwtSecretPlatform,
|
|
40
|
-
expiresIn: "7d",
|
|
41
|
-
});
|
|
42
|
-
res.send(generateGoogleRedirectPageHtml({ platformToken, platformAuthUrl: context_1.platformAuthUrl }));
|
|
43
|
-
}
|
|
44
|
-
siteUrl(redirectTo) {
|
|
45
|
-
const siteConf = context_1.siteConfs.get(redirectTo);
|
|
46
|
-
if (!siteConf)
|
|
47
|
-
throw new common_1.BadRequestException("Site not found");
|
|
48
|
-
return (0, url_helpers_1.getBoUrl)(siteConf);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
exports.GoogleAuthController = GoogleAuthController;
|
|
52
|
-
__decorate([
|
|
53
|
-
(0, common_1.Get)(),
|
|
54
|
-
__param(0, (0, common_1.Req)()),
|
|
55
|
-
__param(1, (0, common_1.Res)()),
|
|
56
|
-
__metadata("design:type", Function),
|
|
57
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
58
|
-
__metadata("design:returntype", Promise)
|
|
59
|
-
], GoogleAuthController.prototype, "auth", null);
|
|
60
|
-
__decorate([
|
|
61
|
-
(0, common_1.Get)("google"),
|
|
62
|
-
(0, common_1.UseGuards)((0, passport_1.AuthGuard)("google")),
|
|
63
|
-
__metadata("design:type", Function),
|
|
64
|
-
__metadata("design:paramtypes", []),
|
|
65
|
-
__metadata("design:returntype", void 0)
|
|
66
|
-
], GoogleAuthController.prototype, "googleLogin", null);
|
|
67
|
-
__decorate([
|
|
68
|
-
(0, common_1.Get)("google/callback"),
|
|
69
|
-
(0, common_1.UseGuards)((0, passport_1.AuthGuard)("google")),
|
|
70
|
-
__param(0, (0, common_1.Req)()),
|
|
71
|
-
__param(1, (0, common_1.Res)()),
|
|
72
|
-
__metadata("design:type", Function),
|
|
73
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
74
|
-
__metadata("design:returntype", Promise)
|
|
75
|
-
], GoogleAuthController.prototype, "googleLoginCallback", null);
|
|
76
|
-
__decorate([
|
|
77
|
-
(0, common_1.Get)("site-url/:redirectTo"),
|
|
78
|
-
__param(0, (0, common_1.Param)("redirectTo")),
|
|
79
|
-
__metadata("design:type", Function),
|
|
80
|
-
__metadata("design:paramtypes", [String]),
|
|
81
|
-
__metadata("design:returntype", void 0)
|
|
82
|
-
], GoogleAuthController.prototype, "siteUrl", null);
|
|
83
|
-
exports.GoogleAuthController = GoogleAuthController = __decorate([
|
|
84
|
-
(0, common_1.Controller)("auth"),
|
|
85
|
-
__metadata("design:paramtypes", [jwt_1.JwtService])
|
|
86
|
-
], GoogleAuthController);
|
|
87
|
-
function generateGoogleRedirectPageHtml({ platformToken, platformAuthUrl, }) {
|
|
88
|
-
return `<!DOCTYPE html>
|
|
89
|
-
<html lang="en">
|
|
90
|
-
<head>
|
|
91
|
-
<meta charset="UTF-8">
|
|
92
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
93
|
-
<title>Document</title>
|
|
94
|
-
</head>
|
|
95
|
-
<body>
|
|
96
|
-
<script>
|
|
97
|
-
const redirectTo = sessionStorage.getItem("redirectTo");
|
|
98
|
-
const xmlHttp = new XMLHttpRequest();
|
|
99
|
-
xmlHttp.open("GET", "${(0, html_helpers_1.escapeHtml)(platformAuthUrl)}/site-url/" + redirectTo, false);
|
|
100
|
-
xmlHttp.send(null);
|
|
101
|
-
|
|
102
|
-
const redirectUrl = xmlHttp.responseText
|
|
103
|
-
window.location.replace(redirectUrl + "/adm/login/?token=${(0, html_helpers_1.escapeHtml)(platformToken)}");
|
|
104
|
-
</script>
|
|
105
|
-
</body>
|
|
106
|
-
</html>`;
|
|
107
|
-
}
|
|
108
|
-
function generateAuthPageHtml(platformAuthUrl) {
|
|
109
|
-
return `<!DOCTYPE html>
|
|
110
|
-
<html lang="en">
|
|
111
|
-
<head>
|
|
112
|
-
<meta charset="UTF-8">
|
|
113
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
114
|
-
<title>Document</title>
|
|
115
|
-
</head>
|
|
116
|
-
<body>
|
|
117
|
-
<script>
|
|
118
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
119
|
-
const redirectTo = urlParams.get("redirectTo");
|
|
120
|
-
sessionStorage.setItem("redirectTo", redirectTo);
|
|
121
|
-
|
|
122
|
-
window.location.replace("${(0, html_helpers_1.escapeHtml)(platformAuthUrl)}/google");
|
|
123
|
-
</script>
|
|
124
|
-
</body>
|
|
125
|
-
</html>`;
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=google-auth.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"google-auth.controller.js","sourceRoot":"","sources":["../../../src/modules/public-site/google-auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,qCAAyC;AACzC,+CAA6C;AAE7C,iEAA4D;AAC5D,2CAAuF;AACvF,2DAAqD;AAG9C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACF;IAA7B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAGjD,AAAN,KAAK,CAAC,IAAI,CAAQ,GAAY,EAAS,GAAa;QAClD,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,0BAAiB,EAAE,CAAC;QAChC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAe,CAAC,CAAC,CAAC;IAClD,CAAC;IAID,WAAW,KAAI,CAAC;IAIV,AAAN,KAAK,CAAC,mBAAmB,CAAQ,GAAY,EAAS,GAAa;QACjE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;YAC9D,MAAM,EAAE,2BAAiB;YACzB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,aAAa,EAAE,eAAe,EAAf,yBAAe,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAGD,OAAO,CAAsB,UAAkB;QAC7C,MAAM,QAAQ,GAAG,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,OAAO,IAAA,sBAAQ,EAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AApCY,oDAAoB;AAIzB;IADL,IAAA,YAAG,GAAE;IACM,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;gDAMrC;AAID;IAFC,IAAA,YAAG,EAAC,QAAQ,CAAC;IACb,IAAA,kBAAS,EAAC,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAC;;;;uDACf;AAIV;IAFL,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACtB,IAAA,kBAAS,EAAC,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAC;IACJ,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;+DAUpD;AAGD;IADC,IAAA,YAAG,EAAC,sBAAsB,CAAC;IACnB,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;;;;mDAI3B;+BAnCU,oBAAoB;IADhC,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEwB,gBAAU;GADxC,oBAAoB,CAoChC;AAED,SAAS,8BAA8B,CAAC,EACtC,aAAa,EACb,eAAe,GACoC;IACnD,OAAO;;;;;;;;;;;2BAWkB,IAAA,yBAAU,EAAC,eAAe,CAAC;;;;+DAIS,IAAA,yBAAU,EAAC,aAAa,CAAC;;;QAGhF,CAAC;AACT,CAAC;AAED,SAAS,oBAAoB,CAAC,eAAuB;IACnD,OAAO;;;;;;;;;;;;;+BAasB,IAAA,yBAAU,EAAC,eAAe,CAAC;;;QAGlD,CAAC;AACT,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const format_date_helper_1 = require("./format-date.helper");
|
|
5
|
-
(0, vitest_1.describe)("formatDate", () => {
|
|
6
|
-
(0, vitest_1.it)("should return long format (fr)", () => {
|
|
7
|
-
const date = new Date("2023-09-20");
|
|
8
|
-
const formattedDateFr = (0, format_date_helper_1.formatDate)(date, "fr", "long");
|
|
9
|
-
(0, vitest_1.expect)(formattedDateFr).toBe("20 septembre 2023");
|
|
10
|
-
});
|
|
11
|
-
(0, vitest_1.it)("should return long2 format (fr)", () => {
|
|
12
|
-
const date = new Date("2023-09-20");
|
|
13
|
-
const formattedDateFr = (0, format_date_helper_1.formatDate)(date, "fr", "long2");
|
|
14
|
-
(0, vitest_1.expect)(formattedDateFr).toBe("mercredi 20 septembre 2023");
|
|
15
|
-
});
|
|
16
|
-
(0, vitest_1.it)("should return short format (fr)", () => {
|
|
17
|
-
const date = new Date("2023-09-20");
|
|
18
|
-
const formattedDateFr = (0, format_date_helper_1.formatDate)(date, "fr", "short");
|
|
19
|
-
(0, vitest_1.expect)(formattedDateFr).toBe("20/9/2023");
|
|
20
|
-
});
|
|
21
|
-
(0, vitest_1.it)("should return long format (en)", () => {
|
|
22
|
-
const date = new Date("2023-09-20");
|
|
23
|
-
const formattedDateEn = (0, format_date_helper_1.formatDate)(date, "en", "long");
|
|
24
|
-
(0, vitest_1.expect)(formattedDateEn).toBe("September 20, 2023");
|
|
25
|
-
});
|
|
26
|
-
(0, vitest_1.it)("should return long2 format (en)", () => {
|
|
27
|
-
const date = new Date("2023-09-20");
|
|
28
|
-
const formattedDateEn = (0, format_date_helper_1.formatDate)(date, "en", "long2");
|
|
29
|
-
(0, vitest_1.expect)(formattedDateEn).toBe("Wednesday, September 20, 2023");
|
|
30
|
-
});
|
|
31
|
-
(0, vitest_1.it)("should return short format (en)", () => {
|
|
32
|
-
const date = new Date("2023-09-20");
|
|
33
|
-
const formattedDateEn = (0, format_date_helper_1.formatDate)(date, "en", "short");
|
|
34
|
-
(0, vitest_1.expect)(formattedDateEn).toBe("9/20/2023");
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=format-date.helper.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format-date.helper.spec.js","sourceRoot":"","sources":["../../../../src/modules/public-site/helpers/format-date.helper.spec.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,6DAAkD;AAElD,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAA,+BAAU,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAA,+BAAU,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAA,+BAAU,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAA,+BAAU,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAA,+BAAU,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAA,+BAAU,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ParsedSectionId } from "@paroicms/anywhere-lib";
|
|
2
|
-
import { SiteContext } from "../../../site-context/site-context.types";
|
|
3
|
-
import { RenderingContext } from "../liquidjs-rendering/rendering-context";
|
|
4
|
-
export declare function getPublicSiteFieldValues(siteContext: SiteContext, renderingContext: RenderingContext): any;
|
|
5
|
-
export declare function makeSiteFieldDropCacheKeyForRendering(fieldName: string): string;
|
|
6
|
-
export declare function loadPublicFieldValues(siteContext: SiteContext, renderingContext: RenderingContext, options: {
|
|
7
|
-
leafType: string;
|
|
8
|
-
sectionId: ParsedSectionId;
|
|
9
|
-
fieldNames?: string[];
|
|
10
|
-
}): Promise<any>;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadPublicFieldValues = exports.makeSiteFieldDropCacheKeyForRendering = exports.getPublicSiteFieldValues = void 0;
|
|
4
|
-
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
5
|
-
const liquidjs_1 = require("liquidjs");
|
|
6
|
-
const load_fields_queries_1 = require("../../core/fields/load-fields.queries");
|
|
7
|
-
const site_fields_queries_1 = require("../../core/site-fields/site-fields.queries");
|
|
8
|
-
function getPublicSiteFieldValues(siteContext, renderingContext) {
|
|
9
|
-
const fieldTypes = new Map(siteContext.siteSchema.siteFields.map((f) => [f.name, f]));
|
|
10
|
-
return new (class extends liquidjs_1.Drop {
|
|
11
|
-
async liquidMethodMissing(fieldName) {
|
|
12
|
-
const cacheKey = makeSiteFieldDropCacheKeyForRendering(fieldName);
|
|
13
|
-
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
14
|
-
if (cacheVal.found)
|
|
15
|
-
return cacheVal.val;
|
|
16
|
-
const fType = fieldTypes.get(fieldName);
|
|
17
|
-
if (!fType)
|
|
18
|
-
throw new Error(`unknown site field '${fieldName}'`);
|
|
19
|
-
const val = await (0, site_fields_queries_1.getSiteFieldValue)(siteContext, fieldName);
|
|
20
|
-
const result = val === undefined ? undefined : await makePublicFieldValue(siteContext, fType, val);
|
|
21
|
-
renderingContext.setValueIntoCache(cacheKey, result);
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
})();
|
|
25
|
-
}
|
|
26
|
-
exports.getPublicSiteFieldValues = getPublicSiteFieldValues;
|
|
27
|
-
function makeSiteFieldDropCacheKeyForRendering(fieldName) {
|
|
28
|
-
return `drop:siteField:${fieldName}`;
|
|
29
|
-
}
|
|
30
|
-
exports.makeSiteFieldDropCacheKeyForRendering = makeSiteFieldDropCacheKeyForRendering;
|
|
31
|
-
async function loadPublicFieldValues(siteContext, renderingContext, options) {
|
|
32
|
-
const keyPrefix = `drop:${options.sectionId.lang}:${options.sectionId.leafId}:field`;
|
|
33
|
-
const values = await (0, load_fields_queries_1.loadFieldValues)(siteContext, {
|
|
34
|
-
...options,
|
|
35
|
-
fetchFText: "html",
|
|
36
|
-
ignoreUnknownFieldNames: true,
|
|
37
|
-
});
|
|
38
|
-
const fields = (0, anywhere_lib_1.getDocumentOrPartSchema)(siteContext.siteSchema, options.leafType).data.fields;
|
|
39
|
-
const fieldTypes = new Map((fields ?? []).map((f) => [f.name, f]));
|
|
40
|
-
return new (class extends liquidjs_1.Drop {
|
|
41
|
-
async liquidMethodMissing(fieldName) {
|
|
42
|
-
const fType = fieldTypes.get(fieldName);
|
|
43
|
-
if (!fType || !(fType.name in values))
|
|
44
|
-
return;
|
|
45
|
-
const cacheKey = `${keyPrefix}:${fieldName}`;
|
|
46
|
-
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
47
|
-
if (cacheVal.found)
|
|
48
|
-
return cacheVal.val;
|
|
49
|
-
const result = await makePublicFieldValue(siteContext, fType, values[fieldName]);
|
|
50
|
-
renderingContext.setValueIntoCache(cacheKey, result);
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
})();
|
|
54
|
-
}
|
|
55
|
-
exports.loadPublicFieldValues = loadPublicFieldValues;
|
|
56
|
-
async function makePublicFieldValue(siteContext, fType, val) {
|
|
57
|
-
if (fType.type === "media") {
|
|
58
|
-
const handle = val.handle;
|
|
59
|
-
const media = await siteContext.mediaStorage.getMedia({ handle });
|
|
60
|
-
return media ? toPublicMedia(media) : undefined;
|
|
61
|
-
}
|
|
62
|
-
if (fType.type === "gallery") {
|
|
63
|
-
const handle = val.handle;
|
|
64
|
-
const medias = await siteContext.mediaStorage.getMedias({ handle });
|
|
65
|
-
return medias.length === 0 ? undefined : medias.map(toPublicMedia);
|
|
66
|
-
}
|
|
67
|
-
return val;
|
|
68
|
-
}
|
|
69
|
-
function toPublicMedia(media) {
|
|
70
|
-
return {
|
|
71
|
-
kind: media.kind === "image" ? "image" : "file",
|
|
72
|
-
mediaType: media.mediaType,
|
|
73
|
-
uid: media.uid,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=public-field-values.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public-field-values.js","sourceRoot":"","sources":["../../../../src/modules/public-site/helpers/public-field-values.ts"],"names":[],"mappings":"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"}
|