@lodashventure/medusa-booking-for-pickup 0.0.1
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 +1648 -0
- package/.medusa/server/src/admin/index.mjs +1647 -0
- package/.medusa/server/src/api/admin/pickup-date/[id]/route.js +42 -0
- package/.medusa/server/src/api/admin/plugin/route.js +7 -0
- package/.medusa/server/src/api/middlewares.js +37 -0
- package/.medusa/server/src/api/store/carts/[id]/pickup-date/route.js +54 -0
- package/.medusa/server/src/api/store/orders/[id]/pickup-date/route.js +73 -0
- package/.medusa/server/src/links/cart-pickup-date.js +16 -0
- package/.medusa/server/src/links/order-pickup-date.js +15 -0
- package/.medusa/server/src/links/shipping-option-pickup-availability.js +16 -0
- package/.medusa/server/src/modules/pickup-datetime/index.js +14 -0
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250426021722.js +18 -0
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250427042133.js +15 -0
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250428021350.js +14 -0
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250503003504.js +25 -0
- package/.medusa/server/src/modules/pickup-datetime/models/pickup-availability.js +13 -0
- package/.medusa/server/src/modules/pickup-datetime/models/pickup-date.js +11 -0
- package/.medusa/server/src/modules/pickup-datetime/service.js +15 -0
- package/.medusa/server/src/modules/pickup-datetime/types/shippingOptionPickupAvailability.js +25 -0
- package/.medusa/server/src/subscribers/order-placed.js +20 -0
- package/.medusa/server/src/workflows/pickup-availablity/deletePickupAvailabilityWorkflow.js +36 -0
- package/.medusa/server/src/workflows/pickup-availablity/pickup/cancelOrderPickup.js +49 -0
- package/.medusa/server/src/workflows/pickup-availablity/pickup/createOrderPickupDate.js +93 -0
- package/.medusa/server/src/workflows/pickup-availablity/pickup/steps/validatePickupDateStep.js +51 -0
- package/.medusa/server/src/workflows/pickup-availablity/pickup/updateCartPickupDate.js +73 -0
- package/.medusa/server/src/workflows/pickup-availablity/pickup/updateOrderPickupDate.js +50 -0
- package/.medusa/server/src/workflows/pickup-availablity/steps/validateOverlapsPickupStep.js +45 -0
- package/.medusa/server/src/workflows/pickup-availablity/updatePickupAvailabilityWorkflow.js +79 -0
- package/README.md +28 -0
- package/package.json +82 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = exports.POST = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const updatePickupAvailabilityWorkflow_1 = require("../../../../workflows/pickup-availablity/updatePickupAvailabilityWorkflow");
|
|
7
|
+
const POST = async (req, res) => {
|
|
8
|
+
const { id: shipping_option_id } = req.params;
|
|
9
|
+
const input = req.body;
|
|
10
|
+
try {
|
|
11
|
+
const updated = await updatePickupAvailabilityWorkflow_1.updatePickupAvailabilityWorkflow.run({
|
|
12
|
+
input: {
|
|
13
|
+
schedules: input.schedules,
|
|
14
|
+
shipping_option_id,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
res.status(200).json({ availability: updated });
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
res.status(500).json({ error: error.message });
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.POST = POST;
|
|
24
|
+
const GET = async (req, res) => {
|
|
25
|
+
const { id: shipping_option_id } = req.params;
|
|
26
|
+
const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
27
|
+
try {
|
|
28
|
+
const option = await query.graph({
|
|
29
|
+
entity: "shipping_option",
|
|
30
|
+
fields: ["pickup_availabilities.*"],
|
|
31
|
+
filters: {
|
|
32
|
+
id: shipping_option_id,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
res.status(200).json(option.data[0]);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
res.status(500).json({ error: error.message });
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.GET = GET;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BpY2t1cC1kYXRlL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQStFO0FBQy9FLHFEQUdtQztBQUNuQyxnSUFBNkg7QUFHdEgsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUVFLEVBQ0YsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFFdkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxtRUFBZ0MsQ0FBQyxHQUFHLENBQUM7WUFDekQsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsa0JBQWtCO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7QUFDSCxDQUFDLENBQUM7QUFwQlcsUUFBQSxJQUFJLFFBb0JmO0FBRUssTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0sS0FBSyxHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMvQixNQUFNLEVBQUUsaUJBQWlCO1lBQ3pCLE1BQU0sRUFBRSxDQUFDLHlCQUF5QixDQUFDO1lBQ25DLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsa0JBQWtCO2FBQ3ZCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztBQUNILENBQUMsQ0FBQztBQWhCVyxRQUFBLEdBQUcsT0FnQmQifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
async function GET(req, res) {
|
|
5
|
+
res.sendStatus(200);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGtCQUtDO0FBTE0sS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0QixDQUFDIn0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const framework_1 = require("@medusajs/framework");
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shippingOptionPickupAvailability_1 = require("../modules/pickup-datetime/types/shippingOptionPickupAvailability");
|
|
6
|
+
exports.default = (0, framework_1.defineMiddlewares)({
|
|
7
|
+
routes: [
|
|
8
|
+
{
|
|
9
|
+
method: ["POST"],
|
|
10
|
+
matcher: "/admin/pickup-date/[id]",
|
|
11
|
+
middlewares: [
|
|
12
|
+
(0, framework_1.validateAndTransformBody)(zod_1.z.object({
|
|
13
|
+
schedules: zod_1.z.array(shippingOptionPickupAvailability_1.updatedPickupAvailabilitySchema),
|
|
14
|
+
})),
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
method: ["POST"],
|
|
19
|
+
matcher: "/store/carts/[id]/pickup-date",
|
|
20
|
+
middlewares: [
|
|
21
|
+
(0, framework_1.validateAndTransformBody)(zod_1.z.object({
|
|
22
|
+
pickup_datetime: zod_1.z.coerce.date(),
|
|
23
|
+
})),
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
method: ["POST"],
|
|
28
|
+
matcher: "/store/orders/[id]/pickup-date",
|
|
29
|
+
middlewares: [
|
|
30
|
+
(0, framework_1.validateAndTransformBody)(zod_1.z.object({
|
|
31
|
+
pickup_datetime: zod_1.z.coerce.date(),
|
|
32
|
+
})),
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBRzZCO0FBQzdCLDZCQUF3QjtBQUN4Qix3SEFBb0g7QUFFcEgsa0JBQWUsSUFBQSw2QkFBaUIsRUFBQztJQUMvQixNQUFNLEVBQUU7UUFDTjtZQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG9DQUF3QixFQUN0QixPQUFDLENBQUMsTUFBTSxDQUFDO29CQUNQLFNBQVMsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLGtFQUErQixDQUFDO2lCQUNwRCxDQUFRLENBQ1Y7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsT0FBTyxFQUFFLCtCQUErQjtZQUN4QyxXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxvQ0FBd0IsRUFDdEIsT0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFDUCxlQUFlLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7aUJBQ2pDLENBQVEsQ0FDVjthQUNGO1NBQ0Y7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG9DQUF3QixFQUN0QixPQUFDLENBQUMsTUFBTSxDQUFDO29CQUNQLGVBQWUsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtpQkFDakMsQ0FBUSxDQUNWO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,54 @@
|
|
|
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.GET = void 0;
|
|
7
|
+
exports.POST = POST;
|
|
8
|
+
const framework_1 = require("@medusajs/framework");
|
|
9
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
10
|
+
const updateCartPickupDate_1 = __importDefault(require("../../../../../workflows/pickup-availablity/pickup/updateCartPickupDate"));
|
|
11
|
+
const pickup_datetime_1 = require("../../../../../modules/pickup-datetime");
|
|
12
|
+
async function POST(req, res) {
|
|
13
|
+
const { id } = req.params;
|
|
14
|
+
const { pickup_date } = req.body;
|
|
15
|
+
const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
16
|
+
const cartModuleService = framework_1.container.resolve(utils_1.Modules.CART);
|
|
17
|
+
const [shippingMethod] = await cartModuleService.listShippingMethods({
|
|
18
|
+
cart_id: id,
|
|
19
|
+
});
|
|
20
|
+
if (!shippingMethod) {
|
|
21
|
+
throw new Error("Shipping method not found");
|
|
22
|
+
}
|
|
23
|
+
const shippingOptionId = shippingMethod.shipping_option_id;
|
|
24
|
+
try {
|
|
25
|
+
await updateCartPickupDate_1.default.run({
|
|
26
|
+
input: {
|
|
27
|
+
cart_id: id,
|
|
28
|
+
pickup_datetime: new Date(pickup_date),
|
|
29
|
+
shipping_option_id: shippingOptionId,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const { data: [updatedCart], } = await query.graph({
|
|
33
|
+
fields: ["id", "pickup_date.*"],
|
|
34
|
+
entity: "cart",
|
|
35
|
+
filters: {
|
|
36
|
+
id,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
res.status(200).json(updatedCart);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
res.status(500).json({ message: error.message });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const GET = async (req, res) => {
|
|
46
|
+
const { id } = req.params;
|
|
47
|
+
const pickupDatetimeModuleService = framework_1.container.resolve(pickup_datetime_1.PICKUP_DATETIME_MODULE);
|
|
48
|
+
const [pickDate] = await pickupDatetimeModuleService.listPickupDates({
|
|
49
|
+
cart_id: id,
|
|
50
|
+
});
|
|
51
|
+
res.status(200).json(pickDate);
|
|
52
|
+
};
|
|
53
|
+
exports.GET = GET;
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2NhcnRzL1tpZF0vcGlja3VwLWRhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBWUEsb0JBMkNDO0FBdkRELG1EQUFnRDtBQUVoRCxxREFBK0U7QUFDL0UsbUlBQW1IO0FBQ25ILDRFQUFnRjtBQVF6RSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUErQyxFQUMvQyxHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztJQUVqQyxNQUFNLEtBQUssR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLGlCQUFpQixHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztRQUNuRSxPQUFPLEVBQUUsRUFBRTtLQUNaLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0lBRTNELElBQUksQ0FBQztRQUNILE1BQU0sOEJBQTRCLENBQUMsR0FBRyxDQUFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUN0QyxrQkFBa0IsRUFBRSxnQkFBZ0I7YUFDckM7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQ3BCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7WUFDL0IsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUU7Z0JBQ1AsRUFBRTthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0FBQ0gsQ0FBQztBQUVNLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFrQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixNQUFNLDJCQUEyQixHQUMvQixxQkFBUyxDQUFDLE9BQU8sQ0FBOEIsd0NBQXNCLENBQUMsQ0FBQztJQUV6RSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSwyQkFBMkIsQ0FBQyxlQUFlLENBQUM7UUFDbkUsT0FBTyxFQUFFLEVBQUU7S0FDWixDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFYVyxRQUFBLEdBQUcsT0FXZCJ9
|
|
@@ -0,0 +1,73 @@
|
|
|
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.DELETE = exports.GET = void 0;
|
|
7
|
+
exports.POST = POST;
|
|
8
|
+
const framework_1 = require("@medusajs/framework");
|
|
9
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
10
|
+
const pickup_datetime_1 = require("../../../../../modules/pickup-datetime");
|
|
11
|
+
const updateOrderPickupDate_1 = __importDefault(require("../../../../../workflows/pickup-availablity/pickup/updateOrderPickupDate"));
|
|
12
|
+
const cancelOrderPickup_1 = require("../../../../../workflows/pickup-availablity/pickup/cancelOrderPickup");
|
|
13
|
+
async function POST(req, res) {
|
|
14
|
+
const { id } = req.params;
|
|
15
|
+
const { pickup_date } = req.body;
|
|
16
|
+
const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
17
|
+
const { data: [order], } = await query.graph({
|
|
18
|
+
fields: ["id", "shipping_methods.*"],
|
|
19
|
+
entity: "order",
|
|
20
|
+
filters: {
|
|
21
|
+
id,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
if (!order.shipping_methods.length) {
|
|
25
|
+
throw new Error("Shipping method not found");
|
|
26
|
+
}
|
|
27
|
+
const shippingOptionId = order.shipping_methods[0].shipping_option_id;
|
|
28
|
+
try {
|
|
29
|
+
await updateOrderPickupDate_1.default.run({
|
|
30
|
+
input: {
|
|
31
|
+
order_id: id,
|
|
32
|
+
pickup_datetime: new Date(pickup_date),
|
|
33
|
+
shipping_option_id: shippingOptionId,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const { data: [updatedOrder], } = await query.graph({
|
|
37
|
+
fields: ["id", "pickup_date.*"],
|
|
38
|
+
entity: "order",
|
|
39
|
+
filters: {
|
|
40
|
+
id,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
res.status(200).json(updatedOrder);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
res.status(500).json({ message: error.message });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const GET = async (req, res) => {
|
|
50
|
+
const { id } = req.params;
|
|
51
|
+
const pickupDatetimeModuleService = framework_1.container.resolve(pickup_datetime_1.PICKUP_DATETIME_MODULE);
|
|
52
|
+
const [pickDate] = await pickupDatetimeModuleService.listPickupDates({
|
|
53
|
+
order_id: id,
|
|
54
|
+
});
|
|
55
|
+
res.status(200).json(pickDate);
|
|
56
|
+
};
|
|
57
|
+
exports.GET = GET;
|
|
58
|
+
const DELETE = async (req, res) => {
|
|
59
|
+
const { id } = req.params;
|
|
60
|
+
try {
|
|
61
|
+
await cancelOrderPickup_1.cancelOrderPickupWorkflow.run({
|
|
62
|
+
input: {
|
|
63
|
+
order_id: id,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
res.status(200).json({ message: "Pickup date cancelled" });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
res.status(500).json({ message: error.message });
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.DELETE = DELETE;
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL29yZGVycy9baWRdL3BpY2t1cC1kYXRlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWNBLG9CQWdEQztBQTlERCxtREFBZ0Q7QUFFaEQscURBQStFO0FBRS9FLDRFQUFnRjtBQUVoRixxSUFBcUg7QUFDckgsNEdBQWlIO0FBTzFHLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQStDLEVBQy9DLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBRWpDLE1BQU0sS0FBSyxHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FDZCxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDcEMsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUU7WUFDUCxFQUFFO1NBQ0g7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFFdEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSwrQkFBNkIsQ0FBQyxHQUFHLENBQUM7WUFDdEMsS0FBSyxFQUFFO2dCQUNMLFFBQVEsRUFBRSxFQUFFO2dCQUNaLGVBQWUsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3RDLGtCQUFrQixFQUFFLGdCQUFnQjthQUNyQztTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FDckIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDcEIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQztZQUMvQixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRTtnQkFDUCxFQUFFO2FBQ0g7U0FDRixDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7QUFDSCxDQUFDO0FBRU0sTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBRTFCLE1BQU0sMkJBQTJCLEdBQy9CLHFCQUFTLENBQUMsT0FBTyxDQUE4Qix3Q0FBc0IsQ0FBQyxDQUFDO0lBRXpFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLDJCQUEyQixDQUFDLGVBQWUsQ0FBQztRQUNuRSxRQUFRLEVBQUUsRUFBRTtLQUNiLENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQVhXLFFBQUEsR0FBRyxPQVdkO0FBRUssTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBRTFCLElBQUksQ0FBQztRQUNILE1BQU0sNkNBQXlCLENBQUMsR0FBRyxDQUFDO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxRQUFRLEVBQUUsRUFBRTthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztBQUNILENBQUMsQ0FBQztBQWRXLFFBQUEsTUFBTSxVQWNqQiJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const pickup_datetime_1 = __importDefault(require("../modules/pickup-datetime"));
|
|
8
|
+
const cart_1 = __importDefault(require("@medusajs/medusa/cart"));
|
|
9
|
+
exports.default = (0, utils_1.defineLink)({
|
|
10
|
+
linkable: cart_1.default.linkable.cart,
|
|
11
|
+
field: "cart_id",
|
|
12
|
+
}, {
|
|
13
|
+
linkable: pickup_datetime_1.default.linkable.pickupDate.id,
|
|
14
|
+
deleteCascade: true,
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1waWNrdXAtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saW5rcy9jYXJ0LXBpY2t1cC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXVEO0FBQ3ZELGlGQUE4RDtBQUM5RCxpRUFBK0M7QUFFL0Msa0JBQWUsSUFBQSxrQkFBVSxFQUN2QjtJQUNFLFFBQVEsRUFBRSxjQUFVLENBQUMsUUFBUSxDQUFDLElBQUk7SUFDbEMsS0FBSyxFQUFFLFNBQVM7Q0FDakIsRUFDRDtJQUNFLFFBQVEsRUFBRSx5QkFBb0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDckQsYUFBYSxFQUFFLElBQUk7Q0FDcEIsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const order_1 = __importDefault(require("@medusajs/medusa/order"));
|
|
8
|
+
const pickup_datetime_1 = __importDefault(require("../modules/pickup-datetime"));
|
|
9
|
+
exports.default = (0, utils_1.defineLink)({
|
|
10
|
+
linkable: order_1.default.linkable.order,
|
|
11
|
+
field: "order_id",
|
|
12
|
+
}, {
|
|
13
|
+
linkable: pickup_datetime_1.default.linkable.pickupDate.id,
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGlja3VwLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3Mvb3JkZXItcGlja3VwLWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBdUQ7QUFDdkQsbUVBQWlEO0FBQ2pELGlGQUE4RDtBQUU5RCxrQkFBZSxJQUFBLGtCQUFVLEVBQ3ZCO0lBQ0UsUUFBUSxFQUFFLGVBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSztJQUNwQyxLQUFLLEVBQUUsVUFBVTtDQUNsQixFQUNEO0lBQ0UsUUFBUSxFQUFFLHlCQUFvQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtDQUN0RCxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const fulfillment_1 = __importDefault(require("@medusajs/medusa/fulfillment"));
|
|
8
|
+
const pickup_datetime_1 = __importDefault(require("../modules/pickup-datetime"));
|
|
9
|
+
exports.default = (0, utils_1.defineLink)({
|
|
10
|
+
linkable: fulfillment_1.default.linkable.shippingOption,
|
|
11
|
+
field: "shipping_option_id",
|
|
12
|
+
}, {
|
|
13
|
+
linkable: pickup_datetime_1.default.linkable.pickupAvailability.id,
|
|
14
|
+
isList: true,
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctb3B0aW9uLXBpY2t1cC1hdmFpbGFiaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3Mvc2hpcHBpbmctb3B0aW9uLXBpY2t1cC1hdmFpbGFiaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBdUQ7QUFDdkQsK0VBQTZEO0FBQzdELGlGQUE4RDtBQUU5RCxrQkFBZSxJQUFBLGtCQUFVLEVBQ3ZCO0lBQ0UsUUFBUSxFQUFFLHFCQUFpQixDQUFDLFFBQVEsQ0FBQyxjQUFjO0lBQ25ELEtBQUssRUFBRSxvQkFBb0I7Q0FDNUIsRUFDRDtJQUNFLFFBQVEsRUFBRSx5QkFBb0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtJQUM3RCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PICKUP_DATETIME_MODULE = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const service_1 = __importDefault(require("./service"));
|
|
9
|
+
exports.PICKUP_DATETIME_MODULE = "pickup_datetime";
|
|
10
|
+
const PickupDatetimeModule = (0, utils_1.Module)(exports.PICKUP_DATETIME_MODULE, {
|
|
11
|
+
service: service_1.default,
|
|
12
|
+
});
|
|
13
|
+
exports.default = PickupDatetimeModule;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQW1EO0FBQ25ELHdEQUFvRDtBQUV2QyxRQUFBLHNCQUFzQixHQUFHLGlCQUFpQixDQUFDO0FBRXhELE1BQU0sb0JBQW9CLEdBQUcsSUFBQSxjQUFNLEVBQUMsOEJBQXNCLEVBQUU7SUFDMUQsT0FBTyxFQUFFLGlCQUEyQjtDQUNyQyxDQUFDLENBQUM7QUFFSCxrQkFBZSxvQkFBb0IsQ0FBQyJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250426021722 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250426021722 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`create table if not exists "cart_pickup_date" ("id" text not null, "cart_id" text not null, "pickup_datetime" timestamptz not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "cart_pickup_date_pkey" primary key ("id"));`);
|
|
8
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_cart_pickup_date_deleted_at" ON "cart_pickup_date" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
9
|
+
this.addSql(`create table if not exists "order_pickup_date" ("id" text not null, "order_id" text not null, "pickup_datetime" timestamptz not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "order_pickup_date_pkey" primary key ("id"));`);
|
|
10
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_pickup_date_deleted_at" ON "order_pickup_date" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
11
|
+
}
|
|
12
|
+
async down() {
|
|
13
|
+
this.addSql(`drop table if exists "cart_pickup_date" cascade;`);
|
|
14
|
+
this.addSql(`drop table if exists "order_pickup_date" cascade;`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.Migration20250426021722 = Migration20250426021722;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MjYwMjE3MjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQyNjAyMTcyMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOFRBQThULENBQUMsQ0FBQztRQUM1VSxJQUFJLENBQUMsTUFBTSxDQUFDLDJIQUEySCxDQUFDLENBQUM7UUFFekksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpVUFBaVUsQ0FBQyxDQUFDO1FBQy9VLElBQUksQ0FBQyxNQUFNLENBQUMsNkhBQTZILENBQUMsQ0FBQztJQUM3SSxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBRUY7QUFoQkQsMERBZ0JDIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250427042133 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250427042133 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`create table if not exists "pickup_availability" ("id" text not null, "shipping_option_id" text not null, "day_of_week" text not null, "timeStart" timestamptz not null, "timeEnd" timestamptz not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "pickup_availability_pkey" primary key ("id"));`);
|
|
8
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_pickup_availability_deleted_at" ON "pickup_availability" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`drop table if exists "pickup_availability" cascade;`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.Migration20250427042133 = Migration20250427042133;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MjcwNDIxMzMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQyNzA0MjEzMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsc1lBQXNZLENBQUMsQ0FBQztRQUNwWixJQUFJLENBQUMsTUFBTSxDQUFDLGlJQUFpSSxDQUFDLENBQUM7SUFDakosQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMscURBQXFELENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBRUY7QUFYRCwwREFXQyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250428021350 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250428021350 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "pickup_availability" add column if not exists "enable" boolean not null default true;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "pickup_availability" drop column if exists "enable";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250428021350 = Migration20250428021350;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MjgwMjEzNTAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQyODAyMTM1MC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOEdBQThHLENBQUMsQ0FBQztJQUM5SCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250503003504 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250503003504 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "pickup_date" drop constraint if exists "pickup_date_order_id_unique";`);
|
|
8
|
+
this.addSql(`alter table if exists "pickup_date" drop constraint if exists "pickup_date_cart_id_unique";`);
|
|
9
|
+
this.addSql(`create table if not exists "pickup_date" ("id" text not null, "cart_id" text null, "order_id" text null, "pickup_datetime" timestamptz not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "pickup_date_pkey" primary key ("id"));`);
|
|
10
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_pickup_date_cart_id_unique" ON "pickup_date" (cart_id) WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_pickup_date_order_id_unique" ON "pickup_date" (order_id) WHERE deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_pickup_date_deleted_at" ON "pickup_date" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
13
|
+
this.addSql(`drop table if exists "cart_pickup_date" cascade;`);
|
|
14
|
+
this.addSql(`drop table if exists "order_pickup_date" cascade;`);
|
|
15
|
+
}
|
|
16
|
+
async down() {
|
|
17
|
+
this.addSql(`create table if not exists "cart_pickup_date" ("id" text not null, "cart_id" text not null, "pickup_datetime" timestamptz not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "cart_pickup_date_pkey" primary key ("id"));`);
|
|
18
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_cart_pickup_date_deleted_at" ON "cart_pickup_date" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
19
|
+
this.addSql(`create table if not exists "order_pickup_date" ("id" text not null, "order_id" text not null, "pickup_datetime" timestamptz not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "order_pickup_date_pkey" primary key ("id"));`);
|
|
20
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_pickup_date_deleted_at" ON "order_pickup_date" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
21
|
+
this.addSql(`drop table if exists "pickup_date" cascade;`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.Migration20250503003504 = Migration20250503003504;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDMwMDM1MDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUwMzAwMzUwNC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOEZBQThGLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsTUFBTSxDQUFDLDZGQUE2RixDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLE1BQU0sQ0FBQyxzVUFBc1UsQ0FBQyxDQUFDO1FBQ3BWLElBQUksQ0FBQyxNQUFNLENBQUMseUhBQXlILENBQUMsQ0FBQztRQUN2SSxJQUFJLENBQUMsTUFBTSxDQUFDLDJIQUEySCxDQUFDLENBQUM7UUFDekksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpSEFBaUgsQ0FBQyxDQUFDO1FBRS9ILElBQUksQ0FBQyxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsTUFBTSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsOFRBQThULENBQUMsQ0FBQztRQUM1VSxJQUFJLENBQUMsTUFBTSxDQUFDLDJIQUEySCxDQUFDLENBQUM7UUFFekksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpVUFBaVUsQ0FBQyxDQUFDO1FBQy9VLElBQUksQ0FBQyxNQUFNLENBQUMsNkhBQTZILENBQUMsQ0FBQztRQUUzSSxJQUFJLENBQUMsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUVGO0FBekJELDBEQXlCQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const PickupAvailability = utils_1.model.define("pickup_availability", {
|
|
5
|
+
id: utils_1.model.id().primaryKey(),
|
|
6
|
+
shipping_option_id: utils_1.model.text(),
|
|
7
|
+
day_of_week: utils_1.model.text(),
|
|
8
|
+
enable: utils_1.model.boolean().default(true),
|
|
9
|
+
timeStart: utils_1.model.dateTime(),
|
|
10
|
+
timeEnd: utils_1.model.dateTime(),
|
|
11
|
+
});
|
|
12
|
+
exports.default = PickupAvailability;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWF2YWlsYWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BpY2t1cC1kYXRldGltZS9tb2RlbHMvcGlja3VwLWF2YWlsYWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFrRDtBQUVsRCxNQUFNLGtCQUFrQixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUU7SUFDN0QsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDM0Isa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNoQyxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN6QixNQUFNLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDckMsU0FBUyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7Q0FDMUIsQ0FBQyxDQUFDO0FBRUgsa0JBQWUsa0JBQWtCLENBQUMifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const PickupDate = utils_1.model.define("pickup_date", {
|
|
5
|
+
id: utils_1.model.id().primaryKey(),
|
|
6
|
+
cart_id: utils_1.model.text().unique().nullable(),
|
|
7
|
+
order_id: utils_1.model.text().unique().nullable(),
|
|
8
|
+
pickup_datetime: utils_1.model.dateTime(),
|
|
9
|
+
});
|
|
10
|
+
exports.default = PickupDate;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbW9kZWxzL3BpY2t1cC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWtEO0FBRWxELE1BQU0sVUFBVSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO0lBQzdDLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pDLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLGVBQWUsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQUMsQ0FBQztBQUVILGtCQUFlLFVBQVUsQ0FBQyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const pickup_date_1 = __importDefault(require("./models/pickup-date"));
|
|
8
|
+
const pickup_availability_1 = __importDefault(require("./models/pickup-availability"));
|
|
9
|
+
class PickupDatetimeModuleService extends (0, utils_1.MedusaService)({
|
|
10
|
+
PickupDate: pickup_date_1.default,
|
|
11
|
+
PickupAvailability: pickup_availability_1.default,
|
|
12
|
+
}) {
|
|
13
|
+
}
|
|
14
|
+
exports.default = PickupDatetimeModuleService;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BpY2t1cC1kYXRldGltZS9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQTBEO0FBQzFELHVFQUE4QztBQUM5Qyx1RkFBOEQ7QUFFOUQsTUFBTSwyQkFBNEIsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDdEQsVUFBVSxFQUFWLHFCQUFVO0lBQ1Ysa0JBQWtCLEVBQWxCLDZCQUFrQjtDQUNuQixDQUFDO0NBQUc7QUFFTCxrQkFBZSwyQkFBMkIsQ0FBQyJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
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.updatedPickupAvailabilitySchema = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const dayOfWeekSchema = zod_1.default.enum([
|
|
9
|
+
"monday",
|
|
10
|
+
"tuesday",
|
|
11
|
+
"wednesday",
|
|
12
|
+
"thursday",
|
|
13
|
+
"friday",
|
|
14
|
+
"saturday",
|
|
15
|
+
"sunday",
|
|
16
|
+
]);
|
|
17
|
+
exports.updatedPickupAvailabilitySchema = zod_1.default.object({
|
|
18
|
+
day_of_week: dayOfWeekSchema,
|
|
19
|
+
enable: zod_1.default.boolean(),
|
|
20
|
+
timeSlots: zod_1.default.array(zod_1.default.object({
|
|
21
|
+
start: zod_1.default.string(),
|
|
22
|
+
end: zod_1.default.string(),
|
|
23
|
+
})),
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmdPcHRpb25QaWNrdXBBdmFpbGFiaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvdHlwZXMvc2hpcHBpbmdPcHRpb25QaWNrdXBBdmFpbGFiaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQW9CO0FBRXBCLE1BQU0sZUFBZSxHQUFHLGFBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsUUFBUTtJQUNSLFNBQVM7SUFDVCxXQUFXO0lBQ1gsVUFBVTtJQUNWLFFBQVE7SUFDUixVQUFVO0lBQ1YsUUFBUTtDQUNULENBQUMsQ0FBQztBQWNVLFFBQUEsK0JBQStCLEdBQUcsYUFBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RCxXQUFXLEVBQUUsZUFBZTtJQUM1QixNQUFNLEVBQUUsYUFBQyxDQUFDLE9BQU8sRUFBRTtJQUNuQixTQUFTLEVBQUUsYUFBQyxDQUFDLEtBQUssQ0FDaEIsYUFBQyxDQUFDLE1BQU0sQ0FBQztRQUNQLEtBQUssRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFO1FBQ2pCLEdBQUcsRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFO0tBQ2hCLENBQUMsQ0FDSDtDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
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.config = void 0;
|
|
7
|
+
exports.default = orderCreateHandler;
|
|
8
|
+
const createOrderPickupDate_1 = __importDefault(require("../workflows/pickup-availablity/pickup/createOrderPickupDate"));
|
|
9
|
+
async function orderCreateHandler({ event: { data }, }) {
|
|
10
|
+
const orderId = data.id;
|
|
11
|
+
await createOrderPickupDate_1.default.run({
|
|
12
|
+
input: {
|
|
13
|
+
order_id: orderId,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
exports.config = {
|
|
18
|
+
event: "order.placed",
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNQSxxQ0FVQztBQVpELHlIQUF5RztBQUUxRixLQUFLLFVBQVUsa0JBQWtCLENBQUMsRUFDL0MsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQ2dCO0lBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFFeEIsTUFBTSwrQkFBNkIsQ0FBQyxHQUFHLENBQUM7UUFDdEMsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLE9BQU87U0FDbEI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxjQUFjO0NBQ3RCLENBQUMifQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deletePickupAvailabilityWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
7
|
+
const pickup_datetime_1 = require("../../modules/pickup-datetime");
|
|
8
|
+
const deletePickupAvailabilityStep = (0, workflows_sdk_1.createStep)("delete-pickup-availability-step", async (input, { container: _container }) => {
|
|
9
|
+
const { shipping_option_id, pickup_availability_id } = input;
|
|
10
|
+
const pickupDatetimeService = framework_1.container.resolve(pickup_datetime_1.PICKUP_DATETIME_MODULE);
|
|
11
|
+
try {
|
|
12
|
+
const link = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
13
|
+
await link.dismiss({
|
|
14
|
+
[utils_1.Modules.FULFILLMENT]: {
|
|
15
|
+
shipping_option_id: shipping_option_id,
|
|
16
|
+
},
|
|
17
|
+
[pickup_datetime_1.PICKUP_DATETIME_MODULE]: {
|
|
18
|
+
pickup_availability_id: pickup_availability_id,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.log(error);
|
|
24
|
+
await pickupDatetimeService.deletePickupAvailabilities({
|
|
25
|
+
id: pickup_availability_id,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return new workflows_sdk_1.StepResponse(pickup_availability_id, pickup_availability_id);
|
|
29
|
+
});
|
|
30
|
+
exports.deletePickupAvailabilityWorkflow = (0, workflows_sdk_1.createWorkflow)("delete-pickup-availability-workflow", (input) => {
|
|
31
|
+
const data = deletePickupAvailabilityStep(input);
|
|
32
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
33
|
+
availability: data,
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlUGlja3VwQXZhaWxhYmlsaXR5V29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BpY2t1cC1hdmFpbGFibGl0eS9kZWxldGVQaWNrdXBBdmFpbGFiaWxpdHlXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFDaEQscURBR21DO0FBQ25DLDJEQUtpQztBQUNqQyxtRUFBdUU7QUFRdkUsTUFBTSw0QkFBNEIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLGlDQUFpQyxFQUNqQyxLQUFLLEVBQUUsS0FBb0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQ3hELE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUM3RCxNQUFNLHFCQUFxQixHQUN6QixxQkFBUyxDQUFDLE9BQU8sQ0FBOEIsd0NBQXNCLENBQUMsQ0FBQztJQUV6RSxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDakIsQ0FBQyxlQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3JCLGtCQUFrQixFQUFFLGtCQUFrQjthQUN2QztZQUNELENBQUMsd0NBQXNCLENBQUMsRUFBRTtnQkFDeEIsc0JBQXNCLEVBQUUsc0JBQXNCO2FBQy9DO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLE1BQU0scUJBQXFCLENBQUMsMEJBQTBCLENBQUM7WUFDckQsRUFBRSxFQUFFLHNCQUFzQjtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsZ0NBQWdDLEdBQUcsSUFBQSw4QkFBYyxFQUM1RCxxQ0FBcUMsRUFDckMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7SUFDdkIsTUFBTSxJQUFJLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakQsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelOrderPickupWorkflow = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const pickup_datetime_1 = require("../../../modules/pickup-datetime");
|
|
7
|
+
const framework_1 = require("@medusajs/framework");
|
|
8
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
9
|
+
const cancelOrderPickupStep = (0, workflows_sdk_1.createStep)("cancel-order-pickup-step", async (input) => {
|
|
10
|
+
const { order_id } = input;
|
|
11
|
+
if (!order_id) {
|
|
12
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Order id is required");
|
|
13
|
+
}
|
|
14
|
+
const pickupDatetimeModuleService = framework_1.container.resolve(pickup_datetime_1.PICKUP_DATETIME_MODULE);
|
|
15
|
+
const [pickDate] = await pickupDatetimeModuleService.listPickupDates({
|
|
16
|
+
order_id: order_id,
|
|
17
|
+
});
|
|
18
|
+
if (!pickDate) {
|
|
19
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Pickup date not found");
|
|
20
|
+
}
|
|
21
|
+
const link = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
22
|
+
await link.dismiss({
|
|
23
|
+
[utils_1.Modules.ORDER]: {
|
|
24
|
+
order_id: order_id,
|
|
25
|
+
},
|
|
26
|
+
[pickup_datetime_1.PICKUP_DATETIME_MODULE]: {
|
|
27
|
+
pickup_date_id: pickDate.id,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
await pickupDatetimeModuleService.softDeletePickupDates(pickDate.id);
|
|
31
|
+
return new workflows_sdk_1.StepResponse(pickDate, pickDate);
|
|
32
|
+
});
|
|
33
|
+
exports.cancelOrderPickupWorkflow = (0, workflows_sdk_1.createWorkflow)("cancel-order-pickup-workflow", (input) => {
|
|
34
|
+
const data = cancelOrderPickupStep(input);
|
|
35
|
+
const pickupDateId = (0, workflows_sdk_1.transform)(data, (data) => {
|
|
36
|
+
return data.id;
|
|
37
|
+
});
|
|
38
|
+
(0, core_flows_1.emitEventStep)({
|
|
39
|
+
eventName: "order.pickup_date.cancelled",
|
|
40
|
+
data: {
|
|
41
|
+
order_id: input.order_id,
|
|
42
|
+
pickup_date_id: pickupDateId,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
46
|
+
pickupDate: input,
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsT3JkZXJQaWNrdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BpY2t1cC1hdmFpbGFibGl0eS9waWNrdXAvY2FuY2VsT3JkZXJQaWNrdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBSW1DO0FBQ25DLHFFQU0yQztBQUUzQyxzRUFBMEU7QUFDMUUsbURBQWdEO0FBQ2hELDREQUE0RDtBQU01RCxNQUFNLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFDdEMsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxLQUFpQyxFQUFFLEVBQUU7SUFDMUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUUzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzQkFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLDJCQUEyQixHQUMvQixxQkFBUyxDQUFDLE9BQU8sQ0FBOEIsd0NBQXNCLENBQUMsQ0FBQztJQUV6RSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSwyQkFBMkIsQ0FBQyxlQUFlLENBQUM7UUFDbkUsUUFBUSxFQUFFLFFBQVE7S0FDbkIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsdUJBQXVCLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pCLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsUUFBUSxFQUFFLFFBQVE7U0FDbkI7UUFDRCxDQUFDLHdDQUFzQixDQUFDLEVBQUU7WUFDeEIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1NBQzVCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFckUsT0FBTyxJQUFJLDRCQUFZLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELDhCQUE4QixFQUM5QixDQUFDLEtBQWlDLEVBQUUsRUFBRTtJQUNwQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxNQUFNLFlBQVksR0FBRyxJQUFBLHlCQUFTLEVBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSwwQkFBYSxFQUFDO1FBQ1osU0FBUyxFQUFFLDZCQUE2QjtRQUN4QyxJQUFJLEVBQUU7WUFDSixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsY0FBYyxFQUFFLFlBQVk7U0FDN0I7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|