@lodashventure/medusa-booking-for-pickup 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +421 -30
- package/.medusa/server/src/admin/index.mjs +435 -44
- package/.medusa/server/src/api/admin/customers/[id]/pickup-history/route.js +77 -0
- package/.medusa/server/src/api/admin/orders/[id]/pickup-booking/route.js +158 -0
- package/.medusa/server/src/links/index.js +13 -0
- package/.medusa/server/src/modules/pickup-datetime/models/pickup-availability.js +13 -3
- package/.medusa/server/src/modules/pickup-datetime/models/pickup-date.js +14 -3
- package/.medusa/server/src/workflows/pickup-availablity/pickup/steps/validatePickupDateStep.js +16 -5
- package/package.json +17 -31
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250426021722.js +0 -18
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250427042133.js +0 -15
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250428021350.js +0 -14
- package/.medusa/server/src/modules/pickup-datetime/migrations/Migration20250503003504.js +0 -25
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PATCH = exports.DELETE = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
/**
|
|
6
|
+
* GET /admin/orders/:id/pickup-booking
|
|
7
|
+
*
|
|
8
|
+
* Fetches the pickup booking details for a specific order
|
|
9
|
+
*/
|
|
10
|
+
const GET = async (req, res) => {
|
|
11
|
+
const { id: order_id } = req.params;
|
|
12
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
13
|
+
try {
|
|
14
|
+
// Query pickup date for this order
|
|
15
|
+
const result = await query.graph({
|
|
16
|
+
entity: "pickup_date",
|
|
17
|
+
fields: ["id", "pickup_datetime", "order_id", "created_at", "updated_at"],
|
|
18
|
+
filters: {
|
|
19
|
+
order_id: order_id,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
const pickupDate = result.data?.[0] || null;
|
|
23
|
+
if (!pickupDate) {
|
|
24
|
+
return res.status(404).json({
|
|
25
|
+
message: "No pickup booking found for this order",
|
|
26
|
+
pickup_booking: null,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
// Get the order to find shipping option details
|
|
30
|
+
const orderResult = await query.graph({
|
|
31
|
+
entity: "order",
|
|
32
|
+
fields: [
|
|
33
|
+
"id",
|
|
34
|
+
"shipping_methods.*",
|
|
35
|
+
"shipping_methods.shipping_option.*",
|
|
36
|
+
"shipping_methods.shipping_option.service_zone.*",
|
|
37
|
+
"shipping_methods.shipping_option.service_zone.fulfillment_set.*",
|
|
38
|
+
"shipping_methods.shipping_option.service_zone.fulfillment_set.location.*",
|
|
39
|
+
"shipping_methods.shipping_option.service_zone.fulfillment_set.location.address.*",
|
|
40
|
+
],
|
|
41
|
+
filters: {
|
|
42
|
+
id: order_id,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const order = orderResult.data?.[0] || null;
|
|
46
|
+
// Find the pickup shipping method
|
|
47
|
+
let pickupShippingOption = null;
|
|
48
|
+
if (order && order.shipping_methods && order.shipping_methods.length > 0) {
|
|
49
|
+
// Find shipping method with fulfillment_set type = "pickup"
|
|
50
|
+
const pickupMethod = order.shipping_methods.find((sm) => sm.shipping_option?.service_zone?.fulfillment_set?.type === "pickup");
|
|
51
|
+
if (pickupMethod) {
|
|
52
|
+
pickupShippingOption = pickupMethod.shipping_option;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Construct enriched pickup booking
|
|
56
|
+
const enrichedPickupBooking = {
|
|
57
|
+
...pickupDate,
|
|
58
|
+
shipping_option: pickupShippingOption,
|
|
59
|
+
};
|
|
60
|
+
return res.status(200).json({
|
|
61
|
+
pickup_booking: enrichedPickupBooking,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
console.error("Error fetching pickup booking:", error);
|
|
66
|
+
return res.status(500).json({
|
|
67
|
+
error: error.message || "Failed to fetch pickup booking",
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
exports.GET = GET;
|
|
72
|
+
/**
|
|
73
|
+
* DELETE /admin/orders/:id/pickup-booking
|
|
74
|
+
*
|
|
75
|
+
* Cancels/deletes the pickup booking for a specific order
|
|
76
|
+
*/
|
|
77
|
+
const DELETE = async (req, res) => {
|
|
78
|
+
const { id: order_id } = req.params;
|
|
79
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
80
|
+
try {
|
|
81
|
+
// Find the pickup date
|
|
82
|
+
const result = await query.graph({
|
|
83
|
+
entity: "pickup_date",
|
|
84
|
+
fields: ["id", "order_id"],
|
|
85
|
+
filters: {
|
|
86
|
+
order_id: order_id,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
const pickupDate = result.data?.[0];
|
|
90
|
+
if (!pickupDate) {
|
|
91
|
+
return res.status(404).json({
|
|
92
|
+
message: "No pickup booking found for this order",
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// Delete the pickup date
|
|
96
|
+
const pickupDateService = req.scope.resolve("pickup_datetime");
|
|
97
|
+
await pickupDateService.delete([pickupDate.id]);
|
|
98
|
+
return res.status(200).json({
|
|
99
|
+
message: "Pickup booking cancelled successfully",
|
|
100
|
+
id: pickupDate.id,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
console.error("Error cancelling pickup booking:", error);
|
|
105
|
+
return res.status(500).json({
|
|
106
|
+
error: error.message || "Failed to cancel pickup booking",
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports.DELETE = DELETE;
|
|
111
|
+
/**
|
|
112
|
+
* PATCH /admin/orders/:id/pickup-booking
|
|
113
|
+
*
|
|
114
|
+
* Updates the pickup booking datetime for a specific order
|
|
115
|
+
*/
|
|
116
|
+
const PATCH = async (req, res) => {
|
|
117
|
+
const { id: order_id } = req.params;
|
|
118
|
+
const { pickup_datetime } = req.body;
|
|
119
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
120
|
+
if (!pickup_datetime) {
|
|
121
|
+
return res.status(400).json({
|
|
122
|
+
error: "pickup_datetime is required",
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
// Find the pickup date
|
|
127
|
+
const result = await query.graph({
|
|
128
|
+
entity: "pickup_date",
|
|
129
|
+
fields: ["id", "order_id", "pickup_datetime"],
|
|
130
|
+
filters: {
|
|
131
|
+
order_id: order_id,
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
const pickupDate = result.data?.[0];
|
|
135
|
+
if (!pickupDate) {
|
|
136
|
+
return res.status(404).json({
|
|
137
|
+
message: "No pickup booking found for this order",
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
// Update the pickup date
|
|
141
|
+
const pickupDateService = req.scope.resolve("pickup_datetime");
|
|
142
|
+
const updated = await pickupDateService.update(pickupDate.id, {
|
|
143
|
+
pickup_datetime: new Date(pickup_datetime),
|
|
144
|
+
});
|
|
145
|
+
return res.status(200).json({
|
|
146
|
+
message: "Pickup booking updated successfully",
|
|
147
|
+
pickup_booking: updated,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
console.error("Error updating pickup booking:", error);
|
|
152
|
+
return res.status(500).json({
|
|
153
|
+
error: error.message || "Failed to update pickup booking",
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
exports.PATCH = PATCH;
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL29yZGVycy9baWRdL3BpY2t1cC1ib29raW5nL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFzRTtBQUV0RTs7OztHQUlHO0FBQ0ksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxJQUFJLENBQUM7UUFDSCxtQ0FBbUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztZQUN6RSxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLFFBQVE7YUFDbkI7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBRTVDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixPQUFPLEVBQUUsd0NBQXdDO2dCQUNqRCxjQUFjLEVBQUUsSUFBSTthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsZ0RBQWdEO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNw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
|
|
@@ -0,0 +1,13 @@
|
|
|
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.shippingOptionPickupAvailabilityLink = exports.orderPickupDateLink = exports.cartPickupDateLink = void 0;
|
|
7
|
+
var cart_pickup_date_1 = require("./cart-pickup-date");
|
|
8
|
+
Object.defineProperty(exports, "cartPickupDateLink", { enumerable: true, get: function () { return __importDefault(cart_pickup_date_1).default; } });
|
|
9
|
+
var order_pickup_date_1 = require("./order-pickup-date");
|
|
10
|
+
Object.defineProperty(exports, "orderPickupDateLink", { enumerable: true, get: function () { return __importDefault(order_pickup_date_1).default; } });
|
|
11
|
+
var shipping_option_pickup_availability_1 = require("./shipping-option-pickup-availability");
|
|
12
|
+
Object.defineProperty(exports, "shippingOptionPickupAvailabilityLink", { enumerable: true, get: function () { return __importDefault(shipping_option_pickup_availability_1).default; } });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBQW1FO0FBQTFELHVJQUFBLE9BQU8sT0FBc0I7QUFDdEMseURBQXFFO0FBQTVELHlJQUFBLE9BQU8sT0FBdUI7QUFDdkMsNkZBQXdHO0FBQS9GLDRLQUFBLE9BQU8sT0FBd0MifQ==
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
-
const PickupAvailability = utils_1.model
|
|
4
|
+
const PickupAvailability = utils_1.model
|
|
5
|
+
.define("pickup_availability", {
|
|
5
6
|
id: utils_1.model.id().primaryKey(),
|
|
6
7
|
shipping_option_id: utils_1.model.text(),
|
|
7
8
|
day_of_week: utils_1.model.text(),
|
|
8
9
|
enable: utils_1.model.boolean().default(true),
|
|
9
10
|
timeStart: utils_1.model.dateTime(),
|
|
10
11
|
timeEnd: utils_1.model.dateTime(),
|
|
11
|
-
})
|
|
12
|
+
})
|
|
13
|
+
.indexes([
|
|
14
|
+
{
|
|
15
|
+
on: ["shipping_option_id"],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
on: ["shipping_option_id", "day_of_week"],
|
|
19
|
+
unique: true,
|
|
20
|
+
},
|
|
21
|
+
]);
|
|
12
22
|
exports.default = PickupAvailability;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWF2YWlsYWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BpY2t1cC1kYXRldGltZS9tb2RlbHMvcGlja3VwLWF2YWlsYWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFrRDtBQUVsRCxNQUFNLGtCQUFrQixHQUFHLGFBQUs7S0FDN0IsTUFBTSxDQUFDLHFCQUFxQixFQUFFO0lBQzdCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLGtCQUFrQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDaEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDekIsTUFBTSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3JDLFNBQVMsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFO0lBQzNCLE9BQU8sRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFO0NBQzFCLENBQUM7S0FDRCxPQUFPLENBQUM7SUFDUDtRQUNFLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0tBQzNCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUM7UUFDekMsTUFBTSxFQUFFLElBQUk7S0FDYjtDQUNGLENBQUMsQ0FBQztBQUVMLGtCQUFlLGtCQUFrQixDQUFDIn0=
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
-
const PickupDate = utils_1.model
|
|
4
|
+
const PickupDate = utils_1.model
|
|
5
|
+
.define("pickup_date", {
|
|
5
6
|
id: utils_1.model.id().primaryKey(),
|
|
6
7
|
cart_id: utils_1.model.text().unique().nullable(),
|
|
7
8
|
order_id: utils_1.model.text().unique().nullable(),
|
|
8
9
|
pickup_datetime: utils_1.model.dateTime(),
|
|
9
|
-
})
|
|
10
|
+
})
|
|
11
|
+
.indexes([
|
|
12
|
+
{
|
|
13
|
+
on: ["cart_id"],
|
|
14
|
+
where: "cart_id IS NOT NULL",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
on: ["order_id"],
|
|
18
|
+
where: "order_id IS NOT NULL",
|
|
19
|
+
},
|
|
20
|
+
]);
|
|
10
21
|
exports.default = PickupDate;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbW9kZWxzL3BpY2t1cC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWtEO0FBRWxELE1BQU0sVUFBVSxHQUFHLGFBQUs7S0FDckIsTUFBTSxDQUFDLGFBQWEsRUFBRTtJQUNyQixFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRTtJQUMzQixPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxlQUFlLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtDQUNsQyxDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDZixLQUFLLEVBQUUscUJBQXFCO0tBQzdCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDaEIsS0FBSyxFQUFFLHNCQUFzQjtLQUM5QjtDQUNGLENBQUMsQ0FBQztBQUVMLGtCQUFlLFVBQVUsQ0FBQyJ9
|
package/.medusa/server/src/workflows/pickup-availablity/pickup/steps/validatePickupDateStep.js
CHANGED
|
@@ -36,16 +36,27 @@ exports.validatePickupDateStep = (0, workflows_sdk_1.createStep)("validate-picku
|
|
|
36
36
|
const availabilities = await pickupDatetimeModuleService.listPickupAvailabilities({
|
|
37
37
|
shipping_option_id,
|
|
38
38
|
day_of_week: dayOfWeek,
|
|
39
|
+
enable: true, // Filter only enabled availability slots
|
|
39
40
|
});
|
|
41
|
+
if (!availabilities || availabilities.length === 0) {
|
|
42
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `No pickup availability for ${dayOfWeek}`);
|
|
43
|
+
}
|
|
44
|
+
const pickupTime = pickup_datetime.getUTCHours() * 60 + pickup_datetime.getUTCMinutes();
|
|
45
|
+
// Log for debugging
|
|
46
|
+
console.log(`[Pickup Validation] Checking ${availabilities.length} availability slots for ${dayOfWeek}`);
|
|
47
|
+
console.log(`[Pickup Validation] Pickup time: ${Math.floor(pickupTime / 60)}:${(pickupTime % 60).toString().padStart(2, '0')}`);
|
|
40
48
|
const isAvailable = availabilities.some((availability) => {
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
49
|
+
// Convert time correctly without toLocaleString() to avoid timezone issues
|
|
50
|
+
const availTimeStart = convertDateToMinutes(availability.timeStart);
|
|
51
|
+
const availTimeEnd = convertDateToMinutes(availability.timeEnd);
|
|
52
|
+
// Check if pickup time falls within this availability slot
|
|
53
|
+
const inRange = availTimeStart <= pickupTime && pickupTime <= availTimeEnd;
|
|
54
|
+
console.log(`[Pickup Validation] Slot ${Math.floor(availTimeStart / 60)}:${(availTimeStart % 60).toString().padStart(2, '0')} - ${Math.floor(availTimeEnd / 60)}:${(availTimeEnd % 60).toString().padStart(2, '0')}: ${inRange ? 'MATCH' : 'no match'}`);
|
|
55
|
+
return inRange;
|
|
45
56
|
});
|
|
46
57
|
if (!isAvailable) {
|
|
47
58
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Pickup date not available");
|
|
48
59
|
}
|
|
49
60
|
return new workflows_sdk_1.StepResponse(pickup_datetime, pickup_datetime);
|
|
50
61
|
});
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQaWNrdXBEYXRlU3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGlja3VwLWF2YWlsYWJsaXR5L3BpY2t1cC9zdGVwcy92YWxpZGF0ZVBpY2t1cERhdGVTdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFtRTtBQUNuRSxtREFBZ0Q7QUFFaEQscURBQXdEO0FBRXhELHlFQUE2RTtBQU83RSxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxPQUFPLEtBQUssR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVXLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QywyQkFBMkIsRUFDM0IsS0FBSyxFQUFFLEtBQWtDLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3pFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtJQUNyQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHFDQUFxQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sMkJBQTJCLEdBQy9CLHFCQUFTLENBQUMsT0FBTyxDQUE4Qix3Q0FBc0IsQ0FBQyxDQUFDO0lBRXpFLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLFFBQVE7UUFDUixRQUFRO1FBQ1IsU0FBUztRQUNULFdBQVc7UUFDWCxVQUFVO1FBQ1YsUUFBUTtRQUNSLFVBQVU7S0FDWCxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRS9CLE1BQU0sY0FBYyxHQUNsQixNQUFNLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDO1FBQ3pELGtCQUFrQjtRQUNsQixXQUFXLEVBQUUsU0FBUztRQUN0QixNQUFNLEVBQUUsSUFBSSxFQUFFLHlDQUF5QztLQUN4RCxDQUFDLENBQUM7SUFFTCxJQUFJLENBQUMsY0FBYyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsOEJBQThCLFNBQVMsRUFBRSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sVUFBVSxHQUNkLGVBQWUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRXZFLG9CQUFvQjtJQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxjQUFjLENBQUMsTUFBTSwyQkFBMkIsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RyxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVoSSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7UUFDdkQsMkVBQTJFO1FBQzNFLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLFlBQVksR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEUsMkRBQTJEO1FBQzNELE1BQU0sT0FBTyxHQUFHLGNBQWMsSUFBSSxVQUFVLElBQUksVUFBVSxJQUFJLFlBQVksQ0FBQztRQUUzRSxPQUFPLENBQUMsR0FBRyxDQUNULDRCQUE0QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUM1TyxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsMkJBQTJCLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FDRixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodashventure/medusa-booking-for-pickup",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "A starter for Medusa plugins.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,27 +25,21 @@
|
|
|
25
25
|
],
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "medusa plugin:build",
|
|
28
|
-
"dev": "medusa plugin:develop"
|
|
28
|
+
"dev": "medusa plugin:develop",
|
|
29
|
+
"prepublishOnly": "medusa plugin:build"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"@medusajs/admin-sdk": "2.
|
|
32
|
-
"@medusajs/cli": "2.
|
|
33
|
-
"@medusajs/framework": "2.
|
|
34
|
-
"@medusajs/icons": "^2.
|
|
35
|
-
"@medusajs/medusa": "2.
|
|
36
|
-
"@medusajs/test-utils": "2.
|
|
32
|
+
"@medusajs/admin-sdk": "2.11.1",
|
|
33
|
+
"@medusajs/cli": "2.11.1",
|
|
34
|
+
"@medusajs/framework": "2.11.1",
|
|
35
|
+
"@medusajs/icons": "^2.11.1",
|
|
36
|
+
"@medusajs/medusa": "2.11.1",
|
|
37
|
+
"@medusajs/test-utils": "2.11.1",
|
|
37
38
|
"@medusajs/ui": "4.0.4",
|
|
38
|
-
"@mikro-orm/cli": "6.4.3",
|
|
39
|
-
"@mikro-orm/core": "6.4.3",
|
|
40
|
-
"@mikro-orm/knex": "6.4.3",
|
|
41
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
42
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
43
39
|
"@swc/core": "1.5.7",
|
|
44
40
|
"@types/node": "^20.0.0",
|
|
45
41
|
"@types/react": "^18.3.2",
|
|
46
42
|
"@types/react-dom": "^18.2.25",
|
|
47
|
-
"awilix": "^8.0.1",
|
|
48
|
-
"pg": "^8.13.0",
|
|
49
43
|
"prop-types": "^15.8.1",
|
|
50
44
|
"react": "^18.2.0",
|
|
51
45
|
"react-dom": "^18.2.0",
|
|
@@ -55,22 +49,14 @@
|
|
|
55
49
|
"yalc": "^1.0.0-pre.53"
|
|
56
50
|
},
|
|
57
51
|
"peerDependencies": {
|
|
58
|
-
"@medusajs/admin-sdk": "2.
|
|
59
|
-
"@medusajs/cli": "2.
|
|
60
|
-
"@medusajs/framework": "2.
|
|
61
|
-
"@medusajs/icons": "^2.
|
|
62
|
-
"@medusajs/medusa": "2.
|
|
63
|
-
"@medusajs/test-utils": "2.
|
|
52
|
+
"@medusajs/admin-sdk": "2.11.1",
|
|
53
|
+
"@medusajs/cli": "2.11.1",
|
|
54
|
+
"@medusajs/framework": "2.11.1",
|
|
55
|
+
"@medusajs/icons": "^2.11.1",
|
|
56
|
+
"@medusajs/medusa": "2.11.1",
|
|
57
|
+
"@medusajs/test-utils": "2.11.1",
|
|
64
58
|
"@medusajs/ui": "4.0.3",
|
|
65
|
-
"@medusajs/js-sdk": "
|
|
66
|
-
"@tanstack/react-query": "*",
|
|
67
|
-
"@mikro-orm/cli": "6.4.3",
|
|
68
|
-
"@mikro-orm/core": "6.4.3",
|
|
69
|
-
"@mikro-orm/knex": "6.4.3",
|
|
70
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
71
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
72
|
-
"awilix": "^8.0.1",
|
|
73
|
-
"pg": "^8.13.0"
|
|
59
|
+
"@medusajs/js-sdk": "2.11.1"
|
|
74
60
|
},
|
|
75
61
|
"engines": {
|
|
76
62
|
"node": ">=20"
|
|
@@ -78,4 +64,4 @@
|
|
|
78
64
|
"dependencies": {
|
|
79
65
|
"lucide-react": "^0.503.0"
|
|
80
66
|
}
|
|
81
|
-
}
|
|
67
|
+
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250426021722 = void 0;
|
|
4
|
-
const migrations_1 = require("@medusajs/framework/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MjYwMjE3MjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQyNjAyMTcyMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOFRBQThULENBQUMsQ0FBQztRQUM1VSxJQUFJLENBQUMsTUFBTSxDQUFDLDJIQUEySCxDQUFDLENBQUM7UUFFekksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpVUFBaVUsQ0FBQyxDQUFDO1FBQy9VLElBQUksQ0FBQyxNQUFNLENBQUMsNkhBQTZILENBQUMsQ0FBQztJQUM3SSxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBRUY7QUFoQkQsMERBZ0JDIn0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250427042133 = void 0;
|
|
4
|
-
const migrations_1 = require("@medusajs/framework/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MjcwNDIxMzMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQyNzA0MjEzMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsc1lBQXNZLENBQUMsQ0FBQztRQUNwWixJQUFJLENBQUMsTUFBTSxDQUFDLGlJQUFpSSxDQUFDLENBQUM7SUFDakosQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMscURBQXFELENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBRUY7QUFYRCwwREFXQyJ9
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250428021350 = void 0;
|
|
4
|
-
const migrations_1 = require("@medusajs/framework/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MjgwMjEzNTAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQyODAyMTM1MC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOEdBQThHLENBQUMsQ0FBQztJQUM5SCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250503003504 = void 0;
|
|
4
|
-
const migrations_1 = require("@medusajs/framework/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDMwMDM1MDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUwMzAwMzUwNC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOEZBQThGLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsTUFBTSxDQUFDLDZGQUE2RixDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLE1BQU0sQ0FBQyxzVUFBc1UsQ0FBQyxDQUFDO1FBQ3BWLElBQUksQ0FBQyxNQUFNLENBQUMseUhBQXlILENBQUMsQ0FBQztRQUN2SSxJQUFJLENBQUMsTUFBTSxDQUFDLDJIQUEySCxDQUFDLENBQUM7UUFDekksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpSEFBaUgsQ0FBQyxDQUFDO1FBRS9ILElBQUksQ0FBQyxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsTUFBTSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsOFRBQThULENBQUMsQ0FBQztRQUM1VSxJQUFJLENBQUMsTUFBTSxDQUFDLDJIQUEySCxDQUFDLENBQUM7UUFFekksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpVUFBaVUsQ0FBQyxDQUFDO1FBQy9VLElBQUksQ0FBQyxNQUFNLENBQUMsNkhBQTZILENBQUMsQ0FBQztRQUUzSSxJQUFJLENBQUMsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUVGO0FBekJELDBEQXlCQyJ9
|