@zaamx/netme-pos 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/.medusa/server/src/admin/index.js +428 -0
  2. package/.medusa/server/src/admin/index.mjs +427 -0
  3. package/.medusa/server/src/api/admin/netme-pos/payment-collections/[id]/mark-as-paid/route.js +20 -0
  4. package/.medusa/server/src/api/admin/netme-pos/payment-collections/[id]/payment-sessions/route.js +21 -0
  5. package/.medusa/server/src/api/admin/operators/[id]/route.js +69 -0
  6. package/.medusa/server/src/api/admin/operators/route.js +48 -0
  7. package/.medusa/server/src/api/admin/orders/[id]/cancel-no-refound/route.js +22 -0
  8. package/.medusa/server/src/api/admin/orders/search-by-display-id/route.js +25 -0
  9. package/.medusa/server/src/api/admin/pays/[payment_id]/options/[id]/route.js +35 -0
  10. package/.medusa/server/src/api/admin/pays/[payment_id]/options/route.js +46 -0
  11. package/.medusa/server/src/api/admin/plugin/route.js +7 -0
  12. package/.medusa/server/src/api/lib/connection-pool.js +47 -0
  13. package/.medusa/server/src/api/lib/customer-types.js +24 -0
  14. package/.medusa/server/src/api/lib/sdk.js +112 -0
  15. package/.medusa/server/src/api/lib/utils/password.js +27 -0
  16. package/.medusa/server/src/api/store/custom-shipping-methods/route.js +30 -0
  17. package/.medusa/server/src/api/store/plugin/route.js +7 -0
  18. package/.medusa/server/src/links/posoption-payment.js +16 -0
  19. package/.medusa/server/src/modules/payment-options/index.js +13 -0
  20. package/.medusa/server/src/modules/payment-options/migrations/Migration20250407125141.js +15 -0
  21. package/.medusa/server/src/modules/payment-options/models/payment-option.js +38 -0
  22. package/.medusa/server/src/modules/payment-options/service.js +14 -0
  23. package/.medusa/server/src/workflows/admin-create-operator/index.js +29 -0
  24. package/.medusa/server/src/workflows/admin-create-operator/steps/create-identity.js +27 -0
  25. package/.medusa/server/src/workflows/admin-create-operator/steps/create-operator-user.js +24 -0
  26. package/.medusa/server/src/workflows/authorize-payment-collection/index.js +42 -0
  27. package/.medusa/server/src/workflows/cancel-order-no-refund.js +104 -0
  28. package/.medusa/server/src/workflows/delete-operator.js +41 -0
  29. package/README.md +64 -0
  30. package/package.json +76 -0
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ const payment_options_1 = require("../../../../../../modules/payment-options");
6
+ async function GET(req, res) {
7
+ const { id: paymentOptionId } = req.params;
8
+ const paymentOptionService = req.scope.resolve(payment_options_1.PAYMENT_OPTION_MODULE);
9
+ try {
10
+ const paymentOption = await paymentOptionService.retrievePaymentOption(paymentOptionId);
11
+ res.status(200).json({
12
+ payment_option: paymentOption
13
+ });
14
+ }
15
+ catch (error) {
16
+ res.status(404).json({ error: error.message });
17
+ }
18
+ }
19
+ async function POST(req, res) {
20
+ const { id: paymentOptionId } = req.params;
21
+ const paymentOptionService = req.scope.resolve(payment_options_1.PAYMENT_OPTION_MODULE);
22
+ try {
23
+ const paymentOption = await paymentOptionService.updatePaymentOptions({
24
+ id: paymentOptionId,
25
+ ...req.body
26
+ });
27
+ res.status(200).json({
28
+ payment_option: paymentOption
29
+ });
30
+ }
31
+ catch (error) {
32
+ res.status(404).json({ error: error.message });
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BheXMvW3BheW1lbnRfaWRdL29wdGlvbnMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTRCQSxrQkFjQztBQUVELG9CQWlCQztBQTNERCwrRUFBaUY7QUEwQjFFLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUMxQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHVDQUFxQixDQUF5QixDQUFBO0lBQzdGLElBQUksQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDdkYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDakIsY0FBYyxFQUFFLGFBQWE7U0FDaEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQ3RCLEdBQTJDLEVBQzNDLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUMxQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHVDQUFxQixDQUF5QixDQUFBO0lBQzdGLElBQUksQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsb0JBQW9CLENBQUM7WUFDcEUsRUFBRSxFQUFFLGVBQWU7WUFDbkIsR0FBRyxHQUFHLENBQUMsSUFBSTtTQUNaLENBQUMsQ0FBQTtRQUNGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2pCLGNBQWMsRUFBRSxhQUFhO1NBQ2hDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQztBQUNMLENBQUMifQ==
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * /api/admin/payment/[payment_id]/pos
4
+ * This route list the pos payment options for a payment
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GET = GET;
8
+ exports.POST = POST;
9
+ const payment_options_1 = require("../../../../../modules/payment-options");
10
+ const utils_1 = require("@medusajs/framework/utils");
11
+ async function GET(req, res) {
12
+ const { payment_id } = req.params;
13
+ const paymentOptionService = req.scope.resolve(payment_options_1.PAYMENT_OPTION_MODULE);
14
+ const paymentOptions = await paymentOptionService.listByPaymentId(payment_id);
15
+ console.log('paymentOptions', paymentOptions);
16
+ res.json(paymentOptions);
17
+ }
18
+ async function POST(req, res) {
19
+ const { payment_id } = req.params;
20
+ const link = req.scope.resolve(utils_1.ContainerRegistrationKeys.LINK);
21
+ const paymentOptionService = req.scope.resolve(payment_options_1.PAYMENT_OPTION_MODULE);
22
+ console.log('req.body', req.body);
23
+ try {
24
+ // Create POS payment options
25
+ const paymentOptions = await paymentOptionService.createPaymentOptions({
26
+ payment_id: payment_id,
27
+ ...req.body
28
+ });
29
+ console.log('created paymentOptions', paymentOptions);
30
+ // Create links for each POS payment option
31
+ await link.create({
32
+ [utils_1.Modules.PAYMENT]: {
33
+ payment_id: payment_id,
34
+ },
35
+ [payment_options_1.PAYMENT_OPTION_MODULE]: {
36
+ payment_option_id: paymentOptions.id,
37
+ },
38
+ });
39
+ res.json(paymentOptions);
40
+ }
41
+ catch (error) {
42
+ console.error('Error creating payment options', error);
43
+ res.status(500).json({ error: 'Error creating payment options' });
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BheXMvW3BheW1lbnRfaWRdL29wdGlvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7QUFVSCxrQkFNQztBQUVELG9CQTBCQztBQXhDRCw0RUFBOEU7QUFDOUUscURBR29DO0FBRTdCLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUM3RCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUNqQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHVDQUFxQixDQUF5QixDQUFBO0lBQzdGLE1BQU0sY0FBYyxHQUFHLE1BQU0sb0JBQW9CLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzdFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUM1QixDQUFDO0FBRU0sS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQzlELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUNBQXFCLENBQXlCLENBQUE7SUFDN0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pDLElBQUksQ0FBQztRQUNELDZCQUE2QjtRQUM3QixNQUFNLGNBQWMsR0FBRyxNQUFNLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDO1lBQ25FLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLEdBQUcsR0FBRyxDQUFDLElBQVc7U0FDckIsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxjQUFjLENBQUMsQ0FBQTtRQUNyRCwyQ0FBMkM7UUFDM0MsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2YsVUFBVSxFQUFFLFVBQVU7YUFDekI7WUFDRCxDQUFDLHVDQUFxQixDQUFDLEVBQUU7Z0JBQ3JCLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxFQUFFO2FBQ3ZDO1NBQ0osQ0FBQyxDQUFBO1FBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7QUFDTCxDQUFDIn0=
@@ -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,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PooledFetchError = void 0;
4
+ exports.pooledFetch = pooledFetch;
5
+ const isObject = (value) => {
6
+ return typeof value === "object" && value !== null && !Array.isArray(value);
7
+ };
8
+ class PooledFetchError extends Error {
9
+ constructor(message, status, responseBody) {
10
+ super(message);
11
+ this.status = status;
12
+ this.responseBody = responseBody;
13
+ this.name = "PooledFetchError";
14
+ }
15
+ }
16
+ exports.PooledFetchError = PooledFetchError;
17
+ async function pooledFetch(url, options = {}) {
18
+ const response = await fetch(url, options);
19
+ const contentType = response.headers.get("content-type") || "";
20
+ const isJson = contentType.includes("application/json");
21
+ const parseBody = async () => {
22
+ if (isJson) {
23
+ return response.json().catch(() => undefined);
24
+ }
25
+ return response.text().catch(() => undefined);
26
+ };
27
+ if (!response.ok) {
28
+ const responseBody = await parseBody();
29
+ let message = `${response.status} ${response.statusText}`;
30
+ if (isObject(responseBody) && typeof responseBody.message === "string") {
31
+ message = responseBody.message;
32
+ }
33
+ else if (typeof responseBody === "string" && responseBody.trim().length > 0) {
34
+ message = responseBody;
35
+ }
36
+ throw new PooledFetchError(message, response.status, responseBody);
37
+ }
38
+ if (response.status === 204) {
39
+ return undefined;
40
+ }
41
+ const responseBody = await parseBody();
42
+ if (responseBody === undefined) {
43
+ return undefined;
44
+ }
45
+ return responseBody;
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1wb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9saWIvY29ubmVjdGlvbi1wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlCQSxrQ0EwQ0M7QUF6REQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQW9DLEVBQUU7SUFDcEUsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDN0UsQ0FBQyxDQUFBO0FBRUQsTUFBYSxnQkFBaUIsU0FBUSxLQUFLO0lBQ3pDLFlBQ0UsT0FBZSxFQUNDLE1BQWMsRUFDZCxZQUFzQjtRQUV0QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFIRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQVU7UUFHdEMsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQTtJQUNoQyxDQUFDO0NBQ0Y7QUFURCw0Q0FTQztBQUVNLEtBQUssVUFBVSxXQUFXLENBQy9CLEdBQVcsRUFDWCxVQUE4QixFQUFFO0lBRWhDLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUUxQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDOUQsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBRXZELE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQzNCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMvQyxDQUFDLENBQUE7SUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sWUFBWSxHQUFHLE1BQU0sU0FBUyxFQUFFLENBQUE7UUFFdEMsSUFBSSxPQUFPLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUV6RCxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxPQUFPLFlBQVksQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkUsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUE7UUFDaEMsQ0FBQzthQUFNLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUUsT0FBTyxHQUFHLFlBQVksQ0FBQTtRQUN4QixDQUFDO1FBRUQsTUFBTSxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDNUIsT0FBTyxTQUFjLENBQUE7SUFDdkIsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sU0FBUyxFQUFFLENBQUE7SUFFdEMsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxTQUFjLENBQUE7SUFDdkIsQ0FBQztJQUVELE9BQU8sWUFBaUIsQ0FBQTtBQUMxQixDQUFDIn0=
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ // Customer types with Medusa compatibility
3
+ // We use Medusa types where possible but maintain our own for hybrid architecture compatibility
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.adaptStoreCustomer = adaptStoreCustomer;
6
+ exports.adaptCustomerToStore = adaptCustomerToStore;
7
+ // Type adapters for converting between Medusa types and our types
8
+ function adaptStoreCustomer(storeCustomer) {
9
+ return {
10
+ ...storeCustomer,
11
+ first_name: storeCustomer.first_name || undefined,
12
+ last_name: storeCustomer.last_name || undefined,
13
+ phone: storeCustomer.phone || undefined,
14
+ };
15
+ }
16
+ function adaptCustomerToStore(customer) {
17
+ return {
18
+ ...customer,
19
+ first_name: customer.first_name || null,
20
+ last_name: customer.last_name || null,
21
+ phone: customer.phone || null,
22
+ };
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2xpYi9jdXN0b21lci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMkNBQTJDO0FBQzNDLGdHQUFnRzs7QUE0SWhHLGdEQU9DO0FBRUQsb0RBT0M7QUFqQkQsa0VBQWtFO0FBQ2xFLFNBQWdCLGtCQUFrQixDQUFDLGFBQTRCO0lBQzdELE9BQU87UUFDTCxHQUFHLGFBQWE7UUFDaEIsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVLElBQUksU0FBUztRQUNqRCxTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVMsSUFBSSxTQUFTO1FBQy9DLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxJQUFJLFNBQVM7S0FDeEMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxRQUFrQjtJQUNyRCxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLElBQUksSUFBSTtRQUN2QyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsSUFBSSxJQUFJO1FBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxJQUFJLElBQUk7S0FDOUIsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MedusaApiError = void 0;
4
+ exports.getMedusaServerConfig = getMedusaServerConfig;
5
+ exports.getMedusaHeaders = getMedusaHeaders;
6
+ exports.getAuthHeader = getAuthHeader;
7
+ exports.medusaFetch = medusaFetch;
8
+ const connection_pool_1 = require("./connection-pool");
9
+ class MedusaApiError extends Error {
10
+ constructor(message, status, responseBody) {
11
+ super(message);
12
+ this.status = status;
13
+ this.responseBody = responseBody;
14
+ this.name = "MedusaApiError";
15
+ }
16
+ }
17
+ exports.MedusaApiError = MedusaApiError;
18
+ const isPlainObject = (value) => {
19
+ if (typeof value !== "object" || value === null) {
20
+ return false;
21
+ }
22
+ const proto = Object.getPrototypeOf(value);
23
+ return proto === Object.prototype || proto === null;
24
+ };
25
+ // Configuración por defecto para el servidor
26
+ function getMedusaServerConfig() {
27
+ const baseUrl = process.env.MEDUSA_BACKEND_URL ||
28
+ "http://localhost:9000";
29
+ const publishableKey = process.env.MEDUSA_PUBLISHABLE_KEY;
30
+ return {
31
+ baseUrl,
32
+ publishableKey
33
+ };
34
+ }
35
+ // Headers comunes para las peticiones a Medusa
36
+ function getMedusaHeaders() {
37
+ const config = getMedusaServerConfig();
38
+ const headers = {
39
+ "Content-Type": "application/json",
40
+ accept: "application/json"
41
+ };
42
+ if (config.publishableKey) {
43
+ headers["x-publishable-api-key"] = config.publishableKey;
44
+ }
45
+ return headers;
46
+ }
47
+ function getAuthHeader(authToken) {
48
+ return authToken ? { Authorization: `Bearer ${authToken}` } : {};
49
+ }
50
+ const normalizeBody = (body, headers) => {
51
+ if (!body) {
52
+ return undefined;
53
+ }
54
+ if (typeof body === "string" || body instanceof FormData || body instanceof URLSearchParams) {
55
+ return body;
56
+ }
57
+ if (isPlainObject(body)) {
58
+ if (!("Content-Type" in headers) && !("content-type" in headers)) {
59
+ headers["Content-Type"] = "application/json";
60
+ }
61
+ return JSON.stringify(body);
62
+ }
63
+ return body;
64
+ };
65
+ async function medusaFetch(endpoint, options = {}) {
66
+ const config = getMedusaServerConfig();
67
+ const normalizedEndpoint = endpoint.startsWith("/") ? endpoint : `/${endpoint}`;
68
+ const url = `${config.baseUrl.replace(/\/$/, "")}${normalizedEndpoint}`;
69
+ const baseHeaders = getMedusaHeaders();
70
+ const customHeaders = {};
71
+ if (options.headers) {
72
+ const headerSource = options.headers;
73
+ if (headerSource instanceof Headers) {
74
+ headerSource.forEach((value, key) => {
75
+ customHeaders[key] = value;
76
+ });
77
+ }
78
+ else if (Array.isArray(headerSource)) {
79
+ headerSource.forEach(([key, value]) => {
80
+ if (typeof value === "string") {
81
+ customHeaders[key] = value;
82
+ }
83
+ });
84
+ }
85
+ else {
86
+ Object.entries(headerSource).forEach(([key, value]) => {
87
+ if (typeof value === "string") {
88
+ customHeaders[key] = value;
89
+ }
90
+ });
91
+ }
92
+ }
93
+ const headers = {
94
+ ...baseHeaders,
95
+ ...customHeaders
96
+ };
97
+ const normalizedBody = normalizeBody(options.body, headers);
98
+ try {
99
+ return await (0, connection_pool_1.pooledFetch)(url, {
100
+ ...options,
101
+ headers,
102
+ body: normalizedBody
103
+ });
104
+ }
105
+ catch (error) {
106
+ if (error instanceof connection_pool_1.PooledFetchError) {
107
+ throw new MedusaApiError(error.message, error.status, error.responseBody);
108
+ }
109
+ throw error;
110
+ }
111
+ }
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9saWIvc2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdDQSxzREFZQztBQUdELDRDQWFDO0FBRUQsc0NBRUM7QUF5QkQsa0NBcURDO0FBOUlELHVEQUFpRTtBQU9qRSxNQUFhLGNBQWUsU0FBUSxLQUFLO0lBQ3ZDLFlBQ0UsT0FBZSxFQUNDLE1BQWMsRUFDZCxZQUFzQjtRQUV0QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFIRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQVU7UUFHdEMsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQTtJQUM5QixDQUFDO0NBQ0Y7QUFURCx3Q0FTQztBQUVELE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBYyxFQUFvQyxFQUFFO0lBQ3pFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFDLE9BQU8sS0FBSyxLQUFLLE1BQU0sQ0FBQyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQTtBQUNyRCxDQUFDLENBQUE7QUFNRCw2Q0FBNkM7QUFDN0MsU0FBZ0IscUJBQXFCO0lBQ25DLE1BQU0sT0FBTyxHQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCO1FBQzlCLHVCQUF1QixDQUFBO0lBRXpCLE1BQU0sY0FBYyxHQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFBO0lBRXBDLE9BQU87UUFDTCxPQUFPO1FBQ1AsY0FBYztLQUNmLENBQUE7QUFDSCxDQUFDO0FBRUQsK0NBQStDO0FBQy9DLFNBQWdCLGdCQUFnQjtJQUM5QixNQUFNLE1B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
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hashPassword = void 0;
4
+ const DEFAULT_SCRYPT_CONFIG = { logN: 15, r: 8, p: 1 };
5
+ let scryptKdfPromise = null;
6
+ const loadScryptKdf = async () => {
7
+ if (!scryptKdfPromise) {
8
+ scryptKdfPromise = import("scrypt-kdf").then((mod) => {
9
+ const module = mod;
10
+ if (typeof module.kdf === "function") {
11
+ return module.kdf;
12
+ }
13
+ if (module.default && typeof module.default.kdf === "function") {
14
+ return module.default.kdf.bind(module.default);
15
+ }
16
+ throw new Error("scrypt-kdf module does not expose a kdf function");
17
+ });
18
+ }
19
+ return scryptKdfPromise;
20
+ };
21
+ const hashPassword = async (password) => {
22
+ const kdf = await loadScryptKdf();
23
+ const passwordHash = await kdf(password, DEFAULT_SCRYPT_CONFIG);
24
+ return passwordHash.toString("base64");
25
+ };
26
+ exports.hashPassword = hashPassword;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2xpYi91dGlscy9wYXNzd29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLHFCQUFxQixHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtBQU90RCxJQUFJLGdCQUFnQixHQUE4QixJQUFJLENBQUE7QUFFdEQsTUFBTSxhQUFhLEdBQUcsS0FBSyxJQUF3QixFQUFFO0lBQ2pELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFZLEVBQUUsRUFBRTtZQUMxRCxNQUFNLE1BQU0sR0FBRyxHQUdkLENBQUE7WUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFBO1lBQ3JCLENBQUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDN0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ2xELENBQUM7WUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUE7UUFDdkUsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQTtBQUMzQixDQUFDLENBQUE7QUFFTSxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsUUFBZ0IsRUFBbUIsRUFBRTtJQUNwRSxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQWEsRUFBRSxDQUFBO0lBQ2pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sR0FBRyxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxDQUFBO0lBQy9ELE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUMxQyxDQUFDLENBQUE7QUFKWSxRQUFBLFlBQVksZ0JBSXhCIn0=
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ async function POST(req, res) {
6
+ const cartModuleService = req.scope.resolve(utils_1.Modules.CART);
7
+ const { cart_id, shipping_methods } = req.body;
8
+ if (!cart_id || !Array.isArray(shipping_methods)) {
9
+ res.status(400).json({
10
+ error: "Invalid request. Please provide cart_id and an array of shipping_methods."
11
+ });
12
+ return;
13
+ }
14
+ try {
15
+ const addedShippingMethods = await cartModuleService.addShippingMethods(shipping_methods.map(method => ({
16
+ cart_id,
17
+ ...method
18
+ })));
19
+ res.json({
20
+ shipping_methods: addedShippingMethods,
21
+ });
22
+ }
23
+ catch (error) {
24
+ res.status(500).json({
25
+ error: "An error occurred while adding shipping methods.",
26
+ details: error.message
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbS1zaGlwcGluZy1tZXRob2RzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esb0JBcUNDO0FBN0NELHFEQUFtRDtBQVE1QyxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUN6QyxlQUFPLENBQUMsSUFBSSxDQUNiLENBQUE7SUFFRCxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsR0FBRyxDQUFDLElBR3pDLENBQUE7SUFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFDakQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsS0FBSyxFQUFFLDJFQUEyRTtTQUNuRixDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDckUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixPQUFPO1lBQ1AsR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDLENBQ0osQ0FBQTtRQUVELEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxnQkFBZ0IsRUFBRSxvQkFBb0I7U0FDdkMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixLQUFLLEVBQUUsa0RBQWtEO1lBQ3pELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGtCQUtDO0FBTE0sS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0QixDQUFDIn0=
@@ -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 payment_options_1 = __importDefault(require("../modules/payment-options"));
8
+ const payment_1 = __importDefault(require("@medusajs/medusa/payment"));
9
+ /**
10
+ * A payment has many pos payment options
11
+ */
12
+ exports.default = (0, utils_1.defineLink)(payment_1.default.linkable.payment, {
13
+ linkable: payment_options_1.default.linkable.paymentOption,
14
+ isList: true,
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zb3B0aW9uLXBheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3MvcG9zb3B0aW9uLXBheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBc0Q7QUFDdEQsaUZBQTREO0FBQzVELHVFQUFvRDtBQUVwRDs7R0FFRztBQUNILGtCQUFlLElBQUEsa0JBQVUsRUFDckIsaUJBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUM5QjtJQUNJLFFBQVEsRUFBRSx5QkFBbUIsQ0FBQyxRQUFRLENBQUMsYUFBYTtJQUNwRCxNQUFNLEVBQUUsSUFBSTtDQUNmLENBQ0osQ0FBQSJ9
@@ -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.PAYMENT_OPTION_MODULE = void 0;
7
+ const service_1 = __importDefault(require("./service"));
8
+ const utils_1 = require("@medusajs/framework/utils");
9
+ exports.PAYMENT_OPTION_MODULE = "payment_option";
10
+ exports.default = (0, utils_1.Module)(exports.PAYMENT_OPTION_MODULE, {
11
+ service: service_1.default,
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXltZW50LW9wdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQTRDO0FBQzVDLHFEQUFrRDtBQUVyQyxRQUFBLHFCQUFxQixHQUFHLGdCQUFnQixDQUFBO0FBRXJELGtCQUFlLElBQUEsY0FBTSxFQUFDLDZCQUFxQixFQUFFO0lBQzNDLE9BQU8sRUFBRSxpQkFBb0I7Q0FDOUIsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20250407125141 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20250407125141 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`create table if not exists "payment_option" ("id" text not null, "payment_id" text not null, "payment_method" text not null, "amount" numeric not null, "status" text not null, "institution" text not null, "receipt_file" text not null, "concept" text not null, "reference_code" text not null, "depositor_name" text not null, "terminal_reference" text not null, "ticket_amount" numeric not null, "partner_id" text not null, "odoo_ticket_id" text not null, "stripe_payment_intent" text not null, "authorizer" text not null, "hcw_credit_id" text not null, "hcw_credit_partner_number" text not null, "metadata" jsonb not null default '{"data":[]}', "raw_amount" jsonb not null, "raw_ticket_amount" jsonb not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "payment_option_pkey" primary key ("id"));`);
8
+ this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_payment_option_deleted_at" ON "payment_option" (deleted_at) WHERE deleted_at IS NULL;`);
9
+ }
10
+ async down() {
11
+ this.addSql(`drop table if exists "payment_option" cascade;`);
12
+ }
13
+ }
14
+ exports.Migration20250407125141 = Migration20250407125141;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA0MDcxMjUxNDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXltZW50LW9wdGlvbnMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDQwNzEyNTE0MS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsNjNCQUE2M0IsQ0FBQyxDQUFDO1FBQzM0QixJQUFJLENBQUMsTUFBTSxDQUFDLHVIQUF1SCxDQUFDLENBQUM7SUFDdkksQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBRUY7QUFYRCwwREFXQyJ9
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentOption = void 0;
4
+ /**
5
+ * This model is used to store payment options and their associated data for POS transactions.
6
+ * It supports various payment methods with their specific fields and requirements.
7
+ */
8
+ const utils_1 = require("@medusajs/framework/utils");
9
+ exports.PaymentOption = utils_1.model.define("payment_option", {
10
+ id: utils_1.model.id().primaryKey(),
11
+ payment_id: utils_1.model.text(),
12
+ payment_method: utils_1.model.text(), // Type of payment method
13
+ amount: utils_1.model.bigNumber(), // Amount for all payment methods
14
+ status: utils_1.model.text(), // Status of the payment
15
+ // Common fields for electronic receipts
16
+ institution: utils_1.model.text(), // For Comprobante Electrónico and USDT Comp Elec
17
+ receipt_file: utils_1.model.text(), // File path or URL for receipt
18
+ concept: utils_1.model.text(), // Payment concept
19
+ reference_code: utils_1.model.text(), // Folio/Reference/Authorization code
20
+ // Fields for Colombian deposits
21
+ depositor_name: utils_1.model.text(), // Name of the person making the deposit
22
+ // Fields for Terminal payments
23
+ terminal_reference: utils_1.model.text(), // Terminal reference code
24
+ ticket_amount: utils_1.model.bigNumber(), // Amount on ticket
25
+ // Fields for Commission payments
26
+ partner_id: utils_1.model.text(), // ID of the partner to charge
27
+ odoo_ticket_id: utils_1.model.text(), // Odoo ticket ID
28
+ // Fields for Stripe Manual payments
29
+ stripe_payment_intent: utils_1.model.text(), // Stripe PaymentIntent link
30
+ // Fields for Authorized payments
31
+ authorizer: utils_1.model.text(), // Name of the authorizer
32
+ // Fields for Credit payments
33
+ hcw_credit_id: utils_1.model.text(), // HCW credit ID
34
+ hcw_credit_partner_number: utils_1.model.text(), // HCW credit partner number
35
+ // Metadata field for additional data
36
+ metadata: utils_1.model.json().default({ data: [] }) // For any additional data specific to payment method
37
+ });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXltZW50LW9wdGlvbnMvbW9kZWxzL3BheW1lbnQtb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7R0FHRztBQUNILHFEQUFpRDtBQUVwQyxRQUFBLGFBQWEsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFO0lBQzFELEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3hCLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUseUJBQXlCO0lBQ3ZELE1BQU0sRUFBRSxhQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsaUNBQWlDO0lBQzVELE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsd0JBQXdCO0lBRTlDLHdDQUF3QztJQUN4QyxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxFQUFFLGlEQUFpRDtJQUM1RSxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxFQUFFLCtCQUErQjtJQUMzRCxPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxFQUFFLGtCQUFrQjtJQUN6QyxjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxFQUFFLHFDQUFxQztJQUVuRSxnQ0FBZ0M7SUFDaEMsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSx3Q0FBd0M7SUFFdEUsK0JBQStCO0lBQy9CLGtCQUFrQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSwwQkFBMEI7SUFDNUQsYUFBYSxFQUFFLGFBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxtQkFBbUI7SUFFckQsaUNBQWlDO0lBQ2pDLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsOEJBQThCO0lBQ3hELGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsaUJBQWlCO0lBRS9DLG9DQUFvQztJQUNwQyxxQkFBcUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsNEJBQTRCO0lBRWpFLGlDQUFpQztJQUNqQyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxFQUFFLHlCQUF5QjtJQUVuRCw2QkFBNkI7SUFDN0IsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxnQkFBZ0I7SUFDN0MseUJBQXlCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxFQUFFLDRCQUE0QjtJQUVyRSxxQ0FBcUM7SUFDckMsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxxREFBcUQ7Q0FDbkcsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const payment_option_1 = require("./models/payment-option");
5
+ class PaymentOptionService extends (0, utils_1.MedusaService)({
6
+ PaymentOption: payment_option_1.PaymentOption,
7
+ }) {
8
+ async listByPaymentId(paymentId, config = {}) {
9
+ console.log('paymentId', paymentId);
10
+ return await this.listPaymentOptions({ payment_id: paymentId }, config);
11
+ }
12
+ }
13
+ exports.default = PaymentOptionService;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BheW1lbnQtb3B0aW9ucy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQXlEO0FBQ3pELDREQUF1RDtBQUV2RCxNQUFNLG9CQUFxQixTQUFRLElBQUEscUJBQWEsRUFBQztJQUM3QyxhQUFhLEVBQWIsOEJBQWE7Q0FDaEIsQ0FBQztJQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ25DLE9BQU8sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQ2hDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxFQUN6QixNQUFNLENBQ1QsQ0FBQTtJQUNMLENBQUM7Q0FFSjtBQUVELGtCQUFlLG9CQUFvQixDQUFBIn0=
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminCreateOperatorWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const create_identity_1 = require("./steps/create-identity");
7
+ const create_operator_user_1 = require("./steps/create-operator-user");
8
+ exports.adminCreateOperatorWorkflow = (0, workflows_sdk_1.createWorkflow)("admin-create-pos-operator", function (input) {
9
+ // 1. Create the Auth Identity (emailpass + hashed password)
10
+ const authIdentity = (0, create_identity_1.createOperatorIdentityStep)({
11
+ email: input.email,
12
+ passwordHash: input.passwordHash,
13
+ });
14
+ // 2. Create the standard User record with metadata: { is_pos_operator: true }
15
+ const user = (0, create_operator_user_1.createOperatorUserStep)({
16
+ email: input.email,
17
+ first_name: input.first_name,
18
+ last_name: input.last_name,
19
+ avatar_url: input.avatar_url,
20
+ });
21
+ // 3. Link them together so the auth identity knows who the user is
22
+ (0, core_flows_1.setAuthAppMetadataStep)({
23
+ authIdentityId: authIdentity.id,
24
+ actorType: "user", // MUST BE "user" so they can access native admin endpoints
25
+ value: user.id,
26
+ });
27
+ return new workflows_sdk_1.WorkflowResponse(user);
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FkbWluLWNyZWF0ZS1vcGVyYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMsNERBQW9FO0FBQ3BFLDZEQUFvRTtBQUNwRSx1RUFBcUU7QUFVeEQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELDJCQUEyQixFQUMzQixVQUFVLEtBQXVDO0lBRTdDLDREQUE0RDtJQUM1RCxNQUFNLFlBQVksR0FBRyxJQUFBLDRDQUEwQixFQUFDO1FBQzVDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7S0FDbkMsQ0FBQyxDQUFBO0lBRUYsOEVBQThFO0lBQzlFLE1BQU0sSUFBSSxHQUFHLElBQUEsNkNBQXNCLEVBQUM7UUFDaEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQy9CLENBQUMsQ0FBQTtJQUVGLG1FQUFtRTtJQUNuRSxJQUFBLG1DQUFzQixFQUFDO1FBQ25CLGNBQWMsRUFBRSxZQUFZLENBQUMsRUFBRTtRQUMvQixTQUFTLEVBQUUsTUFBTSxFQUFFLDJEQUEyRDtRQUM5RSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7S0FDakIsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FDSixDQUFBIn0=
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOperatorIdentityStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ exports.createOperatorIdentityStep = (0, workflows_sdk_1.createStep)("create-operator-identity", async (input, { container }) => {
7
+ const authModuleService = container.resolve(utils_1.Modules.AUTH);
8
+ const authIdentity = await authModuleService.createAuthIdentities({
9
+ provider_identities: [
10
+ {
11
+ provider: "emailpass",
12
+ entity_id: input.email,
13
+ provider_metadata: {
14
+ password: input.passwordHash,
15
+ },
16
+ },
17
+ ],
18
+ app_metadata: {},
19
+ });
20
+ return new workflows_sdk_1.StepResponse(authIdentity, authIdentity.id);
21
+ }, async (authIdentityId, { container }) => {
22
+ if (!authIdentityId)
23
+ return;
24
+ const authModuleService = container.resolve(utils_1.Modules.AUTH);
25
+ await authModuleService.deleteAuthIdentities([authIdentityId]);
26
+ });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZG1pbi1jcmVhdGUtb3BlcmF0b3Ivc3RlcHMvY3JlYXRlLWlkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSxxREFBbUQ7QUFPdEMsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDBCQUFVLEVBQ2hELDBCQUEwQixFQUMxQixLQUFLLEVBQ0QsS0FBc0MsRUFDdEMsRUFBRSxTQUFTLEVBQUUsRUFDZixFQUFFO0lBQ0EsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV6RCxNQUFNLFlBQVksR0FBRyxNQUFNLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO1FBQzlELG1CQUFtQixFQUFFO1lBQ2pCO2dCQUNJLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ3RCLGlCQUFpQixFQUFFO29CQUNmLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWTtpQkFDL0I7YUFDSjtTQUNKO1FBQ0QsWUFBWSxFQUFFLEVBQUU7S0FDbkIsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDLEVBQ0QsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsSUFBSSxDQUFDLGNBQWM7UUFBRSxPQUFNO0lBQzNCLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekQsTUFBTSxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7QUFDbEUsQ0FBQyxDQUNKLENBQUEifQ==
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOperatorUserStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ exports.createOperatorUserStep = (0, workflows_sdk_1.createStep)("create-operator-user", async (input, { container }) => {
7
+ const userModuleService = container.resolve(utils_1.Modules.USER);
8
+ const user = await userModuleService.createUsers({
9
+ email: input.email,
10
+ first_name: input.first_name,
11
+ last_name: input.last_name,
12
+ avatar_url: input.avatar_url,
13
+ metadata: {
14
+ is_pos_operator: true
15
+ }
16
+ });
17
+ return new workflows_sdk_1.StepResponse(user, user.id);
18
+ }, async (userId, { container }) => {
19
+ if (!userId)
20
+ return;
21
+ const userModuleService = container.resolve(utils_1.Modules.USER);
22
+ await userModuleService.deleteUsers([userId]);
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9wZXJhdG9yLXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FkbWluLWNyZWF0ZS1vcGVyYXRvci9zdGVwcy9jcmVhdGUtb3BlcmF0b3ItdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUscURBQW1EO0FBVXRDLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSwwQkFBVSxFQUM1QyxzQkFBc0IsRUFDdEIsS0FBSyxFQUNELEtBQWtDLEVBQ2xDLEVBQUUsU0FBUyxFQUFFLEVBQ2YsRUFBRTtJQUNBLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFekQsTUFBTSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFDN0MsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQzVCLFFBQVEsRUFBRTtZQUNOLGVBQWUsRUFBRSxJQUFJO1NBQ3hCO0tBQ0osQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUMxQyxDQUFDLEVBQ0QsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDNUIsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFNO0lBQ25CLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekQsTUFBTSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0FBQ2pELENBQUMsQ0FDSixDQUFBIn0=
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.authorizePaymentCollectionWorkflow = exports.authorizePaymentCollectionId = exports.throwUnlessPaymentCollectionNotPaid = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const core_flows_2 = require("@medusajs/medusa/core-flows");
8
+ const core_flows_3 = require("@medusajs/medusa/core-flows");
9
+ exports.throwUnlessPaymentCollectionNotPaid = (0, workflows_sdk_1.createStep)("validate-existing-payment-collection", ({ paymentCollection }) => {
10
+ if (paymentCollection.status !== "not_paid") {
11
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, `Can only mark 'not_paid' payment collection as paid`);
12
+ }
13
+ });
14
+ const systemPaymentProviderId = "pp_system_default";
15
+ exports.authorizePaymentCollectionId = "netme-pos-authorize-payment-collection";
16
+ /**
17
+ * This workflow authorizes a payment collection, mimicking markPaymentCollectionAsPaid
18
+ * but specifically OMITTING the capture step, as requested for the Netme POS.
19
+ */
20
+ exports.authorizePaymentCollectionWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.authorizePaymentCollectionId, (input) => {
21
+ const { data: paymentCollection } = (0, core_flows_1.useQueryGraphStep)({
22
+ entity: "payment_collection",
23
+ filters: { id: input.payment_collection_id },
24
+ fields: ["id", "status", "amount"],
25
+ options: { throwIfKeyNotFound: true, isList: false },
26
+ }).config({ name: "get-payment-collection" });
27
+ (0, exports.throwUnlessPaymentCollectionNotPaid)({ paymentCollection: paymentCollection });
28
+ const paymentSession = core_flows_3.createPaymentSessionsWorkflow.runAsStep({
29
+ input: {
30
+ payment_collection_id: paymentCollection.id,
31
+ provider_id: systemPaymentProviderId,
32
+ data: {},
33
+ context: {},
34
+ },
35
+ });
36
+ const payment = (0, core_flows_2.authorizePaymentSessionStep)({
37
+ id: paymentSession.id,
38
+ });
39
+ // Deliberately skipping capturePaymentWorkflow
40
+ return new workflows_sdk_1.WorkflowResponse(payment);
41
+ });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2F1dGhvcml6ZS1wYXltZW50LWNvbGxlY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXVEO0FBQ3ZELHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsNERBRW9DO0FBQ3BDLDREQUEyRTtBQVk5RCxRQUFBLG1DQUFtQyxHQUFHLElBQUEsMEJBQVUsRUFDekQsc0NBQXNDLEVBQ3RDLENBQUMsRUFBRSxpQkFBaUIsRUFBNkMsRUFBRSxFQUFFO0lBQ2pFLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxtQkFBVyxDQUNqQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLHFEQUFxRCxDQUN4RCxDQUFBO0lBQ0wsQ0FBQztBQUNMLENBQUMsQ0FDSixDQUFBO0FBYUQsTUFBTSx1QkFBdUIsR0FBRyxtQkFBbUIsQ0FBQTtBQUN0QyxRQUFBLDRCQUE0QixHQUFHLHdDQUF3QyxDQUFBO0FBRXBGOzs7R0FHRztBQUNVLFFBQUEsa0NBQWtDLEdBQUcsSUFBQSw4QkFBYyxFQUM1RCxvQ0FBNEIsRUFDNUIsQ0FBQyxLQUFvRCxFQUFFLEVBQUU7SUFDckQsTUFBTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbEQsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1FBQzVDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO0tBQ3ZELENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFBO0lBRTdDLElBQUEsMkNBQW1DLEVBQUMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBd0IsRUFBRSxDQUFDLENBQUE7SUFFcEYsTUFBTSxjQUFjLEdBQUcsMENBQTZCLENBQUMsU0FBUyxDQUFDO1FBQzNELEtBQUssRUFBRTtZQUNILHFCQUFxQixFQUFFLGlCQUFpQixDQUFDLEVBQUU7WUFDM0MsV0FBVyxFQUFFLHVCQUF1QjtZQUNwQyxJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxFQUFFO1NBQ2Q7S0FDSixDQUFDLENBQUE7SUFFRixNQUFNLE9BQU8sR0FBRyxJQUFBLHdDQUEyQixFQUFDO1FBQ3hDLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRTtLQUN4QixDQUFDLENBQUE7SUFFRixnREFBZ0Q7SUFFaEQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3hDLENBQUMsQ0FDSixDQUFBIn0=