@devx-commerce/plugin-discounts-svaraa 0.0.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +20 -0
- package/.medusa/server/src/admin/index.mjs +21 -0
- package/.medusa/server/src/api/admin/discounts/freebie-rules/[id]/route.js +75 -0
- package/.medusa/server/src/api/admin/discounts/freebie-rules/route.js +73 -0
- package/.medusa/server/src/api/admin/discounts/middlewares.js +113 -0
- package/.medusa/server/src/api/admin/discounts/price-rules/[id]/codes/export/route.js +41 -0
- package/.medusa/server/src/api/admin/discounts/price-rules/[id]/codes/route.js +20 -0
- package/.medusa/server/src/api/admin/discounts/price-rules/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/discounts/price-rules/bulk/[id]/add-more-codes/route.js +34 -0
- package/.medusa/server/src/api/admin/discounts/price-rules/bulk/route.js +33 -0
- package/.medusa/server/src/api/admin/discounts/price-rules/route.js +47 -0
- package/.medusa/server/src/api/admin/discounts/validators.js +649 -0
- package/.medusa/server/src/api/admin/plugin/route.js +7 -0
- package/.medusa/server/src/api/middlewares.js +14 -0
- package/.medusa/server/src/api/store/discounts/apply/route.js +24 -0
- package/.medusa/server/src/api/store/discounts/apply-freebie/route.js +20 -0
- package/.medusa/server/src/api/store/discounts/auto-apply/route.js +125 -0
- package/.medusa/server/src/api/store/discounts/cart-eligible-coupons/[cart_id]/route.js +19 -0
- package/.medusa/server/src/api/store/discounts/middlewares.js +49 -0
- package/.medusa/server/src/api/store/discounts/offers-on-product/[variant_id]/route.js +19 -0
- package/.medusa/server/src/api/store/discounts/price-rules/route.js +20 -0
- package/.medusa/server/src/api/store/discounts/remove/route.js +21 -0
- package/.medusa/server/src/api/store/plugin/route.js +7 -0
- package/.medusa/server/src/index.js +18 -0
- package/.medusa/server/src/jobs/price-rule-status-updates.js +80 -0
- package/.medusa/server/src/lib/api-response.js +42 -0
- package/.medusa/server/src/lib/utils.js +10 -0
- package/.medusa/server/src/links/mtm-freebie-rule-with-customers.js +16 -0
- package/.medusa/server/src/links/mtm-freebie-rule-with-products-categories.js +16 -0
- package/.medusa/server/src/links/mtm-freebie-rule-with-products-variants.js +18 -0
- package/.medusa/server/src/links/mtm-price-rule-with-customers.js +16 -0
- package/.medusa/server/src/links/mtm-price-rule-with-products-categories.js +16 -0
- package/.medusa/server/src/links/mtm-price-rule-with-products-variants.js +16 -0
- package/.medusa/server/src/modules/discounts/index.js +13 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250526174351.js +21 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250527074936.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250527104919.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250527113947.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250529123956.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250602052234.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250602052239.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250602165037.js +16 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250602194000.js +130 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250603053221.js +16 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250604162727.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250604162741.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250604175305.js +15 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250605161922.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250605162116.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250605164908.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250610063653.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250611105345.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250611105356.js +14 -0
- package/.medusa/server/src/modules/discounts/migrations/Migration20250617113007.js +14 -0
- package/.medusa/server/src/modules/discounts/models/discount-code.js +20 -0
- package/.medusa/server/src/modules/discounts/models/freebie-rule.js +27 -0
- package/.medusa/server/src/modules/discounts/models/price-rule.js +53 -0
- package/.medusa/server/src/modules/discounts/service.js +98 -0
- package/.medusa/server/src/workflows/discount/add-more-code-in-price-rule/index.js +28 -0
- package/.medusa/server/src/workflows/discount/apply-coupon/index.js +41 -0
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/apply-coupon-step-backup.js +245 -0
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/apply-coupon-step.js +244 -0
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/generate-adjustment-line-item.js +28 -0
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/validate-coupon-step.js +212 -0
- package/.medusa/server/src/workflows/discount/apply-freebie/index.js +31 -0
- package/.medusa/server/src/workflows/discount/apply-freebie/steps/add-freebie-items-to-cart.js +212 -0
- package/.medusa/server/src/workflows/discount/apply-freebie/steps/remove-freebie-from-cart.js +16 -0
- package/.medusa/server/src/workflows/discount/auto-apply-coupon/index.js +10 -0
- package/.medusa/server/src/workflows/discount/auto-apply-coupon/steps/auto-apply-coupon.js +81 -0
- package/.medusa/server/src/workflows/discount/calculate-coupon-discount/index.js +74 -0
- package/.medusa/server/src/workflows/discount/create-bulk-discount/index.js +46 -0
- package/.medusa/server/src/workflows/discount/create-bulk-discount/steps/add-bulk-codes-to-rule.js +84 -0
- package/.medusa/server/src/workflows/discount/create-discount-code/index.js +10 -0
- package/.medusa/server/src/workflows/discount/create-discount-code/steps/create-discount-code-step.js +20 -0
- package/.medusa/server/src/workflows/discount/create-discount-price-rule/index.js +56 -0
- package/.medusa/server/src/workflows/discount/create-discount-price-rule/steps/create-discount-price-rule-step.js +58 -0
- package/.medusa/server/src/workflows/discount/create-discount-price-rule/steps/validate-customer-exists.js +21 -0
- package/.medusa/server/src/workflows/discount/create-freebie-rule/index.js +44 -0
- package/.medusa/server/src/workflows/discount/create-freebie-rule/steps/create-freebie-rule-step.js +64 -0
- package/.medusa/server/src/workflows/discount/export-codes/index.js +14 -0
- package/.medusa/server/src/workflows/discount/export-codes/steps/export-codes-step.js +116 -0
- package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/index.js +15 -0
- package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/step/get-cart-eligible-coupon.js +39 -0
- package/.medusa/server/src/workflows/discount/get-product-offers/index.js +25 -0
- package/.medusa/server/src/workflows/discount/get-product-offers/step/calculate-product-offers.js +53 -0
- package/.medusa/server/src/workflows/discount/index.js +28 -0
- package/.medusa/server/src/workflows/discount/remove-coupon/index.js +18 -0
- package/.medusa/server/src/workflows/discount/remove-coupon/step/remove-coupon-step.js +32 -0
- package/.medusa/server/src/workflows/discount/steps/validate-cart-exists.js +22 -0
- package/.medusa/server/src/workflows/discount/steps/validate-discount-code-exists.js +20 -0
- package/.medusa/server/src/workflows/discount/steps/validate-freebie-code-exists.js +16 -0
- package/.medusa/server/src/workflows/discount/steps/validate-same-prefix-rule-exists.js +20 -0
- package/.medusa/server/src/workflows/discount/update-discount-price-rule/index.js +42 -0
- package/.medusa/server/src/workflows/discount/update-discount-price-rule/steps/update-discount-price-rule-step.js +160 -0
- package/.medusa/server/src/workflows/discount/update-discount-price-rule/steps/validate-discount-price-rule-update-step.js +175 -0
- package/.medusa/server/src/workflows/discount/update-freebie-price-rule/index.js +44 -0
- package/.medusa/server/src/workflows/discount/update-freebie-price-rule/steps/update-freebie-price-rule-step.js +201 -0
- package/.medusa/server/src/workflows/discount/update-freebie-price-rule/steps/validate-freebie-rule-update-step.js +44 -0
- package/.medusa/server/src/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/product/steps/validate-product-category-exists.js +26 -0
- package/.medusa/server/src/workflows/product/steps/validate-product-exists.js +28 -0
- package/.medusa/server/src/workflows/product/steps/validate-product-variant-exists.js +26 -0
- package/.medusa/server/src/workflows/steps/throw-error-step.js +9 -0
- package/README.md +64 -0
- package/package.json +87 -0
|
@@ -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.DISCOUNT_MODULE = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const service_1 = __importDefault(require("./service"));
|
|
9
|
+
exports.DISCOUNT_MODULE = "discount";
|
|
10
|
+
exports.default = (0, utils_1.Module)(exports.DISCOUNT_MODULE, {
|
|
11
|
+
service: service_1.default,
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQW1EO0FBQ25ELHdEQUF3QztBQUUzQixRQUFBLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFFMUMsa0JBQWUsSUFBQSxjQUFNLEVBQUMsdUJBQWUsRUFBRTtJQUNyQyxPQUFPLEVBQUUsaUJBQWU7Q0FDekIsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250526174351 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250526174351 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`create table if not exists "discount_price_rule" ("id" text not null, "title" text null, "description" text null, "type" text check ("type" in ('FIXED', 'PERCENTAGE', 'BXGY', 'BXAY')) not null, "starts_at" timestamptz not null, "ends_at" timestamptz null, "status" text check ("status" in ('ACTIVE', 'EXPIRED', 'SCHEDULED', 'DEACTIVATED')) not null, "applies_on" text check ("applies_on" in ('MRP', 'PRICE')) not null, "min_order_value" real null, "min_order_qty" integer null, "max_discount" real null, "usage_limit_per_customer_type" text check ("usage_limit_per_customer_type" in ('ONLY_ONCE', 'UNLIMITED', 'SPECIFIC')) not null, "usage_limit_per_customer_specific" integer null, "usage_limit" text check ("usage_limit" in ('ONLY_ONCE', 'UNLIMITED', 'SPECIFIC')) not null, "usage_limit_specific" integer null, "usage_limit_per_cart_type" text check ("usage_limit_per_cart_type" in ('ONLY_ONCE', 'UNLIMITED', 'SPECIFIC')) null, "usage_limit_per_cart_specific" integer null, "get_percent" real null, "get_flat_discount" real null, "visibility" boolean not null default false, "only_for_new_customer" boolean not null default false, "auto_apply" boolean not null default false, "applicable_on_bundle" boolean not null default false, "buy_x" real null, "get_y" real null, "at_y" real null, "applicable_products_type" text check ("applicable_products_type" in ('ALL', 'SPECIFIC', 'NONE')) not null default 'ALL', "applicable_categories_type" text check ("applicable_categories_type" in ('ALL', 'SPECIFIC', 'NONE')) not null default 'NONE', "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "discount_price_rule_pkey" primary key ("id"));`);
|
|
8
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_discount_price_rule_deleted_at" ON "discount_price_rule" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
9
|
+
this.addSql(`create table if not exists "discount_code" ("id" text not null, "code" text not null, "usage_count" integer not null default 0, "price_rule_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "discount_code_pkey" primary key ("id"));`);
|
|
10
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_discount_code_price_rule_id" ON "discount_code" (price_rule_id) WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_discount_code_deleted_at" ON "discount_code" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`alter table if exists "discount_code" add constraint "discount_code_price_rule_id_foreign" foreign key ("price_rule_id") references "discount_price_rule" ("id") on update cascade;`);
|
|
13
|
+
}
|
|
14
|
+
async down() {
|
|
15
|
+
this.addSql(`alter table if exists "discount_code" drop constraint if exists "discount_code_price_rule_id_foreign";`);
|
|
16
|
+
this.addSql(`drop table if exists "discount_price_rule" cascade;`);
|
|
17
|
+
this.addSql(`drop table if exists "discount_code" cascade;`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.Migration20250526174351 = Migration20250526174351;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjYxNzQzNTEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUyNjE3NDM1MS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsK3JEQUErckQsQ0FBQyxDQUFDO1FBQzdzRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlJQUFpSSxDQUFDLENBQUM7UUFFL0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxzVkFBc1YsQ0FBQyxDQUFDO1FBQ3BXLElBQUksQ0FBQyxNQUFNLENBQUMsMkhBQTJILENBQUMsQ0FBQztRQUN6SSxJQUFJLENBQUMsTUFBTSxDQUFDLHFIQUFxSCxDQUFDLENBQUM7UUFFbkksSUFBSSxDQUFDLE1BQU0sQ0FBQyxxTEFBcUwsQ0FBQyxDQUFDO0lBQ3JNLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHdHQUF3RyxDQUFDLENBQUM7UUFFdEgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxNQUFNLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBRUY7QUFyQkQsMERBcUJDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250527074936 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250527074936 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "applicable_product_variant_ids" text[] null, add column if not exists "applicable_category_ids" text[] null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "applicable_product_variant_ids", drop column if exists "applicable_category_ids";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250527074936 = Migration20250527074936;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjcwNzQ5MzYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUyNzA3NDkzNi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsb0xBQW9MLENBQUMsQ0FBQztJQUNwTSxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzSkFBc0osQ0FBQyxDQUFDO0lBQ3RLLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250527104919 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250527104919 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "product_category_ids" text[] null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "product_category_ids";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250527104919 = Migration20250527104919;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjcxMDQ5MTkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUyNzEwNDkxOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsMEdBQTBHLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQywyRkFBMkYsQ0FBQyxDQUFDO0lBQzNHLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250527113947 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250527113947 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "applicable_product_variant_ids", drop column if exists "applicable_category_ids", drop column if exists "product_category_ids";`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "applicable_product_variant_ids" text[] null, add column if not exists "applicable_category_ids" text[] null, add column if not exists "product_category_ids" text[] null;`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250527113947 = Migration20250527113947;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjcxMTM5NDcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUyNzExMzk0Ny50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsb01BQW9NLENBQUMsQ0FBQztJQUNwTixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpUEFBaVAsQ0FBQyxDQUFDO0lBQ2pRLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250529123956 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250529123956 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "applicable_products_type", drop column if exists "applicable_categories_type";`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "applicable_products_type" text check ("applicable_products_type" in ('ALL', 'SPECIFIC', 'NONE')) not null default 'ALL', add column if not exists "applicable_categories_type" text check ("applicable_categories_type" in ('ALL', 'SPECIFIC', 'NONE')) not null default 'NONE';`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250529123956 = Migration20250529123956;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjkxMjM5NTYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUyOTEyMzk1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsbUpBQW1KLENBQUMsQ0FBQztJQUNuSyxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3VkFBd1YsQ0FBQyxDQUFDO0lBQ3hXLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250602052234 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250602052234 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "status";`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "status" text check ("status" in ('ACTIVE', 'EXPIRED', 'SCHEDULED', 'DEACTIVATED')) not null;`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250602052234 = Migration20250602052234;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDIwNTIyMzQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwMjA1MjIzNC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsNkVBQTZFLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvS0FBb0ssQ0FBQyxDQUFDO0lBQ3BMLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250602052239 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250602052239 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "status" text check ("status" in ('ACTIVE', 'EXPIRED', 'SCHEDULED')) not null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "status";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250602052239 = Migration20250602052239;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDIwNTIyMzkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwMjA1MjIzOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMscUpBQXFKLENBQUMsQ0FBQztJQUNySyxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250602165037 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250602165037 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_DISCOUNT_CODE_CODE_UQ" ON "discount_code" (code) WHERE deleted_at IS NULL;`);
|
|
8
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_discount_code_usage_count" ON "discount_code" (usage_count) WHERE usage_count = 0 AND deleted_at IS NULL;`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`drop index if exists "IDX_DISCOUNT_CODE_CODE_UQ";`);
|
|
12
|
+
this.addSql(`drop index if exists "IDX_discount_code_usage_count";`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Migration20250602165037 = Migration20250602165037;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDIxNjUwMzcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwMjE2NTAzNy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsNEdBQTRHLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsTUFBTSxDQUFDLDJJQUEySSxDQUFDLENBQUM7SUFDM0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUVGO0FBWkQsMERBWUMifQ==
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250602194000 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
/**
|
|
6
|
+
* Partition discount_code by HASH(code) into 256 children.
|
|
7
|
+
*
|
|
8
|
+
* • keeps all existing columns
|
|
9
|
+
* • changes the PK to (code, id) because the partition key
|
|
10
|
+
* must be part of every UNIQUE / PRIMARY KEY constraint
|
|
11
|
+
* • keeps a global UNIQUE index on id so any FK to discount_code.id
|
|
12
|
+
* (if you add one later) still works
|
|
13
|
+
* • recreates the three useful secondary / partial indexes
|
|
14
|
+
*
|
|
15
|
+
* Assumes PostgreSQL ≥ 15 (needed for global unique index on id).
|
|
16
|
+
*/
|
|
17
|
+
class Migration20250602194000 extends migrations_1.Migration {
|
|
18
|
+
async up() {
|
|
19
|
+
/* 1. Rename current table so we still have the data. */
|
|
20
|
+
this.addSql("ALTER TABLE discount_code RENAME TO discount_code_orig;");
|
|
21
|
+
/* 2. Re-create the parent, partitioned on HASH(code). */
|
|
22
|
+
this.addSql(`
|
|
23
|
+
CREATE TABLE discount_code (
|
|
24
|
+
id text NOT NULL,
|
|
25
|
+
code text NOT NULL,
|
|
26
|
+
usage_count integer NOT NULL DEFAULT 0,
|
|
27
|
+
price_rule_id text NOT NULL,
|
|
28
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
29
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
30
|
+
deleted_at timestamptz,
|
|
31
|
+
/* composite PK contains partition key */
|
|
32
|
+
PRIMARY KEY (code, id),
|
|
33
|
+
/* keep FK to price_rule */
|
|
34
|
+
CONSTRAINT discount_code_price_rule_id_foreign
|
|
35
|
+
FOREIGN KEY (price_rule_id)
|
|
36
|
+
REFERENCES discount_price_rule(id) ON UPDATE CASCADE
|
|
37
|
+
) PARTITION BY HASH (code);
|
|
38
|
+
`);
|
|
39
|
+
/* 3. Create 256 partitions (p000 … p255). */
|
|
40
|
+
const parts = [];
|
|
41
|
+
for (let r = 0; r < 256; r++) {
|
|
42
|
+
parts.push(`
|
|
43
|
+
CREATE TABLE discount_code_p${r.toString().padStart(3, "0")}
|
|
44
|
+
PARTITION OF discount_code
|
|
45
|
+
FOR VALUES WITH (MODULUS 256, REMAINDER ${r});
|
|
46
|
+
`);
|
|
47
|
+
}
|
|
48
|
+
this.addSql(parts.join("\n"));
|
|
49
|
+
/* 4. Global UNIQUE index on id (PG-15+) so id stays unique. */
|
|
50
|
+
// this.addSql(`
|
|
51
|
+
// CREATE UNIQUE INDEX discount_code_id_uq ON discount_code(id);
|
|
52
|
+
// `);
|
|
53
|
+
/* 5. Secondary / partial indexes identical to originals. */
|
|
54
|
+
this.addSql(`
|
|
55
|
+
CREATE INDEX IF NOT EXISTS "IDX_discount_code_price_rule_id"
|
|
56
|
+
ON discount_code(price_rule_id) WHERE deleted_at IS NULL;
|
|
57
|
+
`);
|
|
58
|
+
this.addSql(`
|
|
59
|
+
CREATE INDEX IF NOT EXISTS "IDX_discount_code_deleted_at"
|
|
60
|
+
ON discount_code(deleted_at) WHERE deleted_at IS NULL;
|
|
61
|
+
`);
|
|
62
|
+
this.addSql(`
|
|
63
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "IDX_DISCOUNT_CODE_CODE_UQ"
|
|
64
|
+
ON discount_code(code) WHERE deleted_at IS NULL;
|
|
65
|
+
`);
|
|
66
|
+
this.addSql(`
|
|
67
|
+
CREATE INDEX IF NOT EXISTS "IDX_discount_code_usage_count"
|
|
68
|
+
ON discount_code(code)
|
|
69
|
+
WHERE usage_count = 0 AND deleted_at IS NULL;
|
|
70
|
+
`);
|
|
71
|
+
/* 6. Copy rows from the old heap into the new partition set. */
|
|
72
|
+
this.addSql(`
|
|
73
|
+
INSERT INTO discount_code
|
|
74
|
+
(id, code, usage_count, price_rule_id,
|
|
75
|
+
created_at, updated_at, deleted_at)
|
|
76
|
+
SELECT id, code, usage_count, price_rule_id,
|
|
77
|
+
created_at, updated_at, deleted_at
|
|
78
|
+
FROM discount_code_orig;
|
|
79
|
+
`);
|
|
80
|
+
/* 7. Drop the old table now that data is safely copied. */
|
|
81
|
+
this.addSql("DROP TABLE discount_code_orig;");
|
|
82
|
+
}
|
|
83
|
+
async down() {
|
|
84
|
+
/* 1. Re-create a plain (non-partitioned) table like original. */
|
|
85
|
+
this.addSql(`
|
|
86
|
+
CREATE TABLE discount_code_plain (
|
|
87
|
+
id text PRIMARY KEY,
|
|
88
|
+
code text NOT NULL,
|
|
89
|
+
usage_count integer NOT NULL DEFAULT 0,
|
|
90
|
+
price_rule_id text NOT NULL
|
|
91
|
+
REFERENCES discount_price_rule(id) ON UPDATE CASCADE,
|
|
92
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
93
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
94
|
+
deleted_at timestamptz
|
|
95
|
+
);
|
|
96
|
+
`);
|
|
97
|
+
/* 2. Move data back from the partitioned hierarchy. */
|
|
98
|
+
this.addSql(`
|
|
99
|
+
INSERT INTO discount_code_plain
|
|
100
|
+
(id, code, usage_count, price_rule_id,
|
|
101
|
+
created_at, updated_at, deleted_at)
|
|
102
|
+
SELECT id, code, usage_count, price_rule_id,
|
|
103
|
+
created_at, updated_at, deleted_at
|
|
104
|
+
FROM discount_code;
|
|
105
|
+
`);
|
|
106
|
+
/* 3. Drop partitioned table and rename plain back. */
|
|
107
|
+
this.addSql("DROP TABLE discount_code CASCADE;");
|
|
108
|
+
this.addSql("ALTER TABLE discount_code_plain RENAME TO discount_code;");
|
|
109
|
+
/* 4. Re-create the indexes you had originally. */
|
|
110
|
+
this.addSql(`
|
|
111
|
+
CREATE INDEX IF NOT EXISTS "IDX_discount_code_price_rule_id"
|
|
112
|
+
ON discount_code(price_rule_id) WHERE deleted_at IS NULL;
|
|
113
|
+
`);
|
|
114
|
+
this.addSql(`
|
|
115
|
+
CREATE INDEX IF NOT EXISTS "IDX_discount_code_deleted_at"
|
|
116
|
+
ON discount_code(deleted_at) WHERE deleted_at IS NULL;
|
|
117
|
+
`);
|
|
118
|
+
this.addSql(`
|
|
119
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "IDX_DISCOUNT_CODE_CODE_UQ"
|
|
120
|
+
ON discount_code(code) WHERE deleted_at IS NULL;
|
|
121
|
+
`);
|
|
122
|
+
this.addSql(`
|
|
123
|
+
CREATE INDEX IF NOT EXISTS "IDX_discount_code_usage_count"
|
|
124
|
+
ON discount_code(usage_count)
|
|
125
|
+
WHERE usage_count = 0 AND deleted_at IS NULL;
|
|
126
|
+
`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.Migration20250602194000 = Migration20250602194000;
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDIxOTQwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwMjE5NDAwMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2Ysd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMseURBQXlELENBQUMsQ0FBQztRQUV2RSx5REFBeUQ7UUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztLQWdCWCxDQUFDLENBQUM7UUFFSCw2Q0FBNkM7UUFDN0MsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDO3NDQUNxQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7O29EQUVmLENBQUM7T0FDOUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTlCLCtEQUErRDtRQUMvRCxnQkFBZ0I7UUFDaEIsa0VBQWtFO1FBQ2xFLE1BQU07UUFFTiw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7OztLQUlYLENBQUMsQ0FBQztRQUVILGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7O0tBT1gsQ0FBQyxDQUFDO1FBRUgsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0tBV1gsQ0FBQyxDQUFDO1FBRUgsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7S0FPWCxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUV4RSxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7OztLQUlYLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9IRCwwREErSEMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250603053221 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250603053221 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "prefix" text null, add column if not exists "code_count" integer not null default 1;`);
|
|
8
|
+
this.addSql(`alter table if exists "discount_code" drop column if exists "update_trying";`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "prefix", drop column if exists "code_count";`);
|
|
12
|
+
this.addSql(`alter table if exists "discount_code" add column if not exists "update_trying" text not null;`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Migration20250603053221 = Migration20250603053221;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDMwNTMyMjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwMzA1MzIyMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsNEpBQTRKLENBQUMsQ0FBQztRQUUxSyxJQUFJLENBQUMsTUFBTSxDQUFDLDhFQUE4RSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsaUhBQWlILENBQUMsQ0FBQztRQUUvSCxJQUFJLENBQUMsTUFBTSxDQUFDLCtGQUErRixDQUFDLENBQUM7SUFDL0csQ0FBQztDQUVGO0FBZEQsMERBY0MifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250604162727 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250604162727 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "status";`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "status" text check ("status" in ('ACTIVE', 'EXPIRED', 'SCHEDULED')) not null;`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250604162727 = Migration20250604162727;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDQxNjI3MjcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwNDE2MjcyNy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsNkVBQTZFLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxSkFBcUosQ0FBQyxDQUFDO0lBQ3JLLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250604162741 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250604162741 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_price_rule" add column if not exists "status" text check ("status" in ('ACTIVE', 'EXPIRED', 'SCHEDULED', 'DEACTIVATED')) not null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_price_rule" drop column if exists "status";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250604162741 = Migration20250604162741;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDQxNjI3NDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwNDE2Mjc0MS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsb0tBQW9LLENBQUMsQ0FBQztJQUNwTCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250604175305 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250604175305 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`create table if not exists "freebie_rule" ("id" text not null, "code" text not null, "description" text not null, "starts_at" timestamptz not null, "ends_at" timestamptz null, "status" text check ("status" in ('ACTIVE', 'EXPIRED', 'SCHEDULED', 'DEACTIVATED')) not null, "min_order_value" real null, "min_order_qty" integer null, "only_for_new_customer" boolean not null default false, "applicable_on_bundle" boolean not null default false, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "freebie_rule_pkey" primary key ("id"));`);
|
|
8
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_freebie_rule_deleted_at" ON "freebie_rule" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`drop table if exists "freebie_rule" cascade;`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.Migration20250604175305 = Migration20250604175305;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDQxNzUzMDUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwNDE3NTMwNS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOG1CQUE4bUIsQ0FBQyxDQUFDO1FBQzVuQixJQUFJLENBQUMsTUFBTSxDQUFDLG1IQUFtSCxDQUFDLENBQUM7SUFDbkksQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBRUY7QUFYRCwwREFXQyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250605161922 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250605161922 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "freebie_rule" add column if not exists "usage_limit" text check ("usage_limit" in ('ONLY_ONCE', 'UNLIMITED', 'SPECIFIC')) not null, add column if not exists "usage_limit_specific" integer null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "freebie_rule" drop column if exists "usage_limit", drop column if exists "usage_limit_specific";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250605161922 = Migration20250605161922;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDUxNjE5MjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwNTE2MTkyMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsME5BQTBOLENBQUMsQ0FBQztJQUMxTyxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5SEFBeUgsQ0FBQyxDQUFDO0lBQ3pJLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250605162116 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250605162116 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "freebie_rule" add column if not exists "applies_on" text check ("applies_on" in ('MRP', 'PRICE')) not null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "freebie_rule" drop column if exists "applies_on";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250605162116 = Migration20250605162116;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDUxNjIxMTYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwNTE2MjExNi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsb0lBQW9JLENBQUMsQ0FBQztJQUNwSixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250605164908 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250605164908 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "freebie_rule" add column if not exists "usage_limit_per_customer_type" text check ("usage_limit_per_customer_type" in ('ONLY_ONCE', 'UNLIMITED', 'SPECIFIC')) not null, add column if not exists "usage_limit_per_customer_specific" integer null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "freebie_rule" drop column if exists "usage_limit_per_customer_type", drop column if exists "usage_limit_per_customer_specific";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250605164908 = Migration20250605164908;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDUxNjQ5MDguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYwNTE2NDkwOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsMlFBQTJRLENBQUMsQ0FBQztJQUMzUixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3SkFBd0osQ0FBQyxDQUFDO0lBQ3hLLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250610063653 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250610063653 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "freebie_rule" add column if not exists "usage_count" integer not null default 0;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "freebie_rule" drop column if exists "usage_count";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250610063653 = Migration20250610063653;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MTAwNjM2NTMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYxMDA2MzY1My50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMseUdBQXlHLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250611105345 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250611105345 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "freebie_rule" drop column if exists "description";`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "freebie_rule" add column if not exists "description" text not null;`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250611105345 = Migration20250611105345;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MTExMDUzNDUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYxMTEwNTM0NS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsMkVBQTJFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0RkFBNEYsQ0FBQyxDQUFDO0lBQzVHLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250611105356 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250611105356 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "freebie_rule" add column if not exists "description" text null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "freebie_rule" drop column if exists "description";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250611105356 = Migration20250611105356;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MTExMDUzNTYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYxMTEwNTM1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsd0ZBQXdGLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250617113007 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250617113007 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "discount_code" add column if not exists "sales_generated" integer not null default 0;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "discount_code" drop column if exists "sales_generated";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250617113007 = Migration20250617113007;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MTcxMTMwMDcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDYxNzExMzAwNy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOEdBQThHLENBQUMsQ0FBQztJQUM5SCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnRkFBZ0YsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const price_rule_1 = __importDefault(require("./price-rule"));
|
|
8
|
+
const DiscountCode = utils_1.model
|
|
9
|
+
.define("discount_code", {
|
|
10
|
+
id: utils_1.model.id().primaryKey(),
|
|
11
|
+
code: utils_1.model.text().index("IDX_DISCOUNT_CODE_CODE_UQ").searchable(),
|
|
12
|
+
usage_count: utils_1.model.number().default(0),
|
|
13
|
+
sales_generated: utils_1.model.number().default(0),
|
|
14
|
+
price_rule: utils_1.model.belongsTo(() => price_rule_1.default, {
|
|
15
|
+
mappedBy: "discount_codes",
|
|
16
|
+
}),
|
|
17
|
+
})
|
|
18
|
+
.indexes([{ on: ["usage_count"], where: { usage_count: 0 } }]);
|
|
19
|
+
exports.default = DiscountCode;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY291bnQtY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rpc2NvdW50cy9tb2RlbHMvZGlzY291bnQtY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUFrRDtBQUNsRCw4REFBNkM7QUFFN0MsTUFBTSxZQUFZLEdBQUcsYUFBSztLQUN2QixNQUFNLENBQUMsZUFBZSxFQUFFO0lBQ3ZCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ2xFLFdBQVcsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0QyxlQUFlLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDMUMsVUFBVSxFQUFFLGFBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQWlCLEVBQUU7UUFDbkQsUUFBUSxFQUFFLGdCQUFnQjtLQUMzQixDQUFDO0NBQ0gsQ0FBQztLQUNELE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWpFLGtCQUFlLFlBQVksQ0FBQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const FreebieRule = utils_1.model.define("freebie_rule", {
|
|
5
|
+
id: utils_1.model.id().primaryKey(),
|
|
6
|
+
code: utils_1.model.text().searchable(),
|
|
7
|
+
description: utils_1.model.text().searchable().nullable(),
|
|
8
|
+
starts_at: utils_1.model.dateTime(),
|
|
9
|
+
ends_at: utils_1.model.dateTime().nullable(),
|
|
10
|
+
status: utils_1.model.enum(["ACTIVE", "EXPIRED", "SCHEDULED", "DEACTIVATED"]),
|
|
11
|
+
applies_on: utils_1.model.enum(["MRP", "PRICE"]),
|
|
12
|
+
usage_limit: utils_1.model.enum(["ONLY_ONCE", "UNLIMITED", "SPECIFIC"]),
|
|
13
|
+
usage_limit_specific: utils_1.model.number().nullable(),
|
|
14
|
+
usage_count: utils_1.model.number().default(0),
|
|
15
|
+
usage_limit_per_customer_type: utils_1.model.enum([
|
|
16
|
+
"ONLY_ONCE",
|
|
17
|
+
"UNLIMITED",
|
|
18
|
+
"SPECIFIC",
|
|
19
|
+
]),
|
|
20
|
+
usage_limit_per_customer_specific: utils_1.model.number().nullable(),
|
|
21
|
+
min_order_value: utils_1.model.float().nullable(),
|
|
22
|
+
min_order_qty: utils_1.model.number().nullable(),
|
|
23
|
+
only_for_new_customer: utils_1.model.boolean().default(false),
|
|
24
|
+
applicable_on_bundle: utils_1.model.boolean().default(false),
|
|
25
|
+
});
|
|
26
|
+
exports.default = FreebieRule;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZWJpZS1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGlzY291bnRzL21vZGVscy9mcmVlYmllLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxxREFBa0Q7QUFFbEQsTUFBTSxXQUFXLEdBQUcsYUFBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7SUFDL0MsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFFM0IsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDL0IsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFakQsU0FBUyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUVyRSxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV4QyxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0Qsb0JBQW9CLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQyxXQUFXLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFdEMsNkJBQTZCLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQztRQUN4QyxXQUFXO1FBQ1gsV0FBVztRQUNYLFVBQVU7S0FDWCxDQUFDO0lBQ0YsaUNBQWlDLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUU1RCxlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QyxhQUFhLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUV4QyxxQkFBcUIsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNyRCxvQkFBb0IsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztDQUNyRCxDQUFDLENBQUM7QUFFSCxrQkFBZSxXQUFXLENBQUMifQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
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 discount_code_1 = __importDefault(require("./discount-code"));
|
|
8
|
+
const DiscountPriceRule = utils_1.model.define("discount_price_rule", {
|
|
9
|
+
id: utils_1.model.id().primaryKey(),
|
|
10
|
+
title: utils_1.model.text().searchable().nullable(),
|
|
11
|
+
description: utils_1.model.text().nullable(),
|
|
12
|
+
type: utils_1.model.enum(["FIXED", "PERCENTAGE", "BXGY", "BXAY"]),
|
|
13
|
+
starts_at: utils_1.model.dateTime(),
|
|
14
|
+
ends_at: utils_1.model.dateTime().nullable(),
|
|
15
|
+
status: utils_1.model.enum(["ACTIVE", "EXPIRED", "SCHEDULED", "DEACTIVATED"]),
|
|
16
|
+
applies_on: utils_1.model.enum(["MRP", "PRICE"]),
|
|
17
|
+
min_order_value: utils_1.model.float().nullable(),
|
|
18
|
+
min_order_qty: utils_1.model.number().nullable(),
|
|
19
|
+
max_discount: utils_1.model.float().nullable(),
|
|
20
|
+
usage_limit_per_customer_type: utils_1.model.enum([
|
|
21
|
+
"ONLY_ONCE",
|
|
22
|
+
"UNLIMITED",
|
|
23
|
+
"SPECIFIC",
|
|
24
|
+
]),
|
|
25
|
+
usage_limit_per_customer_specific: utils_1.model.number().nullable(),
|
|
26
|
+
usage_limit: utils_1.model.enum(["ONLY_ONCE", "UNLIMITED", "SPECIFIC"]),
|
|
27
|
+
usage_limit_specific: utils_1.model.number().nullable(),
|
|
28
|
+
usage_limit_per_cart_type: utils_1.model
|
|
29
|
+
.enum([
|
|
30
|
+
// applicable if only FIXED, BXGY and BXAY
|
|
31
|
+
"ONLY_ONCE",
|
|
32
|
+
"UNLIMITED",
|
|
33
|
+
"SPECIFIC",
|
|
34
|
+
])
|
|
35
|
+
.nullable(),
|
|
36
|
+
usage_limit_per_cart_specific: utils_1.model.number().nullable(),
|
|
37
|
+
get_percent: utils_1.model.float().nullable(),
|
|
38
|
+
get_flat_discount: utils_1.model.float().nullable(),
|
|
39
|
+
visibility: utils_1.model.boolean().default(false),
|
|
40
|
+
only_for_new_customer: utils_1.model.boolean().default(false),
|
|
41
|
+
auto_apply: utils_1.model.boolean().default(false),
|
|
42
|
+
applicable_on_bundle: utils_1.model.boolean().default(false),
|
|
43
|
+
buy_x: utils_1.model.float().nullable(),
|
|
44
|
+
get_y: utils_1.model.float().nullable(),
|
|
45
|
+
at_y: utils_1.model.float().nullable(),
|
|
46
|
+
prefix: utils_1.model.text().nullable(),
|
|
47
|
+
code_count: utils_1.model.number().default(1),
|
|
48
|
+
discount_codes: utils_1.model.hasMany(() => discount_code_1.default, {
|
|
49
|
+
mappedBy: "price_rule",
|
|
50
|
+
}),
|
|
51
|
+
});
|
|
52
|
+
exports.default = DiscountPriceRule;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rpc2NvdW50cy9tb2RlbHMvcHJpY2UtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFEQUFrRDtBQUVsRCxvRUFBMkM7QUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFO0lBQzVELEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsU0FBUyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNyRSxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4QyxlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QyxhQUFhLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxZQUFZLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0Qyw2QkFBNkIsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hDLFdBQVc7UUFDWCxXQUFXO1FBQ1gsVUFBVTtLQUNYLENBQUM7SUFDRixpQ0FBaUMsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVELFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvRCxvQkFBb0IsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9DLHlCQUF5QixFQUFFLGFBQUs7U0FDN0IsSUFBSSxDQUFDO1FBQ0osMENBQTBDO1FBQzFDLFdBQVc7UUFDWCxXQUFXO1FBQ1gsVUFBVTtLQUNYLENBQUM7U0FDRCxRQUFRLEVBQUU7SUFDYiw2QkFBNkIsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBRXhELFdBQVcsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3JDLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFM0MsVUFBVSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzFDLHFCQUFxQixFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3JELFVBQVUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMxQyxvQkFBb0IsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUVwRCxLQUFLLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixLQUFLLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixJQUFJLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUU5QixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixVQUFVLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFckMsY0FBYyxFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQVksRUFBRTtRQUNoRCxRQUFRLEVBQUUsWUFBWTtLQUN2QixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsa0JBQWUsaUJBQWlCLENBQUMifQ==
|