@reachu/database 1.0.197 → 1.0.199

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 (40) hide show
  1. package/dist/entity/ExchangeRate.js +4 -1
  2. package/dist/entity/ExchangeRate.js.map +1 -1
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.js +3 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/migrations/1727876862864-promote_to_qa_02_10_24.d.ts +6 -0
  7. package/dist/migrations/1727876862864-promote_to_qa_02_10_24.js +35 -0
  8. package/dist/migrations/1727876862864-promote_to_qa_02_10_24.js.map +1 -0
  9. package/dist/migrations/1727968750513-channelUserProducts-index.d.ts +6 -0
  10. package/dist/migrations/1727968750513-channelUserProducts-index.js +49 -0
  11. package/dist/migrations/1727968750513-channelUserProducts-index.js.map +1 -0
  12. package/dist/migrations/1727969140402-promote_to_qa_03_10_24.d.ts +6 -0
  13. package/dist/migrations/1727969140402-promote_to_qa_03_10_24.js +43 -0
  14. package/dist/migrations/1727969140402-promote_to_qa_03_10_24.js.map +1 -0
  15. package/dist/migrations/1727969488134-channelUserProducts-index-rollback.d.ts +6 -0
  16. package/dist/migrations/1727969488134-channelUserProducts-index-rollback.js +47 -0
  17. package/dist/migrations/1727969488134-channelUserProducts-index-rollback.js.map +1 -0
  18. package/dist/migrations/1727969574564-promote_to_qa_03_10_24_v2.d.ts +6 -0
  19. package/dist/migrations/1727969574564-promote_to_qa_03_10_24_v2.js +43 -0
  20. package/dist/migrations/1727969574564-promote_to_qa_03_10_24_v2.js.map +1 -0
  21. package/dist/subscribers/ProductSubscriber.js +3 -0
  22. package/dist/subscribers/ProductSubscriber.js.map +1 -1
  23. package/dist/subscribers/event-emitter.d.ts +3 -0
  24. package/dist/subscribers/event-emitter.js +7 -0
  25. package/dist/subscribers/event-emitter.js.map +1 -0
  26. package/dist/subscribers/index.d.ts +2 -1
  27. package/dist/subscribers/index.js +3 -1
  28. package/dist/subscribers/index.js.map +1 -1
  29. package/dist/tsconfig.tsbuildinfo +101 -24
  30. package/package.json +6 -4
  31. package/src/entity/ExchangeRate.ts +4 -1
  32. package/src/index.ts +2 -1
  33. package/src/migrations/1727876862864-promote_to_qa_02_10_24.ts +20 -0
  34. package/src/migrations/1727968750513-channelUserProducts-index.ts +34 -0
  35. package/src/migrations/1727969140402-promote_to_qa_03_10_24.ts +28 -0
  36. package/src/migrations/1727969488134-channelUserProducts-index-rollback.ts +32 -0
  37. package/src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts +28 -0
  38. package/src/subscribers/ProductSubscriber.ts +3 -0
  39. package/src/subscribers/event-emitter.ts +4 -0
  40. package/src/subscribers/index.ts +2 -1
@@ -25,6 +25,7 @@ __decorate([
25
25
  __metadata("design:type", Date)
26
26
  ], ExchangeRate.prototype, "deletedAt", void 0);
27
27
  __decorate([
28
+ typeorm_1.Index('idx_enabled'),
28
29
  typeorm_1.Column('integer', { default: 0 }),
29
30
  __metadata("design:type", Number)
30
31
  ], ExchangeRate.prototype, "enabled", void 0);
@@ -33,11 +34,13 @@ __decorate([
33
34
  __metadata("design:type", String)
34
35
  ], ExchangeRate.prototype, "data", void 0);
35
36
  __decorate([
37
+ typeorm_1.Index('idx_currency'),
36
38
  typeorm_1.Column('text', { nullable: true, default: null }),
37
39
  __metadata("design:type", String)
38
40
  ], ExchangeRate.prototype, "currency", void 0);
39
41
  ExchangeRate = __decorate([
40
- typeorm_1.Entity()
42
+ typeorm_1.Entity(),
43
+ typeorm_1.Index('idx_currency_enabled', ['currency', 'enabled'])
41
44
  ], ExchangeRate);
42
45
  exports.default = ExchangeRate;
43
46
  //# sourceMappingURL=ExchangeRate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeRate.js","sourceRoot":"","sources":["../../src/entity/ExchangeRate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qCAAmF;AACnF,kEAA0C;AAG1C,IAAqB,YAAY,GAAjC,MAAqB,YAAa,SAAQ,sBAAY;CAerD,CAAA;AAbC;IADC,gCAAsB,CAAC,MAAM,CAAC;;wCACpB;AAGX;IADC,0BAAgB,EAAE;8BACR,IAAI;+CAAC;AAGhB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6CACjB;AAGjB;IADC,gBAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CACpC;AAGd;IADC,gBAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CAChC;AAdC,YAAY;IADhC,gBAAM,EAAE;GACY,YAAY,CAehC;kBAfoB,YAAY"}
1
+ {"version":3,"file":"ExchangeRate.js","sourceRoot":"","sources":["../../src/entity/ExchangeRate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qCAA0F;AAC1F,kEAA0C;AAI1C,IAAqB,YAAY,GAAjC,MAAqB,YAAa,SAAQ,sBAAY;CAiBrD,CAAA;AAfC;IADC,gCAAsB,CAAC,MAAM,CAAC;;wCACpB;AAGX;IADC,0BAAgB,EAAE;8BACR,IAAI;+CAAC;AAIhB;IAFC,eAAK,CAAC,aAAa,CAAC;IACpB,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6CACjB;AAGjB;IADC,gBAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CACpC;AAId;IAFC,eAAK,CAAC,cAAc,CAAC;IACrB,gBAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CAChC;AAhBC,YAAY;IAFhC,gBAAM,EAAE;IACR,eAAK,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;GAClC,YAAY,CAiBhC;kBAjBoB,YAAY"}
package/dist/index.d.ts CHANGED
@@ -4,4 +4,5 @@ import * as StaticData from './staticData';
4
4
  import * as Utils from './utils';
5
5
  import * as Repository from './repositories';
6
6
  import * as Helper from './helpers';
7
- export { Migration, Entity, StaticData, Utils, Repository, Helper };
7
+ import * as Subscribers from './subscribers';
8
+ export { Migration, Entity, StaticData, Utils, Repository, Helper, Subscribers };
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Helper = exports.Repository = exports.Utils = exports.StaticData = exports.Entity = exports.Migration = void 0;
22
+ exports.Subscribers = exports.Helper = exports.Repository = exports.Utils = exports.StaticData = exports.Entity = exports.Migration = void 0;
23
23
  const Migration = __importStar(require("./migrations"));
24
24
  exports.Migration = Migration;
25
25
  const Entity = __importStar(require("./entity"));
@@ -32,4 +32,6 @@ const Repository = __importStar(require("./repositories"));
32
32
  exports.Repository = Repository;
33
33
  const Helper = __importStar(require("./helpers"));
34
34
  exports.Helper = Helper;
35
+ const Subscribers = __importStar(require("./subscribers"));
36
+ exports.Subscribers = Subscribers;
35
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAOjC,8BAAS;AANlB,iDAAmC;AAMf,wBAAM;AAL1B,yDAA2C;AAKf,gCAAU;AAJtC,+CAAiC;AAIO,sBAAK;AAH7C,2DAA6C;AAGE,gCAAU;AAFzD,kDAAoC;AAEuB,wBAAM"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAQjC,8BAAS;AAPlB,iDAAmC;AAOf,wBAAM;AAN1B,yDAA2C;AAMf,gCAAU;AALtC,+CAAiC;AAKO,sBAAK;AAJ7C,2DAA6C;AAIE,gCAAU;AAHzD,kDAAoC;AAGuB,wBAAM;AAFjE,2DAA6C;AAEsB,kCAAW"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class promoteToQa0210241727876862864 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.promoteToQa0210241727876862864 = void 0;
13
+ class promoteToQa0210241727876862864 {
14
+ constructor() {
15
+ this.name = 'promoteToQa0210241727876862864';
16
+ }
17
+ up(queryRunner) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield queryRunner.query(`CREATE TABLE \`channel_user_products\` (\`created_at\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), \`updated_at\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`deleted_at\` datetime(6) NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`title\` varchar(255) NULL, \`description\` text NULL, \`public_price\` decimal(10,2) NULL, \`referral_fee\` int NOT NULL DEFAULT '10', \`tags\` varchar(255) NULL DEFAULT '', \`sku\` varchar(255) NULL, \`barcode\` varchar(255) NULL, \`quantity\` int NULL, \`options_enabled\` tinyint NOT NULL DEFAULT 0, \`digital\` tinyint NOT NULL DEFAULT 0, \`origin\` varchar(255) NULL, \`brand\` varchar(255) NULL, \`channel_user_id\` int NULL, \`product_id\` int NULL, \`collection_id\` varchar(10) NULL, \`price_amount\` decimal(10,2) NULL, \`price_currency_code\` varchar(255) NULL, \`price_base_amount\` decimal(10,2) NULL, \`price_compare_at\` decimal(10,2) NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
20
+ yield queryRunner.query(`ALTER TABLE \`channel_user_products\` ADD CONSTRAINT \`FK_635d9f7bf7582fca6e2b961bdbe\` FOREIGN KEY (\`channel_user_id\`) REFERENCES \`channel_user\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`);
21
+ yield queryRunner.query(`ALTER TABLE \`channel_user_products\` ADD CONSTRAINT \`FK_ef37d3e38597aa6352c51ca2d57\` FOREIGN KEY (\`product_id\`) REFERENCES \`product\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`);
22
+ yield queryRunner.query(`ALTER TABLE \`channel_user_products\` ADD CONSTRAINT \`FK_6a15e1ba4f071b0fa85f8188756\` FOREIGN KEY (\`collection_id\`) REFERENCES \`collection\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`);
23
+ });
24
+ }
25
+ down(queryRunner) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ yield queryRunner.query(`ALTER TABLE \`channel_user_products\` DROP FOREIGN KEY \`FK_6a15e1ba4f071b0fa85f8188756\``);
28
+ yield queryRunner.query(`ALTER TABLE \`channel_user_products\` DROP FOREIGN KEY \`FK_ef37d3e38597aa6352c51ca2d57\``);
29
+ yield queryRunner.query(`ALTER TABLE \`channel_user_products\` DROP FOREIGN KEY \`FK_635d9f7bf7582fca6e2b961bdbe\``);
30
+ yield queryRunner.query(`DROP TABLE \`channel_user_products\``);
31
+ });
32
+ }
33
+ }
34
+ exports.promoteToQa0210241727876862864 = promoteToQa0210241727876862864;
35
+ //# sourceMappingURL=1727876862864-promote_to_qa_02_10_24.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1727876862864-promote_to_qa_02_10_24.js","sourceRoot":"","sources":["../../src/migrations/1727876862864-promote_to_qa_02_10_24.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,8BAA8B;IAA3C;QACI,SAAI,GAAG,gCAAgC,CAAA;IAgB3C,CAAC;IAdgB,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,u8BAAu8B,CAAC,CAAC;YACj+B,MAAM,WAAW,CAAC,KAAK,CAAC,qMAAqM,CAAC,CAAC;YAC/N,MAAM,WAAW,CAAC,KAAK,CAAC,2LAA2L,CAAC,CAAC;YACrN,MAAM,WAAW,CAAC,KAAK,CAAC,iMAAiM,CAAC,CAAC;QAC/N,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;YACrH,MAAM,WAAW,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;YACrH,MAAM,WAAW,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;YACrH,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACpE,CAAC;KAAA;CAEJ;AAjBD,wEAiBC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class channelUserProductsIndex1727968750513 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.channelUserProductsIndex1727968750513 = void 0;
13
+ class channelUserProductsIndex1727968750513 {
14
+ constructor() {
15
+ this.name = 'channelUserProductsIndex1727968750513';
16
+ }
17
+ up(queryRunner) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
20
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
21
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
22
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
23
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
24
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
25
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
26
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
27
+ yield queryRunner.query(`CREATE INDEX \`idx_enabled\` ON \`exchange_rate\` (\`enabled\`)`);
28
+ yield queryRunner.query(`CREATE INDEX \`idx_currency\` ON \`exchange_rate\` (\`currency\`)`);
29
+ yield queryRunner.query(`CREATE INDEX \`idx_currency_enabled\` ON \`exchange_rate\` (\`currency\`, \`enabled\`)`);
30
+ });
31
+ }
32
+ down(queryRunner) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ yield queryRunner.query(`DROP INDEX \`idx_currency_enabled\` ON \`exchange_rate\``);
35
+ yield queryRunner.query(`DROP INDEX \`idx_currency\` ON \`exchange_rate\``);
36
+ yield queryRunner.query(`DROP INDEX \`idx_enabled\` ON \`exchange_rate\``);
37
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
38
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
39
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
40
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
41
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
42
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
43
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
44
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
45
+ });
46
+ }
47
+ }
48
+ exports.channelUserProductsIndex1727968750513 = channelUserProductsIndex1727968750513;
49
+ //# sourceMappingURL=1727968750513-channelUserProducts-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1727968750513-channelUserProducts-index.js","sourceRoot":"","sources":["../../src/migrations/1727968750513-channelUserProducts-index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,qCAAqC;IAAlD;QACI,SAAI,GAAG,uCAAuC,CAAA;IA8BlD,CAAC;IA5BgB,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACzF,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACzG,MAAM,WAAW,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAChG,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAC5F,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAC7F,MAAM,WAAW,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QACtH,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACpF,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC5E,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACzE,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC7E,MAAM,WAAW,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACtF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC1E,CAAC;KAAA;CAEJ;AA/BD,sFA+BC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class promoteToQa0310241727969140402 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.promoteToQa0310241727969140402 = void 0;
13
+ class promoteToQa0310241727969140402 {
14
+ constructor() {
15
+ this.name = 'promoteToQa0310241727969140402';
16
+ }
17
+ up(queryRunner) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
20
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
21
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
22
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
23
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
24
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
25
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
26
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
27
+ });
28
+ }
29
+ down(queryRunner) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
32
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
33
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
34
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
35
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
36
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
37
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
38
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
39
+ });
40
+ }
41
+ }
42
+ exports.promoteToQa0310241727969140402 = promoteToQa0310241727969140402;
43
+ //# sourceMappingURL=1727969140402-promote_to_qa_03_10_24.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1727969140402-promote_to_qa_03_10_24.js","sourceRoot":"","sources":["../../src/migrations/1727969140402-promote_to_qa_03_10_24.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,8BAA8B;IAA3C;QACI,SAAI,GAAG,gCAAgC,CAAA;IAwB3C,CAAC;IAtBgB,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACzF,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACzG,MAAM,WAAW,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAChG,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAChG,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACzE,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC7E,MAAM,WAAW,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACtF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC1E,CAAC;KAAA;CAEJ;AAzBD,wEAyBC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class channelUserProductsIndexRollback1727969488134 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.channelUserProductsIndexRollback1727969488134 = void 0;
13
+ class channelUserProductsIndexRollback1727969488134 {
14
+ constructor() {
15
+ this.name = 'channelUserProductsIndexRollback1727969488134';
16
+ }
17
+ up(queryRunner) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
20
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
21
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
22
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
23
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
24
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
25
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
26
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
27
+ yield queryRunner.query(`CREATE INDEX \`idx_currency\` ON \`exchange_rate\` (\`currency\`)`);
28
+ yield queryRunner.query(`CREATE INDEX \`idx_currency_enabled\` ON \`exchange_rate\` (\`currency\`, \`enabled\`)`);
29
+ });
30
+ }
31
+ down(queryRunner) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ yield queryRunner.query(`DROP INDEX \`idx_currency_enabled\` ON \`exchange_rate\``);
34
+ yield queryRunner.query(`DROP INDEX \`idx_currency\` ON \`exchange_rate\``);
35
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
36
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
37
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
38
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
39
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
40
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
41
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
42
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
43
+ });
44
+ }
45
+ }
46
+ exports.channelUserProductsIndexRollback1727969488134 = channelUserProductsIndexRollback1727969488134;
47
+ //# sourceMappingURL=1727969488134-channelUserProducts-index-rollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1727969488134-channelUserProducts-index-rollback.js","sourceRoot":"","sources":["../../src/migrations/1727969488134-channelUserProducts-index-rollback.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,6CAA6C;IAA1D;QACI,SAAI,GAAG,+CAA+C,CAAA;IA4B1D,CAAC;IA1BgB,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACtE,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACtF,MAAM,WAAW,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC7E,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACzE,MAAM,WAAW,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAC7F,MAAM,WAAW,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QACtH,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACpF,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC5E,MAAM,WAAW,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAC5F,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAChG,MAAM,WAAW,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACzG,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC7F,CAAC;KAAA;CAEJ;AA7BD,sGA6BC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class promoteToQa031024V21727969574564 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.promoteToQa031024V21727969574564 = void 0;
13
+ class promoteToQa031024V21727969574564 {
14
+ constructor() {
15
+ this.name = 'promoteToQa031024V21727969574564';
16
+ }
17
+ up(queryRunner) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
20
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
21
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
22
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
23
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
24
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
25
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
26
+ yield queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
27
+ });
28
+ }
29
+ down(queryRunner) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
32
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
33
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
34
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
35
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
36
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
37
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
38
+ yield queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
39
+ });
40
+ }
41
+ }
42
+ exports.promoteToQa031024V21727969574564 = promoteToQa031024V21727969574564;
43
+ //# sourceMappingURL=1727969574564-promote_to_qa_03_10_24_v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1727969574564-promote_to_qa_03_10_24_v2.js","sourceRoot":"","sources":["../../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,gCAAgC;IAA7C;QACI,SAAI,GAAG,kCAAkC,CAAA;IAwB7C,CAAC;IAtBgB,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACtE,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACtF,MAAM,WAAW,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC7E,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,WAAW,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC7E,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAC5F,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACpG,MAAM,WAAW,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAChG,MAAM,WAAW,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACzG,MAAM,WAAW,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3F,MAAM,WAAW,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC7F,CAAC;KAAA;CAEJ;AAzBD,4EAyBC"}
@@ -20,6 +20,7 @@ exports.ProductSubscriber = void 0;
20
20
  const typeorm_1 = require("typeorm");
21
21
  const Product_entity_1 = require("../entity/Product.entity");
22
22
  const logger_1 = require("@reachu/logger");
23
+ const event_emitter_1 = require("./event-emitter");
23
24
  let ProductSubscriber = ProductSubscriber_1 = class ProductSubscriber {
24
25
  constructor() {
25
26
  this.listenTo = () => Product_entity_1.Product;
@@ -27,6 +28,7 @@ let ProductSubscriber = ProductSubscriber_1 = class ProductSubscriber {
27
28
  if (event === null || event === void 0 ? void 0 : event.entity) {
28
29
  logger_1.logger.debug(`[ProductSubscriber.afterUpdate] after update entity (${event.entity.id})`);
29
30
  const { id } = event.entity;
31
+ event_emitter_1.eventEmitter.emit('product.updated', { id });
30
32
  yield Product_entity_1.Product.invalidateCache(id, ProductSubscriber_1.invalidateCache);
31
33
  if (ProductSubscriber_1.clearMatchingCache) {
32
34
  yield Product_entity_1.Product.clearMatchingCache(id, ProductSubscriber_1.clearMatchingCache);
@@ -37,6 +39,7 @@ let ProductSubscriber = ProductSubscriber_1 = class ProductSubscriber {
37
39
  if (event === null || event === void 0 ? void 0 : event.entity) {
38
40
  logger_1.logger.debug(`[ProductSubscriber.afterUpdate] after remove entity (${event.entity.id})`);
39
41
  const { id } = event.entity;
42
+ event_emitter_1.eventEmitter.emit('product.removed', { id });
40
43
  yield Product_entity_1.Product.invalidateCache(id, ProductSubscriber_1.invalidateCache);
41
44
  }
42
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSubscriber.js","sourceRoot":"","sources":["../../src/subscribers/ProductSubscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,qCAA+F;AAC/F,6DAAmD;AACnD,2CAAwC;AAGxC,IAAa,iBAAiB,yBAA9B,MAAa,iBAAiB;IAA9B;QAUE,aAAQ,GAAG,GAAG,EAAE,CAAC,wBAAO,CAAC;QAEzB,gBAAW,GAAG,CAAO,KAA2B,EAAE,EAAE;YAClD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACjB,eAAM,CAAC,KAAK,CAAC,wDAAwD,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzF,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,wBAAO,CAAC,eAAe,CAAC,EAAE,EAAE,mBAAiB,CAAC,eAAe,CAAC,CAAC;gBACrE,IAAI,mBAAiB,CAAC,kBAAkB,EAAE;oBACxC,MAAM,wBAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,mBAAiB,CAAC,kBAAkB,CAAC,CAAC;iBAC5E;aACF;QACH,CAAC,CAAA,CAAC;QAEF,gBAAW,GAAG,CAAO,KAA2B,EAAE,EAAE;YAClD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACjB,eAAM,CAAC,KAAK,CAAC,wDAAwD,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzF,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,wBAAO,CAAC,eAAe,CAAC,EAAE,EAAE,mBAAiB,CAAC,eAAe,CAAC,CAAC;aACtE;QACH,CAAC,CAAA,CAAC;IACJ,CAAC;CAAA,CAAA;AA9BY,iBAAiB;IAD7B,yBAAe,EAAE;GACL,iBAAiB,CA8B7B;AA9BY,8CAAiB"}
1
+ {"version":3,"file":"ProductSubscriber.js","sourceRoot":"","sources":["../../src/subscribers/ProductSubscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,qCAA+F;AAC/F,6DAAmD;AACnD,2CAAwC;AACxC,mDAA+C;AAG/C,IAAa,iBAAiB,yBAA9B,MAAa,iBAAiB;IAA9B;QAUE,aAAQ,GAAG,GAAG,EAAE,CAAC,wBAAO,CAAC;QAEzB,gBAAW,GAAG,CAAO,KAA2B,EAAE,EAAE;YAClD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACjB,eAAM,CAAC,KAAK,CAAC,wDAAwD,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzF,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,4BAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,wBAAO,CAAC,eAAe,CAAC,EAAE,EAAE,mBAAiB,CAAC,eAAe,CAAC,CAAC;gBACrE,IAAI,mBAAiB,CAAC,kBAAkB,EAAE;oBACxC,MAAM,wBAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,mBAAiB,CAAC,kBAAkB,CAAC,CAAC;iBAC5E;aACF;QACH,CAAC,CAAA,CAAC;QAEF,gBAAW,GAAG,CAAO,KAA2B,EAAE,EAAE;YAClD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACjB,eAAM,CAAC,KAAK,CAAC,wDAAwD,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzF,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,4BAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,wBAAO,CAAC,eAAe,CAAC,EAAE,EAAE,mBAAiB,CAAC,eAAe,CAAC,CAAC;aACtE;QACH,CAAC,CAAA,CAAC;IACJ,CAAC;CAAA,CAAA;AAhCY,iBAAiB;IAD7B,yBAAe,EAAE;GACL,iBAAiB,CAgC7B;AAhCY,8CAAiB"}
@@ -0,0 +1,3 @@
1
+ import { EventEmitter2 } from 'eventemitter2';
2
+ declare const eventEmitter: EventEmitter2;
3
+ export { eventEmitter };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eventEmitter = void 0;
4
+ const eventemitter2_1 = require("eventemitter2");
5
+ const eventEmitter = new eventemitter2_1.EventEmitter2();
6
+ exports.eventEmitter = eventEmitter;
7
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/subscribers/event-emitter.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAM,YAAY,GAAG,IAAI,6BAAa,EAAE,CAAC;AAChC,oCAAY"}
@@ -1,3 +1,4 @@
1
1
  import { ProductSubscriber } from './ProductSubscriber';
2
2
  import { UserSubscriber } from './UserSubscriber';
3
- export { ProductSubscriber, UserSubscriber };
3
+ import { eventEmitter } from './event-emitter';
4
+ export { ProductSubscriber, UserSubscriber, eventEmitter };
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserSubscriber = exports.ProductSubscriber = void 0;
3
+ exports.eventEmitter = exports.UserSubscriber = exports.ProductSubscriber = void 0;
4
4
  const ProductSubscriber_1 = require("./ProductSubscriber");
5
5
  Object.defineProperty(exports, "ProductSubscriber", { enumerable: true, get: function () { return ProductSubscriber_1.ProductSubscriber; } });
6
6
  const UserSubscriber_1 = require("./UserSubscriber");
7
7
  Object.defineProperty(exports, "UserSubscriber", { enumerable: true, get: function () { return UserSubscriber_1.UserSubscriber; } });
8
+ const event_emitter_1 = require("./event-emitter");
9
+ Object.defineProperty(exports, "eventEmitter", { enumerable: true, get: function () { return event_emitter_1.eventEmitter; } });
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscribers/index.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAG/C,kGAHA,qCAAiB,OAGA;AAF1B,qDAAkD;AAEtB,+FAFnB,+BAAc,OAEmB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscribers/index.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAI/C,kGAJA,qCAAiB,OAIA;AAH1B,qDAAkD;AAGtB,+FAHnB,+BAAc,OAGmB;AAF1C,mDAA+C;AAEH,6FAFnC,4BAAY,OAEmC"}
@@ -2236,7 +2236,7 @@
2236
2236
  "signature": "744e6430bafc6f39f66c4fc1e6a0d8c9551260ffd1782aa7e3f5166ac6aa1f86",
2237
2237
  "affectsGlobalScope": false
2238
2238
  },
2239
- "../node_modules/@types/send/node_modules/@types/mime/index.d.ts": {
2239
+ "../node_modules/@types/mime/index.d.ts": {
2240
2240
  "version": "d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769",
2241
2241
  "signature": "d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769",
2242
2242
  "affectsGlobalScope": false
@@ -2247,8 +2247,8 @@
2247
2247
  "affectsGlobalScope": false
2248
2248
  },
2249
2249
  "../node_modules/@types/qs/index.d.ts": {
2250
- "version": "17f0ae35f62a9586cade6c10e5a0d61362257b8e03e661c49ca417e4f3da857d",
2251
- "signature": "17f0ae35f62a9586cade6c10e5a0d61362257b8e03e661c49ca417e4f3da857d",
2250
+ "version": "630ff11de47d75175f2d1d43cc447068818cb9377324752e01fe0e5fc3f77757",
2251
+ "signature": "630ff11de47d75175f2d1d43cc447068818cb9377324752e01fe0e5fc3f77757",
2252
2252
  "affectsGlobalScope": false
2253
2253
  },
2254
2254
  "../node_modules/@types/range-parser/index.d.ts": {
@@ -2657,7 +2657,7 @@
2657
2657
  "affectsGlobalScope": false
2658
2658
  },
2659
2659
  "../src/entity/exchangerate.ts": {
2660
- "version": "21bfd44f28fb52fd2920ed059b7781a579fcac0db88e60a6d8e3b24586e7b268",
2660
+ "version": "ad5c88c4360adb8c351169812ccfd0067473d69b7301f7cea34593edd60a73af",
2661
2661
  "signature": "edfc427eed5128dec1fecd84338bbbf23d9737b2b637ef70601411e733545186",
2662
2662
  "affectsGlobalScope": false
2663
2663
  },
@@ -2886,8 +2886,18 @@
2886
2886
  "signature": "069c8c9c674c0b4a98ee2617cf25f84ee748c3fd3951fcaed932452f24925dc4",
2887
2887
  "affectsGlobalScope": false
2888
2888
  },
2889
+ "../node_modules/eventemitter2/eventemitter2.d.ts": {
2890
+ "version": "452234c0b8169349b658a4b5e2b271608879b3914fcc325735ed21b9cb88d58d",
2891
+ "signature": "452234c0b8169349b658a4b5e2b271608879b3914fcc325735ed21b9cb88d58d",
2892
+ "affectsGlobalScope": false
2893
+ },
2894
+ "../src/subscribers/event-emitter.ts": {
2895
+ "version": "eafb8a86be9bfe074e80a322736d1c53c60ec1f6a0c476c1ae9e1f003cf73cc5",
2896
+ "signature": "264c1fe3c780485ffaadfaf3d985d1c81e018bdadd61b89c493b2b608fb9d3b7",
2897
+ "affectsGlobalScope": false
2898
+ },
2889
2899
  "../src/subscribers/productsubscriber.ts": {
2890
- "version": "63ccf2ba436cfff0ff2e73bf2928b3c935358711b767279317ffa2414078f105",
2900
+ "version": "a5b1d4867f6ab454784f58f99a310d0fa71fcb51288dbeb3b97977e4b59479e0",
2891
2901
  "signature": "44f99dbabc63feea0c56bbcf43e158c0a6bb4f6facd78f07062117c970a37f66",
2892
2902
  "affectsGlobalScope": false
2893
2903
  },
@@ -2897,8 +2907,8 @@
2897
2907
  "affectsGlobalScope": false
2898
2908
  },
2899
2909
  "../src/subscribers/index.ts": {
2900
- "version": "38e60bb539431e697a99af5bf8f1ac37f6da376a2fbe0ffe8374acc4a811e2f1",
2901
- "signature": "71fd54dd8ddbd3556e482436f8aaf23afe71ae97a27b5117bd25d60adc3b794a",
2910
+ "version": "43d2065abe0154d088d64899662d10e5d0e79cae6e2186c073e00cdcbfc44763",
2911
+ "signature": "d79d4c3cbc85d62f14c2ba59b6c8590f5c39b8630e4a5ff6e9d517bd41db4c4e",
2902
2912
  "affectsGlobalScope": false
2903
2913
  },
2904
2914
  "../src/utils/index.ts": {
@@ -3042,8 +3052,8 @@
3042
3052
  "affectsGlobalScope": false
3043
3053
  },
3044
3054
  "../src/index.ts": {
3045
- "version": "c3906a45fcb0bf4979ee546e7a5d977a62f11a1e21679a075736314093c02bd2",
3046
- "signature": "3f6e8088ed82605a8ebf925dd11a72761b021cbd7713bda68473dee5b222ccff",
3055
+ "version": "b5eed28a2dc9171ac40daf98078a6d68e84beb181d6dbbe0cf67a94e82608162",
3056
+ "signature": "6daba35db554220fdcaa1b2d39e0cbb1c80062e2b4135060f9b96ef76242aa5b",
3047
3057
  "affectsGlobalScope": false
3048
3058
  },
3049
3059
  "../src/config/connect.ts": {
@@ -3826,14 +3836,39 @@
3826
3836
  "signature": "437473d937e2ad1f334165bc4b868e5a6b75f99bc3f48bee34d2809596b884f7",
3827
3837
  "affectsGlobalScope": false
3828
3838
  },
3839
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts": {
3840
+ "version": "ecfe5e63640822b67ecd9bd095ade1875dc11baa63cf6f4b6945052e72a106c4",
3841
+ "signature": "6c7b7ae5ce40ca096bcc0a22a784e6d72bc4eeaede9ce060e4a985ea40b363a9",
3842
+ "affectsGlobalScope": false
3843
+ },
3844
+ "../src/migrations/1727968750513-channeluserproducts-index.ts": {
3845
+ "version": "d6999b771d8c9381ad9729cff1ecd31b4c736090b39ce776d4e23cb80b61b7e2",
3846
+ "signature": "62ba8e16150f91868755ee10d2472bb05364e24ef428c6d7106e94ca1d07be12",
3847
+ "affectsGlobalScope": false
3848
+ },
3849
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts": {
3850
+ "version": "452735c2f78369093b6dff894a315ed9056ee67152618cbafdcd8b1b7691e165",
3851
+ "signature": "055f3f251918c027ca7fcaa022fbc197616caca9e56672a48a161bbd8ca38faa",
3852
+ "affectsGlobalScope": false
3853
+ },
3854
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts": {
3855
+ "version": "43e45785c93cc4c708ff7106e326d1ad989ab149aa3c71ba706d58289f150691",
3856
+ "signature": "de01837fb03df2f7dba9349bcf32de7292a2867f7417c20a6af0539564b27a20",
3857
+ "affectsGlobalScope": false
3858
+ },
3859
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts": {
3860
+ "version": "771bf0667d8541d99d1e2cdeff83b6d963480ba675da914f52584c43366e4eb3",
3861
+ "signature": "87a807cb93e5ed46e133005eb6e4d0b78aafb6c555283a7864240460c7a9301f",
3862
+ "affectsGlobalScope": false
3863
+ },
3829
3864
  "../src/migrations/execute/index.ts": {
3830
3865
  "version": "8b5bf13d095aeb57afd593adf3d799681176a13c327e2f77e0028e178c4ee3b9",
3831
3866
  "signature": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
3832
3867
  "affectsGlobalScope": false
3833
3868
  },
3834
3869
  "../node_modules/@babel/types/lib/index.d.ts": {
3835
- "version": "9bc7900e5ecd93822053b8b42ac890c871eee76c7b6cbd2c2561dc1db95f7d0a",
3836
- "signature": "9bc7900e5ecd93822053b8b42ac890c871eee76c7b6cbd2c2561dc1db95f7d0a",
3870
+ "version": "7983487d0fbefb9b6ccc94390e8c826328d87e21cd4a62ea5b4c6b8f99f32550",
3871
+ "signature": "7983487d0fbefb9b6ccc94390e8c826328d87e21cd4a62ea5b4c6b8f99f32550",
3837
3872
  "affectsGlobalScope": false
3838
3873
  },
3839
3874
  "../node_modules/@types/babel__generator/index.d.ts": {
@@ -3842,8 +3877,8 @@
3842
3877
  "affectsGlobalScope": false
3843
3878
  },
3844
3879
  "../node_modules/@babel/parser/typings/babel-parser.d.ts": {
3845
- "version": "5f02abbb1b17e3d1e68c5eea14adf4705696e6255e2982b010c0dc2a5417b606",
3846
- "signature": "5f02abbb1b17e3d1e68c5eea14adf4705696e6255e2982b010c0dc2a5417b606",
3880
+ "version": "a7c8d34006fa93c600dc791fc4fc099fe67f28377b23626f4467675146be080e",
3881
+ "signature": "a7c8d34006fa93c600dc791fc4fc099fe67f28377b23626f4467675146be080e",
3847
3882
  "affectsGlobalScope": false
3848
3883
  },
3849
3884
  "../node_modules/@types/babel__template/index.d.ts": {
@@ -3926,11 +3961,6 @@
3926
3961
  "signature": "f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1",
3927
3962
  "affectsGlobalScope": false
3928
3963
  },
3929
- "../node_modules/@types/mime/index.d.ts": {
3930
- "version": "d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769",
3931
- "signature": "d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769",
3932
- "affectsGlobalScope": false
3933
- },
3934
3964
  "../node_modules/@types/prettier/index.d.ts": {
3935
3965
  "version": "d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e",
3936
3966
  "signature": "d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e",
@@ -4253,10 +4283,10 @@
4253
4283
  "../node_modules/@types/node/stream.d.ts"
4254
4284
  ],
4255
4285
  "../node_modules/@types/send/index.d.ts": [
4286
+ "../node_modules/@types/mime/index.d.ts",
4256
4287
  "../node_modules/@types/node/fs.d.ts",
4257
4288
  "../node_modules/@types/node/index.d.ts",
4258
- "../node_modules/@types/node/stream.d.ts",
4259
- "../node_modules/@types/send/node_modules/@types/mime/index.d.ts"
4289
+ "../node_modules/@types/node/stream.d.ts"
4260
4290
  ],
4261
4291
  "../node_modules/@types/serve-static/index.d.ts": [
4262
4292
  "../node_modules/@types/http-errors/index.d.ts",
@@ -6557,6 +6587,7 @@
6557
6587
  "../src/migrations/index.ts",
6558
6588
  "../src/repositories/index.ts",
6559
6589
  "../src/staticdata/index.ts",
6590
+ "../src/subscribers/index.ts",
6560
6591
  "../src/utils/index.ts"
6561
6592
  ],
6562
6593
  "../src/interface/connectionconfig.ts": [
@@ -7055,6 +7086,21 @@
7055
7086
  "../src/migrations/1727710054772-channeluserproducts-v3.ts": [
7056
7087
  "../node_modules/typeorm/index.d.ts"
7057
7088
  ],
7089
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts": [
7090
+ "../node_modules/typeorm/index.d.ts"
7091
+ ],
7092
+ "../src/migrations/1727968750513-channeluserproducts-index.ts": [
7093
+ "../node_modules/typeorm/index.d.ts"
7094
+ ],
7095
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts": [
7096
+ "../node_modules/typeorm/index.d.ts"
7097
+ ],
7098
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts": [
7099
+ "../node_modules/typeorm/index.d.ts"
7100
+ ],
7101
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts": [
7102
+ "../node_modules/typeorm/index.d.ts"
7103
+ ],
7058
7104
  "../src/migrations/execute/index.ts": [
7059
7105
  "../src/config/connect.ts"
7060
7106
  ],
@@ -7200,14 +7246,19 @@
7200
7246
  "../src/staticdata/trackingprocessor.ts",
7201
7247
  "../src/staticdata/vippspaymentstatus.ts"
7202
7248
  ],
7249
+ "../src/subscribers/event-emitter.ts": [
7250
+ "../node_modules/eventemitter2/eventemitter2.d.ts"
7251
+ ],
7203
7252
  "../src/subscribers/index.ts": [
7253
+ "../src/subscribers/event-emitter.ts",
7204
7254
  "../src/subscribers/productsubscriber.ts",
7205
7255
  "../src/subscribers/usersubscriber.ts"
7206
7256
  ],
7207
7257
  "../src/subscribers/productsubscriber.ts": [
7208
7258
  "../node_modules/@reachu/logger/dist/index.d.ts",
7209
7259
  "../node_modules/typeorm/index.d.ts",
7210
- "../src/entity/product.entity.ts"
7260
+ "../src/entity/product.entity.ts",
7261
+ "../src/subscribers/event-emitter.ts"
7211
7262
  ],
7212
7263
  "../src/subscribers/usersubscriber.ts": [
7213
7264
  "../node_modules/@reachu/logger/dist/index.d.ts",
@@ -7504,10 +7555,10 @@
7504
7555
  "../node_modules/@types/node/stream.d.ts"
7505
7556
  ],
7506
7557
  "../node_modules/@types/send/index.d.ts": [
7558
+ "../node_modules/@types/mime/index.d.ts",
7507
7559
  "../node_modules/@types/node/fs.d.ts",
7508
7560
  "../node_modules/@types/node/index.d.ts",
7509
- "../node_modules/@types/node/stream.d.ts",
7510
- "../node_modules/@types/send/node_modules/@types/mime/index.d.ts"
7561
+ "../node_modules/@types/node/stream.d.ts"
7511
7562
  ],
7512
7563
  "../node_modules/@types/serve-static/index.d.ts": [
7513
7564
  "../node_modules/@types/http-errors/index.d.ts",
@@ -9633,6 +9684,7 @@
9633
9684
  "../src/migrations/index.ts",
9634
9685
  "../src/repositories/index.ts",
9635
9686
  "../src/staticdata/index.ts",
9687
+ "../src/subscribers/index.ts",
9636
9688
  "../src/utils/index.ts"
9637
9689
  ],
9638
9690
  "../src/interface/connectionconfig.ts": [
@@ -10131,6 +10183,21 @@
10131
10183
  "../src/migrations/1727710054772-channeluserproducts-v3.ts": [
10132
10184
  "../node_modules/typeorm/index.d.ts"
10133
10185
  ],
10186
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts": [
10187
+ "../node_modules/typeorm/index.d.ts"
10188
+ ],
10189
+ "../src/migrations/1727968750513-channeluserproducts-index.ts": [
10190
+ "../node_modules/typeorm/index.d.ts"
10191
+ ],
10192
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts": [
10193
+ "../node_modules/typeorm/index.d.ts"
10194
+ ],
10195
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts": [
10196
+ "../node_modules/typeorm/index.d.ts"
10197
+ ],
10198
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts": [
10199
+ "../node_modules/typeorm/index.d.ts"
10200
+ ],
10134
10201
  "../src/migrations/index.ts": [
10135
10202
  "../src/migrations/1628474597284-initialschema.ts",
10136
10203
  "../src/migrations/1630077596132-removemangopay.ts",
@@ -10273,7 +10340,11 @@
10273
10340
  "../src/staticdata/trackingprocessor.ts",
10274
10341
  "../src/staticdata/vippspaymentstatus.ts"
10275
10342
  ],
10343
+ "../src/subscribers/event-emitter.ts": [
10344
+ "../node_modules/eventemitter2/eventemitter2.d.ts"
10345
+ ],
10276
10346
  "../src/subscribers/index.ts": [
10347
+ "../src/subscribers/event-emitter.ts",
10277
10348
  "../src/subscribers/productsubscriber.ts",
10278
10349
  "../src/subscribers/usersubscriber.ts"
10279
10350
  ],
@@ -10384,12 +10455,12 @@
10384
10455
  "../node_modules/@types/qs/index.d.ts",
10385
10456
  "../node_modules/@types/range-parser/index.d.ts",
10386
10457
  "../node_modules/@types/send/index.d.ts",
10387
- "../node_modules/@types/send/node_modules/@types/mime/index.d.ts",
10388
10458
  "../node_modules/@types/serve-static/index.d.ts",
10389
10459
  "../node_modules/@types/stack-utils/index.d.ts",
10390
10460
  "../node_modules/@types/yargs-parser/index.d.ts",
10391
10461
  "../node_modules/@types/yargs/index.d.ts",
10392
10462
  "../node_modules/@types/zen-observable/index.d.ts",
10463
+ "../node_modules/eventemitter2/eventemitter2.d.ts",
10393
10464
  "../node_modules/jest-diff/build/cleanupsemantic.d.ts",
10394
10465
  "../node_modules/jest-diff/build/difflines.d.ts",
10395
10466
  "../node_modules/jest-diff/build/index.d.ts",
@@ -11061,6 +11132,11 @@
11061
11132
  "../src/migrations/1727281200911-channeluserproducts.ts",
11062
11133
  "../src/migrations/1727356029415-channeluserproducts-v2.ts",
11063
11134
  "../src/migrations/1727710054772-channeluserproducts-v3.ts",
11135
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts",
11136
+ "../src/migrations/1727968750513-channeluserproducts-index.ts",
11137
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts",
11138
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts",
11139
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts",
11064
11140
  "../src/migrations/execute/index.ts",
11065
11141
  "../src/migrations/index.ts",
11066
11142
  "../src/repositories/discount/index.ts",
@@ -11078,6 +11154,7 @@
11078
11154
  "../src/staticdata/productorigin.ts",
11079
11155
  "../src/staticdata/trackingprocessor.ts",
11080
11156
  "../src/staticdata/vippspaymentstatus.ts",
11157
+ "../src/subscribers/event-emitter.ts",
11081
11158
  "../src/subscribers/index.ts",
11082
11159
  "../src/subscribers/productsubscriber.ts",
11083
11160
  "../src/subscribers/usersubscriber.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reachu/database",
3
- "version": "1.0.197",
3
+ "version": "1.0.199",
4
4
  "description": "reachu-database",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,9 +21,10 @@
21
21
  "author": "reachu",
22
22
  "license": "ISC",
23
23
  "dependencies": {
24
- "@reachu/logger": "1.0.197",
25
- "@reachu/utils": "1.0.197",
24
+ "@reachu/logger": "1.0.199",
25
+ "@reachu/utils": "1.0.199",
26
26
  "dotenv": "8.0.0",
27
+ "eventemitter2": "^6.4.9",
27
28
  "express": "4.17.1",
28
29
  "mysql2": "1.5.2",
29
30
  "shortid": "2.2.16",
@@ -72,7 +73,8 @@
72
73
  },
73
74
  "resolutions": {
74
75
  "logform": "2.4.2",
75
- "@types/babel__traverse": "7.18.3"
76
+ "@types/babel__traverse": "7.18.3",
77
+ "typeorm": "0.2.41"
76
78
  },
77
79
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
78
80
  }
@@ -1,7 +1,8 @@
1
- import { Column, DeleteDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm';
1
+ import { Column, DeleteDateColumn, Entity, Index, PrimaryGeneratedColumn } from 'typeorm';
2
2
  import AuditedModel from './AuditedModel';
3
3
 
4
4
  @Entity()
5
+ @Index('idx_currency_enabled', ['currency', 'enabled'])
5
6
  export default class ExchangeRate extends AuditedModel {
6
7
  @PrimaryGeneratedColumn('uuid')
7
8
  id: string;
@@ -9,12 +10,14 @@ export default class ExchangeRate extends AuditedModel {
9
10
  @DeleteDateColumn()
10
11
  deletedAt: Date;
11
12
 
13
+ @Index('idx_enabled')
12
14
  @Column('integer', { default: 0 })
13
15
  enabled?: number;
14
16
 
15
17
  @Column('text', { nullable: true, default: null })
16
18
  data?: string;
17
19
 
20
+ @Index('idx_currency')
18
21
  @Column('text', { nullable: true, default: null })
19
22
  currency?: string;
20
23
  }
package/src/index.ts CHANGED
@@ -4,5 +4,6 @@ import * as StaticData from './staticData';
4
4
  import * as Utils from './utils';
5
5
  import * as Repository from './repositories';
6
6
  import * as Helper from './helpers';
7
+ import * as Subscribers from './subscribers';
7
8
 
8
- export { Migration, Entity, StaticData, Utils, Repository, Helper };
9
+ export { Migration, Entity, StaticData, Utils, Repository, Helper, Subscribers };
@@ -0,0 +1,20 @@
1
+ import {MigrationInterface, QueryRunner} from "typeorm";
2
+
3
+ export class promoteToQa0210241727876862864 implements MigrationInterface {
4
+ name = 'promoteToQa0210241727876862864'
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`CREATE TABLE \`channel_user_products\` (\`created_at\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), \`updated_at\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`deleted_at\` datetime(6) NULL, \`id\` int NOT NULL AUTO_INCREMENT, \`title\` varchar(255) NULL, \`description\` text NULL, \`public_price\` decimal(10,2) NULL, \`referral_fee\` int NOT NULL DEFAULT '10', \`tags\` varchar(255) NULL DEFAULT '', \`sku\` varchar(255) NULL, \`barcode\` varchar(255) NULL, \`quantity\` int NULL, \`options_enabled\` tinyint NOT NULL DEFAULT 0, \`digital\` tinyint NOT NULL DEFAULT 0, \`origin\` varchar(255) NULL, \`brand\` varchar(255) NULL, \`channel_user_id\` int NULL, \`product_id\` int NULL, \`collection_id\` varchar(10) NULL, \`price_amount\` decimal(10,2) NULL, \`price_currency_code\` varchar(255) NULL, \`price_base_amount\` decimal(10,2) NULL, \`price_compare_at\` decimal(10,2) NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
8
+ await queryRunner.query(`ALTER TABLE \`channel_user_products\` ADD CONSTRAINT \`FK_635d9f7bf7582fca6e2b961bdbe\` FOREIGN KEY (\`channel_user_id\`) REFERENCES \`channel_user\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`);
9
+ await queryRunner.query(`ALTER TABLE \`channel_user_products\` ADD CONSTRAINT \`FK_ef37d3e38597aa6352c51ca2d57\` FOREIGN KEY (\`product_id\`) REFERENCES \`product\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`);
10
+ await queryRunner.query(`ALTER TABLE \`channel_user_products\` ADD CONSTRAINT \`FK_6a15e1ba4f071b0fa85f8188756\` FOREIGN KEY (\`collection_id\`) REFERENCES \`collection\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`);
11
+ }
12
+
13
+ public async down(queryRunner: QueryRunner): Promise<void> {
14
+ await queryRunner.query(`ALTER TABLE \`channel_user_products\` DROP FOREIGN KEY \`FK_6a15e1ba4f071b0fa85f8188756\``);
15
+ await queryRunner.query(`ALTER TABLE \`channel_user_products\` DROP FOREIGN KEY \`FK_ef37d3e38597aa6352c51ca2d57\``);
16
+ await queryRunner.query(`ALTER TABLE \`channel_user_products\` DROP FOREIGN KEY \`FK_635d9f7bf7582fca6e2b961bdbe\``);
17
+ await queryRunner.query(`DROP TABLE \`channel_user_products\``);
18
+ }
19
+
20
+ }
@@ -0,0 +1,34 @@
1
+ import {MigrationInterface, QueryRunner} from "typeorm";
2
+
3
+ export class channelUserProductsIndex1727968750513 implements MigrationInterface {
4
+ name = 'channelUserProductsIndex1727968750513'
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
8
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
9
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
10
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
11
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
12
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
13
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
14
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
15
+ await queryRunner.query(`CREATE INDEX \`idx_enabled\` ON \`exchange_rate\` (\`enabled\`)`);
16
+ await queryRunner.query(`CREATE INDEX \`idx_currency\` ON \`exchange_rate\` (\`currency\`)`);
17
+ await queryRunner.query(`CREATE INDEX \`idx_currency_enabled\` ON \`exchange_rate\` (\`currency\`, \`enabled\`)`);
18
+ }
19
+
20
+ public async down(queryRunner: QueryRunner): Promise<void> {
21
+ await queryRunner.query(`DROP INDEX \`idx_currency_enabled\` ON \`exchange_rate\``);
22
+ await queryRunner.query(`DROP INDEX \`idx_currency\` ON \`exchange_rate\``);
23
+ await queryRunner.query(`DROP INDEX \`idx_enabled\` ON \`exchange_rate\``);
24
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
25
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
26
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
27
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
28
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
29
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
30
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
31
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
32
+ }
33
+
34
+ }
@@ -0,0 +1,28 @@
1
+ import {MigrationInterface, QueryRunner} from "typeorm";
2
+
3
+ export class promoteToQa0310241727969140402 implements MigrationInterface {
4
+ name = 'promoteToQa0310241727969140402'
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
8
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
9
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
10
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
11
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
12
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
13
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
14
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
15
+ }
16
+
17
+ public async down(queryRunner: QueryRunner): Promise<void> {
18
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
19
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
20
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
21
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
22
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
23
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
24
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
25
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
26
+ }
27
+
28
+ }
@@ -0,0 +1,32 @@
1
+ import {MigrationInterface, QueryRunner} from "typeorm";
2
+
3
+ export class channelUserProductsIndexRollback1727969488134 implements MigrationInterface {
4
+ name = 'channelUserProductsIndexRollback1727969488134'
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
8
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
9
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
10
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
11
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
12
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
13
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
14
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
15
+ await queryRunner.query(`CREATE INDEX \`idx_currency\` ON \`exchange_rate\` (\`currency\`)`);
16
+ await queryRunner.query(`CREATE INDEX \`idx_currency_enabled\` ON \`exchange_rate\` (\`currency\`, \`enabled\`)`);
17
+ }
18
+
19
+ public async down(queryRunner: QueryRunner): Promise<void> {
20
+ await queryRunner.query(`DROP INDEX \`idx_currency_enabled\` ON \`exchange_rate\``);
21
+ await queryRunner.query(`DROP INDEX \`idx_currency\` ON \`exchange_rate\``);
22
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
23
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
24
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
25
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
26
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
27
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
28
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
29
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
30
+ }
31
+
32
+ }
@@ -0,0 +1,28 @@
1
+ import {MigrationInterface, QueryRunner} from "typeorm";
2
+
3
+ export class promoteToQa031024V21727969574564 implements MigrationInterface {
4
+ name = 'promoteToQa031024V21727969574564'
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`image\``);
8
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`variant\``);
9
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user_settings\``);
10
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`channel_user\``);
11
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product_shipping\``);
12
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`product\``);
13
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping_country\``);
14
+ await queryRunner.query(`DROP INDEX \`idx_deleted_at\` ON \`shipping\``);
15
+ }
16
+
17
+ public async down(queryRunner: QueryRunner): Promise<void> {
18
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping\` (\`deleted_at\`)`);
19
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`shipping_country\` (\`deleted_at\`)`);
20
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product\` (\`deleted_at\`)`);
21
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`product_shipping\` (\`deleted_at\`)`);
22
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user\` (\`deleted_at\`)`);
23
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`channel_user_settings\` (\`deleted_at\`)`);
24
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`variant\` (\`deleted_at\`)`);
25
+ await queryRunner.query(`CREATE INDEX \`idx_deleted_at\` ON \`image\` (\`deleted_at\`)`);
26
+ }
27
+
28
+ }
@@ -1,6 +1,7 @@
1
1
  import { EntitySubscriberInterface, EventSubscriber, RemoveEvent, UpdateEvent } from 'typeorm';
2
2
  import { Product } from '../entity/Product.entity';
3
3
  import { logger } from '@reachu/logger';
4
+ import { eventEmitter } from './event-emitter'; // Importar la instancia
4
5
 
5
6
  @EventSubscriber()
6
7
  export class ProductSubscriber implements EntitySubscriberInterface<Product> {
@@ -19,6 +20,7 @@ export class ProductSubscriber implements EntitySubscriberInterface<Product> {
19
20
  if (event?.entity) {
20
21
  logger.debug(`[ProductSubscriber.afterUpdate] after update entity (${event.entity.id})`);
21
22
  const { id } = event.entity;
23
+ eventEmitter.emit('product.updated', { id });
22
24
  await Product.invalidateCache(id, ProductSubscriber.invalidateCache);
23
25
  if (ProductSubscriber.clearMatchingCache) {
24
26
  await Product.clearMatchingCache(id, ProductSubscriber.clearMatchingCache);
@@ -30,6 +32,7 @@ export class ProductSubscriber implements EntitySubscriberInterface<Product> {
30
32
  if (event?.entity) {
31
33
  logger.debug(`[ProductSubscriber.afterUpdate] after remove entity (${event.entity.id})`);
32
34
  const { id } = event.entity;
35
+ eventEmitter.emit('product.removed', { id });
33
36
  await Product.invalidateCache(id, ProductSubscriber.invalidateCache);
34
37
  }
35
38
  };
@@ -0,0 +1,4 @@
1
+ import { EventEmitter2 } from 'eventemitter2';
2
+
3
+ const eventEmitter = new EventEmitter2();
4
+ export { eventEmitter };
@@ -1,4 +1,5 @@
1
1
  import { ProductSubscriber } from './ProductSubscriber';
2
2
  import { UserSubscriber } from './UserSubscriber';
3
+ import { eventEmitter } from './event-emitter';
3
4
 
4
- export { ProductSubscriber, UserSubscriber };
5
+ export { ProductSubscriber, UserSubscriber, eventEmitter };