@recursyve/nestjs-unique-codes-sequelize 8.0.0-beta.8 → 11.0.0-beta.9

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.
@@ -6,7 +6,15 @@ const sequelize_typescript_1 = require("sequelize-typescript");
6
6
  const uuid = require("uuid");
7
7
  const sequelize_1 = require("sequelize");
8
8
  let SequelizeUniqueCodes = class SequelizeUniqueCodes extends sequelize_typescript_1.Model {
9
+ code;
10
+ metadata;
11
+ validAt;
12
+ expiresAt;
13
+ availableUsageCount;
14
+ usages;
15
+ type;
9
16
  };
17
+ exports.SequelizeUniqueCodes = SequelizeUniqueCodes;
10
18
  tslib_1.__decorate([
11
19
  sequelize_typescript_1.PrimaryKey,
12
20
  sequelize_typescript_1.AutoIncrement,
@@ -45,9 +53,8 @@ tslib_1.__decorate([
45
53
  sequelize_typescript_1.Column,
46
54
  tslib_1.__metadata("design:type", String)
47
55
  ], SequelizeUniqueCodes.prototype, "type", void 0);
48
- SequelizeUniqueCodes = tslib_1.__decorate([
56
+ exports.SequelizeUniqueCodes = SequelizeUniqueCodes = tslib_1.__decorate([
49
57
  (0, sequelize_typescript_1.Table)({
50
58
  tableName: "unique_codes"
51
59
  })
52
60
  ], SequelizeUniqueCodes);
53
- exports.SequelizeUniqueCodes = SequelizeUniqueCodes;
package/package.json CHANGED
@@ -1,25 +1,17 @@
1
1
  {
2
2
  "name": "@recursyve/nestjs-unique-codes-sequelize",
3
- "version": "8.0.0-beta.8",
3
+ "version": "11.0.0-beta.9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "peerDependencies": {
8
- "@nestjs/common": "^8.0.0",
9
- "@nestjs/core": "^8.0.0",
10
- "@nestjs/sequelize": "^8.0.0",
11
- "@recursyve/nestjs-unique-codes-core": "^8.0.0-beta.0",
12
- "date-fns": "^2.28.0",
13
- "sequelize": "^6.6.0",
14
- "sequelize-typescript": "^2.1.0"
15
- },
16
- "devDependencies": {
17
- "@nestjs/common": "^8.0.5",
18
- "@nestjs/core": "^8.0.5",
19
- "sequelize": "^6.6.5",
20
- "sequelize-typescript": "^2.1.0",
21
- "tslint": "^6.1.2",
22
- "typescript": "^4.3.5"
8
+ "@nestjs/common": "^11.0.0",
9
+ "@nestjs/core": "^11.0.0",
10
+ "@nestjs/sequelize": "^11.0.0",
11
+ "@recursyve/nestjs-unique-codes-core": "^11.0.0-beta.9",
12
+ "date-fns": "^3.0.0",
13
+ "sequelize": "^6.37.0",
14
+ "sequelize-typescript": "^2.1.6"
23
15
  },
24
16
  "gitHead": "9cef464495d8155c8dff97a6055da3253c899ddf"
25
17
  }
@@ -7,6 +7,7 @@ const sequelize_typescript_1 = require("sequelize-typescript");
7
7
  class M extends sequelize_typescript_1.Model {
8
8
  }
9
9
  let UniqueCodeDatabaseReadRepository = class UniqueCodeDatabaseReadRepository {
10
+ repository;
10
11
  constructor(repository) {
11
12
  this.repository = repository;
12
13
  }
@@ -20,8 +21,8 @@ let UniqueCodeDatabaseReadRepository = class UniqueCodeDatabaseReadRepository {
20
21
  return this.repository.findAll(options);
21
22
  }
22
23
  };
23
- UniqueCodeDatabaseReadRepository = tslib_1.__decorate([
24
+ exports.UniqueCodeDatabaseReadRepository = UniqueCodeDatabaseReadRepository;
25
+ exports.UniqueCodeDatabaseReadRepository = UniqueCodeDatabaseReadRepository = tslib_1.__decorate([
24
26
  (0, common_1.Injectable)(),
25
27
  tslib_1.__metadata("design:paramtypes", [Object])
26
28
  ], UniqueCodeDatabaseReadRepository);
27
- exports.UniqueCodeDatabaseReadRepository = UniqueCodeDatabaseReadRepository;
@@ -30,8 +30,8 @@ let UniqueCodeDatabaseRepository = class UniqueCodeDatabaseRepository extends da
30
30
  await model.destroy();
31
31
  }
32
32
  };
33
- UniqueCodeDatabaseRepository = tslib_1.__decorate([
33
+ exports.UniqueCodeDatabaseRepository = UniqueCodeDatabaseRepository;
34
+ exports.UniqueCodeDatabaseRepository = UniqueCodeDatabaseRepository = tslib_1.__decorate([
34
35
  (0, common_1.Injectable)(),
35
36
  tslib_1.__metadata("design:paramtypes", [Object])
36
37
  ], UniqueCodeDatabaseRepository);
37
- exports.UniqueCodeDatabaseRepository = UniqueCodeDatabaseRepository;
@@ -30,7 +30,7 @@ let UniqueCodesSequelizePlatformModule = UniqueCodesSequelizePlatformModule_1 =
30
30
  };
31
31
  }
32
32
  };
33
- UniqueCodesSequelizePlatformModule = UniqueCodesSequelizePlatformModule_1 = tslib_1.__decorate([
33
+ exports.UniqueCodesSequelizePlatformModule = UniqueCodesSequelizePlatformModule;
34
+ exports.UniqueCodesSequelizePlatformModule = UniqueCodesSequelizePlatformModule = UniqueCodesSequelizePlatformModule_1 = tslib_1.__decorate([
34
35
  (0, common_1.Module)({})
35
36
  ], UniqueCodesSequelizePlatformModule);
36
- exports.UniqueCodesSequelizePlatformModule = UniqueCodesSequelizePlatformModule;
@@ -9,6 +9,7 @@ const date_fns_1 = require("date-fns");
9
9
  const sequelize_2 = require("sequelize");
10
10
  const models_1 = require("../models");
11
11
  let SequelizeUniqueCodesService = class SequelizeUniqueCodesService extends nestjs_unique_codes_core_1.UniqueCodesService {
12
+ repository;
12
13
  constructor(repository) {
13
14
  super();
14
15
  this.repository = repository;
@@ -20,32 +21,44 @@ let SequelizeUniqueCodesService = class SequelizeUniqueCodesService extends nest
20
21
  return this.repository.bulkCreate(uniqueCodes, options);
21
22
  }
22
23
  async getByCode(code, options) {
23
- const uniqueCode = await this.repository.findOne(Object.assign({ where: {
24
+ const uniqueCode = await this.repository.findOne({
25
+ where: {
24
26
  code
25
- } }, options));
27
+ },
28
+ ...options
29
+ });
26
30
  if (!uniqueCode)
27
31
  throw new common_1.NotFoundException(`Unique code '${code}' not found`);
28
32
  return uniqueCode;
29
33
  }
30
34
  findByCode(code, options) {
31
- return this.repository.findOne(Object.assign({ where: {
35
+ return this.repository.findOne({
36
+ where: {
32
37
  code
33
- } }, options));
38
+ },
39
+ ...options
40
+ });
34
41
  }
35
42
  async getByCodeAndType(code, type, options) {
36
- const uniqueCode = await this.repository.findOne(Object.assign({ where: {
43
+ const uniqueCode = await this.repository.findOne({
44
+ where: {
37
45
  code,
38
46
  type
39
- } }, options));
47
+ },
48
+ ...options
49
+ });
40
50
  if (!uniqueCode)
41
51
  throw new common_1.NotFoundException(`Unique code '${code}' with type '${type}' not found`);
42
52
  return uniqueCode;
43
53
  }
44
54
  findByCodeAndType(code, type, options) {
45
- return this.repository.findOne(Object.assign({ where: {
55
+ return this.repository.findOne({
56
+ where: {
46
57
  code,
47
58
  type
48
- } }, options));
59
+ },
60
+ ...options
61
+ });
49
62
  }
50
63
  findFromMetadata(metadata, options) {
51
64
  const conditions = [];
@@ -78,7 +91,6 @@ let SequelizeUniqueCodesService = class SequelizeUniqueCodesService extends nest
78
91
  });
79
92
  }
80
93
  async validate(uniqueCode, options) {
81
- var _a, _b;
82
94
  if (typeof uniqueCode === "string") {
83
95
  uniqueCode = await this.getByCode(uniqueCode, options);
84
96
  }
@@ -86,34 +98,36 @@ let SequelizeUniqueCodesService = class SequelizeUniqueCodesService extends nest
86
98
  return false;
87
99
  }
88
100
  const now = Date.now();
89
- const start = (_a = uniqueCode.validAt) !== null && _a !== void 0 ? _a : now;
90
- const end = (_b = uniqueCode.expiresAt) !== null && _b !== void 0 ? _b : now;
101
+ const start = uniqueCode.validAt ?? now;
102
+ const end = uniqueCode.expiresAt ?? now;
91
103
  if ((0, date_fns_1.isAfter)(start, end))
92
104
  return false;
93
105
  return (0, date_fns_1.isWithinInterval)(now, { start, end });
94
106
  }
95
107
  async use(id, metadata, options) {
96
- var _a;
97
108
  const uniqueCode = await this.repository.findByPk(id, options);
98
109
  const isValid = await this.validate(uniqueCode, options);
99
110
  if (!isValid) {
100
111
  throw new common_1.BadRequestException(`Unique code ${uniqueCode.code} invalid`);
101
112
  }
102
- const usages = (_a = uniqueCode.usages) !== null && _a !== void 0 ? _a : [];
103
- usages.push(Object.assign(Object.assign({}, metadata), { usedAt: new Date() }));
113
+ const usages = uniqueCode.usages ?? [];
114
+ usages.push({ ...metadata, usedAt: new Date() });
104
115
  if (uniqueCode.availableUsageCount) {
105
116
  await uniqueCode.decrement("availableUsageCount", options);
106
117
  }
107
118
  await this.repository.update({
108
119
  usages
109
- }, Object.assign({ where: {
120
+ }, {
121
+ where: {
110
122
  id
111
- } }, options));
123
+ },
124
+ ...options
125
+ });
112
126
  }
113
127
  };
114
- SequelizeUniqueCodesService = tslib_1.__decorate([
128
+ exports.SequelizeUniqueCodesService = SequelizeUniqueCodesService;
129
+ exports.SequelizeUniqueCodesService = SequelizeUniqueCodesService = tslib_1.__decorate([
115
130
  (0, common_1.Injectable)(),
116
131
  tslib_1.__param(0, (0, sequelize_1.InjectModel)(models_1.SequelizeUniqueCodes)),
117
132
  tslib_1.__metadata("design:paramtypes", [Object])
118
133
  ], SequelizeUniqueCodesService);
119
- exports.SequelizeUniqueCodesService = SequelizeUniqueCodesService;
@@ -1 +0,0 @@
1
-