whitelabel-db 1.0.54 → 1.0.56

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
@@ -9,3 +9,4 @@ export { Booking } from './models/Booking';
9
9
  export { Role } from './models/Role';
10
10
  export { LiteApiClient, HotelsRequest, AvailabilityResult, FullRateAvailabilityResult, RoomType, Rate, PrebookRateRequest, PrebookRate, CheckoutRequest, BookingInfo, CancelBooking, } from './libs/liteapi';
11
11
  export { LiteApiClientV3, HotelsRequestV3, AvailabilityResultV3, FullRateAvailabilityResultV3, RoomTypeV3, RateV3, PrebookRateRequestV3, PrebookRateV3, CheckoutRequestV3, BookingInfoV3, CancelBookingV3, BookedRoomV3, OccupancyV3, } from './libs/liteapiv3';
12
+ export { LiteApiUser, LiteApiUserRequest } from './libs/liteapiuser';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LiteApiClientV3 = exports.LiteApiClient = 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.Role = exports.Booking = exports.Project = exports.User = exports.Hotel = exports.Country = exports.City = exports.Agency = 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
6
  var Agency_1 = require("./models/Agency");
@@ -23,3 +23,5 @@ var liteapi_1 = require("./libs/liteapi");
23
23
  Object.defineProperty(exports, "LiteApiClient", { enumerable: true, get: function () { return liteapi_1.LiteApiClient; } });
24
24
  var liteapiv3_1 = require("./libs/liteapiv3");
25
25
  Object.defineProperty(exports, "LiteApiClientV3", { enumerable: true, get: function () { return liteapiv3_1.LiteApiClientV3; } });
26
+ var liteapiuser_1 = require("./libs/liteapiuser");
27
+ Object.defineProperty(exports, "LiteApiUser", { enumerable: true, get: function () { return liteapiuser_1.LiteApiUser; } });
@@ -0,0 +1,21 @@
1
+ export interface LiteApiUserRequest {
2
+ country: string;
3
+ created_by?: number;
4
+ email: string;
5
+ firstName: string;
6
+ goals?: string;
7
+ lastName: string;
8
+ password: string;
9
+ role?: string;
10
+ size?: string;
11
+ margin: number;
12
+ liteApiUserEmail: string;
13
+ liteApiUserPassword: string;
14
+ }
15
+ export declare class LiteApiUser {
16
+ private token;
17
+ private tokenExpiresAt;
18
+ private login;
19
+ private getToken;
20
+ registerLiteAPIUser(options: LiteApiUserRequest): Promise<any>;
21
+ }
@@ -0,0 +1,73 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LiteApiUser = void 0;
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const keyBaseUrl = 'https://da.liteapi.travel';
18
+ class LiteApiUser {
19
+ constructor() {
20
+ this.token = null;
21
+ this.tokenExpiresAt = null;
22
+ }
23
+ login(email, password) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ try {
26
+ const response = yield (0, axios_1.default)({
27
+ method: 'post',
28
+ url: `${keyBaseUrl}/login`,
29
+ data: {
30
+ email,
31
+ password,
32
+ },
33
+ });
34
+ const tokenData = response.data.token;
35
+ this.token = tokenData.token;
36
+ this.tokenExpiresAt = new Date(tokenData.expires_at);
37
+ }
38
+ catch (error) {
39
+ console.error('Failed to log in:', error);
40
+ throw new Error('Login failed.');
41
+ }
42
+ });
43
+ }
44
+ getToken(email, password) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ if (!this.token ||
47
+ !this.tokenExpiresAt ||
48
+ new Date() >= this.tokenExpiresAt) {
49
+ // Token is either missing or expired, so we need to log in again
50
+ yield this.login(email, password);
51
+ }
52
+ return this.token;
53
+ });
54
+ }
55
+ registerLiteAPIUser(options) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ // Set default values
58
+ options.role = 'admin';
59
+ options.size = '';
60
+ options.goals = ',,';
61
+ const token = yield this.getToken(options.liteApiUserEmail, options.liteApiUserPassword);
62
+ return (yield (0, axios_1.default)({
63
+ method: 'post',
64
+ url: `${keyBaseUrl}/signup`,
65
+ data: options,
66
+ headers: {
67
+ Authorization: `Bearer ${token}`,
68
+ },
69
+ })).data;
70
+ });
71
+ }
72
+ }
73
+ exports.LiteApiUser = LiteApiUser;
@@ -4,6 +4,8 @@ import { Project } from './Project';
4
4
  export declare class Agency extends Model<Partial<Agency>> {
5
5
  id: string;
6
6
  name: string;
7
+ margin: number;
8
+ country: string;
7
9
  users?: User[];
8
10
  projects?: Project[];
9
11
  parentAgencyId?: string;
@@ -53,6 +53,20 @@ __decorate([
53
53
  }),
54
54
  __metadata("design:type", String)
55
55
  ], Agency.prototype, "name", void 0);
56
+ __decorate([
57
+ (0, sequelize_typescript_1.Column)({
58
+ type: sequelize_typescript_1.DataType.NUMBER,
59
+ allowNull: true,
60
+ }),
61
+ __metadata("design:type", Number)
62
+ ], Agency.prototype, "margin", void 0);
63
+ __decorate([
64
+ (0, sequelize_typescript_1.Column)({
65
+ type: sequelize_typescript_1.DataType.STRING,
66
+ allowNull: false,
67
+ }),
68
+ __metadata("design:type", String)
69
+ ], Agency.prototype, "country", void 0);
56
70
  __decorate([
57
71
  (0, sequelize_typescript_1.HasMany)(() => User_1.User),
58
72
  __metadata("design:type", Array)
@@ -24,7 +24,8 @@ export declare class Hotel extends Model<Partial<Hotel>> {
24
24
  zip: string;
25
25
  main_photo: string;
26
26
  thumbnail: string;
27
- hotelType: string;
27
+ hotelTypeId: number;
28
+ chainId: number;
28
29
  airportCode: string;
29
30
  stars: number;
30
31
  mapped: boolean;
@@ -107,11 +107,18 @@ __decorate([
107
107
  ], Hotel.prototype, "thumbnail", void 0);
108
108
  __decorate([
109
109
  (0, sequelize_typescript_1.Column)({
110
- type: sequelize_typescript_1.DataType.STRING,
110
+ type: sequelize_typescript_1.DataType.INTEGER,
111
111
  allowNull: false,
112
112
  }),
113
- __metadata("design:type", String)
114
- ], Hotel.prototype, "hotelType", void 0);
113
+ __metadata("design:type", Number)
114
+ ], Hotel.prototype, "hotelTypeId", void 0);
115
+ __decorate([
116
+ (0, sequelize_typescript_1.Column)({
117
+ type: sequelize_typescript_1.DataType.INTEGER,
118
+ allowNull: false,
119
+ }),
120
+ __metadata("design:type", Number)
121
+ ], Hotel.prototype, "chainId", void 0);
115
122
  __decorate([
116
123
  (0, sequelize_typescript_1.Column)({
117
124
  type: sequelize_typescript_1.DataType.STRING,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whitelabel-db",
3
- "version": "1.0.54",
3
+ "version": "1.0.56",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",