UNPKG

srtrain

Version:
58 lines (57 loc) 2.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SRTReservation = void 0; const moment_1 = __importDefault(require("moment")); const errorCode_1 = require("./constants/errorCode"); const error_1 = require("./error"); const ticket_1 = require("./ticket"); const train_1 = require("./train"); class SRTReservation { srt; reservationId; totalPrice; seatCount; train; paymentDate; paid; tickets; constructor(srt, options) { this.srt = srt; const { trainData, payData } = options; this.reservationId = trainData['pnrNo']; this.totalPrice = parseInt(trainData['rcvdAmt']); this.seatCount = parseInt(trainData['tkSpecNum']); this.train = new train_1.SRTTrain(srt, payData); this.paymentDate = (0, moment_1.default)(`${payData['iseLmtDt']} ${payData['iseLmtTm']}`, 'YYYYMMDD HHmmss'); this.paid = payData['stlFlg'] === 'Y'; } async getTickets() { if (this.tickets) return this.tickets; if (!this.srt.isLoggined) { throw new error_1.SRTError(errorCode_1.SRTErrorCode.LOGIN_REQUIRED, '로그인 후 사용하십시요.'); } const { data } = await this.srt.axios.post('/ard/selectListArd02017_n.do', { pnrNo: this.reservationId, jrnySqno: '1', }); this.srt.parseResponse(data); this.tickets = data['trainListMap'].map((ticketData) => new ticket_1.SRTTicket(this.srt, ticketData)); return this.tickets; } async cancel() { if (!this.srt.isLoggined) { throw new error_1.SRTError(errorCode_1.SRTErrorCode.LOGIN_REQUIRED, '로그인 후 사용하십시요.'); } const { data } = await this.srt.axios.post('/ard/selectListArd02045_n.do', { pnrNo: this.reservationId, jrnyCnt: '1', rsvChgTno: '0', }); this.srt.parseResponse(data); } } exports.SRTReservation = SRTReservation;