@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.
@@ -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.define("pickup_availability", {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWF2YWlsYWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BpY2t1cC1kYXRldGltZS9tb2RlbHMvcGlja3VwLWF2YWlsYWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFrRDtBQUVsRCxNQUFNLGtCQUFrQixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUU7SUFDN0QsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDM0Isa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNoQyxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN6QixNQUFNLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDckMsU0FBUyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7Q0FDMUIsQ0FBQyxDQUFDO0FBRUgsa0JBQWUsa0JBQWtCLENBQUMifQ==
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.define("pickup_date", {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbW9kZWxzL3BpY2t1cC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWtEO0FBRWxELE1BQU0sVUFBVSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO0lBQzdDLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pDLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLGVBQWUsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQUMsQ0FBQztBQUVILGtCQUFlLFVBQVUsQ0FBQyJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3VwLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9waWNrdXAtZGF0ZXRpbWUvbW9kZWxzL3BpY2t1cC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWtEO0FBRWxELE1BQU0sVUFBVSxHQUFHLGFBQUs7S0FDckIsTUFBTSxDQUFDLGFBQWEsRUFBRTtJQUNyQixFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRTtJQUMzQixPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxlQUFlLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtDQUNsQyxDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDZixLQUFLLEVBQUUscUJBQXFCO0tBQzdCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDaEIsS0FBSyxFQUFFLHNCQUFzQjtLQUM5QjtDQUNGLENBQUMsQ0FBQztBQUVMLGtCQUFlLFVBQVUsQ0FBQyJ9
@@ -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
- const availTimeStart = convertDateToMinutes(new Date(availability.timeStart.toLocaleString()));
42
- const availTimeEnd = convertDateToMinutes(new Date(availability.timeEnd.toLocaleString()));
43
- const pickupTime = pickup_datetime.getUTCHours() * 60 + pickup_datetime.getUTCMinutes();
44
- return availTimeStart <= pickupTime && availTimeEnd >= pickupTime;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQaWNrdXBEYXRlU3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGlja3VwLWF2YWlsYWJsaXR5L3BpY2t1cC9zdGVwcy92YWxpZGF0ZVBpY2t1cERhdGVTdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFtRTtBQUNuRSxtREFBZ0Q7QUFFaEQscURBQXdEO0FBRXhELHlFQUE2RTtBQU83RSxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxPQUFPLEtBQUssR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVXLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QywyQkFBMkIsRUFDM0IsS0FBSyxFQUFFLEtBQWtDLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3pFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtJQUNyQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHFDQUFxQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sMkJBQTJCLEdBQy9CLHFCQUFTLENBQUMsT0FBTyxDQUE4Qix3Q0FBc0IsQ0FBQyxDQUFDO0lBRXpFLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLFFBQVE7UUFDUixRQUFRO1FBQ1IsU0FBUztRQUNULFdBQVc7UUFDWCxVQUFVO1FBQ1YsUUFBUTtRQUNSLFVBQVU7S0FDWCxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRS9CLE1BQU0sY0FBYyxHQUNsQixNQUFNLDJCQUEyQixDQUFDLHdCQUF3QixDQUFDO1FBQ3pELGtCQUFrQjtRQUNsQixXQUFXLEVBQUUsU0FBUztLQUN2QixDQUFDLENBQUM7SUFFTCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7UUFDdkQsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQ3pDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FDbEQsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUN2QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ2hELENBQUM7UUFFRixNQUFNLFVBQVUsR0FDZCxlQUFlLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV2RSxPQUFPLGNBQWMsSUFBSSxVQUFVLElBQUksWUFBWSxJQUFJLFVBQVUsQ0FBQztJQUNwRSxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQiwyQkFBMkIsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUNGLENBQUMifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQaWNrdXBEYXRlU3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGlja3VwLWF2YWlsYWJsaXR5L3BpY2t1cC9zdGVwcy92YWxpZGF0ZVBpY2t1cERhdGVTdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFtRTtBQUNuRSxtREFBZ0Q7QUFFaEQscURBQXdEO0FBRXhELHlFQUE2RTtBQU83RSxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxPQUFPLEtBQUssR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVXLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QywyQkFBMkIsRUFDM0IsS0FBSyxFQUFFLEtBQWtDLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3pFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtJQUNyQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodashventure/medusa-booking-for-pickup",
3
- "version": "1.4.1",
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.10.0",
32
- "@medusajs/cli": "2.10.0",
33
- "@medusajs/framework": "2.10.0",
34
- "@medusajs/icons": "^2.10.0",
35
- "@medusajs/medusa": "2.10.0",
36
- "@medusajs/test-utils": "2.10.0",
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.10.0",
59
- "@medusajs/cli": "2.10.0",
60
- "@medusajs/framework": "2.10.0",
61
- "@medusajs/icons": "^2.10.0",
62
- "@medusajs/medusa": "2.10.0",
63
- "@medusajs/test-utils": "2.10.0",
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