@vendit-dev/thirdparty-adapters 0.7.6 → 0.7.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.
Files changed (43) hide show
  1. package/.idea/codeStyles/Project.xml +50 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/thirdparty-adapters.iml +12 -0
  6. package/.idea/vcs.xml +6 -0
  7. package/lib/adapters/externalChannelManagers/externalChannelManager.type.d.ts +130 -0
  8. package/lib/adapters/externalChannelManagers/externalChannelManager.type.js +40 -0
  9. package/lib/adapters/externalChannelManagers/externalChannelManagerCaller.d.ts +10 -0
  10. package/lib/adapters/externalChannelManagers/externalChannelManagerCaller.js +79 -0
  11. package/lib/adapters/externalChannelManagers/externalChannelManagerCaller.type.d.ts +4 -0
  12. package/lib/adapters/externalChannelManagers/externalChannelManagerCaller.type.js +27 -0
  13. package/lib/adapters/externalChannelManagers/tl-lincoln.d.ts +25 -0
  14. package/lib/adapters/externalChannelManagers/tl-lincoln.helper.d.ts +23 -0
  15. package/lib/adapters/externalChannelManagers/tl-lincoln.helper.js +381 -0
  16. package/lib/adapters/externalChannelManagers/tl-lincoln.js +321 -0
  17. package/lib/adapters/externalChannelManagers/tl-lincoln.types.d.ts +583 -0
  18. package/lib/adapters/externalChannelManagers/tl-lincoln.types.js +32 -0
  19. package/lib/adapters/externalChannelManagers/tl-sample.d.ts +1218 -0
  20. package/lib/adapters/externalChannelManagers/tl-sample.js +3974 -0
  21. package/lib/adapters/parking/amano.d.ts +1 -0
  22. package/lib/adapters/parking/amano.js +3 -0
  23. package/lib/adapters/parking/nicePark.d.ts +2 -1
  24. package/lib/adapters/parking/nicePark.js +37 -2
  25. package/lib/adapters/parking/parkingThirdParty.type.d.ts +11 -0
  26. package/lib/adapters/parking/parkingThridPartyCaller.d.ts +1 -0
  27. package/lib/adapters/parking/parkingThridPartyCaller.js +20 -0
  28. package/lib/adapters/smartAccess.d.ts +7 -2
  29. package/lib/adapters/smartAccess.js +26 -25
  30. package/lib/index.d.ts +4 -2
  31. package/lib/index.js +7 -3
  32. package/lib/types/common.d.ts +385 -0
  33. package/lib/types/common.js +2 -0
  34. package/lib/types/index.d.ts +2 -0
  35. package/lib/types/index.js +18 -0
  36. package/lib/types/tl-lincoln.ota.d.ts +1 -0
  37. package/lib/types/tl-lincoln.ota.js +121 -0
  38. package/lib/utils/function.d.ts +2 -0
  39. package/lib/utils/function.js +15 -0
  40. package/package.json +48 -49
  41. package/lib/utils/number.util.d.ts +0 -1
  42. package/lib/utils/number.util.js +0 -26
  43. package/yarn-error.log +0 -4583
@@ -15,5 +15,6 @@ export declare class AmanoThirdParty implements ParkingThirdParty {
15
15
  deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
16
16
  registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
17
17
  deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
18
+ getRegisteredVehicles(criteria: any): Promise<any[]>;
18
19
  }
19
20
  export {};
@@ -20,6 +20,9 @@ var AmanoThirdParty = /** @class */ (function () {
20
20
  AmanoThirdParty.prototype.deregisterParkingPass = function (command) {
21
21
  throw new Error('Method not implemented in Amano yet.');
22
22
  };
23
+ AmanoThirdParty.prototype.getRegisteredVehicles = function (criteria) {
24
+ throw new Error('Method not implemented in Amano yet.');
25
+ };
23
26
  return AmanoThirdParty;
24
27
  }());
25
28
  exports.AmanoThirdParty = AmanoThirdParty;
@@ -1,4 +1,4 @@
1
- import { DeregisterParkingDiscountCommand, DeregisterParkingPassCommand, ParkingThirdParty, RegisterParkingDiscountCommand, RegisterParkingPassCommand, SearchVehiclesByNumberCriteria, SearchVehiclesByNumberResult } from './parkingThirdParty.type';
1
+ import { DeregisterParkingDiscountCommand, DeregisterParkingPassCommand, GetRegisteredVehiclesCriteria, ParkingThirdParty, RegisteredVehicleResult, RegisterParkingDiscountCommand, RegisterParkingPassCommand, SearchVehiclesByNumberCriteria, SearchVehiclesByNumberResult } from './parkingThirdParty.type';
2
2
  export interface NiceParkingConfig {
3
3
  dbHost: string;
4
4
  dbPort: string;
@@ -19,4 +19,5 @@ export declare class NiceParkThirdParty implements ParkingThirdParty {
19
19
  deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
20
20
  registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
21
21
  deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
22
+ getRegisteredVehicles(criteria: GetRegisteredVehiclesCriteria): Promise<RegisteredVehicleResult[]>;
22
23
  }
@@ -139,8 +139,10 @@ var NiceParkThirdParty = /** @class */ (function () {
139
139
  switch (_c.label) {
140
140
  case 0:
141
141
  from = command.from, to = command.to, vehicleNumber = command.vehicleNumber;
142
- fromDateString = (0, moment_1.default)(from).format('YYYYMMDD');
143
- toDateString = (0, moment_1.default)(to).format('YYYYMMDD');
142
+ fromDateString = (0, moment_1.default)(from)
143
+ .format('YYYYMMDD');
144
+ toDateString = (0, moment_1.default)(to)
145
+ .format('YYYYMMDD');
144
146
  _c.label = 1;
145
147
  case 1:
146
148
  _c.trys.push([1, 3, , 4]);
@@ -165,6 +167,39 @@ var NiceParkThirdParty = /** @class */ (function () {
165
167
  NiceParkThirdParty.prototype.deregisterParkingPass = function (command) {
166
168
  throw new Error('Method not implemented in NicePark yet.');
167
169
  };
170
+ NiceParkThirdParty.prototype.getRegisteredVehicles = function (criteria) {
171
+ return __awaiter(this, void 0, void 0, function () {
172
+ var startDate, endDate, startDateString, endDateString, result, refinedResult, err_4;
173
+ return __generator(this, function (_a) {
174
+ switch (_a.label) {
175
+ case 0:
176
+ startDate = criteria.startDate, endDate = criteria.endDate;
177
+ startDateString = (0, moment_1.default)(startDate)
178
+ .format('YYYYMMDD');
179
+ endDateString = (0, moment_1.default)(endDate)
180
+ .format('YYYYMMDD');
181
+ _a.label = 1;
182
+ case 1:
183
+ _a.trys.push([1, 3, , 4]);
184
+ return [4 /*yield*/, this.sequelize.query("select regularTkCarNo as vehicleNumber, regularTkStartDt as startDate, regularTkEndDt as endDate from View_RegRegularList_CODEIN where rgTkGrpCd = '".concat(this.configuration.groupCode, "' and regularTkStartDt >= '").concat(startDateString, "' and regularTkEndDt <= '").concat(endDateString, "' ").concat(criteria.vehicleNumber ? "and regularTkCarNo like '%".concat(criteria.vehicleNumber, "%'") : ''))];
185
+ case 2:
186
+ result = _a.sent();
187
+ refinedResult = result[0].map(function (item) { return ({
188
+ vehicleNumber: item.vehicleNumber,
189
+ startDate: new Date(item.startDate),
190
+ endDate: new Date(item.endDate),
191
+ }); });
192
+ console.log('NiceParkThirdParty#getRegisteredVehicles result: ', refinedResult);
193
+ return [2 /*return*/, refinedResult];
194
+ case 3:
195
+ err_4 = _a.sent();
196
+ console.error('NiceParkThirdParty#getRegisteredVehicles failed error: ', err_4);
197
+ return [3 /*break*/, 4];
198
+ case 4: return [2 /*return*/, []];
199
+ }
200
+ });
201
+ });
202
+ };
168
203
  return NiceParkThirdParty;
169
204
  }());
170
205
  exports.NiceParkThirdParty = NiceParkThirdParty;
@@ -27,10 +27,21 @@ export interface SearchVehiclesByNumberResult {
27
27
  vehicleNumber: string;
28
28
  enteredAt?: Date;
29
29
  }
30
+ export interface RegisteredVehicleResult {
31
+ vehicleNumber: string;
32
+ startDate: Date;
33
+ endDate: Date;
34
+ }
35
+ export interface GetRegisteredVehiclesCriteria {
36
+ startDate: Date;
37
+ endDate: Date;
38
+ vehicleNumber?: string;
39
+ }
30
40
  export declare abstract class ParkingThirdParty {
31
41
  abstract searchVehiclesByNumber(criteria: SearchVehiclesByNumberCriteria): Promise<SearchVehiclesByNumberResult[]>;
32
42
  abstract registerParkingDiscount(command: RegisterParkingDiscountCommand): Promise<boolean>;
33
43
  abstract deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
34
44
  abstract registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
35
45
  abstract deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
46
+ abstract getRegisteredVehicles(criteria: GetRegisteredVehiclesCriteria): Promise<RegisteredVehicleResult[]>;
36
47
  }
@@ -9,4 +9,5 @@ export default class ParkingThirdPartyCaller implements BaseParkingThirdPartyCal
9
9
  deregisterParkingDiscount(command: DeregisterParkingDiscountCommand): Promise<boolean>;
10
10
  registerParkingPass(command: RegisterParkingPassCommand): Promise<boolean>;
11
11
  deregisterParkingPass(command: DeregisterParkingPassCommand): Promise<boolean>;
12
+ getRegisteredVehicles(criteria: any): Promise<any[]>;
12
13
  }
@@ -143,6 +143,26 @@ var ParkingThirdPartyCaller = /** @class */ (function () {
143
143
  });
144
144
  });
145
145
  };
146
+ ParkingThirdPartyCaller.prototype.getRegisteredVehicles = function (criteria) {
147
+ return __awaiter(this, void 0, void 0, function () {
148
+ var result, err_6;
149
+ return __generator(this, function (_a) {
150
+ switch (_a.label) {
151
+ case 0:
152
+ _a.trys.push([0, 2, , 3]);
153
+ return [4 /*yield*/, this.parkingThirdParty.getRegisteredVehicles(criteria)];
154
+ case 1:
155
+ result = _a.sent();
156
+ return [2 /*return*/, result];
157
+ case 2:
158
+ err_6 = _a.sent();
159
+ console.error("getRegisteredVehicles failed: ".concat(err_6));
160
+ return [2 /*return*/, []];
161
+ case 3: return [2 /*return*/];
162
+ }
163
+ });
164
+ });
165
+ };
146
166
  return ParkingThirdPartyCaller;
147
167
  }());
148
168
  exports.default = ParkingThirdPartyCaller;
@@ -73,21 +73,26 @@ export default class SmartAccessAdapter {
73
73
  lockList: SmartAccessRoomKey[];
74
74
  }>;
75
75
  getRoomsWithDevices: (accommodationId: string) => Promise<SmartAccessRoom[]>;
76
- createPinCodeForRoom: ({ roomId, accommodationId, userType, keyType, startDate, endDate, }: {
76
+ createPinCodeForRoom: ({ roomId, accommodationId, userType, keyType, startDate, endDate, pinCode, }: {
77
77
  roomId: string;
78
78
  accommodationId: string;
79
79
  userType: 'GUEST' | 'EMPLOYEE';
80
80
  keyType: 'SCHEDULE' | 'ONETIME';
81
81
  startDate: Date;
82
82
  endDate: Date;
83
+ /**
84
+ * @description 4~12자리 출입 비밀번호, 미입력 시 시스템에서 6자리 랜덤 키 발급(권장)
85
+ */
86
+ pinCode?: string | null | undefined;
83
87
  }) => Promise<any>;
84
- modifyPinCodeByKeyId: ({ keyId, accommodationId, userType, keyType, startDate, endDate, }: {
88
+ modifyPinCodeByKeyId: ({ keyId, accommodationId, userType, keyType, startDate, endDate, pinCode, }: {
85
89
  keyId: string;
86
90
  accommodationId: string;
87
91
  userType: 'GUEST' | 'EMPLOYEE';
88
92
  keyType: 'SCHEDULE' | 'ONETIME';
89
93
  startDate: Date;
90
94
  endDate: Date;
95
+ pinCode?: string | undefined;
91
96
  }) => Promise<any>;
92
97
  deletePinCodeByKeyId: ({ keyId, accommodationId, }: {
93
98
  keyId: string;
@@ -293,12 +293,12 @@ var SmartAccessAdapter = /** @class */ (function () {
293
293
  });
294
294
  }); };
295
295
  this.createPinCodeForRoom = function (_a) {
296
- var roomId = _a.roomId, accommodationId = _a.accommodationId, userType = _a.userType, keyType = _a.keyType, startDate = _a.startDate, endDate = _a.endDate;
296
+ var roomId = _a.roomId, accommodationId = _a.accommodationId, userType = _a.userType, keyType = _a.keyType, startDate = _a.startDate, endDate = _a.endDate, _b = _a.pinCode, pinCode = _b === void 0 ? null : _b;
297
297
  return __awaiter(_this, void 0, void 0, function () {
298
298
  var foundProperty, data, parsedProperty, parsedData, pinCodeResult, keyId, pinCodeQuery, lockInfo;
299
- var _b;
300
- return __generator(this, function (_c) {
301
- switch (_c.label) {
299
+ var _c;
300
+ return __generator(this, function (_d) {
301
+ switch (_d.label) {
302
302
  case 0: return [4 /*yield*/, this.authenticator.getThirdPartyPropertyByRelatedId({
303
303
  accommodationId: accommodationId,
304
304
  provider: this.PROVIDER_KEY,
@@ -306,7 +306,7 @@ var SmartAccessAdapter = /** @class */ (function () {
306
306
  type: 'room',
307
307
  })];
308
308
  case 1:
309
- foundProperty = _c.sent();
309
+ foundProperty = _d.sent();
310
310
  if (!(foundProperty === null || foundProperty === void 0 ? void 0 : foundProperty.result)) return [3 /*break*/, 4];
311
311
  data = foundProperty.data;
312
312
  parsedProperty = JSON.parse(data);
@@ -317,7 +317,7 @@ var SmartAccessAdapter = /** @class */ (function () {
317
317
  params: {
318
318
  userType: userType,
319
319
  keyType: keyType,
320
- pinCode: null,
320
+ pinCode: pinCode,
321
321
  roomId: parsedProperty.thirdPartyId,
322
322
  accessStartDate: (0, moment_1.default)(startDate)
323
323
  .add(9, 'hours')
@@ -326,7 +326,7 @@ var SmartAccessAdapter = /** @class */ (function () {
326
326
  },
327
327
  })];
328
328
  case 2:
329
- pinCodeResult = _c.sent();
329
+ pinCodeResult = _d.sent();
330
330
  keyId = pinCodeResult.keyId;
331
331
  return [4 /*yield*/, this.callSmartAccessApi({
332
332
  accommodationId: accommodationId,
@@ -334,43 +334,44 @@ var SmartAccessAdapter = /** @class */ (function () {
334
334
  route: "v1/key/".concat(keyId, "/pincode"),
335
335
  })];
336
336
  case 3:
337
- pinCodeQuery = _c.sent();
338
- lockInfo = ((_b = pinCodeQuery === null || pinCodeQuery === void 0 ? void 0 : pinCodeQuery.lockList) === null || _b === void 0 ? void 0 : _b[0]) || {};
337
+ pinCodeQuery = _d.sent();
338
+ lockInfo = ((_c = pinCodeQuery === null || pinCodeQuery === void 0 ? void 0 : pinCodeQuery.lockList) === null || _c === void 0 ? void 0 : _c[0]) || {};
339
339
  return [2 /*return*/, __assign(__assign({}, lockInfo), { pinCode: (lockInfo === null || lockInfo === void 0 ? void 0 : lockInfo.pinCode) || (parsedData === null || parsedData === void 0 ? void 0 : parsedData.masterPinCode), keyId: keyId, pinCodeResult: pinCodeResult })];
340
- case 4: return [2 /*return*/];
340
+ case 4: return [2 /*return*/, {
341
+ error: 'THIRDPARTY_PROPERTY_NOT_FOUND',
342
+ }];
341
343
  }
342
344
  });
343
345
  });
344
346
  };
345
347
  this.modifyPinCodeByKeyId = function (_a) {
346
- var keyId = _a.keyId, accommodationId = _a.accommodationId, userType = _a.userType, keyType = _a.keyType, startDate = _a.startDate, endDate = _a.endDate;
348
+ var keyId = _a.keyId, accommodationId = _a.accommodationId, userType = _a.userType, keyType = _a.keyType, startDate = _a.startDate, endDate = _a.endDate, pinCode = _a.pinCode;
347
349
  return __awaiter(_this, void 0, void 0, function () {
348
- var pinCodeResult, pinCodeQuery;
349
- return __generator(this, function (_b) {
350
- switch (_b.label) {
350
+ var pinCodeResult, newKeyId, pinCodeQuery;
351
+ var _b;
352
+ return __generator(this, function (_c) {
353
+ switch (_c.label) {
351
354
  case 0: return [4 /*yield*/, this.callSmartAccessApi({
352
355
  accommodationId: accommodationId,
353
356
  method: 'put',
354
357
  route: "v1/key/".concat(keyId, "/pincode"),
355
- params: {
356
- userType: userType,
357
- keyType: keyType,
358
- accessStartDate: (0, moment_1.default)(startDate)
358
+ params: __assign({ userType: userType, keyType: keyType, accessStartDate: (0, moment_1.default)(startDate)
359
359
  .add(9, 'hours')
360
- .format('YYYYMMDDHHmm'),
361
- accessEndDate: (0, moment_1.default)(endDate).add(9, 'hours').format('YYYYMMDDHHmm'),
362
- },
360
+ .format('YYYYMMDDHHmm'), accessEndDate: (0, moment_1.default)(endDate).add(9, 'hours').format('YYYYMMDDHHmm') }, (pinCode && {
361
+ pinCode: pinCode,
362
+ })),
363
363
  })];
364
364
  case 1:
365
- pinCodeResult = _b.sent();
365
+ pinCodeResult = _c.sent();
366
+ newKeyId = pinCodeResult.keyId;
366
367
  return [4 /*yield*/, this.callSmartAccessApi({
367
368
  accommodationId: accommodationId,
368
369
  method: 'get',
369
- route: "v1/key/".concat(keyId, "/pincode"),
370
+ route: "v1/key/".concat(newKeyId || keyId, "/pincode"),
370
371
  })];
371
372
  case 2:
372
- pinCodeQuery = _b.sent();
373
- return [2 /*return*/, __assign(__assign({}, pinCodeQuery.lockList[0]), { keyId: keyId })];
373
+ pinCodeQuery = _c.sent();
374
+ return [2 /*return*/, __assign(__assign({}, (_b = pinCodeQuery.lockList) === null || _b === void 0 ? void 0 : _b[0]), { keyId: newKeyId })];
374
375
  }
375
376
  });
376
377
  });
package/lib/index.d.ts CHANGED
@@ -3,5 +3,7 @@ import SanhaWingsAdapter from './adapters/sanhaWings';
3
3
  import SmartAccessAdapter from './adapters/smartAccess';
4
4
  import ThemrIoTAdapter from './adapters/themrIoT';
5
5
  import { NiceParkThirdParty, NiceParkingConfig } from './adapters/parking/nicePark';
6
- export { default as ParkingThirdPartyCaller } from './adapters/parking/parkingThridPartyCaller';
7
- export { AmanoKoreaAdapter, SanhaWingsAdapter, NiceParkThirdParty, SmartAccessAdapter, NiceParkingConfig, ThemrIoTAdapter as TheMRIoTAdapter, };
6
+ import { TlLincoln } from './adapters/externalChannelManagers/tl-lincoln';
7
+ import ParkingThirdPartyCaller from './adapters/parking/parkingThridPartyCaller';
8
+ import ExternalChannelManagerCaller from './adapters/externalChannelManagers/externalChannelManagerCaller';
9
+ export { AmanoKoreaAdapter, SanhaWingsAdapter, NiceParkThirdParty, SmartAccessAdapter, NiceParkingConfig, ThemrIoTAdapter as TheMRIoTAdapter, ParkingThirdPartyCaller, ExternalChannelManagerCaller, TlLincoln, };
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TheMRIoTAdapter = exports.SmartAccessAdapter = exports.NiceParkThirdParty = exports.SanhaWingsAdapter = exports.AmanoKoreaAdapter = exports.ParkingThirdPartyCaller = void 0;
6
+ exports.TlLincoln = exports.ExternalChannelManagerCaller = exports.ParkingThirdPartyCaller = exports.TheMRIoTAdapter = exports.SmartAccessAdapter = exports.NiceParkThirdParty = exports.SanhaWingsAdapter = exports.AmanoKoreaAdapter = void 0;
7
7
  var amanoKorea_1 = __importDefault(require("./adapters/amanoKorea"));
8
8
  exports.AmanoKoreaAdapter = amanoKorea_1.default;
9
9
  var sanhaWings_1 = __importDefault(require("./adapters/sanhaWings"));
@@ -14,5 +14,9 @@ var themrIoT_1 = __importDefault(require("./adapters/themrIoT"));
14
14
  exports.TheMRIoTAdapter = themrIoT_1.default;
15
15
  var nicePark_1 = require("./adapters/parking/nicePark");
16
16
  Object.defineProperty(exports, "NiceParkThirdParty", { enumerable: true, get: function () { return nicePark_1.NiceParkThirdParty; } });
17
- var parkingThridPartyCaller_1 = require("./adapters/parking/parkingThridPartyCaller");
18
- Object.defineProperty(exports, "ParkingThirdPartyCaller", { enumerable: true, get: function () { return __importDefault(parkingThridPartyCaller_1).default; } });
17
+ var tl_lincoln_1 = require("./adapters/externalChannelManagers/tl-lincoln");
18
+ Object.defineProperty(exports, "TlLincoln", { enumerable: true, get: function () { return tl_lincoln_1.TlLincoln; } });
19
+ var parkingThridPartyCaller_1 = __importDefault(require("./adapters/parking/parkingThridPartyCaller"));
20
+ exports.ParkingThirdPartyCaller = parkingThridPartyCaller_1.default;
21
+ var externalChannelManagerCaller_1 = __importDefault(require("./adapters/externalChannelManagers/externalChannelManagerCaller"));
22
+ exports.ExternalChannelManagerCaller = externalChannelManagerCaller_1.default;