@lodashventure/medusa-quotation 1.5.14 → 1.5.16
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 +5 -2
- package/.medusa/server/src/admin/index.mjs +5 -2
- package/.medusa/server/src/api/admin/quotes/create/route.js +5 -2
- package/.medusa/server/src/api/admin/quotes/query-config.js +3 -1
- package/.medusa/server/src/api/middlewares.js +9 -2
- package/.medusa/server/src/api/store/customers/me/quotes/[id]/accept/route.js +2 -2
- package/.medusa/server/src/api/store/customers/me/quotes/[id]/download/route.js +162 -0
- package/.medusa/server/src/api/store/customers/me/quotes/[id]/preview/route.js +2 -2
- package/.medusa/server/src/api/store/customers/me/quotes/[id]/reject/route.js +2 -2
- package/.medusa/server/src/api/store/customers/me/quotes/[id]/route.js +19 -0
- package/.medusa/server/src/api/store/customers/me/quotes/query-config.js +6 -1
- package/.medusa/server/src/api/store/customers/me/quotes/route.js +26 -3
- package/.medusa/server/src/modules/quote/migrations/Migration20251101100000.js +16 -0
- package/.medusa/server/src/modules/quote/models/quote.js +2 -1
- package/.medusa/server/src/utils/generate-quote-pdf.js +335 -0
- package/.medusa/server/src/workflows/admin-create-quote.js +7 -4
- package/.medusa/server/src/workflows/create-request-for-quote.js +23 -5
- package/.medusa/server/src/workflows/steps/create-quotes.js +1 -1
- package/package.json +4 -4
|
@@ -2079,6 +2079,7 @@ const useQuotePdf = () => {
|
|
|
2079
2079
|
{ text: clientInfo.address2 },
|
|
2080
2080
|
{ text: clientInfo.zipCode },
|
|
2081
2081
|
{ text: `Phone: ${clientInfo.phone}` },
|
|
2082
|
+
...clientInfo.email ? [{ text: `Email: ${clientInfo.email}` }] : [],
|
|
2082
2083
|
...clientInfo.taxId ? [{ text: `Tax ID: ${clientInfo.taxId}` }] : []
|
|
2083
2084
|
],
|
|
2084
2085
|
margin: [5, 5, 5, 5]
|
|
@@ -2514,16 +2515,18 @@ const QuoteDetails = () => {
|
|
|
2514
2515
|
address2: (store == null ? void 0 : store.address2) || "",
|
|
2515
2516
|
zipCode: (store == null ? void 0 : store.zipCode) || "",
|
|
2516
2517
|
phone: (store == null ? void 0 : store.phone) || "",
|
|
2518
|
+
email: (store == null ? void 0 : store.email) || "",
|
|
2517
2519
|
website: (store == null ? void 0 : store.website) || "",
|
|
2518
2520
|
taxId: (store == null ? void 0 : store.taxId) || "",
|
|
2519
|
-
logoUrl: (store == null ? void 0 : store.logoUrl) ||
|
|
2521
|
+
logoUrl: (store == null ? void 0 : store.logoUrl) || void 0
|
|
2520
2522
|
},
|
|
2521
2523
|
clientInfo: {
|
|
2522
2524
|
name: ((customer == null ? void 0 : customer.first_name) || "") + " " + ((customer == null ? void 0 : customer.last_name) || ""),
|
|
2523
2525
|
address1: (shippingAddress == null ? void 0 : shippingAddress.address_1) ?? "",
|
|
2524
2526
|
address2: (shippingAddress == null ? void 0 : shippingAddress.address_2) ?? "",
|
|
2525
2527
|
zipCode: (shippingAddress == null ? void 0 : shippingAddress.postal_code) ?? "",
|
|
2526
|
-
phone: (shippingAddress == null ? void 0 : shippingAddress.phone) ?? ""
|
|
2528
|
+
phone: (shippingAddress == null ? void 0 : shippingAddress.phone) ?? "",
|
|
2529
|
+
email: (customer == null ? void 0 : customer.email) ?? ""
|
|
2527
2530
|
},
|
|
2528
2531
|
quotation: {
|
|
2529
2532
|
number: new Date((quote == null ? void 0 : quote.created_at) ?? "").getTime().toString() ?? "",
|
|
@@ -2075,6 +2075,7 @@ const useQuotePdf = () => {
|
|
|
2075
2075
|
{ text: clientInfo.address2 },
|
|
2076
2076
|
{ text: clientInfo.zipCode },
|
|
2077
2077
|
{ text: `Phone: ${clientInfo.phone}` },
|
|
2078
|
+
...clientInfo.email ? [{ text: `Email: ${clientInfo.email}` }] : [],
|
|
2078
2079
|
...clientInfo.taxId ? [{ text: `Tax ID: ${clientInfo.taxId}` }] : []
|
|
2079
2080
|
],
|
|
2080
2081
|
margin: [5, 5, 5, 5]
|
|
@@ -2510,16 +2511,18 @@ const QuoteDetails = () => {
|
|
|
2510
2511
|
address2: (store == null ? void 0 : store.address2) || "",
|
|
2511
2512
|
zipCode: (store == null ? void 0 : store.zipCode) || "",
|
|
2512
2513
|
phone: (store == null ? void 0 : store.phone) || "",
|
|
2514
|
+
email: (store == null ? void 0 : store.email) || "",
|
|
2513
2515
|
website: (store == null ? void 0 : store.website) || "",
|
|
2514
2516
|
taxId: (store == null ? void 0 : store.taxId) || "",
|
|
2515
|
-
logoUrl: (store == null ? void 0 : store.logoUrl) ||
|
|
2517
|
+
logoUrl: (store == null ? void 0 : store.logoUrl) || void 0
|
|
2516
2518
|
},
|
|
2517
2519
|
clientInfo: {
|
|
2518
2520
|
name: ((customer == null ? void 0 : customer.first_name) || "") + " " + ((customer == null ? void 0 : customer.last_name) || ""),
|
|
2519
2521
|
address1: (shippingAddress == null ? void 0 : shippingAddress.address_1) ?? "",
|
|
2520
2522
|
address2: (shippingAddress == null ? void 0 : shippingAddress.address_2) ?? "",
|
|
2521
2523
|
zipCode: (shippingAddress == null ? void 0 : shippingAddress.postal_code) ?? "",
|
|
2522
|
-
phone: (shippingAddress == null ? void 0 : shippingAddress.phone) ?? ""
|
|
2524
|
+
phone: (shippingAddress == null ? void 0 : shippingAddress.phone) ?? "",
|
|
2525
|
+
email: (customer == null ? void 0 : customer.email) ?? ""
|
|
2523
2526
|
},
|
|
2524
2527
|
quotation: {
|
|
2525
2528
|
number: new Date((quote == null ? void 0 : quote.created_at) ?? "").getTime().toString() ?? "",
|
|
@@ -5,7 +5,10 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
5
5
|
const admin_create_quote_1 = require("../../../../workflows/admin-create-quote");
|
|
6
6
|
const POST = async (req, res) => {
|
|
7
7
|
const { result: { quote: createdQuote }, } = await (0, admin_create_quote_1.adminCreateQuoteWorkflow)(req.scope).run({
|
|
8
|
-
input:
|
|
8
|
+
input: {
|
|
9
|
+
...req.validatedBody,
|
|
10
|
+
user_id: req.auth_context.actor_id,
|
|
11
|
+
},
|
|
9
12
|
});
|
|
10
13
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
11
14
|
const { data: [quote], } = await query.graph({
|
|
@@ -16,4 +19,4 @@ const POST = async (req, res) => {
|
|
|
16
19
|
return res.json({ quote });
|
|
17
20
|
};
|
|
18
21
|
exports.POST = POST;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3Rlcy9jcmVhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXNFO0FBQ3RFLGlGQUFvRjtBQUc3RSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQXFELEVBQ3JELEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQ0osTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxHQUNoQyxHQUFHLE1BQU0sSUFBQSw2Q0FBd0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2hELEtBQUssRUFBRTtZQUNMLEdBQUcsR0FBRyxDQUFDLGFBQWE7WUFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUTtTQUNuQztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FDZCxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FDbkI7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDO1FBQzVDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO0tBQ2pDLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBM0JXLFFBQUEsSUFBSSxRQTJCZiJ9
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.listAdminQuoteQueryConfig = exports.retrieveAdminQuoteQueryConfig = exports.quoteFields = void 0;
|
|
4
4
|
exports.quoteFields = [
|
|
5
5
|
"id",
|
|
6
|
+
"doc_no",
|
|
6
7
|
"status",
|
|
8
|
+
"user_id",
|
|
7
9
|
"created_at",
|
|
8
10
|
"updated_at",
|
|
9
11
|
"*customer",
|
|
@@ -53,4 +55,4 @@ exports.listAdminQuoteQueryConfig = {
|
|
|
53
55
|
defaults: exports.quoteFields,
|
|
54
56
|
isList: true,
|
|
55
57
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9xdW90ZXMvcXVlcnktY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLElBQUk7SUFDSixRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7SUFDVCxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQiw0QkFBNEI7SUFDNUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsd0JBQXdCO0lBQ3hCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsaUNBQWlDO0lBQ2pDLG9DQUFvQztJQUNwQyxxQ0FBcUM7SUFDckMsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixnQ0FBZ0M7SUFDaEMseUNBQXlDO0lBQ3pDLHdDQUF3QztJQUN4QyxxQ0FBcUM7SUFDckMsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsb0NBQW9DO0lBQ3BDLDJCQUEyQjtJQUMzQix1QkFBdUI7Q0FDeEIsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsUUFBUSxFQUFFLG1CQUFXO0lBQ3JCLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQztBQUVXLFFBQUEseUJBQXlCLEdBQUc7SUFDdkMsUUFBUSxFQUFFLG1CQUFXO0lBQ3JCLE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQyJ9
|
|
@@ -18,11 +18,18 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
18
18
|
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminCreateQuote)],
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
|
|
21
|
+
method: ["GET"],
|
|
22
|
+
matcher: "/store/customers/me/quotes",
|
|
22
23
|
middlewares: [
|
|
23
24
|
(0, http_1.validateAndTransformQuery)(validators_1.GetQuoteParams, query_config_2.listStoreQuoteQueryConfig),
|
|
24
25
|
],
|
|
25
26
|
},
|
|
27
|
+
{
|
|
28
|
+
matcher: "/store/customers/me/quotes/:id*",
|
|
29
|
+
middlewares: [
|
|
30
|
+
(0, http_1.validateAndTransformQuery)(validators_1.GetQuoteParams, query_config_2.retrieveStoreQuoteQueryConfig),
|
|
31
|
+
],
|
|
32
|
+
},
|
|
26
33
|
{
|
|
27
34
|
matcher: "/admin/quotes*",
|
|
28
35
|
middlewares: [
|
|
@@ -31,4 +38,4 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
31
38
|
},
|
|
32
39
|
],
|
|
33
40
|
});
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBSWtDO0FBQ2xDLG1EQUFpRTtBQUNqRSw4REFBd0U7QUFDeEUsMERBR21DO0FBQ25DLDJFQUdrRDtBQUVsRCxrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyx3QkFBa0IsQ0FBQyxDQUFDO1NBQzVEO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLDZCQUF1QixDQUFDLENBQUM7U0FDakU7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQ3ZCLDJCQUFxQixFQUNyQix3Q0FBeUIsQ0FDMUI7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsaUNBQWlDO1lBQzFDLFdBQVcsRUFBRTtnQkFDWCxJQUFBLGdDQUF5QixFQUN2QiwyQkFBcUIsRUFDckIsNENBQTZCLENBQzlCO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxnQ0FBeUIsRUFDdkIsZ0NBQTBCLEVBQzFCLHdDQUF5QixDQUMxQjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -14,10 +14,10 @@ const POST = async (req, res) => {
|
|
|
14
14
|
});
|
|
15
15
|
const { data: [quote], } = await query.graph({
|
|
16
16
|
entity: "quote",
|
|
17
|
-
filters: { id },
|
|
17
|
+
filters: { id, customer_id: req.auth_context.actor_id },
|
|
18
18
|
fields: req.queryConfig.fields,
|
|
19
19
|
}, { throwIfKeyNotFound: true });
|
|
20
20
|
return res.json({ quote });
|
|
21
21
|
};
|
|
22
22
|
exports.POST = POST;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9xdW90ZXMvW2lkXS9hY2NlcHQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXNFO0FBQ3RFLGdHQUFtRztBQUU1RixNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixNQUFNLElBQUEsbURBQTJCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvQyxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsRUFBRTtZQUNaLFdBQVcsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDdkM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ25CO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07S0FDL0IsRUFDRCxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUM3QixDQUFDO0lBRUYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUM7QUExQlcsUUFBQSxJQUFJLFFBMEJmIn0=
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const quote_1 = require("../../../../../../../modules/quote");
|
|
6
|
+
const generate_quote_pdf_1 = require("../../../../../../../utils/generate-quote-pdf");
|
|
7
|
+
const formatCurrency = (amount, currency) => {
|
|
8
|
+
if (typeof amount !== "number" || Number.isNaN(amount)) {
|
|
9
|
+
return "-";
|
|
10
|
+
}
|
|
11
|
+
const normalized = amount / 100;
|
|
12
|
+
try {
|
|
13
|
+
return new Intl.NumberFormat("th-TH", {
|
|
14
|
+
style: "currency",
|
|
15
|
+
currency: (currency || "THB").toUpperCase(),
|
|
16
|
+
}).format(normalized);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return `${normalized.toFixed(2)} ${currency || "THB"}`;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const extractClientInfo = (quote) => {
|
|
23
|
+
const shipping = quote?.draft_order?.shipping_address;
|
|
24
|
+
const billing = quote?.draft_order?.billing_address;
|
|
25
|
+
const fallback = shipping || billing || {};
|
|
26
|
+
const customer = quote?.draft_order?.customer;
|
|
27
|
+
const nameParts = [
|
|
28
|
+
fallback.first_name || customer?.first_name || "",
|
|
29
|
+
fallback.last_name || customer?.last_name || "",
|
|
30
|
+
].filter(Boolean);
|
|
31
|
+
const name = nameParts.join(" ").trim() ||
|
|
32
|
+
fallback.company ||
|
|
33
|
+
customer?.email ||
|
|
34
|
+
"Customer";
|
|
35
|
+
return {
|
|
36
|
+
name,
|
|
37
|
+
address1: fallback.address_1 || "",
|
|
38
|
+
address2: fallback.address_2 || "",
|
|
39
|
+
zipCode: fallback.postal_code || "",
|
|
40
|
+
phone: fallback.phone || customer?.phone || "",
|
|
41
|
+
email: customer?.email || "",
|
|
42
|
+
taxId: fallback.metadata?.tax_id || "",
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const extractItems = (quote, currency) => {
|
|
46
|
+
const items = quote?.draft_order?.items ?? [];
|
|
47
|
+
return items.map((item, index) => {
|
|
48
|
+
const code = item?.variant?.sku ||
|
|
49
|
+
item?.variant?.id ||
|
|
50
|
+
item?.product_handle ||
|
|
51
|
+
`ITEM-${index + 1}`;
|
|
52
|
+
const description = item?.title ||
|
|
53
|
+
item?.variant?.product?.title ||
|
|
54
|
+
item?.description ||
|
|
55
|
+
"สินค้า";
|
|
56
|
+
const qty = item?.detail?.quantity ?? item?.quantity ?? 1;
|
|
57
|
+
const unitPrice = item?.detail?.unit_price ??
|
|
58
|
+
item?.unit_price ??
|
|
59
|
+
item?.subtotal ??
|
|
60
|
+
item?.total ??
|
|
61
|
+
0;
|
|
62
|
+
const totalPrice = item?.total ?? unitPrice * qty;
|
|
63
|
+
return {
|
|
64
|
+
code,
|
|
65
|
+
description,
|
|
66
|
+
qty,
|
|
67
|
+
price: formatCurrency(unitPrice, currency),
|
|
68
|
+
total: formatCurrency(totalPrice, currency),
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const extractTotals = (quote, currency) => {
|
|
73
|
+
const summary = quote?.draft_order?.summary ?? {};
|
|
74
|
+
const subtotal = summary.current_subtotal ??
|
|
75
|
+
summary.current_items_total ??
|
|
76
|
+
quote?.draft_order?.item_total ??
|
|
77
|
+
quote?.draft_order?.subtotal ??
|
|
78
|
+
0;
|
|
79
|
+
const discount = summary.current_discount_total ??
|
|
80
|
+
quote?.draft_order?.discount_total ??
|
|
81
|
+
0;
|
|
82
|
+
const total = summary.current_total ?? quote?.draft_order?.total ?? subtotal - discount;
|
|
83
|
+
const vat = summary.current_tax_total ?? quote?.draft_order?.tax_total ?? 0;
|
|
84
|
+
const totalDue = summary.current_total ?? quote?.draft_order?.total ?? total;
|
|
85
|
+
const vatRate = subtotal > 0 && vat > 0
|
|
86
|
+
? `${((vat / subtotal) * 100).toFixed(2)}%`
|
|
87
|
+
: "-";
|
|
88
|
+
return {
|
|
89
|
+
subtotal: formatCurrency(subtotal, currency),
|
|
90
|
+
discount: formatCurrency(discount, currency),
|
|
91
|
+
discountRate: discount > 0 && subtotal > 0
|
|
92
|
+
? `${((discount / subtotal) * 100).toFixed(2)}%`
|
|
93
|
+
: "0%",
|
|
94
|
+
total: formatCurrency(total, currency),
|
|
95
|
+
vat: formatCurrency(vat, currency),
|
|
96
|
+
vatRate,
|
|
97
|
+
totalDue: formatCurrency(totalDue, currency),
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
const buildPdfPayload = (quote, store) => {
|
|
101
|
+
const currency = quote?.draft_order?.currency_code || "THB";
|
|
102
|
+
const amountDue = quote?.draft_order?.summary?.current_total ??
|
|
103
|
+
quote?.draft_order?.total;
|
|
104
|
+
return {
|
|
105
|
+
companyInfo: {
|
|
106
|
+
name: store?.name || "",
|
|
107
|
+
address1: store?.address1 || "",
|
|
108
|
+
address2: store?.address2 || "",
|
|
109
|
+
zipCode: store?.zipCode || "",
|
|
110
|
+
phone: store?.phone || "",
|
|
111
|
+
email: store?.email || "",
|
|
112
|
+
website: store?.website || "",
|
|
113
|
+
taxId: store?.taxId || "",
|
|
114
|
+
logoUrl: store?.logoUrl || "",
|
|
115
|
+
},
|
|
116
|
+
clientInfo: extractClientInfo(quote),
|
|
117
|
+
quotation: {
|
|
118
|
+
number: quote?.doc_no || quote?.draft_order?.display_id || quote?.id,
|
|
119
|
+
amountDue: formatCurrency(amountDue, currency),
|
|
120
|
+
date: new Intl.DateTimeFormat("th-TH", {
|
|
121
|
+
dateStyle: "medium",
|
|
122
|
+
}).format(new Date(quote?.created_at)),
|
|
123
|
+
},
|
|
124
|
+
items: extractItems(quote, currency),
|
|
125
|
+
totals: extractTotals(quote, currency),
|
|
126
|
+
note: "",
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
const GET = async (req, res) => {
|
|
130
|
+
const { id } = req.params;
|
|
131
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
132
|
+
const { data: [quote], } = await query.graph({
|
|
133
|
+
entity: "quote",
|
|
134
|
+
fields: req.queryConfig.fields,
|
|
135
|
+
filters: {
|
|
136
|
+
id,
|
|
137
|
+
customer_id: req.auth_context.actor_id,
|
|
138
|
+
},
|
|
139
|
+
}, { throwIfKeyNotFound: true });
|
|
140
|
+
const storeService = req.scope.resolve(utils_1.Modules.STORE);
|
|
141
|
+
const stores = await storeService.listStores();
|
|
142
|
+
if (!stores.length) {
|
|
143
|
+
return res.status(404).json({ message: "Store not configured" });
|
|
144
|
+
}
|
|
145
|
+
const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
|
|
146
|
+
const [storeDetail] = await quoteModuleService.listQuoteStoreDetails({
|
|
147
|
+
store_id: stores[0].id,
|
|
148
|
+
});
|
|
149
|
+
if (!storeDetail) {
|
|
150
|
+
return res.status(400).json({
|
|
151
|
+
message: "Quote store information is not configured.",
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
const pdfPayload = buildPdfPayload(quote, storeDetail);
|
|
155
|
+
const pdfBuffer = await (0, generate_quote_pdf_1.generateQuotePdf)(pdfPayload);
|
|
156
|
+
const filename = `quotation-${pdfPayload.quotation.number}.pdf`;
|
|
157
|
+
res.setHeader("Content-Type", "application/pdf");
|
|
158
|
+
res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
|
|
159
|
+
return res.send(pdfBuffer);
|
|
160
|
+
};
|
|
161
|
+
exports.GET = GET;
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9xdW90ZXMvW2lkXS9kb3dubG9hZC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBK0U7QUFDL0UsOERBQWtFO0FBRWxFLHNGQUFpRjtBQUdqRixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQXNCLEVBQUUsUUFBaUIsRUFBRSxFQUFFO0lBQ25FLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBRWhDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUNwQyxLQUFLLEVBQUUsVUFBVTtZQUNqQixRQUFRLEVBQUUsQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFO1NBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7SUFDcEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxJQUFJLE9BQU8s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
|
|
@@ -7,7 +7,7 @@ const GET = async (req, res) => {
|
|
|
7
7
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
8
|
const { data: [quote], } = await query.graph({
|
|
9
9
|
entity: "quote",
|
|
10
|
-
filters: { id },
|
|
10
|
+
filters: { id, customer_id: req.auth_context.actor_id },
|
|
11
11
|
fields: req.queryConfig.fields,
|
|
12
12
|
}, { throwIfKeyNotFound: true });
|
|
13
13
|
const orderModuleService = req.scope.resolve(utils_1.Modules.ORDER);
|
|
@@ -20,4 +20,4 @@ const GET = async (req, res) => {
|
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
exports.GET = GET;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9xdW90ZXMvW2lkXS9wcmV2aWV3L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUErRTtBQUV4RSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFDO0lBRUYsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtRQUN2RCxNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO0tBQy9CLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzFDLGVBQU8sQ0FBQyxLQUFLLENBQ2QsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsa0JBQWtCLENBQ3pELEtBQUssQ0FBQyxjQUFjLENBQ3JCLENBQUM7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuQixLQUFLLEVBQUU7WUFDTCxHQUFHLEtBQUs7WUFDUixhQUFhLEVBQUUsT0FBTztTQUN2QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQWxDVyxRQUFBLEdBQUcsT0FrQ2QifQ==
|
|
@@ -14,10 +14,10 @@ const POST = async (req, res) => {
|
|
|
14
14
|
});
|
|
15
15
|
const { data: [quote], } = await query.graph({
|
|
16
16
|
entity: "quote",
|
|
17
|
-
filters: { id },
|
|
17
|
+
filters: { id, customer_id: req.auth_context.actor_id },
|
|
18
18
|
fields: req.queryConfig.fields,
|
|
19
19
|
}, { throwIfKeyNotFound: true });
|
|
20
20
|
return res.json({ quote });
|
|
21
21
|
};
|
|
22
22
|
exports.POST = POST;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9xdW90ZXMvW2lkXS9yZWplY3Qvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXNFO0FBQ3RFLGdHQUFtRztBQUU1RixNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFDO0lBRUYsTUFBTSxJQUFBLG1EQUEyQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDL0MsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO1NBQ3ZDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtRQUN2RCxNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO0tBQy9CLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBNUJXLFFBQUEsSUFBSSxRQTRCZiJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
const { id } = req.params;
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { data: [quote], } = await query.graph({
|
|
9
|
+
entity: "quote",
|
|
10
|
+
fields: req.queryConfig.fields,
|
|
11
|
+
filters: {
|
|
12
|
+
id,
|
|
13
|
+
customer_id: req.auth_context.actor_id,
|
|
14
|
+
},
|
|
15
|
+
}, { throwIfKeyNotFound: true });
|
|
16
|
+
return res.json({ quote });
|
|
17
|
+
};
|
|
18
|
+
exports.GET = GET;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9xdW90ZXMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBc0U7QUFFL0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDMUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUU7WUFDUCxFQUFFO1lBQ0YsV0FBVyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUTtTQUN2QztLQUNGLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBdEJXLFFBQUEsR0FBRyxPQXNCZCJ9
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.listStoreQuoteQueryConfig = exports.retrieveStoreQuoteQueryConfig = exports.quoteFields = void 0;
|
|
4
4
|
exports.quoteFields = [
|
|
5
5
|
"id",
|
|
6
|
+
"doc_no",
|
|
6
7
|
"status",
|
|
8
|
+
"user_id",
|
|
7
9
|
"*customer",
|
|
8
10
|
"cart.id",
|
|
9
11
|
"draft_order.id",
|
|
@@ -24,6 +26,9 @@ exports.quoteFields = [
|
|
|
24
26
|
"draft_order.item_total",
|
|
25
27
|
"draft_order.item_subtotal",
|
|
26
28
|
"draft_order.item_tax_total",
|
|
29
|
+
"draft_order.shipping_address.*",
|
|
30
|
+
"draft_order.billing_address.*",
|
|
31
|
+
"draft_order.customer.*",
|
|
27
32
|
"draft_order.original_item_total",
|
|
28
33
|
"draft_order.original_item_subtotal",
|
|
29
34
|
"draft_order.original_item_tax_total",
|
|
@@ -52,4 +57,4 @@ exports.listStoreQuoteQueryConfig = {
|
|
|
52
57
|
defaults: exports.quoteFields,
|
|
53
58
|
isList: true,
|
|
54
59
|
};
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9zdG9yZS9jdXN0b21lcnMvbWUvcXVvdGVzL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFdBQVcsR0FBRztJQUN6QixJQUFJO0lBQ0osUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQUNYLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsMkJBQTJCO0lBQzNCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0lBQzVCLGdDQUFnQztJQUNoQyx3QkFBd0I7SUFDeEIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsK0JBQStCO0lBQy9CLHdCQUF3QjtJQUN4QixpQ0FBaUM7SUFDakMsb0NBQW9DO0lBQ3BDLHFDQUFxQztJQUNyQyw0QkFBNEI7SUFDNUIsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyx5Q0FBeUM7SUFDekMsd0NBQXdDO0lBQ3hDLHFDQUFxQztJQUNyQyx3QkFBd0I7SUFDeEIsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtJQUM1QixvQ0FBb0M7SUFDcEMsMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQyx1QkFBdUI7Q0FDeEIsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsUUFBUSxFQUFFLG1CQUFXO0lBQ3JCLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQztBQUVXLFFBQUEseUJBQXlCLEdBQUc7SUFDdkMsUUFBUSxFQUFFLG1CQUFXO0lBQ3JCLE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQyJ9
|
|
@@ -1,22 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.POST = void 0;
|
|
3
|
+
exports.POST = exports.GET = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const create_request_for_quote_1 = require("../../../../../workflows/create-request-for-quote");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const queryConfig = req.queryConfig;
|
|
9
|
+
const { data: quotes, metadata } = await query.graph({
|
|
10
|
+
entity: "quote",
|
|
11
|
+
...queryConfig,
|
|
12
|
+
filters: {
|
|
13
|
+
...(queryConfig.filters ?? {}),
|
|
14
|
+
customer_id: req.auth_context.actor_id,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
return res.json({
|
|
18
|
+
quotes,
|
|
19
|
+
count: metadata?.count ?? quotes.length,
|
|
20
|
+
offset: metadata?.skip ?? 0,
|
|
21
|
+
limit: metadata?.take ?? quotes.length,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.GET = GET;
|
|
6
25
|
const POST = async (req, res) => {
|
|
7
26
|
const { result: { quote: createdQuote }, } = await (0, create_request_for_quote_1.createRequestForQuoteWorkflow)(req.scope).run({
|
|
8
27
|
input: {
|
|
9
28
|
...req.validatedBody,
|
|
10
29
|
customer_id: req.auth_context.actor_id,
|
|
30
|
+
user_id: req.auth_context.actor_id,
|
|
11
31
|
},
|
|
12
32
|
});
|
|
13
33
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
14
34
|
const { data: [quote], } = await query.graph({
|
|
15
35
|
entity: "quote",
|
|
16
36
|
fields: req.queryConfig.fields,
|
|
17
|
-
filters: {
|
|
37
|
+
filters: {
|
|
38
|
+
id: createdQuote.id,
|
|
39
|
+
customer_id: req.auth_context.actor_id,
|
|
40
|
+
},
|
|
18
41
|
}, { throwIfKeyNotFound: true });
|
|
19
42
|
return res.json({ quote });
|
|
20
43
|
};
|
|
21
44
|
exports.POST = POST;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9xdW90ZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXNFO0FBQ3RFLGdHQUUyRDtBQUdwRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQW1ELEVBQ25ELEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FFdkIsQ0FBQztJQUVGLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTztRQUNmLEdBQUcsV0FBVztRQUNkLE9BQU8sRUFBRTtZQUNQLEdBQUcsQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUM5QixXQUFXLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO1NBQ3ZDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2QsTUFBTTtRQUNOLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQ3ZDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDM0IsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU07S0FDdkMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsR0FBRyxPQXdCZDtBQUVLLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBZ0QsRUFDaEQsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sRUFDSixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEdBQ2hDLEdBQUcsTUFBTSxJQUFBLHdEQUE2QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsR0FBRyxHQUFHLENBQUMsYUFBYTtZQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO1lBQ3RDLE9BQU8sRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDbkM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFDO0lBRUYsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUU7WUFDbkIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUTtTQUN2QztLQUNGLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBakNXLFFBQUEsSUFBSSxRQWlDZiJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251101100000 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20251101100000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "quote" add column "user_id" text;`);
|
|
8
|
+
this.addSql(`update "quote" set "user_id" = "customer_id" where "user_id" is null;`);
|
|
9
|
+
this.addSql(`alter table if exists "quote" alter column "user_id" set not null;`);
|
|
10
|
+
}
|
|
11
|
+
async down() {
|
|
12
|
+
this.addSql(`alter table if exists "quote" drop column if exists "user_id";`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Migration20251101100000 = Migration20251101100000;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTExMDExMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9xdW90ZS9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUxMTAxMTAwMDAwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCwwREFBMEQsQ0FDM0QsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQ1QsdUVBQXVFLENBQ3hFLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUNULG9FQUFvRSxDQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQ1QsZ0VBQWdFLENBQ2pFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwQkQsMERBb0JDIn0=
|
|
@@ -9,9 +9,10 @@ exports.Quote = utils_1.model.define("quote", {
|
|
|
9
9
|
status: utils_1.model
|
|
10
10
|
.enum(Object.values(quote_status_enum_1.QuoteStatus))
|
|
11
11
|
.default(quote_status_enum_1.QuoteStatus.PENDING_MERCHANT),
|
|
12
|
+
user_id: utils_1.model.text(),
|
|
12
13
|
customer_id: utils_1.model.text(),
|
|
13
14
|
draft_order_id: utils_1.model.text(),
|
|
14
15
|
order_change_id: utils_1.model.text(),
|
|
15
16
|
cart_id: utils_1.model.text().nullable(),
|
|
16
17
|
});
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9xdW90ZS9tb2RlbHMvcXVvdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtEO0FBQ2xELGtFQUF5RDtBQUU1QyxRQUFBLEtBQUssR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtJQUN6QyxFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRTtJQUMzQixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNwQixNQUFNLEVBQUUsYUFBSztTQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLCtCQUFXLENBQUMsQ0FBQztTQUNoQyxPQUFPLENBQUMsK0JBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN4QyxPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNyQixXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN6QixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,335 @@
|
|
|
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.generateQuotePdf = void 0;
|
|
7
|
+
const pdfmake_1 = __importDefault(require("pdfmake"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const fonts = {
|
|
10
|
+
Sarabun: {
|
|
11
|
+
normal: path_1.default.join(__dirname, "..", "fonts", "Sarabun", "Sarabun-Regular.ttf"),
|
|
12
|
+
bold: path_1.default.join(__dirname, "..", "fonts", "Sarabun", "Sarabun-Bold.ttf"),
|
|
13
|
+
italics: path_1.default.join(__dirname, "..", "fonts", "Sarabun", "Sarabun-Italic.ttf"),
|
|
14
|
+
bolditalics: path_1.default.join(__dirname, "..", "fonts", "Sarabun", "Sarabun-BoldItalic.ttf"),
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
const printer = new pdfmake_1.default(fonts);
|
|
18
|
+
const colors = {
|
|
19
|
+
primary: "#4169e1",
|
|
20
|
+
border: "#d8d8d8",
|
|
21
|
+
strip: "#ecf0fc",
|
|
22
|
+
};
|
|
23
|
+
const cmToPt = (cm) => (cm / 2.54) * 72;
|
|
24
|
+
const formatAddress = (info) => [
|
|
25
|
+
{ text: info.name, bold: true },
|
|
26
|
+
info.address1,
|
|
27
|
+
info.address2 || "",
|
|
28
|
+
info.zipCode || "",
|
|
29
|
+
info.phone ? `Phone: ${info.phone}` : "",
|
|
30
|
+
info.email ? `Email: ${info.email}` : "",
|
|
31
|
+
info.website ? `Website: ${info.website}` : "",
|
|
32
|
+
info.taxId ? `Tax ID: ${info.taxId}` : "",
|
|
33
|
+
].filter(Boolean);
|
|
34
|
+
const fetchImageAsDataUrl = async (url) => {
|
|
35
|
+
if (!url) {
|
|
36
|
+
return "";
|
|
37
|
+
}
|
|
38
|
+
const response = await fetch(url);
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
throw new Error(`Failed to fetch image (${response.status})`);
|
|
41
|
+
}
|
|
42
|
+
const buffer = Buffer.from(await response.arrayBuffer());
|
|
43
|
+
const contentType = response.headers.get("content-type") || "application/octet-stream";
|
|
44
|
+
return `data:${contentType};base64,${buffer.toString("base64")}`;
|
|
45
|
+
};
|
|
46
|
+
const generateQuotePdf = async (data) => {
|
|
47
|
+
const { companyInfo, clientInfo, quotation, items, totals, note = "" } = data;
|
|
48
|
+
const horizontalMargin = cmToPt(3.1);
|
|
49
|
+
const verticalMargin = 40;
|
|
50
|
+
const docDefinition = {
|
|
51
|
+
pageSize: "A4",
|
|
52
|
+
pageMargins: [
|
|
53
|
+
horizontalMargin,
|
|
54
|
+
verticalMargin,
|
|
55
|
+
horizontalMargin,
|
|
56
|
+
verticalMargin,
|
|
57
|
+
],
|
|
58
|
+
defaultStyle: {
|
|
59
|
+
font: "Sarabun",
|
|
60
|
+
fontSize: 10,
|
|
61
|
+
},
|
|
62
|
+
images: {},
|
|
63
|
+
content: [
|
|
64
|
+
{
|
|
65
|
+
columns: [
|
|
66
|
+
{
|
|
67
|
+
width: "*",
|
|
68
|
+
stack: formatAddress(companyInfo).map((line) => ({ text: line })),
|
|
69
|
+
},
|
|
70
|
+
companyInfo.logoUrl
|
|
71
|
+
? {
|
|
72
|
+
image: "logoUrl",
|
|
73
|
+
width: 120,
|
|
74
|
+
alignment: "right",
|
|
75
|
+
}
|
|
76
|
+
: { text: "" },
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
{ text: "\n" },
|
|
80
|
+
{
|
|
81
|
+
text: "Quotation / ใบเสนอราคา",
|
|
82
|
+
alignment: "center",
|
|
83
|
+
fontSize: 16,
|
|
84
|
+
bold: true,
|
|
85
|
+
},
|
|
86
|
+
{ text: "\n" },
|
|
87
|
+
{
|
|
88
|
+
table: {
|
|
89
|
+
widths: ["*", "auto"],
|
|
90
|
+
body: [
|
|
91
|
+
[
|
|
92
|
+
{
|
|
93
|
+
text: "Quotation To",
|
|
94
|
+
colSpan: 2,
|
|
95
|
+
color: "white",
|
|
96
|
+
fillColor: colors.primary,
|
|
97
|
+
bold: true,
|
|
98
|
+
margin: [5, 5, 0, 5],
|
|
99
|
+
},
|
|
100
|
+
{},
|
|
101
|
+
],
|
|
102
|
+
[
|
|
103
|
+
{
|
|
104
|
+
stack: [
|
|
105
|
+
{ text: clientInfo.name, bold: true },
|
|
106
|
+
{ text: clientInfo.address1 },
|
|
107
|
+
{ text: clientInfo.address2 },
|
|
108
|
+
{ text: clientInfo.zipCode },
|
|
109
|
+
clientInfo.phone
|
|
110
|
+
? { text: `Phone: ${clientInfo.phone}` }
|
|
111
|
+
: undefined,
|
|
112
|
+
clientInfo.email
|
|
113
|
+
? { text: `Email: ${clientInfo.email}` }
|
|
114
|
+
: undefined,
|
|
115
|
+
clientInfo.taxId
|
|
116
|
+
? { text: `Tax ID: ${clientInfo.taxId}` }
|
|
117
|
+
: undefined,
|
|
118
|
+
].filter(Boolean),
|
|
119
|
+
margin: [5, 5, 5, 5],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
table: {
|
|
123
|
+
body: [
|
|
124
|
+
[{ text: "Quotation No:", bold: true }, quotation.number],
|
|
125
|
+
[{ text: "Date:", bold: true }, quotation.date],
|
|
126
|
+
[{ text: "Amount Due:", bold: true }, quotation.amountDue],
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
layout: "noBorders",
|
|
130
|
+
margin: [0, 5, 5, 5],
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
layout: {
|
|
136
|
+
hLineColor: () => colors.border,
|
|
137
|
+
vLineColor: () => colors.border,
|
|
138
|
+
},
|
|
139
|
+
margin: [0, 10, 0, 10],
|
|
140
|
+
},
|
|
141
|
+
{ text: "\n" },
|
|
142
|
+
{
|
|
143
|
+
table: {
|
|
144
|
+
headerRows: 1,
|
|
145
|
+
dontBreakRows: true,
|
|
146
|
+
widths: ["auto", "*", 40, 80, 80],
|
|
147
|
+
body: [
|
|
148
|
+
[
|
|
149
|
+
{ text: "Code", style: "tableHeader" },
|
|
150
|
+
{ text: "Description", style: "tableHeader" },
|
|
151
|
+
{ text: "Qty", style: "tableHeader" },
|
|
152
|
+
{ text: "Unit Price", style: "tableHeader" },
|
|
153
|
+
{ text: "Total", style: "tableHeader" },
|
|
154
|
+
],
|
|
155
|
+
...items.map((item) => [
|
|
156
|
+
{ text: item.code, alignment: "center" },
|
|
157
|
+
{ text: item.description, alignment: "left" },
|
|
158
|
+
{ text: item.qty, alignment: "center" },
|
|
159
|
+
{ text: item.price, alignment: "right" },
|
|
160
|
+
{ text: item.total, alignment: "right" },
|
|
161
|
+
]),
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
layout: {
|
|
165
|
+
hLineColor: () => colors.border,
|
|
166
|
+
vLineColor: () => colors.border,
|
|
167
|
+
fillColor: (rowIndex) => rowIndex % 2 === 0 ? null : colors.strip,
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
table: {
|
|
172
|
+
dontBreakRows: true,
|
|
173
|
+
widths: "*",
|
|
174
|
+
body: [
|
|
175
|
+
[
|
|
176
|
+
{
|
|
177
|
+
stack: [
|
|
178
|
+
{
|
|
179
|
+
table: {
|
|
180
|
+
widths: ["*", 80],
|
|
181
|
+
body: [
|
|
182
|
+
[
|
|
183
|
+
{ text: "Subtotal", alignment: "right" },
|
|
184
|
+
{ text: totals.subtotal, alignment: "right" },
|
|
185
|
+
],
|
|
186
|
+
[
|
|
187
|
+
{ text: "Discount", alignment: "right" },
|
|
188
|
+
{ text: totals.discount, alignment: "right" },
|
|
189
|
+
],
|
|
190
|
+
[
|
|
191
|
+
{ text: "Total", alignment: "right" },
|
|
192
|
+
{ text: totals.total, alignment: "right" },
|
|
193
|
+
],
|
|
194
|
+
[
|
|
195
|
+
{
|
|
196
|
+
text: `Vat ${totals.vatRate}`,
|
|
197
|
+
alignment: "right",
|
|
198
|
+
},
|
|
199
|
+
{ text: totals.vat, alignment: "right" },
|
|
200
|
+
],
|
|
201
|
+
[
|
|
202
|
+
{
|
|
203
|
+
text: "Total due",
|
|
204
|
+
alignment: "right",
|
|
205
|
+
bold: true,
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
text: totals.totalDue,
|
|
209
|
+
alignment: "right",
|
|
210
|
+
bold: true,
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
],
|
|
214
|
+
},
|
|
215
|
+
layout: {
|
|
216
|
+
hLineColor: () => colors.border,
|
|
217
|
+
vLineColor: () => colors.border,
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
text: note,
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
columns: [
|
|
225
|
+
{
|
|
226
|
+
width: "*",
|
|
227
|
+
stack: [
|
|
228
|
+
{
|
|
229
|
+
text: "...........................................................",
|
|
230
|
+
alignment: "center",
|
|
231
|
+
margin: [0, 40, 0, 0],
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
text: "( )",
|
|
235
|
+
alignment: "center",
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
text: "Client Signature",
|
|
239
|
+
alignment: "center",
|
|
240
|
+
},
|
|
241
|
+
],
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
width: "*",
|
|
245
|
+
stack: [
|
|
246
|
+
{
|
|
247
|
+
text: "...........................................................",
|
|
248
|
+
alignment: "center",
|
|
249
|
+
margin: [0, 40, 0, 0],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
text: "( )",
|
|
253
|
+
alignment: "center",
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
text: "Issuer Signature",
|
|
257
|
+
alignment: "center",
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
margin: [0, 40, 0, 0],
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
],
|
|
268
|
+
},
|
|
269
|
+
layout: {
|
|
270
|
+
vLineWidth: () => 0,
|
|
271
|
+
hLineWidth: () => 0,
|
|
272
|
+
paddingTop: () => 0,
|
|
273
|
+
paddingBottom: () => 0,
|
|
274
|
+
paddingLeft: () => 0,
|
|
275
|
+
paddingRight: () => 0,
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
footer: (currentPage, pageCount) => ({
|
|
280
|
+
margin: [cmToPt(3.1), 0, 40, 0],
|
|
281
|
+
columns: [
|
|
282
|
+
{
|
|
283
|
+
width: "*",
|
|
284
|
+
style: "footer",
|
|
285
|
+
text: [
|
|
286
|
+
companyInfo.name,
|
|
287
|
+
companyInfo.phone ? ` | Phone: ${companyInfo.phone}` : "",
|
|
288
|
+
companyInfo.email ? ` | Email: ${companyInfo.email}` : "",
|
|
289
|
+
]
|
|
290
|
+
.filter(Boolean)
|
|
291
|
+
.join(" "),
|
|
292
|
+
alignment: "left",
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
width: "auto",
|
|
296
|
+
style: "footer",
|
|
297
|
+
text: `Page ${currentPage} of ${pageCount}`,
|
|
298
|
+
alignment: "right",
|
|
299
|
+
},
|
|
300
|
+
],
|
|
301
|
+
}),
|
|
302
|
+
styles: {
|
|
303
|
+
tableHeader: {
|
|
304
|
+
bold: true,
|
|
305
|
+
fillColor: colors.primary,
|
|
306
|
+
color: "white",
|
|
307
|
+
alignment: "center",
|
|
308
|
+
},
|
|
309
|
+
footer: {
|
|
310
|
+
fontSize: 10,
|
|
311
|
+
color: "gray",
|
|
312
|
+
alignment: "center",
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
};
|
|
316
|
+
if (companyInfo.logoUrl) {
|
|
317
|
+
try {
|
|
318
|
+
const dataUrl = await fetchImageAsDataUrl(companyInfo.logoUrl);
|
|
319
|
+
docDefinition.images["logoUrl"] = dataUrl;
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
console.warn("Unable to load logo for quote PDF", error);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
const pdfDoc = printer.createPdfKitDocument(docDefinition);
|
|
326
|
+
return await new Promise((resolve, reject) => {
|
|
327
|
+
const chunks = [];
|
|
328
|
+
pdfDoc.on("data", (chunk) => chunks.push(chunk));
|
|
329
|
+
pdfDoc.on("end", () => resolve(Buffer.concat(chunks)));
|
|
330
|
+
pdfDoc.on("error", (err) => reject(err));
|
|
331
|
+
pdfDoc.end();
|
|
332
|
+
});
|
|
333
|
+
};
|
|
334
|
+
exports.generateQuotePdf = generateQuotePdf;
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcXVvdGUtcGRmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2dlbmVyYXRlLXF1b3RlLXBkZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFBaUM7QUFFakMsZ0RBQXdCO0FBRXhCLE1BQU0sS0FBSyxHQUFHO0lBQ1osT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLGNBQUksQ0FBQyxJQUFJLENBQ2YsU0FBUyxFQUNULElBQUksRUFDSixPQUFPLEVBQ1AsU0FBUyxFQUNULHFCQUFxQixDQUN0QjtRQUNELElBQUksRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQztRQUN4RSxPQUFPLEVBQUUsY0FBSSxDQUFDLElBQUksQ0FDaEIsU0FBUyxFQUNULElBQUksRUFDSixPQUFPLEVBQ1AsU0FBUyxFQUNULG9CQUFvQixDQUNyQjtRQUNELFdBQVcsRUFBRSxjQUFJLENBQUMsSUFBSSxDQUNwQixTQUFTLEVBQ1QsSUFBSSxFQUNKLE9BQU8sRUFDUCxTQUFTLEVBQ1Qsd0JBQXdCLENBQ3pCO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBK0N0QyxNQUFNLE1BQU0sR0FBRztJQUNiLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUM7QUFFRixNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRWhELE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBaUIsRUFBRSxFQUFFLENBRXhDO0lBQ0UsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJ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
|
|
@@ -62,18 +62,21 @@ exports.adminCreateQuoteWorkflow = (0, workflows_sdk_1.createWorkflow)("admin-cr
|
|
|
62
62
|
draftOrder,
|
|
63
63
|
customers,
|
|
64
64
|
changeOrder,
|
|
65
|
-
|
|
65
|
+
user_id: input.user_id,
|
|
66
|
+
}, ({ draftOrder, customers, changeOrder, user_id }) => {
|
|
66
67
|
return {
|
|
67
68
|
draft_order_id: draftOrder.id,
|
|
68
69
|
customer_id: customers[0].id,
|
|
70
|
+
user_id,
|
|
69
71
|
order_change_id: changeOrder.id,
|
|
70
72
|
};
|
|
71
73
|
});
|
|
72
74
|
const quotes = (0, create_quotes_1.createQuotesStep)([quoteData]);
|
|
75
|
+
const createdQuote = (0, workflows_sdk_1.transform)({ quotes }, ({ quotes }) => quotes[0]);
|
|
73
76
|
(0, core_flows_1.emitEventStep)({
|
|
74
77
|
eventName: "quote.created",
|
|
75
|
-
data: { id:
|
|
78
|
+
data: { id: createdQuote.id },
|
|
76
79
|
});
|
|
77
|
-
return new workflows_sdk_1.WorkflowResponse({ quote:
|
|
80
|
+
return new workflows_sdk_1.WorkflowResponse({ quote: createdQuote });
|
|
78
81
|
});
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY3JlYXRlLXF1b3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZG1pbi1jcmVhdGUtcXVvdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBTXFDO0FBQ3JDLHFEQUF3RDtBQUN4RCxxRUFJMkM7QUFFM0MseURBQXlEO0FBYzVDLFFBQUEsd0JBQXdCLEdBQUcsSUFBQSw4QkFBYyxFQUNwRCxvQkFBb0IsRUFDcEIsQ0FBQyxLQUFvQixFQUFFLEVBQUU7SUFDdkIsdUJBQXVCO0lBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUM1QyxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDbEMsT0FBTyxFQUFFO1lBQ1Asa0JBQWtCLEVBQUUsSUFBSTtTQUN6QjtLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRXRDLHFCQUFxQjtJQUNyQixNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDMUMsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQztRQUMvQixPQUFPLEVBQUUsRUFBRTtLQUNaLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUVwQyw2Q0FBNkM7SUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBUyxFQUMxQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQzdCLENBQUMsRUFBRSxT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
|
|
@@ -5,6 +5,21 @@ const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
|
5
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
6
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
7
|
const create_quotes_1 = require("./steps/create-quotes");
|
|
8
|
+
const sanitizeCartShippingMethods = (shippingMethods) => {
|
|
9
|
+
if (!shippingMethods?.length) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
return shippingMethods.map((method) => {
|
|
13
|
+
const { id: _id, cart_id, cart, order_id, order, claim_id, exchange_id, return_id, created_at, updated_at, deleted_at, shipping_option, detail, tax_lines, ...rest } = method;
|
|
14
|
+
const sanitizedTaxLines = Array.isArray(tax_lines)
|
|
15
|
+
? tax_lines.map(({ id: _taxId, shipping_method_id, created_at, updated_at, deleted_at, ...taxLineRest }) => taxLineRest)
|
|
16
|
+
: undefined;
|
|
17
|
+
return {
|
|
18
|
+
...rest,
|
|
19
|
+
...(sanitizedTaxLines ? { tax_lines: sanitizedTaxLines } : {}),
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
};
|
|
8
23
|
exports.createRequestForQuoteWorkflow = (0, workflows_sdk_1.createWorkflow)("create-request-for-quote", (input) => {
|
|
9
24
|
// @ts-ignore
|
|
10
25
|
const { data: carts } = (0, core_flows_1.useQueryGraphStep)({
|
|
@@ -48,7 +63,7 @@ exports.createRequestForQuoteWorkflow = (0, workflows_sdk_1.createWorkflow)("cre
|
|
|
48
63
|
region_id: carts[0].region_id || undefined,
|
|
49
64
|
promo_codes: carts[0].promotions?.map((promo) => promo?.code),
|
|
50
65
|
currency_code: carts[0].currency_code,
|
|
51
|
-
shipping_methods: carts[0].shipping_methods
|
|
66
|
+
shipping_methods: sanitizeCartShippingMethods(carts[0].shipping_methods),
|
|
52
67
|
};
|
|
53
68
|
});
|
|
54
69
|
const draftOrder = core_flows_1.createOrderWorkflow.runAsStep({
|
|
@@ -70,19 +85,22 @@ exports.createRequestForQuoteWorkflow = (0, workflows_sdk_1.createWorkflow)("cre
|
|
|
70
85
|
carts,
|
|
71
86
|
customers,
|
|
72
87
|
changeOrder,
|
|
73
|
-
|
|
88
|
+
user_id: input.user_id,
|
|
89
|
+
}, ({ draftOrder, carts, customers, changeOrder, user_id }) => {
|
|
74
90
|
return {
|
|
75
91
|
draft_order_id: draftOrder.id,
|
|
76
92
|
cart_id: carts[0].id,
|
|
93
|
+
user_id,
|
|
77
94
|
customer_id: customers[0].id,
|
|
78
95
|
order_change_id: changeOrder.id,
|
|
79
96
|
};
|
|
80
97
|
});
|
|
81
98
|
const quotes = (0, create_quotes_1.createQuotesStep)([quoteData]);
|
|
99
|
+
const createdQuote = (0, workflows_sdk_1.transform)({ quotes }, ({ quotes }) => quotes[0]);
|
|
82
100
|
(0, core_flows_1.emitEventStep)({
|
|
83
101
|
eventName: "quote.requested",
|
|
84
|
-
data: { id:
|
|
102
|
+
data: { id: createdQuote.id },
|
|
85
103
|
});
|
|
86
|
-
return new workflows_sdk_1.WorkflowResponse({ quote:
|
|
104
|
+
return new workflows_sdk_1.WorkflowResponse({ quote: createdQuote });
|
|
87
105
|
});
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlcXVlc3QtZm9yLXF1b3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtcmVxdWVzdC1mb3ItcXVvdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBTXFDO0FBQ3JDLHFEQUF3RDtBQUN4RCxxRUFJMkM7QUFFM0MseURBQXlEO0FBaUJ6RCxNQUFNLDJCQUEyQixHQUFHLENBQ2xDLGVBQXNDLEVBQ1EsRUFBRTtJQUNoRCxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzdCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3BDLE1BQU0sRUFDSixFQUFFLEVBQUUsR0FBRyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixlQUFlLEVBQ2YsTUFBTSxFQUNOLFNBQVMsRUFDVCxHQUFHLElBQUksRUFDUixHQUFHLE1BQU0sQ0FBQztRQUVYLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDaEQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ1gsQ0FBQyxFQUNDLEVBQUUsRUFBRSxNQUFNLEVBQ1Ysa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLEdBQUcsV0FBVyxFQUNmLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FDbEI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTztZQUNMLEdBQUcsSUFBSTtZQUNQLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFD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
|
|
@@ -23,4 +23,4 @@ exports.createQuotesStep = (0, workflows_sdk_1.createStep)("create-quotes", asyn
|
|
|
23
23
|
const quoteModuleService = container.resolve(quote_1.QUOTE_MODULE);
|
|
24
24
|
await quoteModuleService.deleteQuotes(quoteIds);
|
|
25
25
|
});
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXF1b3Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvY3JlYXRlLXF1b3Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBbUQ7QUFDbkQscUVBQTZFO0FBV2hFLFFBQUEsZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUN4QyxlQUFlLEVBQ2YsS0FBSyxFQUFFLEtBQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3hDLE1BQU0sa0JBQWtCLEdBQ3RCLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQVksQ0FBQyxDQUFDO0lBRWxDLGtFQUFrRTtJQUNsRSxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3ZDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1FBQzVCLG9FQUFvRTtRQUNwRSxNQUFNLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUUzRSxPQUFPO1lBQ0wsR0FBRyxTQUFTO1lBQ1osTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXRFLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixNQUFNLEVBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FDdEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLENBQUM7SUFFbEMsTUFBTSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUNGLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodashventure/medusa-quotation",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.16",
|
|
4
4
|
"description": "A starter for Medusa plugins.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@medusajs/ui": "4.0.27",
|
|
40
40
|
"@swc/core": "1.15.0",
|
|
41
41
|
"@types/lodash": "^4.17.20",
|
|
42
|
-
"@types/node": "^24.10.
|
|
42
|
+
"@types/node": "^24.10.1",
|
|
43
43
|
"@types/pdfmake": "^0.2.12",
|
|
44
|
-
"@types/react": "^19.2.
|
|
45
|
-
"@types/react-dom": "^19.2.
|
|
44
|
+
"@types/react": "^19.2.5",
|
|
45
|
+
"@types/react-dom": "^19.2.3",
|
|
46
46
|
"prop-types": "^15.8.1",
|
|
47
47
|
"react": "^19.2.0",
|
|
48
48
|
"react-dom": "^19.2.0",
|