@reachu/database 1.0.196 → 1.0.198

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 (36) hide show
  1. package/dist/entity/ChannelUserProducts.d.ts +2 -1
  2. package/dist/entity/ChannelUserProducts.js +1 -1
  3. package/dist/entity/ChannelUserProducts.js.map +1 -1
  4. package/dist/entity/ExchangeRate.js +4 -1
  5. package/dist/entity/ExchangeRate.js.map +1 -1
  6. package/dist/index.d.ts +2 -1
  7. package/dist/index.js +3 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/migrations/1727876862864-promote_to_qa_02_10_24.d.ts +6 -0
  10. package/dist/migrations/1727876862864-promote_to_qa_02_10_24.js +35 -0
  11. package/dist/migrations/1727876862864-promote_to_qa_02_10_24.js.map +1 -0
  12. package/dist/migrations/1727968750513-channelUserProducts-index.d.ts +6 -0
  13. package/dist/migrations/1727968750513-channelUserProducts-index.js +49 -0
  14. package/dist/migrations/1727968750513-channelUserProducts-index.js.map +1 -0
  15. package/dist/migrations/1727969140402-promote_to_qa_03_10_24.d.ts +6 -0
  16. package/dist/migrations/1727969140402-promote_to_qa_03_10_24.js +43 -0
  17. package/dist/migrations/1727969140402-promote_to_qa_03_10_24.js.map +1 -0
  18. package/dist/migrations/1727969488134-channelUserProducts-index-rollback.d.ts +6 -0
  19. package/dist/migrations/1727969488134-channelUserProducts-index-rollback.js +47 -0
  20. package/dist/migrations/1727969488134-channelUserProducts-index-rollback.js.map +1 -0
  21. package/dist/migrations/1727969574564-promote_to_qa_03_10_24_v2.d.ts +6 -0
  22. package/dist/migrations/1727969574564-promote_to_qa_03_10_24_v2.js +43 -0
  23. package/dist/migrations/1727969574564-promote_to_qa_03_10_24_v2.js.map +1 -0
  24. package/dist/subscribers/ProductSubscriber.js +4 -0
  25. package/dist/subscribers/ProductSubscriber.js.map +1 -1
  26. package/dist/tsconfig.tsbuildinfo +77 -7
  27. package/package.json +4 -3
  28. package/src/entity/ChannelUserProducts.ts +1 -1
  29. package/src/entity/ExchangeRate.ts +4 -1
  30. package/src/index.ts +2 -1
  31. package/src/migrations/1727876862864-promote_to_qa_02_10_24.ts +20 -0
  32. package/src/migrations/1727968750513-channelUserProducts-index.ts +34 -0
  33. package/src/migrations/1727969140402-promote_to_qa_03_10_24.ts +28 -0
  34. package/src/migrations/1727969488134-channelUserProducts-index-rollback.ts +32 -0
  35. package/src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts +28 -0
  36. package/src/subscribers/ProductSubscriber.ts +4 -0
@@ -2,11 +2,12 @@ import AuditedModel from './AuditedModel';
2
2
  import ChannelUser from './ChannelUser';
3
3
  import { Price } from './Price.entity';
4
4
  import Collection from './Collection';
5
+ import { Product } from './Product.entity';
5
6
  export default class ChannelUserProducts extends AuditedModel {
6
7
  deletedAt: Date;
7
8
  id: number;
8
9
  channelUser: ChannelUser;
9
- product: number;
10
+ product: Product;
10
11
  collection: Collection;
11
12
  title?: string;
12
13
  description?: string;
@@ -40,7 +40,7 @@ __decorate([
40
40
  onDelete: 'CASCADE',
41
41
  }),
42
42
  typeorm_1.JoinColumn(),
43
- __metadata("design:type", Number)
43
+ __metadata("design:type", Product_entity_1.Product)
44
44
  ], ChannelUserProducts.prototype, "product", void 0);
45
45
  __decorate([
46
46
  typeorm_1.ManyToOne(() => Collection_1.default, (collection) => collection.id, {
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelUserProducts.js","sourceRoot":"","sources":["../../src/entity/ChannelUserProducts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qCAOiB;AACjB,kEAA0C;AAC1C,gEAAwC;AACxC,iDAAuC;AACvC,8DAAsC;AACtC,qDAA2C;AAG3C,IAAqB,mBAAmB,GAAxC,MAAqB,mBAAoB,SAAQ,sBAAY;CA+D5D,CAAA;AA7DC;IADC,0BAAgB,EAAE;8BACR,IAAI;sDAAC;AAGhB;IADC,gCAAsB,EAAE;;+CACd;AAMX;IAJC,mBAAS,CAAC,GAAG,EAAE,CAAC,qBAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;QAC7D,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,oBAAU,EAAE;8BACA,qBAAW;wDAAC;AAMzB;IAJC,mBAAS,CAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QACjD,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,oBAAU,EAAE;;oDACG;AAMhB;IAJC,mBAAS,CAAC,GAAG,EAAE,CAAC,oBAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;QAC1D,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,oBAAU,EAAE;8BACD,oBAAU;uDAAC;AAGvB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACvB;AAGf;IADC,gBAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACd;AAGrB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDAC1C;AAGrB;IADC,gBAAM,CAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;8BACnC,oBAAK;kDAAC;AAGb;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;wDACf;AAGpB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACrC;AAGd;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACzB;AAGb;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACrB;AAGjB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACpB;AAGlB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2DACd;AAGxB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;oDACrB;AAGjB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACtB;AAGhB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACvB;AA9DI,mBAAmB;IADvC,gBAAM,EAAE;GACY,mBAAmB,CA+DvC;kBA/DoB,mBAAmB"}
1
+ {"version":3,"file":"ChannelUserProducts.js","sourceRoot":"","sources":["../../src/entity/ChannelUserProducts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qCAOiB;AACjB,kEAA0C;AAC1C,gEAAwC;AACxC,iDAAuC;AACvC,8DAAsC;AACtC,qDAA2C;AAG3C,IAAqB,mBAAmB,GAAxC,MAAqB,mBAAoB,SAAQ,sBAAY;CA+D5D,CAAA;AA7DC;IADC,0BAAgB,EAAE;8BACR,IAAI;sDAAC;AAGhB;IADC,gCAAsB,EAAE;;+CACd;AAMX;IAJC,mBAAS,CAAC,GAAG,EAAE,CAAC,qBAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE;QAC7D,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,oBAAU,EAAE;8BACA,qBAAW;wDAAC;AAMzB;IAJC,mBAAS,CAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QACjD,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,oBAAU,EAAE;8BACJ,wBAAO;oDAAC;AAMjB;IAJC,mBAAS,CAAC,GAAG,EAAE,CAAC,oBAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;QAC1D,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,oBAAU,EAAE;8BACD,oBAAU;uDAAC;AAGvB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACvB;AAGf;IADC,gBAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACd;AAGrB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDAC1C;AAGrB;IADC,gBAAM,CAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;8BACnC,oBAAK;kDAAC;AAGb;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;wDACf;AAGpB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACrC;AAGd;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACzB;AAGb;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACrB;AAGjB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACpB;AAGlB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2DACd;AAGxB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;oDACrB;AAGjB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACtB;AAGhB;IADC,gBAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACvB;AA9DI,mBAAmB;IADvC,gBAAM,EAAE;GACY,mBAAmB,CA+DvC;kBA/DoB,mBAAmB"}
@@ -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,8 @@ 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 eventemitter2_1 = require("eventemitter2");
24
+ const eventEmitter = new eventemitter2_1.EventEmitter2();
23
25
  let ProductSubscriber = ProductSubscriber_1 = class ProductSubscriber {
24
26
  constructor() {
25
27
  this.listenTo = () => Product_entity_1.Product;
@@ -27,6 +29,7 @@ let ProductSubscriber = ProductSubscriber_1 = class ProductSubscriber {
27
29
  if (event === null || event === void 0 ? void 0 : event.entity) {
28
30
  logger_1.logger.debug(`[ProductSubscriber.afterUpdate] after update entity (${event.entity.id})`);
29
31
  const { id } = event.entity;
32
+ eventEmitter.emit('product.updated', { id });
30
33
  yield Product_entity_1.Product.invalidateCache(id, ProductSubscriber_1.invalidateCache);
31
34
  if (ProductSubscriber_1.clearMatchingCache) {
32
35
  yield Product_entity_1.Product.clearMatchingCache(id, ProductSubscriber_1.clearMatchingCache);
@@ -37,6 +40,7 @@ let ProductSubscriber = ProductSubscriber_1 = class ProductSubscriber {
37
40
  if (event === null || event === void 0 ? void 0 : event.entity) {
38
41
  logger_1.logger.debug(`[ProductSubscriber.afterUpdate] after remove entity (${event.entity.id})`);
39
42
  const { id } = event.entity;
43
+ eventEmitter.emit('product.removed', { id });
40
44
  yield Product_entity_1.Product.invalidateCache(id, ProductSubscriber_1.invalidateCache);
41
45
  }
42
46
  });
@@ -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,iDAA8C;AAC9C,MAAM,YAAY,GAAG,IAAI,6BAAa,EAAE,CAAC;AAGzC,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,YAAY,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,YAAY,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"}
@@ -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
  },
@@ -2792,8 +2792,8 @@
2792
2792
  "affectsGlobalScope": false
2793
2793
  },
2794
2794
  "../src/entity/channeluserproducts.ts": {
2795
- "version": "e9d27b6ee16049dd0d3b5cb8ebc4ee4e767906ac729da3f00319ab9ab598ef6f",
2796
- "signature": "ad92feb4a0608305894add0855c8f3748bca699f9a345da395d9c2e004d3871d",
2795
+ "version": "eb4d45ef14d9f33a2f6867d7700bd76eccc24ceefae6bc0994cdc163f147c932",
2796
+ "signature": "83ddaf86a273f5375ca7d96699fceb1bb4323642aa794b9f0ffdb805c7317f28",
2797
2797
  "affectsGlobalScope": false
2798
2798
  },
2799
2799
  "../src/entity/index.ts": {
@@ -2886,8 +2886,13 @@
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
+ },
2889
2894
  "../src/subscribers/productsubscriber.ts": {
2890
- "version": "63ccf2ba436cfff0ff2e73bf2928b3c935358711b767279317ffa2414078f105",
2895
+ "version": "c969bfcde99e1d408f09b4847cf5f41c2881c2f93735cd7a2c4b9ea72419d6f6",
2891
2896
  "signature": "44f99dbabc63feea0c56bbcf43e158c0a6bb4f6facd78f07062117c970a37f66",
2892
2897
  "affectsGlobalScope": false
2893
2898
  },
@@ -3042,8 +3047,8 @@
3042
3047
  "affectsGlobalScope": false
3043
3048
  },
3044
3049
  "../src/index.ts": {
3045
- "version": "c3906a45fcb0bf4979ee546e7a5d977a62f11a1e21679a075736314093c02bd2",
3046
- "signature": "3f6e8088ed82605a8ebf925dd11a72761b021cbd7713bda68473dee5b222ccff",
3050
+ "version": "b5eed28a2dc9171ac40daf98078a6d68e84beb181d6dbbe0cf67a94e82608162",
3051
+ "signature": "6daba35db554220fdcaa1b2d39e0cbb1c80062e2b4135060f9b96ef76242aa5b",
3047
3052
  "affectsGlobalScope": false
3048
3053
  },
3049
3054
  "../src/config/connect.ts": {
@@ -3826,6 +3831,31 @@
3826
3831
  "signature": "437473d937e2ad1f334165bc4b868e5a6b75f99bc3f48bee34d2809596b884f7",
3827
3832
  "affectsGlobalScope": false
3828
3833
  },
3834
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts": {
3835
+ "version": "ecfe5e63640822b67ecd9bd095ade1875dc11baa63cf6f4b6945052e72a106c4",
3836
+ "signature": "6c7b7ae5ce40ca096bcc0a22a784e6d72bc4eeaede9ce060e4a985ea40b363a9",
3837
+ "affectsGlobalScope": false
3838
+ },
3839
+ "../src/migrations/1727968750513-channeluserproducts-index.ts": {
3840
+ "version": "d6999b771d8c9381ad9729cff1ecd31b4c736090b39ce776d4e23cb80b61b7e2",
3841
+ "signature": "62ba8e16150f91868755ee10d2472bb05364e24ef428c6d7106e94ca1d07be12",
3842
+ "affectsGlobalScope": false
3843
+ },
3844
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts": {
3845
+ "version": "452735c2f78369093b6dff894a315ed9056ee67152618cbafdcd8b1b7691e165",
3846
+ "signature": "055f3f251918c027ca7fcaa022fbc197616caca9e56672a48a161bbd8ca38faa",
3847
+ "affectsGlobalScope": false
3848
+ },
3849
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts": {
3850
+ "version": "43e45785c93cc4c708ff7106e326d1ad989ab149aa3c71ba706d58289f150691",
3851
+ "signature": "de01837fb03df2f7dba9349bcf32de7292a2867f7417c20a6af0539564b27a20",
3852
+ "affectsGlobalScope": false
3853
+ },
3854
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts": {
3855
+ "version": "771bf0667d8541d99d1e2cdeff83b6d963480ba675da914f52584c43366e4eb3",
3856
+ "signature": "87a807cb93e5ed46e133005eb6e4d0b78aafb6c555283a7864240460c7a9301f",
3857
+ "affectsGlobalScope": false
3858
+ },
3829
3859
  "../src/migrations/execute/index.ts": {
3830
3860
  "version": "8b5bf13d095aeb57afd593adf3d799681176a13c327e2f77e0028e178c4ee3b9",
3831
3861
  "signature": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
@@ -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
  ],
@@ -7206,6 +7252,7 @@
7206
7252
  ],
7207
7253
  "../src/subscribers/productsubscriber.ts": [
7208
7254
  "../node_modules/@reachu/logger/dist/index.d.ts",
7255
+ "../node_modules/eventemitter2/eventemitter2.d.ts",
7209
7256
  "../node_modules/typeorm/index.d.ts",
7210
7257
  "../src/entity/product.entity.ts"
7211
7258
  ],
@@ -9071,7 +9118,8 @@
9071
9118
  "../src/entity/auditedmodel.ts",
9072
9119
  "../src/entity/channeluser.ts",
9073
9120
  "../src/entity/collection.ts",
9074
- "../src/entity/price.entity.ts"
9121
+ "../src/entity/price.entity.ts",
9122
+ "../src/entity/product.entity.ts"
9075
9123
  ],
9076
9124
  "../src/entity/channeluserproductsync.ts": [
9077
9125
  "../src/entity/auditedmodel.ts",
@@ -9632,6 +9680,7 @@
9632
9680
  "../src/migrations/index.ts",
9633
9681
  "../src/repositories/index.ts",
9634
9682
  "../src/staticdata/index.ts",
9683
+ "../src/subscribers/index.ts",
9635
9684
  "../src/utils/index.ts"
9636
9685
  ],
9637
9686
  "../src/interface/connectionconfig.ts": [
@@ -10130,6 +10179,21 @@
10130
10179
  "../src/migrations/1727710054772-channeluserproducts-v3.ts": [
10131
10180
  "../node_modules/typeorm/index.d.ts"
10132
10181
  ],
10182
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts": [
10183
+ "../node_modules/typeorm/index.d.ts"
10184
+ ],
10185
+ "../src/migrations/1727968750513-channeluserproducts-index.ts": [
10186
+ "../node_modules/typeorm/index.d.ts"
10187
+ ],
10188
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts": [
10189
+ "../node_modules/typeorm/index.d.ts"
10190
+ ],
10191
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts": [
10192
+ "../node_modules/typeorm/index.d.ts"
10193
+ ],
10194
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts": [
10195
+ "../node_modules/typeorm/index.d.ts"
10196
+ ],
10133
10197
  "../src/migrations/index.ts": [
10134
10198
  "../src/migrations/1628474597284-initialschema.ts",
10135
10199
  "../src/migrations/1630077596132-removemangopay.ts",
@@ -10389,6 +10453,7 @@
10389
10453
  "../node_modules/@types/yargs-parser/index.d.ts",
10390
10454
  "../node_modules/@types/yargs/index.d.ts",
10391
10455
  "../node_modules/@types/zen-observable/index.d.ts",
10456
+ "../node_modules/eventemitter2/eventemitter2.d.ts",
10392
10457
  "../node_modules/jest-diff/build/cleanupsemantic.d.ts",
10393
10458
  "../node_modules/jest-diff/build/difflines.d.ts",
10394
10459
  "../node_modules/jest-diff/build/index.d.ts",
@@ -11060,6 +11125,11 @@
11060
11125
  "../src/migrations/1727281200911-channeluserproducts.ts",
11061
11126
  "../src/migrations/1727356029415-channeluserproducts-v2.ts",
11062
11127
  "../src/migrations/1727710054772-channeluserproducts-v3.ts",
11128
+ "../src/migrations/1727876862864-promote_to_qa_02_10_24.ts",
11129
+ "../src/migrations/1727968750513-channeluserproducts-index.ts",
11130
+ "../src/migrations/1727969140402-promote_to_qa_03_10_24.ts",
11131
+ "../src/migrations/1727969488134-channeluserproducts-index-rollback.ts",
11132
+ "../src/migrations/1727969574564-promote_to_qa_03_10_24_v2.ts",
11063
11133
  "../src/migrations/execute/index.ts",
11064
11134
  "../src/migrations/index.ts",
11065
11135
  "../src/repositories/discount/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reachu/database",
3
- "version": "1.0.196",
3
+ "version": "1.0.198",
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.196",
25
- "@reachu/utils": "1.0.196",
24
+ "@reachu/logger": "1.0.198",
25
+ "@reachu/utils": "1.0.198",
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",
@@ -30,7 +30,7 @@ export default class ChannelUserProducts extends AuditedModel {
30
30
  onDelete: 'CASCADE',
31
31
  })
32
32
  @JoinColumn()
33
- product: number;
33
+ product: Product;
34
34
 
35
35
  @ManyToOne(() => Collection, (collection) => collection.id, {
36
36
  onDelete: 'CASCADE',
@@ -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,8 @@
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 { EventEmitter2 } from 'eventemitter2';
5
+ const eventEmitter = new EventEmitter2();
4
6
 
5
7
  @EventSubscriber()
6
8
  export class ProductSubscriber implements EntitySubscriberInterface<Product> {
@@ -19,6 +21,7 @@ export class ProductSubscriber implements EntitySubscriberInterface<Product> {
19
21
  if (event?.entity) {
20
22
  logger.debug(`[ProductSubscriber.afterUpdate] after update entity (${event.entity.id})`);
21
23
  const { id } = event.entity;
24
+ eventEmitter.emit('product.updated', { id });
22
25
  await Product.invalidateCache(id, ProductSubscriber.invalidateCache);
23
26
  if (ProductSubscriber.clearMatchingCache) {
24
27
  await Product.clearMatchingCache(id, ProductSubscriber.clearMatchingCache);
@@ -30,6 +33,7 @@ export class ProductSubscriber implements EntitySubscriberInterface<Product> {
30
33
  if (event?.entity) {
31
34
  logger.debug(`[ProductSubscriber.afterUpdate] after remove entity (${event.entity.id})`);
32
35
  const { id } = event.entity;
36
+ eventEmitter.emit('product.removed', { id });
33
37
  await Product.invalidateCache(id, ProductSubscriber.invalidateCache);
34
38
  }
35
39
  };