whitelabel-db 1.1.44 → 1.1.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { connect, ConnectionDetails } from './libs/database';
2
+ export { runMigrations } from './libs/migration';
2
3
  export { Agency } from './models/Agency';
3
4
  export { City } from './models/City';
4
5
  export { Country } from './models/Country';
@@ -12,6 +13,7 @@ export { Guest } from './models/Guest';
12
13
  export { HotelAccessibility } from './models/HotelAccessibility';
13
14
  export { Referral } from './models/Referral';
14
15
  export { Feedback } from './models/Feedback';
16
+ export { HotelRate } from './models/HotelRate';
15
17
  export { LiteApiClient, HotelsRequest, AvailabilityResult, FullRateAvailabilityResult, RoomType, Rate, PrebookRateRequest, PrebookRate, CheckoutRequest, BookingInfo, CancelBooking, } from './libs/liteapi';
16
18
  export { LiteApiClientV3, HotelsRequestV3, AvailabilityResultV3, FullRateAvailabilityResultV3, RoomTypeV3, RateV3, PrebookRateRequestV3, PrebookRateV3, CheckoutRequestV3, BookingInfoV3, CancelBookingV3, BookedRoomV3, OccupancyV3, GuestV3, GuestBookingV3, VoucherRequest, VoucherResponse, EsimplyPackage, Addon, AddonResponse, } from './libs/liteapiv3';
17
19
  export { LiteApiUser, LiteApiUserRequest } from './libs/liteapiuser';
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LiteApiUser = exports.LiteApiClientV3 = exports.LiteApiClient = exports.Feedback = exports.Referral = exports.HotelAccessibility = exports.Guest = exports.HotelTranslation = exports.Role = exports.Booking = exports.Project = exports.User = exports.Hotel = exports.Country = exports.City = exports.Agency = exports.connect = void 0;
3
+ exports.LiteApiUser = exports.LiteApiClientV3 = exports.LiteApiClient = exports.HotelRate = exports.Feedback = exports.Referral = exports.HotelAccessibility = exports.Guest = exports.HotelTranslation = exports.Role = exports.Booking = exports.Project = exports.User = exports.Hotel = exports.Country = exports.City = exports.Agency = exports.runMigrations = exports.connect = void 0;
4
4
  var database_1 = require("./libs/database");
5
5
  Object.defineProperty(exports, "connect", { enumerable: true, get: function () { return database_1.connect; } });
6
+ var migration_1 = require("./libs/migration");
7
+ Object.defineProperty(exports, "runMigrations", { enumerable: true, get: function () { return migration_1.runMigrations; } });
6
8
  var Agency_1 = require("./models/Agency");
7
9
  Object.defineProperty(exports, "Agency", { enumerable: true, get: function () { return Agency_1.Agency; } });
8
10
  var City_1 = require("./models/City");
@@ -29,6 +31,8 @@ var Referral_1 = require("./models/Referral");
29
31
  Object.defineProperty(exports, "Referral", { enumerable: true, get: function () { return Referral_1.Referral; } });
30
32
  var Feedback_1 = require("./models/Feedback");
31
33
  Object.defineProperty(exports, "Feedback", { enumerable: true, get: function () { return Feedback_1.Feedback; } });
34
+ var HotelRate_1 = require("./models/HotelRate");
35
+ Object.defineProperty(exports, "HotelRate", { enumerable: true, get: function () { return HotelRate_1.HotelRate; } });
32
36
  var liteapi_1 = require("./libs/liteapi");
33
37
  Object.defineProperty(exports, "LiteApiClient", { enumerable: true, get: function () { return liteapi_1.LiteApiClient; } });
34
38
  var liteapiv3_1 = require("./libs/liteapiv3");
@@ -24,6 +24,7 @@ const Guest_1 = require("../models/Guest");
24
24
  const HotelAccessibility_1 = require("../models/HotelAccessibility");
25
25
  const Referral_1 = require("../models/Referral");
26
26
  const Feedback_1 = require("../models/Feedback");
27
+ const HotelRate_1 = require("../models/HotelRate");
27
28
  const connect = (connectionDetails) => __awaiter(void 0, void 0, void 0, function* () {
28
29
  const connection = new sequelize_typescript_1.Sequelize({
29
30
  dialect: 'postgres',
@@ -46,6 +47,7 @@ const connect = (connectionDetails) => __awaiter(void 0, void 0, void 0, functio
46
47
  HotelAccessibility_1.HotelAccessibility,
47
48
  Referral_1.Referral,
48
49
  Feedback_1.Feedback,
50
+ HotelRate_1.HotelRate,
49
51
  ],
50
52
  });
51
53
  return connection
@@ -0,0 +1,2 @@
1
+ import { Sequelize } from 'sequelize';
2
+ export declare const runMigrations: (sequelize: Sequelize) => Promise<void>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.runMigrations = void 0;
39
+ const path_1 = __importDefault(require("path"));
40
+ const fs_1 = __importDefault(require("fs"));
41
+ const runMigrations = (sequelize) => __awaiter(void 0, void 0, void 0, function* () {
42
+ const migrationsPath = path_1.default.resolve(__dirname, '../migrations');
43
+ if (!fs_1.default.existsSync(migrationsPath)) {
44
+ console.error(`Migrations directory not found at: ${migrationsPath}`);
45
+ return;
46
+ }
47
+ // Read and sort migration files
48
+ const migrationFiles = fs_1.default
49
+ .readdirSync(migrationsPath)
50
+ .filter((file) => file.match(/^\d{3}-.+\.ts$/) || file.match(/^\d{3}-.+\.js$/)) // Matches .ts and .js files
51
+ .filter((file) => !file.endsWith('.d.ts')) // Exclude .d.ts files
52
+ .sort(); // Sort files by name
53
+ const [results] = yield sequelize.query('SELECT name FROM "SequelizeMeta"');
54
+ const executedMigrations = results.map((row) => row.name);
55
+ for (const file of migrationFiles) {
56
+ if (!executedMigrations.includes(file)) {
57
+ const migration = yield Promise.resolve(`${path_1.default.join(migrationsPath, file)}`).then(s => __importStar(require(s)));
58
+ if (migration.up) {
59
+ console.log(`Running migration: ${file}`);
60
+ yield migration.up(sequelize.getQueryInterface());
61
+ yield sequelize.query(`INSERT INTO "SequelizeMeta" (name) VALUES ('${file}')`);
62
+ }
63
+ }
64
+ else {
65
+ console.log(`Skipping migration: ${file}`);
66
+ }
67
+ }
68
+ console.log('Migrations completed.');
69
+ });
70
+ exports.runMigrations = runMigrations;
@@ -0,0 +1,3 @@
1
+ import { QueryInterface } from 'sequelize';
2
+ export declare const up: (queryInterface: QueryInterface) => Promise<void>;
3
+ export declare const down: (queryInterface: QueryInterface) => Promise<void>;
@@ -0,0 +1,58 @@
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.down = exports.up = void 0;
13
+ // testing migration file
14
+ const sequelize_1 = require("sequelize");
15
+ const up = (queryInterface) => __awaiter(void 0, void 0, void 0, function* () {
16
+ try {
17
+ yield queryInterface.createTable('user1', {
18
+ id: {
19
+ type: sequelize_1.DataTypes.UUID,
20
+ primaryKey: true,
21
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
22
+ },
23
+ name: {
24
+ type: sequelize_1.DataTypes.STRING,
25
+ allowNull: false,
26
+ },
27
+ email: {
28
+ type: sequelize_1.DataTypes.STRING,
29
+ allowNull: false,
30
+ },
31
+ });
32
+ console.log('Table user1 created successfully.');
33
+ }
34
+ catch (error) {
35
+ if (error.message.includes('already exists')) {
36
+ console.log('Table user1 already exists, skipping.');
37
+ }
38
+ else {
39
+ throw error; // Re-throw other errors
40
+ }
41
+ }
42
+ });
43
+ exports.up = up;
44
+ const down = (queryInterface) => __awaiter(void 0, void 0, void 0, function* () {
45
+ try {
46
+ yield queryInterface.dropTable('user1');
47
+ console.log('Table user1 dropped successfully.');
48
+ }
49
+ catch (error) {
50
+ if (error.message.includes('does not exist')) {
51
+ console.log('Table user1 does not exist, skipping.');
52
+ }
53
+ else {
54
+ throw error; // Re-throw other errors
55
+ }
56
+ }
57
+ });
58
+ exports.down = down;
@@ -0,0 +1,9 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ export declare class HotelRate extends Model<Partial<HotelRate>> {
3
+ hotelId: string;
4
+ checkin: string;
5
+ checkout: string;
6
+ nights: number;
7
+ roomId: number;
8
+ refundable?: boolean;
9
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HotelRate = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ let HotelRate = class HotelRate extends sequelize_typescript_1.Model {
15
+ };
16
+ exports.HotelRate = HotelRate;
17
+ __decorate([
18
+ sequelize_typescript_1.Index,
19
+ (0, sequelize_typescript_1.Column)({
20
+ type: sequelize_typescript_1.DataType.STRING,
21
+ allowNull: false,
22
+ }),
23
+ __metadata("design:type", String)
24
+ ], HotelRate.prototype, "hotelId", void 0);
25
+ __decorate([
26
+ sequelize_typescript_1.Index,
27
+ (0, sequelize_typescript_1.Column)({
28
+ type: sequelize_typescript_1.DataType.STRING(10),
29
+ allowNull: false,
30
+ }),
31
+ __metadata("design:type", String)
32
+ ], HotelRate.prototype, "checkin", void 0);
33
+ __decorate([
34
+ sequelize_typescript_1.Index,
35
+ (0, sequelize_typescript_1.Column)({
36
+ type: sequelize_typescript_1.DataType.STRING(10),
37
+ allowNull: false,
38
+ }),
39
+ __metadata("design:type", String)
40
+ ], HotelRate.prototype, "checkout", void 0);
41
+ __decorate([
42
+ sequelize_typescript_1.Index,
43
+ (0, sequelize_typescript_1.Column)({
44
+ type: sequelize_typescript_1.DataType.SMALLINT,
45
+ allowNull: false,
46
+ }),
47
+ __metadata("design:type", Number)
48
+ ], HotelRate.prototype, "nights", void 0);
49
+ __decorate([
50
+ (0, sequelize_typescript_1.Column)({
51
+ type: sequelize_typescript_1.DataType.FLOAT,
52
+ allowNull: true,
53
+ }),
54
+ __metadata("design:type", Number)
55
+ ], HotelRate.prototype, "roomId", void 0);
56
+ __decorate([
57
+ (0, sequelize_typescript_1.Column)({
58
+ type: sequelize_typescript_1.DataType.BOOLEAN,
59
+ }),
60
+ __metadata("design:type", Boolean)
61
+ ], HotelRate.prototype, "refundable", void 0);
62
+ exports.HotelRate = HotelRate = __decorate([
63
+ (0, sequelize_typescript_1.Table)({
64
+ tableName: 'hotel_rates',
65
+ })
66
+ ], HotelRate);
@@ -0,0 +1,8 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ export declare class Search extends Model<Partial<Search>> {
3
+ id: string;
4
+ hits: number;
5
+ cacheUpdatedAt?: Date;
6
+ cacheQueuedAt?: Date;
7
+ data?: object;
8
+ }
@@ -9,38 +9,53 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UserRole = void 0;
13
- const sequelize_1 = require("sequelize");
12
+ exports.Search = void 0;
14
13
  const sequelize_typescript_1 = require("sequelize-typescript");
15
- let UserRole = class UserRole extends sequelize_typescript_1.Model {
14
+ let Search = class Search extends sequelize_typescript_1.Model {
16
15
  };
17
- exports.UserRole = UserRole;
16
+ exports.Search = Search;
18
17
  __decorate([
19
18
  sequelize_typescript_1.PrimaryKey,
19
+ sequelize_typescript_1.Index,
20
20
  (0, sequelize_typescript_1.Column)({
21
- type: sequelize_1.NUMBER,
22
- allowNull: false,
23
- autoIncrement: true,
21
+ type: sequelize_typescript_1.DataType.STRING(32),
24
22
  }),
25
23
  __metadata("design:type", String)
26
- ], UserRole.prototype, "id", void 0);
24
+ ], Search.prototype, "id", void 0);
27
25
  __decorate([
28
- sequelize_typescript_1.Unique,
29
26
  (0, sequelize_typescript_1.Column)({
30
- type: sequelize_typescript_1.DataType.STRING,
27
+ type: sequelize_typescript_1.DataType.INTEGER,
31
28
  allowNull: false,
29
+ defaultValue: 0,
32
30
  }),
33
- __metadata("design:type", String)
34
- ], UserRole.prototype, "name", void 0);
31
+ __metadata("design:type", Number)
32
+ ], Search.prototype, "hits", void 0);
35
33
  __decorate([
34
+ sequelize_typescript_1.Unique,
35
+ sequelize_typescript_1.Index,
36
36
  (0, sequelize_typescript_1.Column)({
37
- type: sequelize_typescript_1.DataType.STRING,
38
- allowNull: true,
37
+ type: sequelize_typescript_1.DataType.DATE,
39
38
  }),
40
- __metadata("design:type", String)
41
- ], UserRole.prototype, "description", void 0);
42
- exports.UserRole = UserRole = __decorate([
39
+ __metadata("design:type", Date)
40
+ ], Search.prototype, "cacheUpdatedAt", void 0);
41
+ __decorate([
42
+ sequelize_typescript_1.Unique,
43
+ sequelize_typescript_1.Index,
44
+ (0, sequelize_typescript_1.Column)({
45
+ type: sequelize_typescript_1.DataType.DATE,
46
+ }),
47
+ __metadata("design:type", Date)
48
+ ], Search.prototype, "cacheQueuedAt", void 0);
49
+ __decorate([
50
+ (0, sequelize_typescript_1.Column)({
51
+ type: sequelize_typescript_1.DataType.JSONB,
52
+ allowNull: false,
53
+ defaultValue: {},
54
+ }),
55
+ __metadata("design:type", Object)
56
+ ], Search.prototype, "data", void 0);
57
+ exports.Search = Search = __decorate([
43
58
  (0, sequelize_typescript_1.Table)({
44
- tableName: 'user_roles',
59
+ tableName: 'searches',
45
60
  })
46
- ], UserRole);
61
+ ], Search);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whitelabel-db",
3
- "version": "1.1.44",
3
+ "version": "1.1.46",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- export declare class UserRole extends Model<Partial<UserRole>> {
3
- id: string;
4
- name: string;
5
- description?: string;
6
- }
@@ -1,23 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- import { Guest } from './Guest';
3
- export declare class Voucher extends Model<Partial<Voucher>> {
4
- id: string;
5
- guestId: string;
6
- status: string;
7
- guest?: Guest;
8
- createdAt: Date;
9
- updatedAt: Date;
10
- liteApiUserId: number;
11
- currency: string;
12
- usagesLimit: number;
13
- remainingUses: number;
14
- validityStart: Date;
15
- validityEnd: Date;
16
- voucherCode: string;
17
- discountType: string;
18
- discountValue: number;
19
- maximumDiscountAmount: number;
20
- termsAndConditions: string;
21
- voucherType: string;
22
- minimumSpend: number;
23
- }
@@ -1,162 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Voucher = void 0;
13
- const sequelize_typescript_1 = require("sequelize-typescript");
14
- const Guest_1 = require("./Guest");
15
- let Voucher = class Voucher extends sequelize_typescript_1.Model {
16
- };
17
- exports.Voucher = Voucher;
18
- __decorate([
19
- (0, sequelize_typescript_1.IsUUID)(4),
20
- sequelize_typescript_1.PrimaryKey,
21
- (0, sequelize_typescript_1.Column)({
22
- type: sequelize_typescript_1.DataType.UUID,
23
- defaultValue: sequelize_typescript_1.DataType.UUIDV4,
24
- }),
25
- __metadata("design:type", String)
26
- ], Voucher.prototype, "id", void 0);
27
- __decorate([
28
- (0, sequelize_typescript_1.ForeignKey)(() => Guest_1.Guest),
29
- sequelize_typescript_1.Index,
30
- (0, sequelize_typescript_1.Column)({
31
- type: sequelize_typescript_1.DataType.UUID,
32
- allowNull: false,
33
- }),
34
- __metadata("design:type", String)
35
- ], Voucher.prototype, "guestId", void 0);
36
- __decorate([
37
- (0, sequelize_typescript_1.Column)({
38
- type: sequelize_typescript_1.DataType.STRING,
39
- allowNull: false,
40
- }),
41
- __metadata("design:type", String)
42
- ], Voucher.prototype, "status", void 0);
43
- __decorate([
44
- (0, sequelize_typescript_1.BelongsTo)(() => Guest_1.Guest, 'guestId'),
45
- __metadata("design:type", Guest_1.Guest)
46
- ], Voucher.prototype, "guest", void 0);
47
- __decorate([
48
- (0, sequelize_typescript_1.Column)({
49
- type: sequelize_typescript_1.DataType.DATE,
50
- allowNull: false,
51
- defaultValue: new Date(),
52
- }),
53
- __metadata("design:type", Date)
54
- ], Voucher.prototype, "createdAt", void 0);
55
- __decorate([
56
- (0, sequelize_typescript_1.Column)({
57
- type: sequelize_typescript_1.DataType.DATE,
58
- allowNull: false,
59
- defaultValue: new Date(),
60
- }),
61
- __metadata("design:type", Date)
62
- ], Voucher.prototype, "updatedAt", void 0);
63
- __decorate([
64
- sequelize_typescript_1.Index,
65
- (0, sequelize_typescript_1.Column)({
66
- type: sequelize_typescript_1.DataType.INTEGER,
67
- allowNull: false,
68
- }),
69
- __metadata("design:type", Number)
70
- ], Voucher.prototype, "liteApiUserId", void 0);
71
- __decorate([
72
- (0, sequelize_typescript_1.Column)({
73
- type: sequelize_typescript_1.DataType.STRING,
74
- allowNull: false,
75
- }),
76
- __metadata("design:type", String)
77
- ], Voucher.prototype, "currency", void 0);
78
- __decorate([
79
- (0, sequelize_typescript_1.Column)({
80
- type: sequelize_typescript_1.DataType.INTEGER,
81
- allowNull: false,
82
- }),
83
- __metadata("design:type", Number)
84
- ], Voucher.prototype, "usagesLimit", void 0);
85
- __decorate([
86
- (0, sequelize_typescript_1.Column)({
87
- type: sequelize_typescript_1.DataType.INTEGER,
88
- allowNull: true,
89
- }),
90
- __metadata("design:type", Number)
91
- ], Voucher.prototype, "remainingUses", void 0);
92
- __decorate([
93
- (0, sequelize_typescript_1.Column)({
94
- type: sequelize_typescript_1.DataType.DATE,
95
- allowNull: false,
96
- }),
97
- __metadata("design:type", Date)
98
- ], Voucher.prototype, "validityStart", void 0);
99
- __decorate([
100
- (0, sequelize_typescript_1.Column)({
101
- type: sequelize_typescript_1.DataType.DATE,
102
- allowNull: false,
103
- }),
104
- __metadata("design:type", Date)
105
- ], Voucher.prototype, "validityEnd", void 0);
106
- __decorate([
107
- sequelize_typescript_1.Index,
108
- (0, sequelize_typescript_1.Column)({
109
- type: sequelize_typescript_1.DataType.STRING,
110
- allowNull: false,
111
- }),
112
- __metadata("design:type", String)
113
- ], Voucher.prototype, "voucherCode", void 0);
114
- __decorate([
115
- (0, sequelize_typescript_1.Column)({
116
- type: sequelize_typescript_1.DataType.STRING,
117
- allowNull: false,
118
- }),
119
- __metadata("design:type", String)
120
- ], Voucher.prototype, "discountType", void 0);
121
- __decorate([
122
- (0, sequelize_typescript_1.Column)({
123
- type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
124
- allowNull: false,
125
- }),
126
- __metadata("design:type", Number)
127
- ], Voucher.prototype, "discountValue", void 0);
128
- __decorate([
129
- (0, sequelize_typescript_1.Column)({
130
- type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
131
- allowNull: true,
132
- }),
133
- __metadata("design:type", Number)
134
- ], Voucher.prototype, "maximumDiscountAmount", void 0);
135
- __decorate([
136
- (0, sequelize_typescript_1.Column)({
137
- type: sequelize_typescript_1.DataType.TEXT,
138
- allowNull: true,
139
- }),
140
- __metadata("design:type", String)
141
- ], Voucher.prototype, "termsAndConditions", void 0);
142
- __decorate([
143
- sequelize_typescript_1.Index,
144
- (0, sequelize_typescript_1.Column)({
145
- type: sequelize_typescript_1.DataType.STRING,
146
- allowNull: false,
147
- }),
148
- __metadata("design:type", String)
149
- ], Voucher.prototype, "voucherType", void 0);
150
- __decorate([
151
- (0, sequelize_typescript_1.Column)({
152
- type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
153
- allowNull: false,
154
- defaultValue: 0,
155
- }),
156
- __metadata("design:type", Number)
157
- ], Voucher.prototype, "minimumSpend", void 0);
158
- exports.Voucher = Voucher = __decorate([
159
- (0, sequelize_typescript_1.Table)({
160
- tableName: 'vouchers',
161
- })
162
- ], Voucher);