@lodashventure/medusa-quotation 1.4.8 → 1.4.10

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.
Files changed (53) hide show
  1. package/.medusa/server/src/admin/index.js +3198 -0
  2. package/.medusa/server/src/admin/index.mjs +3196 -0
  3. package/.medusa/server/src/api/admin/quote-config/route.js +151 -0
  4. package/.medusa/server/src/api/admin/quote-seq/[id]/route.js +133 -0
  5. package/.medusa/server/src/api/admin/quote-seq/route.js +77 -0
  6. package/.medusa/server/src/api/admin/quote-store/route.js +94 -0
  7. package/.medusa/server/src/api/admin/quotes/[id]/reject/route.js +22 -0
  8. package/.medusa/server/src/api/admin/quotes/[id]/route.js +16 -0
  9. package/.medusa/server/src/api/admin/quotes/[id]/send/route.js +22 -0
  10. package/.medusa/server/src/api/admin/quotes/create/route.js +19 -0
  11. package/.medusa/server/src/api/admin/quotes/query-config.js +56 -0
  12. package/.medusa/server/src/api/admin/quotes/route.js +19 -0
  13. package/.medusa/server/src/api/admin/quotes/validators.js +48 -0
  14. package/.medusa/server/src/api/middlewares.js +34 -0
  15. package/.medusa/server/src/api/store/customers/me/quotes/[id]/accept/route.js +23 -0
  16. package/.medusa/server/src/api/store/customers/me/quotes/[id]/preview/route.js +23 -0
  17. package/.medusa/server/src/api/store/customers/me/quotes/[id]/reject/route.js +23 -0
  18. package/.medusa/server/src/api/store/customers/me/quotes/query-config.js +55 -0
  19. package/.medusa/server/src/api/store/customers/me/quotes/route.js +22 -0
  20. package/.medusa/server/src/api/store/validators.js +15 -0
  21. package/.medusa/server/src/fonts/vfs_fonts.js +20 -0
  22. package/.medusa/server/src/links/quote-cart.js +19 -0
  23. package/.medusa/server/src/links/quote-config-store.js +19 -0
  24. package/.medusa/server/src/links/quote-customer.js +19 -0
  25. package/.medusa/server/src/links/quote-order-change.js +19 -0
  26. package/.medusa/server/src/links/quote-order.js +22 -0
  27. package/.medusa/server/src/links/quote-seq-store.js +19 -0
  28. package/.medusa/server/src/modules/quote/index.js +13 -0
  29. package/.medusa/server/src/modules/quote/migrations/Migration20250303093636.js +21 -0
  30. package/.medusa/server/src/modules/quote/migrations/Migration20250304145603.js +17 -0
  31. package/.medusa/server/src/modules/quote/migrations/Migration20250608102414.js +25 -0
  32. package/.medusa/server/src/modules/quote/migrations/Migration20250622111411.js +23 -0
  33. package/.medusa/server/src/modules/quote/migrations/Migration20250622153414.js +17 -0
  34. package/.medusa/server/src/modules/quote/migrations/Migration20250622153513.js +14 -0
  35. package/.medusa/server/src/modules/quote/migrations/Migration20251021081500.js +14 -0
  36. package/.medusa/server/src/modules/quote/models/quote-config.js +20 -0
  37. package/.medusa/server/src/modules/quote/models/quote-seq.js +13 -0
  38. package/.medusa/server/src/modules/quote/models/quote-store-detail.js +25 -0
  39. package/.medusa/server/src/modules/quote/models/quote.js +17 -0
  40. package/.medusa/server/src/modules/quote/service.js +130 -0
  41. package/.medusa/server/src/modules/quote/types/quote-status.enum.js +18 -0
  42. package/.medusa/server/src/modules/quote/types/seq-type.enum.js +9 -0
  43. package/.medusa/server/src/workflows/admin-create-quote.js +79 -0
  44. package/.medusa/server/src/workflows/create-request-for-quote.js +88 -0
  45. package/.medusa/server/src/workflows/customer-accept-quote.js +45 -0
  46. package/.medusa/server/src/workflows/customer-reject-quote.js +30 -0
  47. package/.medusa/server/src/workflows/merchant-reject-quote.js +30 -0
  48. package/.medusa/server/src/workflows/merchant-send-quote.js +30 -0
  49. package/.medusa/server/src/workflows/steps/create-quotes.js +26 -0
  50. package/.medusa/server/src/workflows/steps/update-quotes.js +20 -0
  51. package/.medusa/server/src/workflows/steps/validate-quote-can-accept.js +12 -0
  52. package/.medusa/server/src/workflows/steps/validate-quote-not-accepted.js +12 -0
  53. package/package.json +8 -5
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ exports.PUT = PUT;
6
+ const utils_1 = require("@medusajs/framework/utils");
7
+ const quote_1 = require("../../../modules/quote");
8
+ const seq_type_enum_1 = require("../../../modules/quote/types/seq-type.enum");
9
+ const zod_1 = require("zod");
10
+ // Validation schemas
11
+ const createQuoteConfigSchema = zod_1.z.object({
12
+ prefix: zod_1.z.string().min(1, "Prefix is required"),
13
+ suffix: zod_1.z.string().optional().default(""),
14
+ seq_type: zod_1.z.enum(["monthly", "yearly"]),
15
+ });
16
+ const updateQuoteConfigSchema = zod_1.z.object({
17
+ prefix: zod_1.z.string().min(1, "Prefix is required").optional(),
18
+ suffix: zod_1.z.string().optional(),
19
+ seq_type: zod_1.z.nativeEnum(seq_type_enum_1.SeqType).optional(),
20
+ });
21
+ // GET /admin/quote-config - Get quote configuration for current store
22
+ async function GET(req, res) {
23
+ try {
24
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
25
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
26
+ // Get the current store ID
27
+ const stores = await storeService.listStores();
28
+ if (!stores.length) {
29
+ return res.status(404).json({ message: "No store found" });
30
+ }
31
+ const storeId = stores[0].id;
32
+ const configs = await quoteModuleService.listQuoteConfigs({
33
+ store_id: storeId,
34
+ });
35
+ const config = configs[0] || null;
36
+ return res.json({ quote_config: config });
37
+ }
38
+ catch (error) {
39
+ console.error("Error fetching quote config:", error);
40
+ return res.status(500).json({
41
+ message: "Internal server error",
42
+ error: error instanceof Error ? error.message : "Unknown error",
43
+ });
44
+ }
45
+ }
46
+ // POST /admin/quote-config - Create quote configuration
47
+ async function POST(req, res) {
48
+ try {
49
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
50
+ const { auth_context } = req;
51
+ if (!auth_context?.actor_id) {
52
+ return res.status(401).json({ message: "Unauthorized" });
53
+ }
54
+ // Validate request body
55
+ const validationResult = createQuoteConfigSchema.safeParse(req.body);
56
+ if (!validationResult.success) {
57
+ return res.status(400).json({
58
+ message: "Validation error",
59
+ errors: validationResult.error.issues,
60
+ });
61
+ }
62
+ const { prefix, suffix, seq_type } = validationResult.data;
63
+ // Get the current store ID
64
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
65
+ const stores = await storeService.listStores();
66
+ if (!stores.length) {
67
+ return res.status(404).json({ message: "No store found" });
68
+ }
69
+ const storeId = stores[0].id;
70
+ // Check if config already exists for this store
71
+ const existingConfigs = await quoteModuleService.listQuoteConfigs({
72
+ store_id: storeId,
73
+ });
74
+ if (existingConfigs.length > 0) {
75
+ return res.status(409).json({
76
+ message: "Quote configuration already exists for this store. Use PUT to update.",
77
+ });
78
+ }
79
+ // Create new configuration
80
+ const config = await quoteModuleService.createQuoteConfigs([
81
+ {
82
+ store_id: storeId,
83
+ prefix,
84
+ suffix: suffix || "",
85
+ seq_type: seq_type,
86
+ },
87
+ ]);
88
+ return res.status(201).json({ quote_config: config[0] });
89
+ }
90
+ catch (error) {
91
+ console.error("Error creating quote config:", error);
92
+ return res.status(500).json({
93
+ message: "Internal server error",
94
+ error: error instanceof Error ? error.message : "Unknown error",
95
+ });
96
+ }
97
+ }
98
+ // PUT /admin/quote-config - Update quote configuration
99
+ async function PUT(req, res) {
100
+ try {
101
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
102
+ const { auth_context } = req;
103
+ if (!auth_context?.actor_id) {
104
+ return res.status(401).json({ message: "Unauthorized" });
105
+ }
106
+ // Validate request body
107
+ const validationResult = updateQuoteConfigSchema.safeParse(req.body);
108
+ if (!validationResult.success) {
109
+ return res.status(400).json({
110
+ message: "Validation error",
111
+ errors: validationResult.error.issues,
112
+ });
113
+ }
114
+ const updateData = validationResult.data;
115
+ // Get the current store ID
116
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
117
+ const stores = await storeService.listStores();
118
+ if (!stores.length) {
119
+ return res.status(404).json({ message: "No store found" });
120
+ }
121
+ const storeId = stores[0].id;
122
+ // Find existing configuration
123
+ const existingConfigs = await quoteModuleService.listQuoteConfigs({
124
+ store_id: storeId,
125
+ });
126
+ if (existingConfigs.length === 0) {
127
+ return res.status(404).json({
128
+ message: "Quote configuration not found for this store",
129
+ });
130
+ }
131
+ const existingConfig = existingConfigs[0];
132
+ // Update configuration
133
+ const updatedConfig = await quoteModuleService.updateQuoteConfigs([
134
+ {
135
+ selector: {
136
+ id: existingConfig.id,
137
+ },
138
+ data: updateData,
139
+ },
140
+ ]);
141
+ return res.json({ quote_config: updatedConfig[0] });
142
+ }
143
+ catch (error) {
144
+ console.error("Error updating quote config:", error);
145
+ return res.status(500).json({
146
+ message: "Internal server error",
147
+ error: error instanceof Error ? error.message : "Unknown error",
148
+ });
149
+ }
150
+ }
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLWNvbmZpZy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXdCQSxrQkE4QkM7QUFHRCxvQkE4REM7QUFHRCxrQkErREM7QUFyTEQscURBQW9EO0FBQ3BELGtEQUFzRDtBQUV0RCw4RUFBcUU7QUFDckUsNkJBQXdCO0FBRXhCLHFCQUFxQjtBQUNyQixNQUFNLHVCQUF1QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDO0lBQy9DLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUN6QyxRQUFRLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztDQUN4QyxDQUFDLENBQUM7QUFFSCxNQUFNLHVCQUF1QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFFBQVEsRUFBRSxPQUFDLENBQUMsVUFBVSxDQUFDLHVCQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDM0MsQ0FBQyxDQUFDO0FBRUgsc0VBQXNFO0FBQy9ELEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sa0JBQWtCLEdBQ3RCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFx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
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PUT = PUT;
4
+ exports.GET = GET;
5
+ exports.DELETE = DELETE;
6
+ const utils_1 = require("@medusajs/framework/utils");
7
+ const quote_1 = require("../../../../modules/quote");
8
+ const zod_1 = require("zod");
9
+ // Validation schema for updating quote sequence
10
+ const updateQuoteSeqSchema = zod_1.z.object({
11
+ start_at: zod_1.z.coerce.date().optional(),
12
+ end_at: zod_1.z.coerce.date().optional(),
13
+ next_seq: zod_1.z.number().min(1, "Next sequence must be at least 1").optional(),
14
+ });
15
+ // PUT /admin/quote-seq/:id - Update specific quote sequence
16
+ async function PUT(req, res) {
17
+ try {
18
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
19
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
20
+ const { id } = req.params;
21
+ if (!id) {
22
+ return res.status(400).json({ message: "Sequence ID is required" });
23
+ }
24
+ // Validate request body
25
+ const validationResult = updateQuoteSeqSchema.safeParse(req.body);
26
+ if (!validationResult.success) {
27
+ return res.status(400).json({
28
+ message: "Validation error",
29
+ errors: validationResult.error.issues,
30
+ });
31
+ }
32
+ const updateData = validationResult.data;
33
+ // Get the current store ID
34
+ const stores = await storeService.listStores();
35
+ if (!stores.length) {
36
+ return res.status(404).json({ message: "No store found" });
37
+ }
38
+ const storeId = stores[0].id;
39
+ // Find existing sequence to verify it exists and belongs to the store
40
+ const existingSequences = await quoteModuleService.listQuoteSeqs({
41
+ id,
42
+ store_id: storeId,
43
+ });
44
+ if (existingSequences.length === 0) {
45
+ return res.status(404).json({
46
+ message: "Quote sequence not found",
47
+ });
48
+ }
49
+ // Use the service method that handles validation (including overlap checking)
50
+ const updatedSequence = await quoteModuleService.updateQuoteSequenceWithValidation(id, updateData);
51
+ return res.json({ quote_sequence: updatedSequence });
52
+ }
53
+ catch (error) {
54
+ console.error("Error updating quote sequence:", error);
55
+ return res.status(500).json({
56
+ message: error instanceof Error ? error.message : "Unknown error",
57
+ error: "Internal server error",
58
+ });
59
+ }
60
+ }
61
+ // GET /admin/quote-seq/:id - Get specific quote sequence
62
+ async function GET(req, res) {
63
+ try {
64
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
65
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
66
+ const { id } = req.params;
67
+ if (!id) {
68
+ return res.status(400).json({ message: "Sequence ID is required" });
69
+ }
70
+ // Get the current store ID
71
+ const stores = await storeService.listStores();
72
+ if (!stores.length) {
73
+ return res.status(404).json({ message: "No store found" });
74
+ }
75
+ const storeId = stores[0].id;
76
+ // Find the specific sequence
77
+ const sequences = await quoteModuleService.listQuoteSeqs({
78
+ id,
79
+ store_id: storeId,
80
+ });
81
+ if (sequences.length === 0) {
82
+ return res.status(404).json({
83
+ message: "Quote sequence not found",
84
+ });
85
+ }
86
+ return res.json({ quote_sequence: sequences[0] });
87
+ }
88
+ catch (error) {
89
+ console.error("Error fetching quote sequence:", error);
90
+ return res.status(500).json({
91
+ message: "Internal server error",
92
+ error: error instanceof Error ? error.message : "Unknown error",
93
+ });
94
+ }
95
+ }
96
+ // DELETE /admin/quote-seq/:id - Delete specific quote sequence
97
+ async function DELETE(req, res) {
98
+ try {
99
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
100
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
101
+ const { id } = req.params;
102
+ if (!id) {
103
+ return res.status(400).json({ message: "Sequence ID is required" });
104
+ }
105
+ // Get the current store ID
106
+ const stores = await storeService.listStores();
107
+ if (!stores.length) {
108
+ return res.status(404).json({ message: "No store found" });
109
+ }
110
+ const storeId = stores[0].id;
111
+ // Find existing sequence to verify it exists and belongs to the store
112
+ const existingSequences = await quoteModuleService.listQuoteSeqs({
113
+ id,
114
+ store_id: storeId,
115
+ });
116
+ if (existingSequences.length === 0) {
117
+ return res.status(404).json({
118
+ message: "Quote sequence not found",
119
+ });
120
+ }
121
+ // Delete the sequence
122
+ await quoteModuleService.deleteQuoteSeqs([id]);
123
+ return res.status(204).send();
124
+ }
125
+ catch (error) {
126
+ console.error("Error deleting quote sequence:", error);
127
+ return res.status(500).json({
128
+ message: error instanceof Error ? error.message : "Unknown error",
129
+ error: "Internal server error",
130
+ });
131
+ }
132
+ }
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXNlcS9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLGtCQTJEQztBQUdELGtCQXlDQztBQUdELHdCQTRDQztBQW5LRCxxREFBb0Q7QUFDcEQscURBQXlEO0FBRXpELDZCQUF3QjtBQUV4QixnREFBZ0Q7QUFDaEQsTUFBTSxvQkFBb0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQzNFLENBQUMsQ0FBQztBQUVILDREQUE0RDtBQUNyRCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUErQixFQUMvQixHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLGtCQUFrQixHQUN0QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO1FBQ3RELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUUxQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUN0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
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const quote_1 = require("../../../modules/quote");
7
+ const zod_1 = require("zod");
8
+ // Validation schemas
9
+ const createQuoteSeqSchema = zod_1.z.object({
10
+ start_at: zod_1.z.coerce.date().optional(),
11
+ end_at: zod_1.z.coerce.date().optional(),
12
+ next_seq: zod_1.z
13
+ .number()
14
+ .min(1, "Next sequence must be at least 1")
15
+ .optional()
16
+ .default(1),
17
+ config: zod_1.z.string().min(1, "Config reference is required"),
18
+ });
19
+ // GET /admin/quote-seq - Get quote sequences for current store
20
+ async function GET(req, res) {
21
+ try {
22
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
23
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
24
+ // Get the current store ID
25
+ const stores = await storeService.listStores();
26
+ if (!stores.length) {
27
+ return res.status(404).json({ message: "No store found" });
28
+ }
29
+ const storeId = stores[0].id;
30
+ const sequences = await quoteModuleService.listQuoteSeqs({
31
+ store_id: storeId,
32
+ });
33
+ return res.json({ quote_sequences: sequences });
34
+ }
35
+ catch (error) {
36
+ console.error("Error fetching quote sequences:", error);
37
+ return res.status(500).json({
38
+ error: "Internal server error",
39
+ message: error instanceof Error ? error.message : "Unknown error",
40
+ });
41
+ }
42
+ }
43
+ // POST /admin/quote-seq - Create quote sequence
44
+ async function POST(req, res) {
45
+ try {
46
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
47
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
48
+ // Validate request body
49
+ const validationResult = createQuoteSeqSchema.safeParse(req.body);
50
+ if (!validationResult.success) {
51
+ return res.status(400).json({
52
+ message: "Validation error",
53
+ errors: validationResult.error.issues,
54
+ });
55
+ }
56
+ const { start_at, end_at, next_seq, config } = validationResult.data;
57
+ // Get the current store ID
58
+ const stores = await storeService.listStores();
59
+ if (!stores.length) {
60
+ return res.status(404).json({ message: "No store found" });
61
+ }
62
+ const storeId = stores[0].id;
63
+ // Use the service method that handles date generation and validation
64
+ const sequence = await quoteModuleService.createQuoteSequenceForConfig(storeId, config, start_at, // Optional - will auto-generate if not provided
65
+ end_at, // Optional - will auto-generate if not provided
66
+ next_seq || 1);
67
+ return res.status(201).json({ quote_sequence: sequence[0] });
68
+ }
69
+ catch (error) {
70
+ console.error("Error creating quote sequence:", error);
71
+ return res.status(500).json({
72
+ message: error instanceof Error ? error.message : "Unknown error",
73
+ error: "Internal server error",
74
+ });
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXNlcS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNCQSxrQkE0QkM7QUFHRCxvQkE0Q0M7QUE3RkQscURBQW9EO0FBQ3BELGtEQUFzRDtBQUV0RCw2QkFBd0I7QUFFeEIscUJBQXFCO0FBQ3JCLE1BQU0sb0JBQW9CLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFFBQVEsRUFBRSxPQUFDO1NBQ1IsTUFBTSxFQUFFO1NBQ1IsR0FBRyxDQUFDLENBQUMsRUFBRSxrQ0FBa0MsQ0FBQztTQUMxQyxRQUFRLEVBQUU7U0FDVixPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2IsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixDQUFDO0NBQzFELENBQUMsQ0FBQztBQUVILCtEQUErRDtBQUN4RCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUErQixFQUMvQixHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLGtCQUFrQixHQUN0QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO1FBQ3RELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RCwyQkFBMkI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUs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
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const zod_1 = require("zod");
6
+ const quote_1 = require("../../../modules/quote");
7
+ // Schema and types
8
+ const storeSchema = zod_1.z.object({
9
+ name: zod_1.z.string().min(1, "Name is required"),
10
+ address1: zod_1.z.string().min(1, "Address is required"),
11
+ address2: zod_1.z.string().optional(),
12
+ zipCode: zod_1.z.string().min(1, "ZIP/Postal code is required"),
13
+ phone: zod_1.z.string().min(1, "Phone number is required"),
14
+ email: zod_1.z.string().email("Invalid email").optional().or(zod_1.z.literal("")),
15
+ website: zod_1.z.string().url("Invalid URL").optional().or(zod_1.z.literal("")),
16
+ taxId: zod_1.z.string().optional(),
17
+ logoUrl: zod_1.z.string().url("Invalid URL").optional().or(zod_1.z.literal("")),
18
+ });
19
+ // GET /admin/quote-store
20
+ const GET = async (req, res) => {
21
+ try {
22
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
23
+ // Get the current store ID - in admin context, we typically get the first store
24
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
25
+ const stores = await storeService.listStores();
26
+ if (!stores.length) {
27
+ return res.status(404).json({ error: "No store found" });
28
+ }
29
+ const storeId = stores[0].id;
30
+ // Try to find existing store details
31
+ const storeDetails = await quoteModuleService.listQuoteStoreDetails({
32
+ store_id: storeId
33
+ });
34
+ if (storeDetails.length > 0) {
35
+ return res.json({ store: storeDetails[0] });
36
+ }
37
+ // Return empty response if no store details found
38
+ return res.status(404).json({ error: "Store details not found" });
39
+ }
40
+ catch (error) {
41
+ res.status(500).json({ error: error.message });
42
+ }
43
+ };
44
+ exports.GET = GET;
45
+ // POST /admin/quote-store
46
+ const POST = async (req, res) => {
47
+ try {
48
+ // Validate request body
49
+ const validated = storeSchema.parse(req.body);
50
+ const quoteModuleService = req.scope.resolve(quote_1.QUOTE_MODULE);
51
+ // Get the current store ID
52
+ const storeService = req.scope.resolve(utils_1.Modules.STORE);
53
+ const stores = await storeService.listStores();
54
+ if (!stores.length) {
55
+ return res.status(404).json({ error: "No store found" });
56
+ }
57
+ const storeId = stores[0].id;
58
+ // Check if store details already exist
59
+ const existingStoreDetails = await quoteModuleService.listQuoteStoreDetails({
60
+ store_id: storeId
61
+ });
62
+ let store;
63
+ if (existingStoreDetails.length > 0) {
64
+ // Update existing store details
65
+ const updatedStores = await quoteModuleService.updateQuoteStoreDetails([{
66
+ id: existingStoreDetails[0].id,
67
+ ...validated
68
+ }]);
69
+ store = updatedStores[0];
70
+ }
71
+ else {
72
+ // Create new store details
73
+ const createdStores = await quoteModuleService.createQuoteStoreDetails([{
74
+ store_id: storeId,
75
+ ...validated
76
+ }]);
77
+ store = createdStores[0];
78
+ }
79
+ res.json({ store });
80
+ }
81
+ catch (error) {
82
+ if (error instanceof zod_1.z.ZodError) {
83
+ return res.status(400).json({
84
+ errors: error.issues.map((e) => ({
85
+ path: e.path.join("."),
86
+ message: e.message,
87
+ })),
88
+ });
89
+ }
90
+ res.status(500).json({ error: error.message });
91
+ }
92
+ };
93
+ exports.POST = POST;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXN0b3JlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFEQUFvRDtBQUNwRCw2QkFBd0I7QUFDeEIsa0RBQXNEO0FBR3RELG1CQUFtQjtBQUNuQixNQUFNLFdBQVcsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQztJQUMzQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFDbEQsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixDQUFDO0lBQ3pELEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSwwQkFBMEIsQ0FBQztJQUNwRCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRSxPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRSxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUNwRSxDQUFDLENBQUM7QUFHSCx5QkFBeUI7QUFDbEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLElBQUksQ0FBQztRQUNILE1BQU0sa0JBQWtCLEdBQXVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFZLENBQUMsQ0FBQztRQUUvRSxnRkFBZ0Y7UUFDaEYsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFN0IscUNBQXFDO1FBQ3JDLE1BQU0sWUFBWSxHQUFHLE1BQU0sa0JBQWtCLENBQUMscUJBQXFCLENBQUM7WUFDbEUsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxrREFBa0Q7UUFDbEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBNUJXLFFBQUEsR0FBRyxPQTRCZDtBQUVGLDBCQUEwQjtBQUNuQixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDcEUsSUFBSSxDQUFDO1FBQ0gsd0JBQXdCO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLE1BQU0sa0JBQWtCLEdBQXVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFZLENBQUMsQ0FBQztRQUUvRSwyQkFBMkI7UUFDM0IsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFN0IsdUNBQXVDO1FBQ3ZDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztZQUMxRSxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLEtBQVUsQ0FBQztRQUVmLElBQUksb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BDLGdDQUFnQztZQUNoQyxNQUFNLGFBQWEsR0FBRyxNQUFNLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLENBQUM7b0JBQ3RFLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixHQUFHLFNBQVM7aUJBQ2IsQ0FBQyxDQUFDLENBQUM7WUFDSixLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sMkJBQTJCO1lBQzNCLE1BQU0sYUFBYSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztvQkFDdEUsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLEdBQUcsU0FBUztpQkFDYixDQUFDLENBQUMsQ0FBQztZQUNKLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLFlBQVksT0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDdEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO2lCQUNuQixDQUFDLENBQUM7YUFDSixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztBQUNILENBQUMsQ0FBQztBQXBEVyxRQUFBLElBQUksUUFvRGYifQ==
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const merchant_reject_quote_1 = require("../../../../../workflows/merchant-reject-quote");
6
+ const POST = async (req, res) => {
7
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
8
+ const { id } = req.params;
9
+ await (0, merchant_reject_quote_1.merchantRejectQuoteWorkflow)(req.scope).run({
10
+ input: {
11
+ quote_id: id,
12
+ },
13
+ });
14
+ const { data: [quote], } = await query.graph({
15
+ entity: "quote",
16
+ filters: { id },
17
+ fields: req.queryConfig.fields,
18
+ }, { throwIfKeyNotFound: true });
19
+ res.json({ quote });
20
+ };
21
+ exports.POST = POST;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3Rlcy9baWRdL3JlamVjdC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBc0U7QUFDdEUsMEZBQTZGO0FBRXRGLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBRTFCLE1BQU0sSUFBQSxtREFBMkIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9DLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxFQUFFO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ25CO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDZixNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO0tBQy9CLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQXpCVyxRQUFBLElBQUksUUF5QmYifQ==
@@ -0,0 +1,16 @@
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 query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
7
+ const { id } = req.params;
8
+ const { data: [quote], } = await query.graph({
9
+ entity: "quote",
10
+ filters: { id },
11
+ fields: [...req.queryConfig.fields, "draft_order.shipping_address"],
12
+ }, { throwIfKeyNotFound: true });
13
+ res.json({ quote });
14
+ };
15
+ exports.GET = GET;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3Rlcy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFzRTtBQUUvRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ25CO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDZixNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLDhCQUE4QixDQUFDO0tBQ3BFLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQW5CVyxRQUFBLEdBQUcsT0FtQmQifQ==
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const merchant_send_quote_1 = require("../../../../../workflows/merchant-send-quote");
6
+ const POST = async (req, res) => {
7
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
8
+ const { id } = req.params;
9
+ await (0, merchant_send_quote_1.merchantSendQuoteWorkflow)(req.scope).run({
10
+ input: {
11
+ quote_id: id,
12
+ },
13
+ });
14
+ const { data: [quote], } = await query.graph({
15
+ entity: "quote",
16
+ filters: { id },
17
+ fields: req.queryConfig.fields,
18
+ }, { throwIfKeyNotFound: true });
19
+ res.json({ quote });
20
+ };
21
+ exports.POST = POST;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3Rlcy9baWRdL3NlbmQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXNFO0FBQ3RFLHNGQUF5RjtBQUVsRixNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixNQUFNLElBQUEsK0NBQXlCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM3QyxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsRUFBRTtTQUNiO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNuQjtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ2YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtLQUMvQixFQUNELEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQzdCLENBQUM7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUF6QlcsUUFBQSxJQUFJLFFBeUJmIn0=
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const admin_create_quote_1 = require("../../../../workflows/admin-create-quote");
6
+ const POST = async (req, res) => {
7
+ const { result: { quote: createdQuote }, } = await (0, admin_create_quote_1.adminCreateQuoteWorkflow)(req.scope).run({
8
+ input: req.validatedBody,
9
+ });
10
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
11
+ const { data: [quote], } = await query.graph({
12
+ entity: "quote",
13
+ fields: ["*", "draft_order.*", "customer.*"],
14
+ filters: { id: createdQuote.id },
15
+ }, { throwIfKeyNotFound: true });
16
+ return res.json({ quote });
17
+ };
18
+ exports.POST = POST;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3Rlcy9jcmVhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXNFO0FBQ3RFLGlGQUFvRjtBQUc3RSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQXFELEVBQ3JELEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQ0osTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxHQUNoQyxHQUFHLE1BQU0sSUFBQSw2Q0FBd0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2hELEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYTtLQUN6QixDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ25CO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQztRQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtLQUNqQyxFQUNELEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQzdCLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQXhCVyxRQUFBLElBQUksUUF3QmYifQ==
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listAdminQuoteQueryConfig = exports.retrieveAdminQuoteQueryConfig = exports.quoteFields = void 0;
4
+ exports.quoteFields = [
5
+ "id",
6
+ "status",
7
+ "created_at",
8
+ "updated_at",
9
+ "*customer",
10
+ "cart.id",
11
+ "draft_order.id",
12
+ "draft_order.currency_code",
13
+ "draft_order.display_id",
14
+ "draft_order.region_id",
15
+ "draft_order.status",
16
+ "draft_order.version",
17
+ "draft_order.summary",
18
+ "draft_order.total",
19
+ "draft_order.subtotal",
20
+ "draft_order.tax_total",
21
+ "draft_order.order_change",
22
+ "draft_order.discount_total",
23
+ "draft_order.discount_tax_total",
24
+ "draft_order.original_total",
25
+ "draft_order.original_tax_total",
26
+ "draft_order.item_total",
27
+ "draft_order.item_subtotal",
28
+ "draft_order.item_tax_total",
29
+ "draft_order.original_item_total",
30
+ "draft_order.original_item_subtotal",
31
+ "draft_order.original_item_tax_total",
32
+ "draft_order.shipping_total",
33
+ "draft_order.shipping_subtotal",
34
+ "draft_order.shipping_tax_total",
35
+ "draft_order.original_shipping_tax_total",
36
+ "draft_order.original_shipping_subtotal",
37
+ "draft_order.original_shipping_total",
38
+ "draft_order.created_at",
39
+ "draft_order.updated_at",
40
+ "*draft_order.items",
41
+ "*draft_order.items.tax_lines",
42
+ "*draft_order.items.adjustments",
43
+ "*draft_order.items.variant",
44
+ "*draft_order.items.variant.product",
45
+ "*draft_order.items.detail",
46
+ "*order_change.actions",
47
+ ];
48
+ exports.retrieveAdminQuoteQueryConfig = {
49
+ defaults: exports.quoteFields,
50
+ isList: false,
51
+ };
52
+ exports.listAdminQuoteQueryConfig = {
53
+ defaults: exports.quoteFields,
54
+ isList: true,
55
+ };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9xdW90ZXMvcXVlcnktY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLElBQUk7SUFDSixRQUFRO0lBQ1IsWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0lBQ1gsU0FBUztJQUNULGdCQUFnQjtJQUNoQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsNEJBQTRCO0lBQzVCLGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsZ0NBQWdDO0lBQ2hDLHdCQUF3QjtJQUN4QiwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDL0IsZ0NBQWdDO0lBQ2hDLHlDQUF5QztJQUN6Qyx3Q0FBd0M7SUFDeEMscUNBQXFDO0lBQ3JDLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0lBQzVCLG9DQUFvQztJQUNwQywyQkFBMkI7SUFDM0IsdUJBQXVCO0NBQ3hCLENBQUM7QUFFVyxRQUFBLDZCQUE2QixHQUFHO0lBQzNDLFFBQVEsRUFBRSxtQkFBVztJQUNyQixNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7QUFFVyxRQUFBLHlCQUF5QixHQUFHO0lBQ3ZDLFFBQVEsRUFBRSxtQkFBVztJQUNyQixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUMifQ==