@mercurjs/commission 1.3.0

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 (100) hide show
  1. package/.medusa/server/src/admin/index.js +20 -0
  2. package/.medusa/server/src/admin/index.mjs +21 -0
  3. package/.medusa/server/src/api/admin/commission/commission-lines/route.d.ts +75 -0
  4. package/.medusa/server/src/api/admin/commission/commission-lines/route.js +95 -0
  5. package/.medusa/server/src/api/admin/commission/default/route.d.ts +53 -0
  6. package/.medusa/server/src/api/admin/commission/default/route.js +103 -0
  7. package/.medusa/server/src/api/admin/commission/middlewares.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/commission/middlewares.js +44 -0
  9. package/.medusa/server/src/api/admin/commission/query-config.d.ts +21 -0
  10. package/.medusa/server/src/api/admin/commission/query-config.js +35 -0
  11. package/.medusa/server/src/api/admin/commission/rules/[id]/route.d.ts +104 -0
  12. package/.medusa/server/src/api/admin/commission/rules/[id]/route.js +149 -0
  13. package/.medusa/server/src/api/admin/commission/rules/route.d.ts +78 -0
  14. package/.medusa/server/src/api/admin/commission/rules/route.js +114 -0
  15. package/.medusa/server/src/api/admin/commission/search/route.d.ts +2 -0
  16. package/.medusa/server/src/api/admin/commission/search/route.js +25 -0
  17. package/.medusa/server/src/api/admin/commission/validators.d.ts +456 -0
  18. package/.medusa/server/src/api/admin/commission/validators.js +108 -0
  19. package/.medusa/server/src/api/admin/middlewares.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/middlewares.js +6 -0
  21. package/.medusa/server/src/api/middlewares.d.ts +2 -0
  22. package/.medusa/server/src/api/middlewares.js +9 -0
  23. package/.medusa/server/src/api/vendor/commission/middlewares.d.ts +2 -0
  24. package/.medusa/server/src/api/vendor/commission/middlewares.js +16 -0
  25. package/.medusa/server/src/api/vendor/commission/query-config.d.ts +10 -0
  26. package/.medusa/server/src/api/vendor/commission/query-config.js +14 -0
  27. package/.medusa/server/src/api/vendor/commission/route.d.ts +84 -0
  28. package/.medusa/server/src/api/vendor/commission/route.js +111 -0
  29. package/.medusa/server/src/api/vendor/commission/validators.d.ts +27 -0
  30. package/.medusa/server/src/api/vendor/commission/validators.js +13 -0
  31. package/.medusa/server/src/api/vendor/middlewares.d.ts +2 -0
  32. package/.medusa/server/src/api/vendor/middlewares.js +10 -0
  33. package/.medusa/server/src/api/vendor/orders/[id]/commission/route.d.ts +3 -0
  34. package/.medusa/server/src/api/vendor/orders/[id]/commission/route.js +15 -0
  35. package/.medusa/server/src/api/vendor/orders/middlewares.d.ts +2 -0
  36. package/.medusa/server/src/api/vendor/orders/middlewares.js +17 -0
  37. package/.medusa/server/src/modules/commission/index.d.ts +50 -0
  38. package/.medusa/server/src/modules/commission/index.js +14 -0
  39. package/.medusa/server/src/modules/commission/migrations/Migration20250124152358.d.ts +5 -0
  40. package/.medusa/server/src/modules/commission/migrations/Migration20250124152358.js +25 -0
  41. package/.medusa/server/src/modules/commission/migrations/Migration20250127073504.d.ts +5 -0
  42. package/.medusa/server/src/modules/commission/migrations/Migration20250127073504.js +28 -0
  43. package/.medusa/server/src/modules/commission/models/commission_line.d.ts +7 -0
  44. package/.medusa/server/src/modules/commission/models/commission_line.js +12 -0
  45. package/.medusa/server/src/modules/commission/models/commission_rate.d.ts +24 -0
  46. package/.medusa/server/src/modules/commission/models/commission_rate.js +20 -0
  47. package/.medusa/server/src/modules/commission/models/commission_rule.d.ts +17 -0
  48. package/.medusa/server/src/modules/commission/models/commission_rule.js +16 -0
  49. package/.medusa/server/src/modules/commission/models/index.d.ts +3 -0
  50. package/.medusa/server/src/modules/commission/models/index.js +20 -0
  51. package/.medusa/server/src/modules/commission/service.d.ts +61 -0
  52. package/.medusa/server/src/modules/commission/service.js +45 -0
  53. package/.medusa/server/src/subscribers/commission-order-set-placed.d.ts +5 -0
  54. package/.medusa/server/src/subscribers/commission-order-set-placed.js +44 -0
  55. package/.medusa/server/src/workflows/commission/index.d.ts +2 -0
  56. package/.medusa/server/src/workflows/commission/index.js +19 -0
  57. package/.medusa/server/src/workflows/commission/steps/calculate-commission-lines.d.ts +7 -0
  58. package/.medusa/server/src/workflows/commission/steps/calculate-commission-lines.js +81 -0
  59. package/.medusa/server/src/workflows/commission/steps/check-for-duplicate.d.ts +2 -0
  60. package/.medusa/server/src/workflows/commission/steps/check-for-duplicate.js +19 -0
  61. package/.medusa/server/src/workflows/commission/steps/create-commission-lines.d.ts +22 -0
  62. package/.medusa/server/src/workflows/commission/steps/create-commission-lines.js +12 -0
  63. package/.medusa/server/src/workflows/commission/steps/create-commission-rule.d.ts +2 -0
  64. package/.medusa/server/src/workflows/commission/steps/create-commission-rule.js +40 -0
  65. package/.medusa/server/src/workflows/commission/steps/delete-commission-rule.d.ts +1 -0
  66. package/.medusa/server/src/workflows/commission/steps/delete-commission-rule.js +14 -0
  67. package/.medusa/server/src/workflows/commission/steps/find-commission-references.d.ts +10 -0
  68. package/.medusa/server/src/workflows/commission/steps/find-commission-references.js +40 -0
  69. package/.medusa/server/src/workflows/commission/steps/find-commission-rules.d.ts +10 -0
  70. package/.medusa/server/src/workflows/commission/steps/find-commission-rules.js +81 -0
  71. package/.medusa/server/src/workflows/commission/steps/index.d.ts +10 -0
  72. package/.medusa/server/src/workflows/commission/steps/index.js +27 -0
  73. package/.medusa/server/src/workflows/commission/steps/list-commission-lines.d.ts +27 -0
  74. package/.medusa/server/src/workflows/commission/steps/list-commission-lines.js +72 -0
  75. package/.medusa/server/src/workflows/commission/steps/list-order-commission-lines.d.ts +10 -0
  76. package/.medusa/server/src/workflows/commission/steps/list-order-commission-lines.js +31 -0
  77. package/.medusa/server/src/workflows/commission/steps/update-commission-rule.d.ts +50 -0
  78. package/.medusa/server/src/workflows/commission/steps/update-commission-rule.js +17 -0
  79. package/.medusa/server/src/workflows/commission/workflows/calculate-commission.d.ts +26 -0
  80. package/.medusa/server/src/workflows/commission/workflows/calculate-commission.js +11 -0
  81. package/.medusa/server/src/workflows/commission/workflows/create-commission-rule.d.ts +4 -0
  82. package/.medusa/server/src/workflows/commission/workflows/create-commission-rule.js +16 -0
  83. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rule.d.ts +3 -0
  84. package/.medusa/server/src/workflows/commission/workflows/delete-commission-rule.js +15 -0
  85. package/.medusa/server/src/workflows/commission/workflows/index.d.ts +8 -0
  86. package/.medusa/server/src/workflows/commission/workflows/index.js +25 -0
  87. package/.medusa/server/src/workflows/commission/workflows/list-commission-lines.d.ts +27 -0
  88. package/.medusa/server/src/workflows/commission/workflows/list-commission-lines.js +9 -0
  89. package/.medusa/server/src/workflows/commission/workflows/list-commission-rules.d.ts +12 -0
  90. package/.medusa/server/src/workflows/commission/workflows/list-commission-rules.js +47 -0
  91. package/.medusa/server/src/workflows/commission/workflows/list-order-commission-lines.d.ts +9 -0
  92. package/.medusa/server/src/workflows/commission/workflows/list-order-commission-lines.js +9 -0
  93. package/.medusa/server/src/workflows/commission/workflows/update-commission-rule.d.ts +51 -0
  94. package/.medusa/server/src/workflows/commission/workflows/update-commission-rule.js +9 -0
  95. package/.medusa/server/src/workflows/commission/workflows/upsert-default-commission-rule.d.ts +2 -0
  96. package/.medusa/server/src/workflows/commission/workflows/upsert-default-commission-rule.js +21 -0
  97. package/.medusa/server/src/workflows/index.d.ts +1 -0
  98. package/.medusa/server/src/workflows/index.js +18 -0
  99. package/README.md +22 -0
  100. package/package.json +86 -0
@@ -0,0 +1,61 @@
1
+ import { CommissionCalculationContext, CommissionRuleDTO } from "@mercurjs/framework";
2
+ declare const CommissionModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<import("@medusajs/framework/utils").ModelConfigurationsToConfigTemplate<{
3
+ readonly CommissionRate: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
4
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
5
+ type: import("@medusajs/framework/utils").TextProperty;
6
+ percentage_rate: import("@medusajs/framework/utils").NullableModifier<number, import("@medusajs/framework/utils").NumberProperty>;
7
+ include_tax: import("@medusajs/framework/utils").BooleanProperty;
8
+ price_set_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
9
+ max_price_set_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
10
+ min_price_set_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
11
+ rule: import("@medusajs/framework/utils").RelationNullableModifier<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
12
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
13
+ name: import("@medusajs/framework/utils").TextProperty;
14
+ reference: import("@medusajs/framework/utils").TextProperty;
15
+ reference_id: import("@medusajs/framework/utils").TextProperty;
16
+ is_active: import("@medusajs/framework/utils").BooleanProperty;
17
+ rate: import("@medusajs/framework/utils").HasOne<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "commission_rate">>;
18
+ }>, "commission_rule">, import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
19
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
20
+ name: import("@medusajs/framework/utils").TextProperty;
21
+ reference: import("@medusajs/framework/utils").TextProperty;
22
+ reference_id: import("@medusajs/framework/utils").TextProperty;
23
+ is_active: import("@medusajs/framework/utils").BooleanProperty;
24
+ rate: import("@medusajs/framework/utils").HasOne<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "commission_rate">>;
25
+ }>, "commission_rule">, undefined>, true>;
26
+ }>, "commission_rate">;
27
+ readonly CommissionRule: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
28
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
29
+ name: import("@medusajs/framework/utils").TextProperty;
30
+ reference: import("@medusajs/framework/utils").TextProperty;
31
+ reference_id: import("@medusajs/framework/utils").TextProperty;
32
+ is_active: import("@medusajs/framework/utils").BooleanProperty;
33
+ rate: import("@medusajs/framework/utils").HasOne<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
34
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
35
+ type: import("@medusajs/framework/utils").TextProperty;
36
+ percentage_rate: import("@medusajs/framework/utils").NullableModifier<number, import("@medusajs/framework/utils").NumberProperty>;
37
+ include_tax: import("@medusajs/framework/utils").BooleanProperty;
38
+ price_set_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
39
+ max_price_set_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
40
+ min_price_set_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
41
+ rule: import("@medusajs/framework/utils").RelationNullableModifier<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "commission_rule">, import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "commission_rule">, undefined>, true>;
42
+ }>, "commission_rate">>;
43
+ }>, "commission_rule">;
44
+ readonly CommissionLine: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
45
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
46
+ item_line_id: import("@medusajs/framework/utils").TextProperty;
47
+ rule_id: import("@medusajs/framework/utils").TextProperty;
48
+ currency_code: import("@medusajs/framework/utils").TextProperty;
49
+ value: import("@medusajs/framework/utils").BigNumberProperty;
50
+ }>, "commission_line">;
51
+ }>>;
52
+ declare class CommissionModuleService extends CommissionModuleService_base {
53
+ private selectCommissionRule;
54
+ /**
55
+ * Looks for first applicable CommissionRule for given context. The queries are executed in assumed priority order.
56
+ * @param ctx Calculation context
57
+ * @returns CommissionRule applicable for given context or null
58
+ */
59
+ selectCommissionForProductLine(ctx: CommissionCalculationContext): Promise<CommissionRuleDTO | null>;
60
+ }
61
+ export default CommissionModuleService;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const models_1 = require("./models");
5
+ const commission_line_1 = require("./models/commission_line");
6
+ class CommissionModuleService extends (0, utils_1.MedusaService)({
7
+ CommissionRate: models_1.CommissionRate,
8
+ CommissionRule: models_1.CommissionRule,
9
+ CommissionLine: commission_line_1.CommissionLine,
10
+ }) {
11
+ async selectCommissionRule(reference, reference_id) {
12
+ const [rule] = await this.listCommissionRules({ reference, reference_id, is_active: true, deleted_at: null }, { relations: ["rate"] });
13
+ return rule;
14
+ }
15
+ /**
16
+ * Looks for first applicable CommissionRule for given context. The queries are executed in assumed priority order.
17
+ * @param ctx Calculation context
18
+ * @returns CommissionRule applicable for given context or null
19
+ */
20
+ async selectCommissionForProductLine(ctx) {
21
+ const ruleQueries = [
22
+ {
23
+ reference: "seller+product_type",
24
+ reference_id: `${ctx.seller_id}+${ctx.product_type_id}`,
25
+ },
26
+ {
27
+ reference: "seller+product_category",
28
+ reference_id: `${ctx.seller_id}+${ctx.product_category_id}`,
29
+ },
30
+ { reference: "seller", reference_id: ctx.seller_id },
31
+ { reference: "product_type", reference_id: ctx.product_type_id },
32
+ { reference: "product_category", reference_id: ctx.product_category_id },
33
+ { reference: "site", reference_id: "" },
34
+ ];
35
+ for (const { reference, reference_id } of ruleQueries) {
36
+ const rule = await this.selectCommissionRule(reference, reference_id);
37
+ if (rule) {
38
+ return rule;
39
+ }
40
+ }
41
+ return null;
42
+ }
43
+ }
44
+ exports.default = CommissionModuleService;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2NvbW1pc3Npb24vc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUEwRDtBQUUxRCxxQ0FBMEQ7QUFDMUQsOERBQTBEO0FBTTFELE1BQU0sdUJBQXdCLFNBQVEsSUFBQSxxQkFBYSxFQUFDO0lBQ2xELGNBQWMsRUFBZCx1QkFBYztJQUNkLGNBQWMsRUFBZCx1QkFBYztJQUNkLGNBQWMsRUFBZCxnQ0FBYztDQUNmLENBQUM7SUFDUSxLQUFLLENBQUMsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxZQUFvQjtRQUN4RSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQzNDLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFDOUQsRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUN4QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyw4QkFBOEIsQ0FDbEMsR0FBaUM7UUFFakMsTUFBTSxXQUFXLEdBQUc7WUFDbEI7Z0JBQ0UsU0FBUyxFQUFFLHFCQUFxQjtnQkFDaEMsWUFBWSxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFO2FBQ3hEO1lBQ0Q7Z0JBQ0UsU0FBUyxFQUFFLHlCQUF5QjtnQkFDcEMsWUFBWSxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7YUFDNUQ7WUFDRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDcEQsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsZUFBZSxFQUFFO1lBQ2hFLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7WUFDeEUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7U0FDeEMsQ0FBQztRQUVGLEtBQUssTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDdEUsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFFRCxrQkFBZSx1QkFBdUIsQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ import { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
+ export default function commissionOrderSetPlacedHandler({ event, container, }: SubscriberArgs<{
3
+ id: string;
4
+ }>): Promise<void>;
5
+ export declare const config: SubscriberConfig;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = commissionOrderSetPlacedHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const framework_1 = require("@mercurjs/framework");
7
+ const workflows_1 = require("../workflows/commission/workflows");
8
+ async function commissionOrderSetPlacedHandler({ event, container, }) {
9
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
+ const { data: [set], } = await query.graph({
11
+ entity: "order_set",
12
+ fields: ["orders.id"],
13
+ filters: {
14
+ id: event.data.id,
15
+ },
16
+ });
17
+ const ordersCreated = set.orders.map((o) => o.id);
18
+ for (const order_id of ordersCreated) {
19
+ const { data: [seller], } = await query.graph({
20
+ entity: framework_1.SELLER_ORDER_LINK,
21
+ fields: ["seller_id"],
22
+ filters: {
23
+ order_id: order_id,
24
+ },
25
+ });
26
+ if (!seller) {
27
+ return;
28
+ }
29
+ await workflows_1.calculateCommissionWorkflow.run({
30
+ input: {
31
+ order_id: order_id,
32
+ seller_id: seller.seller_id,
33
+ },
34
+ container,
35
+ });
36
+ }
37
+ }
38
+ exports.config = {
39
+ event: framework_1.OrderSetWorkflowEvents.PLACED,
40
+ context: {
41
+ subscriberId: "commission-order-set-placed-handler",
42
+ },
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWlzc2lvbi1vcmRlci1zZXQtcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NvbW1pc3Npb24tb3JkZXItc2V0LXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxrREF5Q0M7QUE5Q0QscURBQXNFO0FBRXRFLG1EQUFnRjtBQUNoRixpRUFBZ0Y7QUFFakUsS0FBSyxVQUFVLCtCQUErQixDQUFDLEVBQzVELEtBQUssRUFDTCxTQUFTLEdBQ3NCO0lBQy9CLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUNaLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUNyQixPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1NBQ2xCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVsRCxLQUFLLE1BQU0sUUFBUSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FDZixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQixNQUFNLEVBQUUsNkJBQWlCO1lBQ3pCLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUNyQixPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLFFBQVE7YUFDbkI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sdUNBQTJCLENBQUMsR0FBRyxDQUFDO1lBQ3BDLEtBQUssRUFBRTtnQkFDTCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2FBQzVCO1lBQ0QsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxrQ0FBc0IsQ0FBQyxNQUFNO0lBQ3BDLE9BQU8sRUFBRTtRQUNQLFlBQVksRUFBRSxxQ0FBcUM7S0FDcEQ7Q0FDRixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export * from "./workflows";
2
+ export * from "./steps";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./workflows"), exports);
18
+ __exportStar(require("./steps"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QiwwQ0FBd0IifQ==
@@ -0,0 +1,7 @@
1
+ import { CreateCommissionLineDTO } from "@mercurjs/framework";
2
+ type StepInput = {
3
+ seller_id: string;
4
+ order_id: string;
5
+ };
6
+ export declare const calculateCommissionLinesStep: import("@medusajs/framework/workflows-sdk").StepFunction<StepInput, CreateCommissionLineDTO[]>;
7
+ export {};
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateCommissionLinesStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const commission_1 = require("../../../modules/commission");
7
+ async function calculateFlatCommission(rate, currency, container) {
8
+ const priceService = container.resolve(utils_1.Modules.PRICING);
9
+ const priceSet = await priceService.retrievePriceSet(rate.price_set_id, {
10
+ relations: ["prices"],
11
+ });
12
+ const price = priceSet.prices?.find((p) => p.currency_code === currency);
13
+ return price?.amount || utils_1.MathBN.convert(0);
14
+ }
15
+ async function calculatePercentageCommission(rate, item, currency, container) {
16
+ const total = utils_1.MathBN.convert(item.total);
17
+ const taxValue = utils_1.MathBN.convert(item.tax_total);
18
+ const calculationBase = rate.include_tax ? total : total.minus(taxValue);
19
+ const commissionValue = utils_1.MathBN.mult(calculationBase, utils_1.MathBN.div(rate.percentage_rate, 100));
20
+ const priceService = container.resolve(utils_1.Modules.PRICING);
21
+ const minPriceSet = rate.min_price_set_id
22
+ ? await priceService.retrievePriceSet(rate.min_price_set_id, {
23
+ relations: ["prices"],
24
+ })
25
+ : undefined;
26
+ const maxPriceSet = rate.max_price_set_id
27
+ ? await priceService.retrievePriceSet(rate.max_price_set_id, {
28
+ relations: ["prices"],
29
+ })
30
+ : undefined;
31
+ const minValue = minPriceSet?.prices?.find((p) => p.currency_code === currency)
32
+ ?.amount || utils_1.MathBN.convert(0);
33
+ const maxValue = maxPriceSet?.prices?.find((p) => p.currency_code === currency)
34
+ ?.amount || utils_1.MathBN.convert(Number.POSITIVE_INFINITY);
35
+ return utils_1.MathBN.max(minValue, utils_1.MathBN.min(maxValue, commissionValue));
36
+ }
37
+ async function calculateCommissionValue(rate, item, currency, container) {
38
+ if (rate.type === "flat") {
39
+ return calculateFlatCommission(rate, currency, container);
40
+ }
41
+ if (rate.type === "percentage") {
42
+ return calculatePercentageCommission(rate, item, currency, container);
43
+ }
44
+ return utils_1.MathBN.convert(0);
45
+ }
46
+ exports.calculateCommissionLinesStep = (0, workflows_sdk_1.createStep)("calculate-commission-lines", async ({ order_id, seller_id }, { container }) => {
47
+ const orderService = container.resolve(utils_1.Modules.ORDER);
48
+ const order = await orderService.retrieveOrder(order_id, {
49
+ relations: ["items"],
50
+ // At least one of the computed totals fields should be requested in select,
51
+ // in order for decorateTotals to be called
52
+ select: ["*", "item_total"],
53
+ });
54
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
55
+ const commissionService = container.resolve(commission_1.COMMISSION_MODULE);
56
+ const commissionLines = [];
57
+ for (const item of order.items) {
58
+ const { data: [product], } = await query.graph({
59
+ entity: "product",
60
+ fields: ["categories.id"],
61
+ filters: {
62
+ id: item.product_id,
63
+ },
64
+ });
65
+ const commissionRule = await commissionService.selectCommissionForProductLine({
66
+ product_category_id: product.categories[0]?.id || "",
67
+ product_type_id: item.product_type_id || "",
68
+ seller_id: seller_id,
69
+ });
70
+ if (commissionRule) {
71
+ commissionLines.push({
72
+ item_line_id: item.id,
73
+ value: await calculateCommissionValue(commissionRule.rate, item, order.currency_code, container),
74
+ currency_code: order.currency_code,
75
+ rule_id: commissionRule.id,
76
+ });
77
+ }
78
+ }
79
+ return new workflows_sdk_1.StepResponse(commissionLines);
80
+ });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbW1pc3Npb24tbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vc3RlcHMvY2FsY3VsYXRlLWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEscURBSW1DO0FBQ25DLHFFQUE2RTtBQUU3RSw0REFHcUM7QUFXckMsS0FBSyxVQUFVLHVCQUF1QixDQUNwQyxJQUF1QixFQUN2QixRQUFnQixFQUNoQixTQUEwQjtJQUUxQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBYSxFQUFFO1FBQ3ZFLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FDakMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEtBQUssUUFBUSxDQUN4QixDQUFDO0lBRWQsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLGNBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELEtBQUssVUFBVSw2QkFBNkIsQ0FDMUMsSUFBdUIsRUFDdkIsSUFBc0IsRUFDdEIsUUFBZ0IsRUFDaEIsU0FBMEI7SUFFMUIsTUFBTSxLQUFLLEdBQUcsY0FBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsTUFBTSxRQUFRLEdBQUcsY0FBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFD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
@@ -0,0 +1,2 @@
1
+ import { CreateCommissionRuleDTO } from "@mercurjs/framework";
2
+ export declare const checkForDuplicateStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateCommissionRuleDTO, boolean>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkForDuplicateStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const commission_1 = require("../../../modules/commission");
7
+ exports.checkForDuplicateStep = (0, workflows_sdk_1.createStep)("check-for-rule-duplicate", async (input, { container }) => {
8
+ const service = container.resolve(commission_1.COMMISSION_MODULE);
9
+ const commissionRule = await service.listCommissionRules({
10
+ reference: input.reference,
11
+ reference_id: input.reference_id,
12
+ deleted_at: null,
13
+ });
14
+ if (commissionRule.length > 0) {
15
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.CONFLICT, "Rule already exists!");
16
+ }
17
+ return new workflows_sdk_1.StepResponse(true);
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stZm9yLWR1cGxpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY29tbWlzc2lvbi9zdGVwcy9jaGVjay1mb3ItZHVwbGljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUN4RCxxRUFBNkU7QUFFN0UsNERBR3FDO0FBTXhCLFFBQUEscUJBQXFCLEdBQUcsSUFBQSwwQkFBVSxFQUM3QywwQkFBMEIsRUFDMUIsS0FBSyxFQUFFLEtBQThCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3RELE1BQU0sT0FBTyxHQUNYLFNBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsTUFBTSxjQUFjLEdBQ2xCLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDO1FBQ2hDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztRQUMxQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7UUFDaEMsVUFBVSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0lBRUwsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,22 @@
1
+ import { CreateCommissionLineDTO } from "@mercurjs/framework";
2
+ export declare const createCommissionLinesStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateCommissionLineDTO[], {
3
+ id: string;
4
+ item_line_id: string;
5
+ rule_id: string;
6
+ currency_code: string;
7
+ value: number;
8
+ raw_value: Record<string, unknown>;
9
+ created_at: Date;
10
+ updated_at: Date;
11
+ deleted_at: Date | null;
12
+ } & {
13
+ id: string;
14
+ item_line_id: string;
15
+ rule_id: string;
16
+ currency_code: string;
17
+ value: number;
18
+ raw_value: Record<string, unknown>;
19
+ created_at: Date;
20
+ updated_at: Date;
21
+ deleted_at: Date | null;
22
+ }[]>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommissionLinesStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const commission_1 = require("../../../modules/commission");
6
+ exports.createCommissionLinesStep = (0, workflows_sdk_1.createStep)("create-commission-lines", async (input, { container }) => {
7
+ const service = container.resolve(commission_1.COMMISSION_MODULE);
8
+ // @ts-expect-error BigNumber incompatible interface
9
+ const result = await service.createCommissionLines(input);
10
+ return new workflows_sdk_1.StepResponse(result);
11
+ });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vc3RlcHMvY3JlYXRlLWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRTdFLDREQUdxQztBQUd4QixRQUFBLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDakQseUJBQXlCLEVBQ3pCLEtBQUssRUFBRSxLQUFnQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUMvQiw4QkFBaUIsQ0FDUyxDQUFDO0lBRTdCLG9EQUFvRDtJQUNwRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxRCxPQUFPLElBQUksNEJBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import { CommissionRuleDTO, CreateCommissionRuleDTO } from "@mercurjs/framework";
2
+ export declare const createCommissionRuleStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateCommissionRuleDTO, CommissionRuleDTO>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommissionRuleStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const commission_1 = require("../../../modules/commission");
7
+ exports.createCommissionRuleStep = (0, workflows_sdk_1.createStep)("create-commission-rule", async (input, { container }) => {
8
+ const pricingService = container.resolve(utils_1.Modules.PRICING);
9
+ const service = container.resolve(commission_1.COMMISSION_MODULE);
10
+ const price_set_id = input.rate.price_set
11
+ ? (await pricingService.createPriceSets({
12
+ prices: input.rate.price_set,
13
+ })).id
14
+ : null;
15
+ const min_price_set_id = input.rate.min_price_set
16
+ ? (await pricingService.createPriceSets({
17
+ prices: input.rate.min_price_set,
18
+ })).id
19
+ : null;
20
+ const max_price_set_id = input.rate.max_price_set
21
+ ? (await pricingService.createPriceSets({
22
+ prices: input.rate.max_price_set,
23
+ })).id
24
+ : null;
25
+ const commission_rate = await service.createCommissionRates({
26
+ ...input.rate,
27
+ max_price_set_id,
28
+ min_price_set_id,
29
+ price_set_id,
30
+ });
31
+ const commissionRule = await service.createCommissionRules({
32
+ ...input,
33
+ rate: commission_rate.id,
34
+ });
35
+ return new workflows_sdk_1.StepResponse(commissionRule, commissionRule.id);
36
+ }, async (commissionRuleId, { container }) => {
37
+ const service = container.resolve(commission_1.COMMISSION_MODULE);
38
+ await service.deleteCommissionRules([commissionRuleId]);
39
+ });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY29tbWlzc2lvbi9zdGVwcy9jcmVhdGUtY29tbWlzc2lvbi1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFvRDtBQUNwRCxxRUFBNkU7QUFFN0UsNERBR3FDO0FBTXhCLFFBQUEsd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUNoRCx3QkFBd0IsRUFDeEIsS0FBSyxFQUFFLEtBQThCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3RELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELE1BQU0sT0FBTyxHQUNYLFNBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTO1FBQ3ZDLENBQUMsQ0FBQyxDQUNFLE1BQU0sY0FBYyxDQUFDLGVBQWUsQ0FBQztZQUNuQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTO1NBQzdCLENBQUMsQ0FDSCxDQUFDLEVBQUU7UUFDTixDQUFDLENBQUMsSUFBSSxDQUFDO0lBRVQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWE7UUFDL0MsQ0FBQyxDQUFDLENBQ0UsTUFBTSxjQUFjLENBQUMsZUFBZSxDQUFDO1lBQ25DLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWE7U0FDakMsQ0FBQyxDQUNILENBQUMsRUFBRTtRQUNOLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFVCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYTtRQUMvQyxDQUFDLENBQUMsQ0FDRSxNQUFNLGNBQWMsQ0FBQyxlQUFlLENBQUM7WUFDbkMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYTtTQUNqQyxDQUFDLENBQ0gsQ0FBQyxFQUFFO1FBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVULE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUFDO1FBQzFELEdBQUcsS0FBSyxDQUFDLElBQUk7UUFDYixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLFlBQVk7S0FDYixDQUFDLENBQUM7SUFFSCxNQUFNLGNBQWMsR0FDbEIsTUFBTSxPQUFPLENBQUMscUJBQXFCLENBQUM7UUFDbEMsR0FBRyxLQUFLO1FBQ1IsSUFBSSxFQUFFLGVBQWUsQ0FBQyxFQUFFO0tBQ3pCLENBQUMsQ0FBQztJQUVMLE9BQU8sSUFBSSw0QkFBWSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0QsQ0FBQyxFQUNELEtBQUssRUFBRSxnQkFBd0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBMEIsOEJBQWlCLENBQUMsQ0FBQztJQUVoRSxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ export declare const deleteCommissionRuleStep: import("@medusajs/framework/workflows-sdk").StepFunction<string, string>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteCommissionRuleStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const commission_1 = require("../../../modules/commission");
6
+ exports.deleteCommissionRuleStep = (0, workflows_sdk_1.createStep)("delete-commission-rule", async (id, { container }) => {
7
+ const service = container.resolve(commission_1.COMMISSION_MODULE);
8
+ await service.softDeleteCommissionRules(id);
9
+ return new workflows_sdk_1.StepResponse(id);
10
+ }, async (id, { container }) => {
11
+ const service = container.resolve(commission_1.COMMISSION_MODULE);
12
+ await service.restoreCommissionRules(id);
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWNvbW1pc3Npb24tcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY29tbWlzc2lvbi9zdGVwcy9kZWxldGUtY29tbWlzc2lvbi1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSw0REFHcUM7QUFFeEIsUUFBQSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFVLEVBQ2hELHdCQUF3QixFQUN4QixLQUFLLEVBQUUsRUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsQyxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sT0FBTyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTVDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlCLENBQUMsRUFDRCxLQUFLLEVBQUUsRUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsQyxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,10 @@
1
+ type StepInput = Array<{
2
+ reference: string;
3
+ reference_id: string;
4
+ }>;
5
+ export declare const findCommissionReferencesStep: import("@medusajs/framework/workflows-sdk").StepFunction<StepInput, {
6
+ sellers: any[];
7
+ productTypes: any[];
8
+ productCategories: any[];
9
+ }>;
10
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findCommissionReferencesStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ exports.findCommissionReferencesStep = (0, workflows_sdk_1.createStep)('find-commission-references', async (input, { container }) => {
6
+ const knex = container.resolve('__pg_connection__');
7
+ const sellerIds = input
8
+ .filter((i) => i.reference === 'seller')
9
+ .map((v) => v.reference_id);
10
+ const productTypeIds = input
11
+ .filter((i) => i.reference === 'product_type')
12
+ .map((v) => v.reference_id);
13
+ const productCategoryIds = input
14
+ .filter((i) => i.reference === 'product_category')
15
+ .map((v) => v.reference_id);
16
+ input
17
+ .filter((i) => i.reference === 'seller+product_type' ||
18
+ i.reference === 'seller+product_category')
19
+ .forEach((v) => {
20
+ const ids = v.reference_id.split('+');
21
+ sellerIds.push(ids[0]);
22
+ if (v.reference === 'seller+product_category') {
23
+ productCategoryIds.push(ids[1]);
24
+ }
25
+ else {
26
+ productTypeIds.push(ids[1]);
27
+ }
28
+ });
29
+ const sellers = await knex('seller')
30
+ .select(['id', 'name AS value'])
31
+ .whereIn('id', [...new Set(sellerIds)]);
32
+ const productTypes = await knex('product_type')
33
+ .select(['id', 'value'])
34
+ .whereIn('id', [...new Set(productTypeIds)]);
35
+ const productCategories = await knex('product_category')
36
+ .select(['id', 'name AS value'])
37
+ .whereIn('id', [...new Set(productCategoryIds)]);
38
+ return new workflows_sdk_1.StepResponse({ sellers, productTypes, productCategories });
39
+ });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jb21taXNzaW9uLXJlZmVyZW5jZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vc3RlcHMvZmluZC1jb21taXNzaW9uLXJlZmVyZW5jZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBSS9ELFFBQUEsNEJBQTRCLEdBQUcsSUFBQSwwQkFBVSxFQUNwRCw0QkFBNEIsRUFDNUIsS0FBSyxFQUFFLEtBQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUNuRCxNQUFNLFNBQVMsR0FBRyxLQUFLO1NBQ3BCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7U0FDdkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0IsTUFBTSxjQUFjLEdBQUcsS0FBSztTQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssY0FBYyxDQUFDO1NBQzdDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzdCLE1BQU0sa0JBQWtCLEdBQUcsS0FBSztTQUM3QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssa0JBQWtCLENBQUM7U0FDakQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7SUFFN0IsS0FBSztTQUNGLE1BQU0sQ0FDTCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLFNBQVMsS0FBSyxxQkFBcUI7UUFDckMsQ0FBQyxDQUFDLFNBQVMsS0FBSyx5QkFBeUIsQ0FDNUM7U0FDQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNiLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdEIsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLHlCQUF5QixFQUFFLENBQUM7WUFDOUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM3QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFSixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDakMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQy9CLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUV6QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDNUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU5QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ3JELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztTQUMvQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVsRCxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZFLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,10 @@
1
+ export declare const findCommissionRulesStep: import("@medusajs/framework/workflows-sdk").StepFunction<{
2
+ pagination?: {
3
+ skip: number;
4
+ take?: number;
5
+ };
6
+ ids?: string[];
7
+ }, {
8
+ commission_rules: any[];
9
+ count: number;
10
+ }>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findCommissionRulesStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ async function selectPriceSetPrices(container, price_set_id) {
7
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
8
+ const { data: [price] } = await query.graph({
9
+ entity: 'price_set',
10
+ fields: ['*', 'prices.*'],
11
+ filters: {
12
+ id: price_set_id
13
+ }
14
+ });
15
+ return price
16
+ ? {
17
+ id: price.id,
18
+ prices: price.prices.map((p) => ({
19
+ currency_code: p.currency_code,
20
+ amount: p.amount
21
+ }))
22
+ }
23
+ : {
24
+ id: null,
25
+ prices: []
26
+ };
27
+ }
28
+ exports.findCommissionRulesStep = (0, workflows_sdk_1.createStep)('find-commission-rules', async (input, { container }) => {
29
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
30
+ const filters = input.ids
31
+ ? { id: input.ids }
32
+ : { reference: { $ne: 'site' } };
33
+ const { data: commissions, metadata } = await query.graph({
34
+ entity: 'commission_rule',
35
+ fields: ['*', 'rate.*'],
36
+ filters: filters,
37
+ pagination: input.pagination
38
+ });
39
+ const commission_rules = [];
40
+ for (const commission of commissions) {
41
+ const aggregate = {
42
+ id: commission.id,
43
+ name: commission.name,
44
+ reference: commission.reference,
45
+ reference_id: commission.reference_id,
46
+ is_active: commission.is_active,
47
+ type: commission.rate.type,
48
+ include_tax: commission.rate.include_tax,
49
+ percentage_rate: commission.rate.percentage_rate,
50
+ price_set_id: null,
51
+ price_set: [],
52
+ min_price_set_id: null,
53
+ min_price_set: [],
54
+ max_price_set_id: null,
55
+ max_price_set: [],
56
+ fee_value: `${commission.rate.percentage_rate}%`
57
+ };
58
+ if (commission.rate.min_price_set_id) {
59
+ const minPrice = await selectPriceSetPrices(container, commission.rate.min_price_set_id);
60
+ aggregate.min_price_set_id = minPrice.id;
61
+ aggregate.min_price_set = minPrice.prices;
62
+ }
63
+ if (commission.rate.max_price_set_id) {
64
+ const maxPrice = await selectPriceSetPrices(container, commission.rate.max_price_set_id);
65
+ aggregate.max_price_set_id = maxPrice.id;
66
+ aggregate.max_price_set = maxPrice.prices;
67
+ }
68
+ if (commission.rate.type === 'flat') {
69
+ const price = await selectPriceSetPrices(container, commission.rate.price_set_id);
70
+ aggregate.price_set_id = price.id;
71
+ aggregate.price_set = price.prices;
72
+ aggregate.fee_value =
73
+ price.prices
74
+ .map((p) => `${p.amount}${p.currency_code?.toUpperCase()}`)
75
+ .join('/') || '-';
76
+ }
77
+ commission_rules.push(aggregate);
78
+ }
79
+ return new workflows_sdk_1.StepResponse({ commission_rules, count: metadata?.count || 0 });
80
+ });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jb21taXNzaW9uLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jb21taXNzaW9uL3N0ZXBzL2ZpbmQtY29tbWlzc2lvbi1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFDckUscUVBQTRFO0FBRTVFLEtBQUssVUFBVSxvQkFBb0IsQ0FDakMsU0FBMEIsRUFDMUIsWUFBb0I7SUFFcEIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQztRQUN6QixPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsWUFBWTtTQUNqQjtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQU8sS0FBSztRQUNWLENBQUMsQ0FBQztZQUNFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNaLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDL0IsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhO2dCQUM5QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07YUFDakIsQ0FBQyxDQUFDO1NBQ0o7UUFDSCxDQUFDLENBQUM7WUFDRSxFQUFFLEVBQUUsSUFBSTtZQUNSLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQTtBQUNQLENBQUM7QUFFWSxRQUFBLHVCQUF1QixHQUFHLElBQUEsMEJBQVUsRUFDL0MsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDSCxLQU1DLEVBQ0QsRUFBRSxTQUFTLEVBQUUsRUFDYixF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
@@ -0,0 +1,10 @@
1
+ export * from './create-commission-rule';
2
+ export * from './create-commission-lines';
3
+ export * from './delete-commission-rule';
4
+ export * from './update-commission-rule';
5
+ export * from './calculate-commission-lines';
6
+ export * from './check-for-duplicate';
7
+ export * from './find-commission-rules';
8
+ export * from './find-commission-references';
9
+ export * from './list-order-commission-lines';
10
+ export * from './list-commission-lines';
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-commission-rule"), exports);
18
+ __exportStar(require("./create-commission-lines"), exports);
19
+ __exportStar(require("./delete-commission-rule"), exports);
20
+ __exportStar(require("./update-commission-rule"), exports);
21
+ __exportStar(require("./calculate-commission-lines"), exports);
22
+ __exportStar(require("./check-for-duplicate"), exports);
23
+ __exportStar(require("./find-commission-rules"), exports);
24
+ __exportStar(require("./find-commission-references"), exports);
25
+ __exportStar(require("./list-order-commission-lines"), exports);
26
+ __exportStar(require("./list-commission-lines"), exports);
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUF3QztBQUN4Qyw0REFBeUM7QUFDekMsMkRBQXdDO0FBQ3hDLDJEQUF3QztBQUN4QywrREFBNEM7QUFDNUMsd0RBQXFDO0FBQ3JDLDBEQUF1QztBQUN2QywrREFBNEM7QUFDNUMsZ0VBQTZDO0FBQzdDLDBEQUF1QyJ9