@vendit-dev/thirdparty-adapters 0.4.1 → 0.7.0

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/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ nodejs 16.20.1
@@ -1,7 +1,7 @@
1
1
  import { UserServiceGrpcCaller } from '@vendit-dev/utility-modules';
2
2
  import { AmanoHttpResponse, DeletePreDiscountInfoInput, DeletePreDiscountInfoResponse, FeeCarSearchInput, GetFeeCarSearchResponse, GetPreDiscountListInfoResponse, InsertPreDiscountInfoInput, InsertPreDiscountInfoResponse, PreDiscountListInfoInput, UpdatePreDiscountInfoInput, UpdatePreDiscountInfoResponse } from '../types/amanoKorea';
3
3
  import MutexLock from '../utils/mutex';
4
- declare type VenditAmanoKoreaAuthInfo = {
4
+ type VenditAmanoKoreaAuthInfo = {
5
5
  scope: string;
6
6
  credential: {
7
7
  lotAreaNo: string;
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -54,8 +54,8 @@ var node_fetch_1 = __importDefault(require("node-fetch"));
54
54
  var mutex_1 = __importDefault(require("../utils/mutex"));
55
55
  var AmanoKoreaAdapter = /** @class */ (function () {
56
56
  function AmanoKoreaAdapter(_a) {
57
- var _this = this;
58
57
  var authenticator = _a.authenticator, redis = _a.redis;
58
+ var _this = this;
59
59
  this.API_PORT = 9948;
60
60
  this.PROVIDER_KEY = 'AmanoKorea';
61
61
  // base64
@@ -84,7 +84,7 @@ var AmanoKoreaAdapter = /** @class */ (function () {
84
84
  this.getAccommodationAuthInfo = function (_a) {
85
85
  var accommodationId = _a.accommodationId;
86
86
  return __awaiter(_this, void 0, void 0, function () {
87
- var existingAuth, parsedCredential, _b, authorization, apiHost, lotAreaNo, discCodeNo, lockId, lockHash, newAuth, parsedCredential, err_1;
87
+ var existingAuth, parsedCredential, _b, authorization, apiHost, lotAreaNo, discCodeNo, apiPort, lockId, lockHash, newAuth, parsedCredential, err_1;
88
88
  return __generator(this, function (_c) {
89
89
  switch (_c.label) {
90
90
  case 0: return [4 /*yield*/, this.redis.get(AmanoKoreaAdapter.indexAccommodation({ accommodationId: accommodationId }))];
@@ -93,17 +93,18 @@ var AmanoKoreaAdapter = /** @class */ (function () {
93
93
  if (existingAuth) {
94
94
  parsedCredential = this.parseJSONSafe(existingAuth);
95
95
  if (parsedCredential === null || parsedCredential === void 0 ? void 0 : parsedCredential.credential) {
96
- _b = this.parseJSONSafe(parsedCredential.credential), authorization = _b.authorization, apiHost = _b.apiHost, lotAreaNo = _b.lotAreaNo, discCodeNo = _b.discCodeNo;
96
+ _b = this.parseJSONSafe(parsedCredential.credential), authorization = _b.authorization, apiHost = _b.apiHost, lotAreaNo = _b.lotAreaNo, discCodeNo = _b.discCodeNo, apiPort = _b.apiPort;
97
97
  this.setAuthorization({
98
98
  authorization: authorization,
99
99
  });
100
100
  this.lotAreaNo = lotAreaNo;
101
101
  this.discCodeNo = discCodeNo;
102
102
  this.API_HOST = apiHost;
103
+ this.API_PORT = apiPort;
103
104
  }
104
105
  return [2 /*return*/, this.parseJSONSafe(existingAuth)];
105
106
  }
106
- lockId = "AMANO-HKEY|" + accommodationId;
107
+ lockId = "AMANO-HKEY|".concat(accommodationId);
107
108
  return [4 /*yield*/, this.mutexLock.getMutexLock(lockId)];
108
109
  case 2:
109
110
  lockHash = _c.sent();
@@ -166,7 +167,7 @@ var AmanoKoreaAdapter = /** @class */ (function () {
166
167
  _b.label = 1;
167
168
  case 1:
168
169
  _b.trys.push([1, 4, , 5]);
169
- return [4 /*yield*/, node_fetch_1.default(this.API_HOST + ":" + this.API_PORT + "/interop/" + directory, {
170
+ return [4 /*yield*/, (0, node_fetch_1.default)("".concat(this.API_HOST, ":").concat(this.API_PORT, "/interop/").concat(directory), {
170
171
  method: 'POST',
171
172
  headers: {
172
173
  'Content-Type': 'application/json',
@@ -212,8 +213,7 @@ var AmanoKoreaAdapter = /** @class */ (function () {
212
213
  _a = this, lotAreaNo = _a.lotAreaNo, discCodeNo = _a.discCodeNo;
213
214
  return [2 /*return*/, this.callAPI({
214
215
  directory: 'getPreDiscountListInfo.do',
215
- resources: __assign(__assign({}, resources), { lotAreaNo: lotAreaNo,
216
- discCodeNo: discCodeNo }),
216
+ resources: __assign(__assign({}, resources), { lotAreaNo: lotAreaNo, discCodeNo: discCodeNo }),
217
217
  })];
218
218
  });
219
219
  }); };
@@ -226,8 +226,7 @@ var AmanoKoreaAdapter = /** @class */ (function () {
226
226
  _b = this, lotAreaNo = _b.lotAreaNo, discCodeNo = _b.discCodeNo;
227
227
  return [2 /*return*/, this.callAPI({
228
228
  directory: 'insertPreDiscountInfo.do',
229
- resources: __assign(__assign({}, resources), { lotAreaNo: lotAreaNo,
230
- discCodeNo: discCodeNo }),
229
+ resources: __assign(__assign({}, resources), { lotAreaNo: lotAreaNo, discCodeNo: discCodeNo }),
231
230
  })];
232
231
  });
233
232
  });
@@ -241,8 +240,7 @@ var AmanoKoreaAdapter = /** @class */ (function () {
241
240
  _b = this, lotAreaNo = _b.lotAreaNo, discCodeNo = _b.discCodeNo;
242
241
  return [2 /*return*/, this.callAPI({
243
242
  directory: 'updatePreDiscountInfo.do',
244
- resources: __assign(__assign({}, resources), { lotAreaNo: lotAreaNo,
245
- discCodeNo: discCodeNo }),
243
+ resources: __assign(__assign({}, resources), { lotAreaNo: lotAreaNo, discCodeNo: discCodeNo }),
246
244
  })];
247
245
  });
248
246
  });
@@ -285,7 +283,7 @@ var AmanoKoreaAdapter = /** @class */ (function () {
285
283
  }
286
284
  AmanoKoreaAdapter.indexAccommodation = function (_a) {
287
285
  var accommodationId = _a.accommodationId;
288
- return "AUTH|AMANO-KOREA-API|" + accommodationId;
286
+ return "AUTH|AMANO-KOREA-API|".concat(accommodationId);
289
287
  };
290
288
  return AmanoKoreaAdapter;
291
289
  }());
@@ -0,0 +1,19 @@
1
+ import { DeregisterParkingDiscountCommand, DeregisterParkingPassCommand, ParkingThirdParty, RegisterParkingDiscountCommand, RegisterParkingPassCommand, SearchVehiclesByNumberCriteria } from './parkingThirdParty.type';
2
+ interface AmanoConfig {
3
+ lotAreaNo: string;
4
+ registUserId: string;
5
+ password: string;
6
+ eqpmNo: string;
7
+ discCodeNo: string;
8
+ apiHost: string;
9
+ }
10
+ export declare class AmanoThirdParty implements ParkingThirdParty {
11
+ private configuration;
12
+ constructor(configuration: AmanoConfig);
13
+ searchVehiclesByNumber(criteria: SearchVehiclesByNumberCriteria): Promise<any[]>;
14
+ registerParkingDiscount(command: RegisterParkingDiscountCommand): Promise<boolean>;
15
+ deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
16
+ registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
17
+ deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
18
+ }
19
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AmanoThirdParty = void 0;
4
+ var AmanoThirdParty = /** @class */ (function () {
5
+ function AmanoThirdParty(configuration) {
6
+ this.configuration = configuration;
7
+ }
8
+ AmanoThirdParty.prototype.searchVehiclesByNumber = function (criteria) {
9
+ throw new Error('Method not implemented in Amano yet.');
10
+ };
11
+ AmanoThirdParty.prototype.registerParkingDiscount = function (command) {
12
+ throw new Error('Method not implemented in Amano yet.');
13
+ };
14
+ AmanoThirdParty.prototype.deregisterParkingDiscount = function (command) {
15
+ throw new Error('Method not implemented in Amano yet.');
16
+ };
17
+ AmanoThirdParty.prototype.registerParkingPass = function (command) {
18
+ throw new Error('Method not implemented in Amano yet.');
19
+ };
20
+ AmanoThirdParty.prototype.deregisterParkingPass = function (command) {
21
+ throw new Error('Method not implemented in Amano yet.');
22
+ };
23
+ return AmanoThirdParty;
24
+ }());
25
+ exports.AmanoThirdParty = AmanoThirdParty;
@@ -0,0 +1,20 @@
1
+ import { DeregisterParkingDiscountCommand, DeregisterParkingPassCommand, ParkingThirdParty, RegisterParkingDiscountCommand, RegisterParkingPassCommand, SearchVehiclesByNumberCriteria, SearchVehiclesByNumberResult } from './parkingThirdParty.type';
2
+ interface NiceParkingConfig {
3
+ dbHost: string;
4
+ dbPort: string;
5
+ dbUserName: string;
6
+ dbPassword: string;
7
+ groupCode: string;
8
+ placeCode: string;
9
+ }
10
+ export declare class NiceParkThirdParty implements ParkingThirdParty {
11
+ private configuration;
12
+ private sequelize;
13
+ constructor(configuration: NiceParkingConfig);
14
+ searchVehiclesByNumber(criteria: SearchVehiclesByNumberCriteria): Promise<SearchVehiclesByNumberResult[]>;
15
+ registerParkingDiscount(command: RegisterParkingDiscountCommand): Promise<boolean>;
16
+ deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
17
+ registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
18
+ deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
19
+ }
20
+ export {};
@@ -0,0 +1,150 @@
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.NiceParkThirdParty = void 0;
43
+ var sequelize_1 = require("sequelize");
44
+ var tedious_1 = __importDefault(require("tedious"));
45
+ var moment_1 = __importDefault(require("moment"));
46
+ var NiceParkDbName = 'NPMU';
47
+ var NiceParkThirdParty = /** @class */ (function () {
48
+ function NiceParkThirdParty(configuration) {
49
+ this.configuration = configuration;
50
+ this.configuration.dbPort = '46000';
51
+ this.sequelize = new sequelize_1.Sequelize(NiceParkDbName, configuration.dbUserName, configuration.dbPassword, {
52
+ dialect: 'mssql',
53
+ host: configuration.dbHost,
54
+ port: Number(configuration.dbPort),
55
+ dialectOptions: {
56
+ options: {
57
+ encrypt: false,
58
+ cryptoCredentialsDetails: {
59
+ minVersion: 'TLSv1.2', // or 'TLSv1.3'
60
+ },
61
+ },
62
+ },
63
+ dialectModule: tedious_1.default,
64
+ });
65
+ }
66
+ NiceParkThirdParty.prototype.searchVehiclesByNumber = function (criteria) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var vehicleNumber, result, refinedResult, err_1;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ vehicleNumber = criteria.vehicleNumber;
73
+ _a.label = 1;
74
+ case 1:
75
+ _a.trys.push([1, 3, , 4]);
76
+ return [4 /*yield*/, this.sequelize.query("exec sp_External_Link_Search_CarNo4 '".concat(vehicleNumber, "'"))];
77
+ case 2:
78
+ result = _a.sent();
79
+ refinedResult = result[0].map(function (item) { return ({
80
+ vehicleNumber: item.carNo.replace(' ', ''),
81
+ enteredAt: new Date(item.inCarDtm),
82
+ }); });
83
+ console.log('NiceParkThirdParty#searchVehiclesByNumber result: ', refinedResult);
84
+ return [2 /*return*/, refinedResult];
85
+ case 3:
86
+ err_1 = _a.sent();
87
+ return [2 /*return*/, []];
88
+ case 4: return [2 /*return*/];
89
+ }
90
+ });
91
+ });
92
+ };
93
+ NiceParkThirdParty.prototype.registerParkingDiscount = function (command) {
94
+ return __awaiter(this, void 0, void 0, function () {
95
+ var vehicleNumber, from, minutes, result, err_2;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ vehicleNumber = command.vehicleNumber, from = command.from, minutes = command.minutes;
100
+ _a.label = 1;
101
+ case 1:
102
+ _a.trys.push([1, 3, , 4]);
103
+ return [4 /*yield*/, this.sequelize.query("exec sp_External_Link_Discount '".concat(vehicleNumber, "', '1', '").concat(minutes, "', '").concat(this.configuration.placeCode || '000001', ";"))];
104
+ case 2:
105
+ result = _a.sent();
106
+ console.log('NiceParkThirdParty#registerParkingDiscount result: ', result);
107
+ return [2 /*return*/, result[0].result === '1'];
108
+ case 3:
109
+ err_2 = _a.sent();
110
+ return [2 /*return*/, false];
111
+ case 4: return [2 /*return*/];
112
+ }
113
+ });
114
+ });
115
+ };
116
+ NiceParkThirdParty.prototype.deregisterParkingDiscount = function (command) {
117
+ throw new Error('Method not implemented in NicePark yet.');
118
+ };
119
+ NiceParkThirdParty.prototype.registerParkingPass = function (command) {
120
+ return __awaiter(this, void 0, void 0, function () {
121
+ var from, to, vehicleNumber, fromDateString, toDateString, result, err_3;
122
+ return __generator(this, function (_a) {
123
+ switch (_a.label) {
124
+ case 0:
125
+ from = command.from, to = command.to, vehicleNumber = command.vehicleNumber;
126
+ fromDateString = (0, moment_1.default)(from).format('YYYYMMDD');
127
+ toDateString = (0, moment_1.default)(to).format('YYYYMMDD');
128
+ _a.label = 1;
129
+ case 1:
130
+ _a.trys.push([1, 3, , 4]);
131
+ return [4 /*yield*/, this.sequelize.query("exec sp_External_Link_RegRegular_CODEIN '".concat(vehicleNumber, "', '").concat(fromDateString, "', '").concat(toDateString, "', '', '', '', '', '', '0', '").concat(this.configuration.groupCode, "';"))];
132
+ case 2:
133
+ result = _a.sent();
134
+ console.log('NiceParkThirdParty#registerParkingDiscount result: ', result);
135
+ console.log("Car#".concat(vehicleNumber, " has been registered from ").concat(fromDateString, ", to ").concat(toDateString, " with group code ").concat(this.configuration.groupCode));
136
+ return [2 /*return*/, result[0].result === '1'];
137
+ case 3:
138
+ err_3 = _a.sent();
139
+ return [2 /*return*/, false];
140
+ case 4: return [2 /*return*/];
141
+ }
142
+ });
143
+ });
144
+ };
145
+ NiceParkThirdParty.prototype.deregisterParkingPass = function (command) {
146
+ throw new Error('Method not implemented in NicePark yet.');
147
+ };
148
+ return NiceParkThirdParty;
149
+ }());
150
+ exports.NiceParkThirdParty = NiceParkThirdParty;
@@ -0,0 +1,36 @@
1
+ export interface SearchVehiclesByNumberCriteria {
2
+ accommodationId: string;
3
+ vehicleNumber: string;
4
+ targetDate?: Date;
5
+ }
6
+ export interface RegisterParkingDiscountCommand {
7
+ accommodationId: string;
8
+ vehicleNumber: string;
9
+ from?: Date;
10
+ minutes: number;
11
+ }
12
+ export interface DeregisterParkingDiscountCommand {
13
+ accommodationId: string;
14
+ vehicleNumber: string;
15
+ }
16
+ export interface RegisterParkingPassCommand {
17
+ accommodationId: string;
18
+ vehicleNumber: string;
19
+ from: Date;
20
+ to: Date;
21
+ }
22
+ export interface DeregisterParkingPassCommand {
23
+ accommodationId: string;
24
+ vehicleNumber: string;
25
+ }
26
+ export interface SearchVehiclesByNumberResult {
27
+ vehicleNumber: string;
28
+ enteredAt?: Date;
29
+ }
30
+ export declare abstract class ParkingThirdParty {
31
+ abstract searchVehiclesByNumber(criteria: SearchVehiclesByNumberCriteria): Promise<SearchVehiclesByNumberResult[]>;
32
+ abstract registerParkingDiscount(command: RegisterParkingDiscountCommand): Promise<boolean>;
33
+ abstract deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
34
+ abstract registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
35
+ abstract deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
36
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParkingThirdParty = void 0;
4
+ var ParkingThirdParty = /** @class */ (function () {
5
+ function ParkingThirdParty() {
6
+ }
7
+ return ParkingThirdParty;
8
+ }());
9
+ exports.ParkingThirdParty = ParkingThirdParty;
@@ -0,0 +1,12 @@
1
+ import { DeregisterParkingDiscountCommand, DeregisterParkingPassCommand, ParkingThirdParty, RegisterParkingDiscountCommand, RegisterParkingPassCommand, SearchVehiclesByNumberCriteria } from './parkingThirdParty.type';
2
+ import { BaseParkingThirdPartyCaller } from './parkingThridPartyCaller.type';
3
+ export default class ParkingThirdPartyCaller implements BaseParkingThirdPartyCaller {
4
+ private parkingThirdParty;
5
+ constructor();
6
+ use(parkingThirdParty: ParkingThirdParty): void;
7
+ searchVehiclesByNumber(criteria: SearchVehiclesByNumberCriteria): Promise<any[]>;
8
+ registerParkingDiscount(command: RegisterParkingDiscountCommand): Promise<boolean>;
9
+ deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
10
+ registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
11
+ deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
12
+ }
@@ -0,0 +1,148 @@
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var ParkingThirdPartyCaller = /** @class */ (function () {
40
+ // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function
41
+ function ParkingThirdPartyCaller() {
42
+ }
43
+ ParkingThirdPartyCaller.prototype.use = function (parkingThirdParty) {
44
+ this.parkingThirdParty = parkingThirdParty;
45
+ };
46
+ ParkingThirdPartyCaller.prototype.searchVehiclesByNumber = function (criteria) {
47
+ return __awaiter(this, void 0, void 0, function () {
48
+ var searchResult, err_1;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ _a.trys.push([0, 2, , 3]);
53
+ return [4 /*yield*/, this.parkingThirdParty.searchVehiclesByNumber(criteria)];
54
+ case 1:
55
+ searchResult = _a.sent();
56
+ return [2 /*return*/, searchResult];
57
+ case 2:
58
+ err_1 = _a.sent();
59
+ console.error("searchVehiclesByNumber failed: ".concat(err_1));
60
+ return [2 /*return*/, []];
61
+ case 3: return [2 /*return*/];
62
+ }
63
+ });
64
+ });
65
+ };
66
+ ParkingThirdPartyCaller.prototype.registerParkingDiscount = function (command) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var err_2;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ _a.trys.push([0, 2, , 3]);
73
+ return [4 /*yield*/, this.parkingThirdParty.registerParkingDiscount(command)];
74
+ case 1:
75
+ _a.sent();
76
+ return [2 /*return*/, true];
77
+ case 2:
78
+ err_2 = _a.sent();
79
+ console.error("registerParkingDiscount failed: ".concat(err_2));
80
+ return [2 /*return*/, false];
81
+ case 3: return [2 /*return*/];
82
+ }
83
+ });
84
+ });
85
+ };
86
+ ParkingThirdPartyCaller.prototype.deregisterParkingDiscount = function (command) {
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ var err_3;
89
+ return __generator(this, function (_a) {
90
+ switch (_a.label) {
91
+ case 0:
92
+ _a.trys.push([0, 2, , 3]);
93
+ return [4 /*yield*/, this.parkingThirdParty.deregisterParkingDiscount(command)];
94
+ case 1:
95
+ _a.sent();
96
+ return [2 /*return*/, true];
97
+ case 2:
98
+ err_3 = _a.sent();
99
+ console.error("deregisterParkingDiscount failed: ".concat(err_3));
100
+ return [2 /*return*/, false];
101
+ case 3: return [2 /*return*/];
102
+ }
103
+ });
104
+ });
105
+ };
106
+ ParkingThirdPartyCaller.prototype.registerParkingPass = function (command) {
107
+ return __awaiter(this, void 0, void 0, function () {
108
+ var err_4;
109
+ return __generator(this, function (_a) {
110
+ switch (_a.label) {
111
+ case 0:
112
+ _a.trys.push([0, 2, , 3]);
113
+ return [4 /*yield*/, this.parkingThirdParty.registerParkingPass(command)];
114
+ case 1:
115
+ _a.sent();
116
+ return [2 /*return*/, true];
117
+ case 2:
118
+ err_4 = _a.sent();
119
+ console.error("registerParkingPass failed: ".concat(err_4));
120
+ return [2 /*return*/, false];
121
+ case 3: return [2 /*return*/];
122
+ }
123
+ });
124
+ });
125
+ };
126
+ ParkingThirdPartyCaller.prototype.deregisterParkingPass = function (command) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var err_5;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0:
132
+ _a.trys.push([0, 2, , 3]);
133
+ return [4 /*yield*/, this.parkingThirdParty.deregisterParkingPass(command)];
134
+ case 1:
135
+ _a.sent();
136
+ return [2 /*return*/, true];
137
+ case 2:
138
+ err_5 = _a.sent();
139
+ console.error("deregisterParkingPass failed: ".concat(err_5));
140
+ return [2 /*return*/, false];
141
+ case 3: return [2 /*return*/];
142
+ }
143
+ });
144
+ });
145
+ };
146
+ return ParkingThirdPartyCaller;
147
+ }());
148
+ exports.default = ParkingThirdPartyCaller;
@@ -0,0 +1,4 @@
1
+ import { ParkingThirdParty } from './parkingThirdParty.type';
2
+ export declare abstract class BaseParkingThirdPartyCaller extends ParkingThirdParty {
3
+ abstract use(parkingThirdParty: ParkingThirdParty): void;
4
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ // interface ParkingThirdParty {
3
+ // searchVehiclesByNumber: () => any;
4
+ // parkingThridPartyCaller
5
+ // }
6
+ var __extends = (this && this.__extends) || (function () {
7
+ var extendStatics = function (d, b) {
8
+ extendStatics = Object.setPrototypeOf ||
9
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11
+ return extendStatics(d, b);
12
+ };
13
+ return function (d, b) {
14
+ if (typeof b !== "function" && b !== null)
15
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
16
+ extendStatics(d, b);
17
+ function __() { this.constructor = d; }
18
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
19
+ };
20
+ })();
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.BaseParkingThirdPartyCaller = void 0;
23
+ var parkingThirdParty_type_1 = require("./parkingThirdParty.type");
24
+ var BaseParkingThirdPartyCaller = /** @class */ (function (_super) {
25
+ __extends(BaseParkingThirdPartyCaller, _super);
26
+ function BaseParkingThirdPartyCaller() {
27
+ return _super !== null && _super.apply(this, arguments) || this;
28
+ }
29
+ return BaseParkingThirdPartyCaller;
30
+ }(parkingThirdParty_type_1.ParkingThirdParty));
31
+ exports.BaseParkingThirdPartyCaller = BaseParkingThirdPartyCaller;
@@ -1,6 +1,6 @@
1
1
  import { UserServiceGrpcCaller } from '@vendit-dev/utility-modules';
2
2
  import MutexLock from '../utils/mutex';
3
- declare type VenditWingsAuthInfo = {
3
+ type VenditWingsAuthInfo = {
4
4
  scope: string;
5
5
  credential: {
6
6
  companyId: string;
@@ -20,13 +20,13 @@ declare type VenditWingsAuthInfo = {
20
20
  };
21
21
  expiresAt: number;
22
22
  };
23
- declare type WingsCommonCredential = {
23
+ type WingsCommonCredential = {
24
24
  vendorId: string;
25
25
  companyId: string;
26
26
  apiKey: string;
27
27
  kioskIp: string;
28
28
  };
29
- declare type WingsApiCommonResponse = {
29
+ type WingsApiCommonResponse = {
30
30
  resultData: any;
31
31
  };
32
32
  export declare class WingsApiController {
@@ -127,7 +127,7 @@ export default class WingsAdapter {
127
127
  langType: string;
128
128
  }) => Promise<{
129
129
  walkinInfo: any;
130
- roomInfo: [unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown];
130
+ roomInfo: any[];
131
131
  } | null>;
132
132
  processWalkIn: ({ accommodationId, roomTypeCode, startDate, endDate, nights, salesDate, guestName, adultCount, childCount, dailyRoomFees, carNumber, mobileNumber, }: {
133
133
  accommodationId: string;