medusa-contact-us 0.0.17 → 0.0.21
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/.medusa/server/src/admin/index.js +493 -4
- package/.medusa/server/src/admin/index.mjs +495 -6
- package/.medusa/server/src/api/admin/contact-requests/[id]/route.js +17 -0
- package/.medusa/server/src/api/admin/contact-requests/[id]/status/route.js +24 -0
- package/.medusa/server/src/api/admin/contact-requests/route.js +67 -0
- package/.medusa/server/src/api/admin/contact-requests/validators.js +29 -0
- package/.medusa/server/src/api/store/contact-requests/route.js +23 -0
- package/.medusa/server/src/api/store/contact-requests/validators.js +11 -0
- package/.medusa/server/src/helpers/contact-request.js +52 -0
- package/.medusa/server/src/helpers/index.js +5 -2
- package/.medusa/server/src/index.js +10 -2
- package/.medusa/server/src/modules/contact-requests/index.js +14 -0
- package/.medusa/server/src/modules/contact-requests/migrations/Migration20241129163317.js +47 -0
- package/.medusa/server/src/modules/contact-requests/models/contact-request.js +15 -0
- package/.medusa/server/src/modules/contact-requests/service.js +236 -0
- package/.medusa/server/src/modules/contact-requests/utils/resolve-options.js +48 -0
- package/.medusa/server/src/types/contact-request.js +3 -0
- package/.medusa/server/src/workflows/create-contact-request-workflow.js +13 -0
- package/.medusa/server/src/workflows/index.js +8 -0
- package/.medusa/server/src/workflows/steps/create-contact-request-step.js +13 -0
- package/.medusa/server/src/workflows/steps/resolve-status-transition-step.js +15 -0
- package/.medusa/server/src/workflows/steps/send-status-notification-step.js +56 -0
- package/.medusa/server/src/workflows/steps/update-contact-request-status-step.js +17 -0
- package/.medusa/server/src/workflows/update-contact-request-status-workflow.js +33 -0
- package/README.md +381 -10
- package/package.json +2 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdminUpdateContactRequestStatusSchema = exports.AdminListContactRequestsSchema = exports.AdminCreateContactRequestSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.AdminCreateContactRequestSchema = zod_1.z.object({
|
|
6
|
+
email: zod_1.z.string().email(),
|
|
7
|
+
payload: zod_1.z.record(zod_1.z.unknown()).optional(),
|
|
8
|
+
metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
|
|
9
|
+
source: zod_1.z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
exports.AdminListContactRequestsSchema = zod_1.z.object({
|
|
12
|
+
email: zod_1.z.string().optional(),
|
|
13
|
+
status: zod_1.z.string().optional(),
|
|
14
|
+
source: zod_1.z.string().optional(),
|
|
15
|
+
created_at: zod_1.z
|
|
16
|
+
.object({
|
|
17
|
+
gte: zod_1.z.string().datetime().optional(),
|
|
18
|
+
lte: zod_1.z.string().datetime().optional(),
|
|
19
|
+
})
|
|
20
|
+
.optional(),
|
|
21
|
+
limit: zod_1.z.coerce.number().int().positive().max(100).default(20),
|
|
22
|
+
offset: zod_1.z.coerce.number().int().nonnegative().default(0),
|
|
23
|
+
order: zod_1.z.enum(["created_at", "updated_at", "email"]).optional(),
|
|
24
|
+
order_direction: zod_1.z.enum(["ASC", "DESC"]).default("DESC"),
|
|
25
|
+
});
|
|
26
|
+
exports.AdminUpdateContactRequestStatusSchema = zod_1.z.object({
|
|
27
|
+
status: zod_1.z.string(),
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvYWRtaW4vY29udGFjdC1yZXF1ZXN0cy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUVWLFFBQUEsK0JBQStCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN6QixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDekMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzlCLENBQUMsQ0FBQTtBQU1XLFFBQUEsOEJBQThCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyRCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixVQUFVLEVBQUUsT0FBQztTQUNWLE1BQU0sQ0FBQztRQUNOLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3JDLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ3RDLENBQUM7U0FDRCxRQUFRLEVBQUU7SUFDYixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELEtBQUssRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvRCxlQUFlLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Q0FDekQsQ0FBQyxDQUFBO0FBTVcsUUFBQSxxQ0FBcUMsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0NBQ25CLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.POST = exports.AUTHENTICATE = void 0;
|
|
7
|
+
const validators_1 = require("./validators");
|
|
8
|
+
const create_contact_request_workflow_1 = __importDefault(require("../../../workflows/create-contact-request-workflow"));
|
|
9
|
+
exports.AUTHENTICATE = false;
|
|
10
|
+
const POST = async (req, res) => {
|
|
11
|
+
const body = validators_1.StoreCreateContactRequestSchema.parse(req.body ?? {});
|
|
12
|
+
const { result } = await (0, create_contact_request_workflow_1.default)(req.scope).run({
|
|
13
|
+
input: {
|
|
14
|
+
email: body.email,
|
|
15
|
+
payload: body.payload,
|
|
16
|
+
metadata: body.metadata,
|
|
17
|
+
source: body.source ?? "storefront",
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
res.status(200).json({ request: result.request });
|
|
21
|
+
};
|
|
22
|
+
exports.POST = POST;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2NvbnRhY3QtcmVxdWVzdHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNkNBQThEO0FBQzlELHlIQUE2RjtBQUVoRixRQUFBLFlBQVksR0FBRyxLQUFLLENBQUE7QUFFMUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sSUFBSSxHQUFHLDRDQUErQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBRWxFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQTRCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuRSxLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxZQUFZO1NBQ3BDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDbkQsQ0FBQyxDQUFBO0FBYlksUUFBQSxJQUFJLFFBYWhCIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StoreCreateContactRequestSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.StoreCreateContactRequestSchema = zod_1.z.object({
|
|
6
|
+
email: zod_1.z.string().email(),
|
|
7
|
+
payload: zod_1.z.record(zod_1.z.unknown()).optional(),
|
|
8
|
+
metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
|
|
9
|
+
source: zod_1.z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvY29udGFjdC1yZXF1ZXN0cy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUVWLFFBQUEsK0JBQStCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN6QixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDekMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzlCLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSubmitContactRequest = exports.submitContactRequest = void 0;
|
|
4
|
+
const base_client_1 = require("./base-client");
|
|
5
|
+
const CONTACT_REQUEST_ENDPOINT = "/store/contact-requests";
|
|
6
|
+
const resolveEndpoint = (endpoint) => endpoint?.startsWith("/") ? endpoint : CONTACT_REQUEST_ENDPOINT;
|
|
7
|
+
const submitContactRequest = async (input, options = {}) => {
|
|
8
|
+
const endpoint = resolveEndpoint(input.endpoint);
|
|
9
|
+
const payload = {
|
|
10
|
+
email: input.email,
|
|
11
|
+
payload: input.payload,
|
|
12
|
+
metadata: input.metadata,
|
|
13
|
+
source: input.source,
|
|
14
|
+
};
|
|
15
|
+
const clientRequest = (0, base_client_1.getClientRequest)(options.client);
|
|
16
|
+
if (clientRequest) {
|
|
17
|
+
const headers = (0, base_client_1.buildHeaders)(options);
|
|
18
|
+
const raw = await clientRequest(endpoint, {
|
|
19
|
+
method: "POST",
|
|
20
|
+
body: JSON.stringify(payload),
|
|
21
|
+
headers,
|
|
22
|
+
});
|
|
23
|
+
if (!raw || typeof raw !== "object" || !("request" in raw)) {
|
|
24
|
+
throw new Error("Invalid response from contact request endpoint");
|
|
25
|
+
}
|
|
26
|
+
return raw;
|
|
27
|
+
}
|
|
28
|
+
const fetchImpl = options.fetchImpl ?? globalThis.fetch;
|
|
29
|
+
if (!fetchImpl) {
|
|
30
|
+
throw new Error("No fetch implementation available. Provide `fetchImpl` or a Medusa client.");
|
|
31
|
+
}
|
|
32
|
+
const url = `${(0, base_client_1.normalizeBaseUrl)(options.baseUrl)}${endpoint}`;
|
|
33
|
+
const headers = (0, base_client_1.buildHeaders)(options);
|
|
34
|
+
const response = await fetchImpl(url || endpoint, {
|
|
35
|
+
method: "POST",
|
|
36
|
+
headers,
|
|
37
|
+
body: JSON.stringify(payload),
|
|
38
|
+
});
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
const body = await response.text();
|
|
41
|
+
throw new Error(body || `Failed to submit contact request (status ${response.status})`);
|
|
42
|
+
}
|
|
43
|
+
const json = await response.json();
|
|
44
|
+
if (!json || typeof json !== "object" || !("request" in json)) {
|
|
45
|
+
throw new Error("Invalid response format from contact request endpoint");
|
|
46
|
+
}
|
|
47
|
+
return json;
|
|
48
|
+
};
|
|
49
|
+
exports.submitContactRequest = submitContactRequest;
|
|
50
|
+
const createSubmitContactRequest = (options = {}) => (input) => (0, exports.submitContactRequest)(input, options);
|
|
51
|
+
exports.createSubmitContactRequest = createSubmitContactRequest;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hlbHBlcnMvY29udGFjdC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtDQUtzQjtBQUV0QixNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUFBO0FBRTFELE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBaUIsRUFBRSxFQUFFLENBQzVDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUE7QUFZMUQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLEVBQ3ZDLEtBQWdDLEVBQ2hDLFVBQXVDLEVBQUUsRUFDRixFQUFFO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEQsTUFBTSxPQUFPLEdBQUc7UUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07S0FDckIsQ0FBQTtJQUVELE1BQU0sYUFBYSxHQUFHLElBQUEsOEJBQWdCLEVBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3RELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBQSwwQkFBWSxFQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLE1BQU0sYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUN4QyxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUM3QixPQUFPO1NBQ1IsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtRQUNuRSxDQUFDO1FBRUQsT0FBTyxHQUFtQyxDQUFBO0lBQzVDLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUE7SUFDdkQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FDYiw0RUFBNEUsQ0FDN0UsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUEsOEJBQWdCLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFBO0lBQzdELE1BQU0sT0FBTyxHQUFHLElBQUEsMEJBQVksRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUVyQyxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxHQUFHLElBQUksUUFBUSxFQUFFO1FBQ2hELE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTztRQUNQLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztLQUM5QixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQ2IsSUFBSSxJQUFJLDRDQUE0QyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQ3ZFLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEMsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBRUQsT0FBTyxJQUFvQyxDQUFBO0FBQzdDLENBQUMsQ0FBQTtBQXpEWSxRQUFBLG9CQUFvQix3QkF5RGhDO0FBRU0sTUFBTSwwQkFBMEIsR0FDckMsQ0FBQyxVQUF1QyxFQUFFLEVBQUUsRUFBRSxDQUM5QyxDQUFDLEtBQWdDLEVBQUUsRUFBRSxDQUNuQyxJQUFBLDRCQUFvQixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUgzQixRQUFBLDBCQUEwQiw4QkFHQyJ9
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createUpsertContactSubscription = exports.upsertContactSubscription = void 0;
|
|
3
|
+
exports.createSubmitContactRequest = exports.submitContactRequest = exports.createUpsertContactSubscription = exports.upsertContactSubscription = void 0;
|
|
4
4
|
var contact_subscription_1 = require("./contact-subscription");
|
|
5
5
|
Object.defineProperty(exports, "upsertContactSubscription", { enumerable: true, get: function () { return contact_subscription_1.upsertContactSubscription; } });
|
|
6
6
|
Object.defineProperty(exports, "createUpsertContactSubscription", { enumerable: true, get: function () { return contact_subscription_1.createUpsertContactSubscription; } });
|
|
7
|
-
|
|
7
|
+
var contact_request_1 = require("./contact-request");
|
|
8
|
+
Object.defineProperty(exports, "submitContactRequest", { enumerable: true, get: function () { return contact_request_1.submitContactRequest; } });
|
|
9
|
+
Object.defineProperty(exports, "createSubmitContactRequest", { enumerable: true, get: function () { return contact_request_1.createSubmitContactRequest; } });
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFHK0I7QUFGN0IsaUlBQUEseUJBQXlCLE9BQUE7QUFDekIsdUlBQUEsK0JBQStCLE9BQUE7QUFFakMscURBRzBCO0FBRnhCLHVIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDZIQUFBLDBCQUEwQixPQUFBIn0=
|
|
@@ -17,14 +17,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.ContactSubscriptionModuleService = exports.ContactSubscriptionModule = exports.CONTACT_SUBSCRIPTION_MODULE = void 0;
|
|
20
|
+
exports.ContactRequestModuleService = exports.ContactRequestModule = exports.ContactSubscriptionModuleService = exports.ContactSubscriptionModule = exports.CONTACT_REQUEST_MODULE = exports.CONTACT_SUBSCRIPTION_MODULE = void 0;
|
|
21
21
|
// Export module constants for backward compatibility
|
|
22
22
|
var contact_subscriptions_1 = require("./modules/contact-subscriptions");
|
|
23
23
|
Object.defineProperty(exports, "CONTACT_SUBSCRIPTION_MODULE", { enumerable: true, get: function () { return contact_subscriptions_1.CONTACT_SUBSCRIPTION_MODULE; } });
|
|
24
|
+
var contact_requests_1 = require("./modules/contact-requests");
|
|
25
|
+
Object.defineProperty(exports, "CONTACT_REQUEST_MODULE", { enumerable: true, get: function () { return contact_requests_1.CONTACT_REQUEST_MODULE; } });
|
|
24
26
|
__exportStar(require("./helpers/contact-subscription"), exports);
|
|
27
|
+
__exportStar(require("./helpers/contact-request"), exports);
|
|
25
28
|
__exportStar(require("./types"), exports);
|
|
29
|
+
__exportStar(require("./types/contact-request"), exports);
|
|
26
30
|
var contact_subscriptions_2 = require("./modules/contact-subscriptions");
|
|
27
31
|
Object.defineProperty(exports, "ContactSubscriptionModule", { enumerable: true, get: function () { return __importDefault(contact_subscriptions_2).default; } });
|
|
28
32
|
var contact_subscriptions_3 = require("./modules/contact-subscriptions");
|
|
29
33
|
Object.defineProperty(exports, "ContactSubscriptionModuleService", { enumerable: true, get: function () { return contact_subscriptions_3.ContactSubscriptionModuleService; } });
|
|
30
|
-
|
|
34
|
+
var contact_requests_2 = require("./modules/contact-requests");
|
|
35
|
+
Object.defineProperty(exports, "ContactRequestModule", { enumerable: true, get: function () { return __importDefault(contact_requests_2).default; } });
|
|
36
|
+
var contact_requests_3 = require("./modules/contact-requests");
|
|
37
|
+
Object.defineProperty(exports, "ContactRequestModuleService", { enumerable: true, get: function () { return contact_requests_3.ContactRequestModuleService; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBcUQ7QUFDckQseUVBQTZFO0FBQXBFLG9JQUFBLDJCQUEyQixPQUFBO0FBQ3BDLCtEQUFtRTtBQUExRCwwSEFBQSxzQkFBc0IsT0FBQTtBQUUvQixpRUFBOEM7QUFDOUMsNERBQXlDO0FBQ3pDLDBDQUF1QjtBQUN2QiwwREFBdUM7QUFDdkMseUVBRXdDO0FBRHRDLG1KQUFBLE9BQU8sT0FBNkI7QUFFdEMseUVBQWtGO0FBQXpFLHlJQUFBLGdDQUFnQyxPQUFBO0FBQ3pDLCtEQUVtQztBQURqQyx5SUFBQSxPQUFPLE9BQXdCO0FBRWpDLCtEQUF3RTtBQUEvRCwrSEFBQSwyQkFBMkIsT0FBQSJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ContactRequestModuleService = exports.CONTACT_REQUEST_MODULE = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const service_1 = __importDefault(require("./service"));
|
|
9
|
+
exports.ContactRequestModuleService = service_1.default;
|
|
10
|
+
exports.CONTACT_REQUEST_MODULE = "contact_requests";
|
|
11
|
+
exports.default = (0, utils_1.Module)(exports.CONTACT_REQUEST_MODULE, {
|
|
12
|
+
service: service_1.default,
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jb250YWN0LXJlcXVlc3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQUFrRDtBQUNsRCx3REFBbUQ7QUFRMUMsc0NBUkYsaUJBQTJCLENBUUU7QUFOdkIsUUFBQSxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQTtBQUV4RCxrQkFBZSxJQUFBLGNBQU0sRUFBQyw4QkFBc0IsRUFBRTtJQUM1QyxPQUFPLEVBQUUsaUJBQTJCO0NBQ3JDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20241129163317 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20241129163317 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`
|
|
8
|
+
CREATE TABLE IF NOT EXISTS "contact_request" (
|
|
9
|
+
"id" text PRIMARY KEY,
|
|
10
|
+
"email" text NOT NULL,
|
|
11
|
+
"payload" jsonb NULL,
|
|
12
|
+
"status" text NOT NULL,
|
|
13
|
+
"status_history" jsonb NULL,
|
|
14
|
+
"metadata" jsonb NULL,
|
|
15
|
+
"source" text NULL,
|
|
16
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
17
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
18
|
+
"deleted_at" timestamptz NULL
|
|
19
|
+
);
|
|
20
|
+
`);
|
|
21
|
+
this.addSql(`
|
|
22
|
+
CREATE INDEX IF NOT EXISTS "IDX_contact_request_email"
|
|
23
|
+
ON "contact_request" ("email");
|
|
24
|
+
`);
|
|
25
|
+
this.addSql(`
|
|
26
|
+
CREATE INDEX IF NOT EXISTS "IDX_contact_request_status"
|
|
27
|
+
ON "contact_request" ("status");
|
|
28
|
+
`);
|
|
29
|
+
this.addSql(`
|
|
30
|
+
CREATE INDEX IF NOT EXISTS "IDX_contact_request_source"
|
|
31
|
+
ON "contact_request" ("source");
|
|
32
|
+
`);
|
|
33
|
+
this.addSql(`
|
|
34
|
+
CREATE INDEX IF NOT EXISTS "IDX_contact_request_created_at"
|
|
35
|
+
ON "contact_request" ("created_at");
|
|
36
|
+
`);
|
|
37
|
+
this.addSql(`
|
|
38
|
+
CREATE INDEX IF NOT EXISTS "IDX_contact_request_deleted_at"
|
|
39
|
+
ON "contact_request" ("deleted_at");
|
|
40
|
+
`);
|
|
41
|
+
}
|
|
42
|
+
async down() {
|
|
43
|
+
this.addSql(`DROP TABLE IF EXISTS "contact_request";`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.Migration20241129163317 = Migration20241129163317;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNDExMjkxNjMzMTcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jb250YWN0LXJlcXVlc3RzL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNDExMjkxNjMzMTcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWlEO0FBRWpELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFDcEQsS0FBSyxDQUFDLEVBQUU7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0tBYVgsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO0lBQ3hELENBQUM7Q0FDRjtBQTlDRCwwREE4Q0MifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContactRequest = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
exports.ContactRequest = utils_1.model.define("contact_request", {
|
|
6
|
+
id: utils_1.model.id().primaryKey(),
|
|
7
|
+
email: utils_1.model.text().searchable(),
|
|
8
|
+
payload: utils_1.model.json().nullable(),
|
|
9
|
+
status: utils_1.model.text().searchable(),
|
|
10
|
+
status_history: utils_1.model.json().nullable(),
|
|
11
|
+
metadata: utils_1.model.json().nullable(),
|
|
12
|
+
source: utils_1.model.text().nullable(),
|
|
13
|
+
});
|
|
14
|
+
exports.default = exports.ContactRequest;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvY29udGFjdC1yZXF1ZXN0cy9tb2RlbHMvY29udGFjdC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFpRDtBQUVwQyxRQUFBLGNBQWMsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO0lBQzVELEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQ2hDLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQ2pDLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2hDLENBQUMsQ0FBQTtBQUVGLGtCQUFlLHNCQUFjLENBQUEifQ==
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const contact_request_1 = require("./models/contact-request");
|
|
6
|
+
const resolve_options_1 = require("./utils/resolve-options");
|
|
7
|
+
class ContactRequestModuleService extends (0, utils_1.MedusaService)({
|
|
8
|
+
ContactRequest: contact_request_1.ContactRequest,
|
|
9
|
+
}) {
|
|
10
|
+
constructor(container, moduleOptions, moduleDeclaration) {
|
|
11
|
+
super(container, moduleOptions, moduleDeclaration);
|
|
12
|
+
this.manager_ = container.manager;
|
|
13
|
+
const resolvedOptions = moduleDeclaration?.options ?? moduleOptions ?? {};
|
|
14
|
+
this.options_ = (0, resolve_options_1.resolveContactUsOptions)(resolvedOptions);
|
|
15
|
+
}
|
|
16
|
+
get moduleKey() {
|
|
17
|
+
return index_1.CONTACT_REQUEST_MODULE;
|
|
18
|
+
}
|
|
19
|
+
getOptions() {
|
|
20
|
+
return this.options_;
|
|
21
|
+
}
|
|
22
|
+
getNextAllowedStatuses(currentStatus) {
|
|
23
|
+
return (0, resolve_options_1.getNextAllowedStatuses)(currentStatus, this.options_.status_transitions);
|
|
24
|
+
}
|
|
25
|
+
getStatusTransition(from, to) {
|
|
26
|
+
return (0, resolve_options_1.getStatusTransition)(from, to, this.options_.status_transitions);
|
|
27
|
+
}
|
|
28
|
+
normalizeContactRequest(raw) {
|
|
29
|
+
if (!raw ||
|
|
30
|
+
typeof raw !== "object" ||
|
|
31
|
+
!("id" in raw) ||
|
|
32
|
+
!("email" in raw) ||
|
|
33
|
+
!("status" in raw)) {
|
|
34
|
+
throw new Error("Invalid contact request data");
|
|
35
|
+
}
|
|
36
|
+
const request = raw;
|
|
37
|
+
return {
|
|
38
|
+
id: request.id,
|
|
39
|
+
email: request.email,
|
|
40
|
+
payload: request.payload && typeof request.payload === "object"
|
|
41
|
+
? request.payload
|
|
42
|
+
: null,
|
|
43
|
+
status: request.status,
|
|
44
|
+
status_history: request.status_history && Array.isArray(request.status_history)
|
|
45
|
+
? request.status_history
|
|
46
|
+
: null,
|
|
47
|
+
metadata: request.metadata && typeof request.metadata === "object"
|
|
48
|
+
? request.metadata
|
|
49
|
+
: null,
|
|
50
|
+
source: request.source ?? null,
|
|
51
|
+
created_at: new Date(request.created_at ?? new Date()),
|
|
52
|
+
updated_at: new Date(request.updated_at ?? new Date()),
|
|
53
|
+
deleted_at: request.deleted_at ? new Date(request.deleted_at) : null,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
validatePayload(payload, fields) {
|
|
57
|
+
if (!payload || Object.keys(payload).length === 0) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
for (const field of fields) {
|
|
61
|
+
if (field.required && !(field.key in payload)) {
|
|
62
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' is required`);
|
|
63
|
+
}
|
|
64
|
+
const value = payload[field.key];
|
|
65
|
+
if (value === undefined || value === null) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
// Type validation
|
|
69
|
+
switch (field.type) {
|
|
70
|
+
case "number":
|
|
71
|
+
if (typeof value !== "number") {
|
|
72
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be a number`);
|
|
73
|
+
}
|
|
74
|
+
if (field.validation) {
|
|
75
|
+
if (field.validation.min !== undefined &&
|
|
76
|
+
value < field.validation.min) {
|
|
77
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be at least ${field.validation.min}`);
|
|
78
|
+
}
|
|
79
|
+
if (field.validation.max !== undefined &&
|
|
80
|
+
value > field.validation.max) {
|
|
81
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be at most ${field.validation.max}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
break;
|
|
85
|
+
case "email":
|
|
86
|
+
if (typeof value !== "string" || !value.includes("@")) {
|
|
87
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be a valid email`);
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case "text":
|
|
91
|
+
case "textarea":
|
|
92
|
+
if (typeof value !== "string") {
|
|
93
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be a string`);
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
case "checkbox":
|
|
97
|
+
if (typeof value !== "boolean") {
|
|
98
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be a boolean`);
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
case "select":
|
|
102
|
+
if (typeof value !== "string") {
|
|
103
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be a string`);
|
|
104
|
+
}
|
|
105
|
+
if (field.options) {
|
|
106
|
+
const validValues = field.options.map((opt) => opt.value);
|
|
107
|
+
if (!validValues.includes(value)) {
|
|
108
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Field '${field.key}' must be one of: ${validValues.join(", ")}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async createRequest(input) {
|
|
116
|
+
// Validate email
|
|
117
|
+
if (!input.email || typeof input.email !== "string") {
|
|
118
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Email is required");
|
|
119
|
+
}
|
|
120
|
+
const email = input.email.trim().toLowerCase();
|
|
121
|
+
if (!email.includes("@")) {
|
|
122
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Email must be a valid email address");
|
|
123
|
+
}
|
|
124
|
+
// Validate payload against configured fields
|
|
125
|
+
if (input.payload) {
|
|
126
|
+
this.validatePayload(input.payload, this.options_.payload_fields);
|
|
127
|
+
}
|
|
128
|
+
const status = this.options_.default_status;
|
|
129
|
+
const statusHistory = [
|
|
130
|
+
{
|
|
131
|
+
from: null,
|
|
132
|
+
to: status,
|
|
133
|
+
changed_at: new Date(),
|
|
134
|
+
},
|
|
135
|
+
];
|
|
136
|
+
const created = await this.createContactRequests({
|
|
137
|
+
email,
|
|
138
|
+
payload: input.payload ?? null,
|
|
139
|
+
status,
|
|
140
|
+
status_history: statusHistory,
|
|
141
|
+
metadata: input.metadata ?? null,
|
|
142
|
+
source: input.source ?? "storefront",
|
|
143
|
+
});
|
|
144
|
+
return this.normalizeContactRequest(created);
|
|
145
|
+
}
|
|
146
|
+
async updateStatus(input) {
|
|
147
|
+
const existing = await this.retrieveContactRequest(input.id);
|
|
148
|
+
if (!existing) {
|
|
149
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Contact request with id ${input.id} not found`);
|
|
150
|
+
}
|
|
151
|
+
const currentStatus = this.normalizeContactRequest(existing).status;
|
|
152
|
+
// Validate transition
|
|
153
|
+
const transition = this.getStatusTransition(currentStatus, input.status);
|
|
154
|
+
if (!transition) {
|
|
155
|
+
const allowedStatuses = this.getNextAllowedStatuses(currentStatus);
|
|
156
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Invalid status transition from '${currentStatus}' to '${input.status}'. Allowed next statuses: ${allowedStatuses.join(", ")}`);
|
|
157
|
+
}
|
|
158
|
+
// Validate that target status is in allowed statuses
|
|
159
|
+
if (!this.options_.allowed_statuses.includes(input.status)) {
|
|
160
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Status '${input.status}' is not in allowed statuses`);
|
|
161
|
+
}
|
|
162
|
+
// Update status history
|
|
163
|
+
const existingHistory = (this.normalizeContactRequest(existing).status_history ?? []);
|
|
164
|
+
const newHistoryEntry = {
|
|
165
|
+
from: currentStatus,
|
|
166
|
+
to: input.status,
|
|
167
|
+
changed_at: new Date(),
|
|
168
|
+
changed_by: input.changed_by,
|
|
169
|
+
};
|
|
170
|
+
const updatedHistory = [...existingHistory, newHistoryEntry];
|
|
171
|
+
await this.updateContactRequests({
|
|
172
|
+
selector: { id: input.id },
|
|
173
|
+
data: {
|
|
174
|
+
status: input.status,
|
|
175
|
+
status_history: updatedHistory,
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
const updated = await this.retrieveContactRequest(input.id);
|
|
179
|
+
return this.normalizeContactRequest(updated);
|
|
180
|
+
}
|
|
181
|
+
async listRequests(selector = {}, config) {
|
|
182
|
+
const query = {};
|
|
183
|
+
// Handle both ContactRequestListInput and direct query format
|
|
184
|
+
if ("email" in selector && selector.email) {
|
|
185
|
+
if (typeof selector.email === "string") {
|
|
186
|
+
query.email = { $ilike: `%${selector.email}%` };
|
|
187
|
+
}
|
|
188
|
+
else if (typeof selector.email === "object" && "$ilike" in selector.email) {
|
|
189
|
+
query.email = selector.email;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if ("status" in selector && selector.status) {
|
|
193
|
+
query.status = selector.status;
|
|
194
|
+
}
|
|
195
|
+
if ("source" in selector && selector.source) {
|
|
196
|
+
query.source = selector.source;
|
|
197
|
+
}
|
|
198
|
+
if ("created_at" in selector && selector.created_at) {
|
|
199
|
+
if (typeof selector.created_at === "object") {
|
|
200
|
+
const dateQuery = {};
|
|
201
|
+
if ("gte" in selector.created_at && selector.created_at.gte) {
|
|
202
|
+
dateQuery.$gte = selector.created_at.gte;
|
|
203
|
+
}
|
|
204
|
+
if ("lte" in selector.created_at && selector.created_at.lte) {
|
|
205
|
+
dateQuery.$lte = selector.created_at.lte;
|
|
206
|
+
}
|
|
207
|
+
if ("$gte" in selector.created_at) {
|
|
208
|
+
dateQuery.$gte = selector.created_at.$gte;
|
|
209
|
+
}
|
|
210
|
+
if ("$lte" in selector.created_at) {
|
|
211
|
+
dateQuery.$lte = selector.created_at.$lte;
|
|
212
|
+
}
|
|
213
|
+
if (Object.keys(dateQuery).length > 0) {
|
|
214
|
+
query.created_at = dateQuery;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
query.created_at = selector.created_at;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
const [requests, count] = await this.listAndCountContactRequests(query, config);
|
|
222
|
+
return [
|
|
223
|
+
requests.map((request) => this.normalizeContactRequest(request)),
|
|
224
|
+
count,
|
|
225
|
+
];
|
|
226
|
+
}
|
|
227
|
+
async getRequest(id) {
|
|
228
|
+
const request = await this.retrieveContactRequest(id);
|
|
229
|
+
if (!request) {
|
|
230
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Contact request with id ${id} not found`);
|
|
231
|
+
}
|
|
232
|
+
return this.normalizeContactRequest(request);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
exports.default = ContactRequestModuleService;
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2NvbnRhY3QtcmVxdWVzdHMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFzRTtBQUV0RSxtQ0FBZ0Q7QUFPaEQsOERBQXlEO0FBQ3pELDZEQUtnQztBQVdoQyxNQUFxQiwyQkFBNEIsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDckUsY0FBYyxFQUFkLGdDQUFjO0NBQ2YsQ0FBQztJQUlBLFlBQ0UsU0FBK0IsRUFDL0IsYUFBc0MsRUFDdEMsaUJBQXdEO1FBRXhELEtBQUssQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFBO1FBRWpDLE1BQU0sZUFBZSxHQUNuQixpQkFBaUIsRUFBRSxPQUFPLElBQUksYUFBYSxJQUFJLEVBQUUsQ0FBQTtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEseUNBQXVCLEVBQUMsZUFBZSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sOEJBQXNCLENBQUE7SUFDL0IsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUVELHNCQUFzQixDQUFDLGFBQXFCO1FBQzFDLE9BQU8sSUFBQSx3Q0FBc0IsRUFDM0IsYUFBYSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQ2pDLENBQUE7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQ2pCLElBQW1CLEVBQ25CLEVBQVU7UUFFVixPQUFPLElBQUEscUNBQW1CLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVTLHVCQUF1QixDQUFDLEdBQVk7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
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveContactUsOptions = resolveContactUsOptions;
|
|
4
|
+
exports.getNextAllowedStatuses = getNextAllowedStatuses;
|
|
5
|
+
exports.getStatusTransition = getStatusTransition;
|
|
6
|
+
const DEFAULT_OPTIONS = {
|
|
7
|
+
default_status: "pending",
|
|
8
|
+
payload_fields: [],
|
|
9
|
+
allowed_statuses: ["pending", "in_progress", "resolved", "closed"],
|
|
10
|
+
status_transitions: [
|
|
11
|
+
{ from: null, to: "pending", send_email: false },
|
|
12
|
+
{ from: "pending", to: "in_progress", send_email: true },
|
|
13
|
+
{ from: "in_progress", to: "resolved", send_email: true },
|
|
14
|
+
{ from: "resolved", to: "closed", send_email: false },
|
|
15
|
+
],
|
|
16
|
+
email: {
|
|
17
|
+
enabled: true,
|
|
18
|
+
default_subject: "Contact Request Status Update",
|
|
19
|
+
default_template: null,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
function resolveContactUsOptions(options) {
|
|
23
|
+
if (!options) {
|
|
24
|
+
return DEFAULT_OPTIONS;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
default_status: options.default_status ?? DEFAULT_OPTIONS.default_status,
|
|
28
|
+
payload_fields: options.payload_fields ?? DEFAULT_OPTIONS.payload_fields,
|
|
29
|
+
allowed_statuses: options.allowed_statuses ?? DEFAULT_OPTIONS.allowed_statuses,
|
|
30
|
+
status_transitions: options.status_transitions ?? DEFAULT_OPTIONS.status_transitions,
|
|
31
|
+
email: {
|
|
32
|
+
enabled: options.email?.enabled ?? DEFAULT_OPTIONS.email.enabled,
|
|
33
|
+
default_subject: options.email?.default_subject ??
|
|
34
|
+
DEFAULT_OPTIONS.email.default_subject,
|
|
35
|
+
default_template: options.email?.default_template ??
|
|
36
|
+
DEFAULT_OPTIONS.email.default_template,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function getNextAllowedStatuses(currentStatus, transitions) {
|
|
41
|
+
return transitions
|
|
42
|
+
.filter((transition) => transition.from === currentStatus)
|
|
43
|
+
.map((transition) => transition.to);
|
|
44
|
+
}
|
|
45
|
+
function getStatusTransition(from, to, transitions) {
|
|
46
|
+
return transitions.find((transition) => transition.from === from && transition.to === to);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvY29udGFjdC1yZXF1ZXN0cy91dGlscy9yZXNvbHZlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFtQ0EsMERBd0JDO0FBRUQsd0RBT0M7QUFFRCxrREFRQztBQTVERCxNQUFNLGVBQWUsR0FBNkI7SUFDaEQsY0FBYyxFQUFFLFNBQVM7SUFDekIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUM7SUFDbEUsa0JBQWtCLEVBQUU7UUFDbEIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtRQUNoRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQ3hELEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7UUFDekQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtLQUN0RDtJQUNELEtBQUssRUFBRTtRQUNMLE9BQU8sRUFBRSxJQUFJO1FBQ2IsZUFBZSxFQUFFLCtCQUErQjtRQUNoRCxnQkFBZ0IsRUFBRSxJQUFJO0tBQ3ZCO0NBQ0YsQ0FBQTtBQUVELFNBQWdCLHVCQUF1QixDQUNyQyxPQUF1QztJQUV2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLGVBQWUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNMLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLGVBQWUsQ0FBQyxjQUFjO1FBQ3hFLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLGVBQWUsQ0FBQyxjQUFjO1FBQ3hFLGdCQUFnQixFQUNkLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxlQUFlLENBQUMsZ0JBQWdCO1FBQzlELGtCQUFrQixFQUNoQixPQUFPLENBQUMsa0JBQWtCLElBQUksZUFBZSxDQUFDLGtCQUFrQjtRQUNsRSxLQUFLLEVBQUU7WUFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ2hFLGVBQWUsRUFDYixPQUFPLENBQUMsS0FBSyxFQUFFLGVBQWU7Z0JBQzlCLGVBQWUsQ0FBQyxLQUFLLENBQUMsZUFBZTtZQUN2QyxnQkFBZ0IsRUFDZCxPQUFPLENBQUMsS0FBSyxFQUFFLGdCQUFnQjtnQkFDL0IsZUFBZSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7U0FDekM7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxhQUFxQixFQUNyQixXQUFxQztJQUVyQyxPQUFPLFdBQVc7U0FDZixNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDO1NBQ3pELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZDLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FDakMsSUFBbUIsRUFDbkIsRUFBVSxFQUNWLFdBQXFDO0lBRXJDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FDckIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUNqRSxDQUFBO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3R5cGVzL2NvbnRhY3QtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContactRequestWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const create_contact_request_step_1 = require("./steps/create-contact-request-step");
|
|
6
|
+
exports.createContactRequestWorkflow = (0, workflows_sdk_1.createWorkflow)("create-contact-request", (input) => {
|
|
7
|
+
const { request } = (0, create_contact_request_step_1.createContactRequestStep)(input);
|
|
8
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
9
|
+
request,
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
exports.default = exports.createContactRequestWorkflow;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbnRhY3QtcmVxdWVzdC13b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY3JlYXRlLWNvbnRhY3QtcmVxdWVzdC13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMscUZBQThFO0FBWWpFLFFBQUEsNEJBQTRCLEdBQUcsSUFBQSw4QkFBYyxFQUN4RCx3QkFBd0IsRUFDeEIsQ0FDRSxLQUF3QyxFQUNjLEVBQUU7SUFDeEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUEsc0RBQXdCLEVBQUMsS0FBSyxDQUFDLENBQUE7SUFFbkQsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLE9BQU87S0FDUixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQTtBQUVELGtCQUFlLG9DQUE0QixDQUFBIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateContactRequestStatusWorkflow = exports.createContactRequestWorkflow = void 0;
|
|
4
|
+
var create_contact_request_workflow_1 = require("./create-contact-request-workflow");
|
|
5
|
+
Object.defineProperty(exports, "createContactRequestWorkflow", { enumerable: true, get: function () { return create_contact_request_workflow_1.createContactRequestWorkflow; } });
|
|
6
|
+
var update_contact_request_status_workflow_1 = require("./update-contact-request-status-workflow");
|
|
7
|
+
Object.defineProperty(exports, "updateContactRequestStatusWorkflow", { enumerable: true, get: function () { return update_contact_request_status_workflow_1.updateContactRequestStatusWorkflow; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFGQUFnRjtBQUF2RSwrSUFBQSw0QkFBNEIsT0FBQTtBQUNyQyxtR0FBNkY7QUFBcEYsNEpBQUEsa0NBQWtDLE9BQUEifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContactRequestStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const contact_requests_1 = require("../../modules/contact-requests");
|
|
6
|
+
exports.createContactRequestStep = (0, workflows_sdk_1.createStep)("create-contact-request", async (input, { container }) => {
|
|
7
|
+
const service = container.resolve(contact_requests_1.CONTACT_REQUEST_MODULE);
|
|
8
|
+
const request = await service.createRequest(input);
|
|
9
|
+
return new workflows_sdk_1.StepResponse({
|
|
10
|
+
request,
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbnRhY3QtcmVxdWVzdC1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9jcmVhdGUtY29udGFjdC1yZXF1ZXN0LXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLHFFQUF1RTtBQVcxRCxRQUFBLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDaEQsd0JBQXdCLEVBQ3hCLEtBQUssRUFDSCxLQUFnQyxFQUNoQyxFQUFFLFNBQVMsRUFBRSxFQUMwQyxFQUFFO0lBQ3pELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQy9CLHlDQUFzQixDQUN2QixDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWxELE9BQU8sSUFBSSw0QkFBWSxDQUFpQztRQUN0RCxPQUFPO0tBQ1IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveStatusTransitionStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const contact_requests_1 = require("../../modules/contact-requests");
|
|
6
|
+
exports.resolveStatusTransitionStep = (0, workflows_sdk_1.createStep)("resolve-status-transition", async (input, { container }) => {
|
|
7
|
+
const service = container.resolve(contact_requests_1.CONTACT_REQUEST_MODULE);
|
|
8
|
+
const options = service.getOptions();
|
|
9
|
+
const transition = service.getStatusTransition(input.fromStatus, input.toStatus);
|
|
10
|
+
return new workflows_sdk_1.StepResponse({
|
|
11
|
+
transition,
|
|
12
|
+
options,
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1zdGF0dXMtdHJhbnNpdGlvbi1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9yZXNvbHZlLXN0YXR1cy10cmFuc2l0aW9uLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLHFFQUF1RTtBQWUxRCxRQUFBLDJCQUEyQixHQUFHLElBQUEsMEJBQVUsRUFDbkQsMkJBQTJCLEVBQzNCLEtBQUssRUFDSCxLQUFtQyxFQUNuQyxFQUFFLFNBQVMsRUFBRSxFQUN5QyxFQUFFO0lBQ3hELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQy9CLHlDQUFzQixDQUN2QixDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDNUMsS0FBSyxDQUFDLFVBQVUsRUFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FDZixDQUFBO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQWdDO1FBQ3JELFVBQVU7UUFDVixPQUFPO0tBQ1IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|