diff --git a/app.js b/app.js index 019e322..e700350 100644 --- a/app.js +++ b/app.js @@ -329,6 +329,7 @@ app.post('/ssb/profile/historyPackage', require('./ssb').queryHistoryPackage); app.post('/ssb/profile/currentPackage', require('./ssb').queryCurrentPackage); app.post('/ssb/package/apply', require('./ssb').applyPack); app.post('/ssb/package/subscriber', require('./ssb').deletePackage); // +app.post('/ssb/transform', require('./ssb').createNewRegistration); // app.post('/verifyReceipt', require('./apple').verifyReceipt); // @@ -374,6 +375,7 @@ app.post('/point/v1/deleteCustomer', require('./micro_point').deleteCustomer); app.post('/privilege/v1/history/delete', require('./privilege').deleteCustomer); app.post('/v1/MVP/enq/getMobileOfferInventory/', require('./true').getMobileOfferInventory); +app.post('/v1/get_AccountStatusHistoryList/', require('./true').getAccountStatusHistoryList); app.post('/api/v1/LG-API/notifySubscription', require('./lg').notifySubscription); diff --git a/ccbs.js b/ccbs.js index 32eae1a..8056199 100644 --- a/ccbs.js +++ b/ccbs.js @@ -76,7 +76,7 @@ module.exports.assetDetail = async (req, res) => { "term": "12", "fee": "xxxx", "startDate": "04/10/2019", - "expireDate": "05/10/2022", + "expireDate": "05/07/2022", "contractIndicator": "No", "offerCode": "12534317", "contractNumber": "-", @@ -161,7 +161,15 @@ module.exports.usageInfo = async (req, res) => { }, "trueWallet": { "device": "123", - "lastAccess": "123" + "lastAccess": "" + }, + "trueTv": { + "device": "", + "lastAccess": "27/11/2018 04:31:22" + }, + "trueVisions": { + "device": "", + "lastAccess": "" }, "tdgError": false, "TrueMoneyError": true diff --git a/int.js b/int.js index b088d29..3da74c2 100644 --- a/int.js +++ b/int.js @@ -90,21 +90,21 @@ module.exports.getFuturePromotionList = async (req, res) => { let response = { "getFuturePromotionListResponse": { "return": { - "uuid": "df9f1de2-9d11-43e5-b836-7b589fb8e084", + "uuid": "4cee2c7d-37aa-445c-b3da-e2fd0467b53d", "errorCode": "OSBbllngA00001", "message": "Success.", "futureOfferList": { - "size": 4, + "size": 8, "futureOfferArray": [ { "offer": { - "socType": "D", + "socType": "U", "iddIndicator": "N", - "code": "14284917", + "code": "53032", "rcRate": "0.0", "irIndicator": "N", - "name": "VGSHFYYD228", - "description": "Disc. Subscription Fee for 6 Months Sub.", + "name": "INTSPS01", + "description": "Internation Call Special Rate", "ffIndicator": "N", "serviceLevel": { "code": "C", @@ -113,28 +113,77 @@ module.exports.getFuturePromotionList = async (req, res) => { "cugIndicator": "N" }, "future": { - "orderType": null, + "orderType": { + "code": "2", + "description": "ChangePP" + }, + "activityReason": "CREQ", + "futureSource": "OMX", + "futureSocParentId": "1216", + "futureId": "1091", + "futureType": "NXTPP", + "remark": "RETEAP60->SMRTCP09", + "futureSocId": "1220", + "createDate": "2018-10-06T17:09:19.000+07:00", + "status": { + "code": "1", + "description": "WAITING" + } + }, + "serviceAgreement": { + "agreementSocSequence": null, + "agreementId": "1265897", + "expirationIssueDate": null, + "parentSocSequence": null, + "effectiveDate": null, + "effectiveIssueDate": "2018-10-06T00:00:00.000+07:00", + "socSequence": null, + "expirationDate": null, + "status": "F" + } + }, + { + "offer": { + "socType": "P", + "iddIndicator": "N", + "code": "12996017", + "rcRate": "899.0", + "irIndicator": "N", + "name": "SMRTCP09", + "description": "N_4G+ Super Smart 899, Voice500min Net 12 GB Unltd", + "ffIndicator": "N", + "serviceLevel": { + "code": "C", + "description": "Subscriber" + }, + "cugIndicator": "N" + }, + "future": { + "orderType": { + "code": "2", + "description": "ChangePP" + }, "activityReason": "CREQ", - "futureSource": "ADDSERVICES", + "futureSource": "OMX", "futureSocParentId": null, - "futureId": null, - "futureType": "REQUEST", - "remark": null, - "futureSocId": "927420", - "createDate": "2018-02-27T23:59:59.000+07:00", + "futureId": "1091", + "futureType": "NXTPP", + "remark": "RETEAP60->SMRTCP09", + "futureSocId": "1216", + "createDate": "2018-10-06T17:09:19.000+07:00", "status": { - "code": "B", - "description": "PROCESSING" + "code": "1", + "description": "WAITING" } }, "serviceAgreement": { "agreementSocSequence": null, - "agreementId": "1062554", + "agreementId": "1265897", "expirationIssueDate": null, "parentSocSequence": null, - "effectiveDate": "2018-02-28T00:00:00.000+07:00", - "effectiveIssueDate": "2018-02-27T23:59:59.000+07:00", - "socSequence": "927420", + "effectiveDate": "2020-11-02T00:00:00.000+07:00", + "effectiveIssueDate": "2018-10-06T00:00:00.000+07:00", + "socSequence": null, "expirationDate": null, "status": "F" } @@ -143,11 +192,11 @@ module.exports.getFuturePromotionList = async (req, res) => { "offer": { "socType": "U", "iddIndicator": "N", - "code": "14053717", - "rcRate": "145.0", + "code": "41701", + "rcRate": "0.0", "irIndicator": "N", - "name": "VGRET06S085", - "description": "#1 IRD/STD Happy Family HD", + "name": "RMPGPS01", + "description": "GPRS Provisioning SOC - RMV (HMMS,HINTERNET)", "ffIndicator": "N", "serviceLevel": { "code": "C", @@ -156,41 +205,182 @@ module.exports.getFuturePromotionList = async (req, res) => { "cugIndicator": "N" }, "future": { - "orderType": null, + "orderType": { + "code": "2", + "description": "ChangePP" + }, "activityReason": "CREQ", - "futureSource": "ADDSERVICES", - "futureSocParentId": null, - "futureId": null, - "futureType": "REQUEST", - "remark": null, - "futureSocId": "927421", - "createDate": "2018-02-27T23:59:59.000+07:00", + "futureSource": "OMX", + "futureSocParentId": "1216", + "futureId": "1091", + "futureType": "NXTPP", + "remark": "RETEAP60->SMRTCP09", + "futureSocId": "1219", + "createDate": "2018-10-06T17:09:19.000+07:00", "status": { - "code": "B", - "description": "PROCESSING" + "code": "1", + "description": "WAITING" } }, "serviceAgreement": { "agreementSocSequence": null, - "agreementId": "1062554", + "agreementId": "1265897", "expirationIssueDate": null, "parentSocSequence": null, - "effectiveDate": "2018-02-28T00:00:00.000+07:00", - "effectiveIssueDate": "2018-02-27T23:59:59.000+07:00", - "socSequence": "927421", + "effectiveDate": null, + "effectiveIssueDate": "2018-10-06T00:00:00.000+07:00", + "socSequence": null, "expirationDate": null, "status": "F" } }, { "offer": { - "socType": "D", + "socType": "U", + "iddIndicator": "N", + "code": "41661", + "rcRate": "0.0", + "irIndicator": "N", + "name": "RMHSPS04", + "description": "Hi-Speed 3G/EDGE/GPRS 42.0 Mbps - PostPay", + "ffIndicator": "N", + "serviceLevel": { + "code": "C", + "description": "Subscriber" + }, + "cugIndicator": "N" + }, + "future": { + "orderType": { + "code": "2", + "description": "ChangePP" + }, + "activityReason": "CREQ", + "futureSource": "OMX", + "futureSocParentId": "1216", + "futureId": "1091", + "futureType": "NXTPP", + "remark": "RETEAP60->SMRTCP09", + "futureSocId": "1218", + "createDate": "2018-10-06T17:09:19.000+07:00", + "status": { + "code": "1", + "description": "WAITING" + } + }, + "serviceAgreement": { + "agreementSocSequence": null, + "agreementId": "1265897", + "expirationIssueDate": null, + "parentSocSequence": null, + "effectiveDate": null, + "effectiveIssueDate": "2018-10-06T00:00:00.000+07:00", + "socSequence": null, + "expirationDate": null, + "status": "F" + } + }, + { + "offer": { + "socType": "U", + "iddIndicator": "N", + "code": "40941", + "rcRate": "0.0", + "irIndicator": "N", + "name": "PROSTDA1", + "description": "Standard Provisioning Services for Post Pay # 1", + "ffIndicator": "N", + "serviceLevel": { + "code": "C", + "description": "Subscriber" + }, + "cugIndicator": "N" + }, + "future": { + "orderType": { + "code": "2", + "description": "ChangePP" + }, + "activityReason": "CREQ", + "futureSource": "OMX", + "futureSocParentId": "1216", + "futureId": "1091", + "futureType": "NXTPP", + "remark": "RETEAP60->SMRTCP09", + "futureSocId": "1217", + "createDate": "2018-10-06T17:09:19.000+07:00", + "status": { + "code": "1", + "description": "WAITING" + } + }, + "serviceAgreement": { + "agreementSocSequence": null, + "agreementId": "1265897", + "expirationIssueDate": null, + "parentSocSequence": null, + "effectiveDate": null, + "effectiveIssueDate": "2018-10-06T00:00:00.000+07:00", + "socSequence": null, + "expirationDate": null, + "status": "F" + } + }, + { + "offer": { + "socType": "U", + "iddIndicator": "N", + "code": "59532", + "rcRate": "0.0", + "irIndicator": "N", + "name": "RMGPSS01", + "description": "GPRS Unlimited", + "ffIndicator": "N", + "serviceLevel": { + "code": "C", + "description": "Subscriber" + }, + "cugIndicator": "N" + }, + "future": { + "orderType": { + "code": "2", + "description": "ChangePP" + }, + "activityReason": "CREQ", + "futureSource": "OMX", + "futureSocParentId": "1216", + "futureId": "1091", + "futureType": "NXTPP", + "remark": "RETEAP60->SMRTCP09", + "futureSocId": "1221", + "createDate": "2018-10-06T17:09:19.000+07:00", + "status": { + "code": "1", + "description": "WAITING" + } + }, + "serviceAgreement": { + "agreementSocSequence": null, + "agreementId": "1265897", + "expirationIssueDate": null, + "parentSocSequence": null, + "effectiveDate": null, + "effectiveIssueDate": "2018-10-06T00:00:00.000+07:00", + "socSequence": null, + "expirationDate": null, + "status": "F" + } + }, + { + "offer": { + "socType": "U", "iddIndicator": "N", - "code": "14297617", + "code": "12900522", "rcRate": "0.0", "irIndicator": "N", - "name": "VGSHFYYD355", - "description": "Disc.Decoder Service Fee -6 Months Sub", + "name": "RETENS69", + "description": "Retention Voice Free 100 Mins (All Net) 12 Months", "ffIndicator": "N", "serviceLevel": { "code": "C", @@ -201,13 +391,13 @@ module.exports.getFuturePromotionList = async (req, res) => { "future": { "orderType": null, "activityReason": "CREQ", - "futureSource": "ADDSERVICES", + "futureSource": "REQUEST", "futureSocParentId": null, "futureId": null, - "futureType": "FUTPP", + "futureType": "UPDATESERVICES", "remark": null, - "futureSocId": "927422", - "createDate": "2018-02-27T23:59:59.000+07:00", + "futureSocId": "844758", + "createDate": "2019-04-29T10:23:10.000+07:00", "status": { "code": "B", "description": "PROCESSING" @@ -215,25 +405,25 @@ module.exports.getFuturePromotionList = async (req, res) => { }, "serviceAgreement": { "agreementSocSequence": null, - "agreementId": "1062554", + "agreementId": "1265897", "expirationIssueDate": null, "parentSocSequence": null, - "effectiveDate": "2018-02-28T00:00:00.000+07:00", - "effectiveIssueDate": "2018-02-27T23:59:59.000+07:00", - "socSequence": "927422", - "expirationDate": null, + "effectiveDate": "2018-10-08T00:00:00.000+07:00", + "effectiveIssueDate": "2019-04-29T10:23:10.000+07:00", + "socSequence": "844758", + "expirationDate": "2019-10-08T00:00:00.000+07:00", "status": "F" } }, { "offer": { - "socType": "U", + "socType": "D", "iddIndicator": "N", - "code": "11209513", - "rcRate": "145.0", + "code": "14009917", + "rcRate": "0.0", "irIndicator": "N", - "name": "VGRET01S001", - "description": "#1 IRD/STD", + "name": "RET037", + "description": "Privilege Discount 50% 12 mth", "ffIndicator": "N", "serviceLevel": { "code": "C", @@ -249,8 +439,8 @@ module.exports.getFuturePromotionList = async (req, res) => { "futureId": null, "futureType": "UPDATESERVICES", "remark": null, - "futureSocId": "265649", - "createDate": "2018-02-27T23:59:59.000+07:00", + "futureSocId": "844751", + "createDate": "2019-04-29T10:23:10.000+07:00", "status": { "code": "B", "description": "PROCESSING" @@ -258,13 +448,13 @@ module.exports.getFuturePromotionList = async (req, res) => { }, "serviceAgreement": { "agreementSocSequence": null, - "agreementId": "1062554", + "agreementId": "1265897", "expirationIssueDate": null, "parentSocSequence": null, - "effectiveDate": "2016-01-19T23:59:59.000+07:00", - "effectiveIssueDate": "2018-02-27T23:59:59.000+07:00", - "socSequence": "265649", - "expirationDate": "2018-02-28T00:00:00.000+07:00", + "effectiveDate": "2018-10-08T00:00:00.000+07:00", + "effectiveIssueDate": "2019-04-29T10:23:10.000+07:00", + "socSequence": "844751", + "expirationDate": "2019-10-08T00:00:00.000+07:00", "status": "F" } } @@ -290,46 +480,7 @@ module.exports.getCurrentCUGList = async (req, res) => { "message": "error." } - let response = { - "uuid": "efa38396-ea5a-4b55-8a07-bed5cb998d4a", - "errorCode": "INT00001", - "message": "Success.", - "cugOfferList": { - "cugOfferArray": [ - { - "cug": { - "groupDescription": "HR 001", - "groupId": "623", - "groupIdentifier": "Test", - "groupName": "HR 001", - "groupType": "GAS" - }, - "offerInfo": { - "code": "55092", - "description": "CUG On/Off Net (Package level)", - "name": "CCUGAS01", - "serviceLevel": { - "code": "C", - "description": "Subscriber" - }, - "socType": "U" - }, - "serviceAgreement": { - "agreementSocSequence": "58796", - "agreementId": "1052", - "expirationIssueDate": null, - "parentSocSequence": "58796", - "effectiveDate": "2013-05-12T16:46:04.000+07:00", - "effectiveIssueDate": "2013-05-12T16:46:04.000+07:00", - "socSequence": "58796", - "expirationDate": null, - "status": "A" - } - } - ], - "size": 1 - } - } + let response = { "uuid": "8efed95c-3b54-4491-8f1f-e32fa7a6feb4", "errorCode": "INT00001", "message": "Success.", "cugOfferList": { "cugOfferArray": [{ "cug": { "groupDescription": "คนสวยเทสเท่านั้น", "groupId": "7465", "groupIdentifier": "สุภาพรรณทดสอบจริง", "groupName": "AMTESTKA", "groupType": "GAS" }, "offerInfo": { "code": "20471", "description": "Closed User Group (CUG) service", "name": "CUGFRS05", "serviceLevel": { "code": "C", "description": "Subscriber" }, "socType": "U" }, "serviceAgreement": { "agreementSocSequence": 827884, "agreementId": 1230507, "expirationIssueDate": null, "parentSocSequence": 827884, "effectiveDate": "2018-08-23T00:00:00.000+07:00", "effectiveIssueDate": "2018-08-23T13:38:42.000+07:00", "socSequence": 827886, "expirationDate": null, "status": "A" } }, { "cug": { "groupDescription": "คนสวยเทสเท่านั้น", "groupId": "7465", "groupIdentifier": "สุภาพรรณทดสอบจริง", "groupName": "AMTESTKA", "groupType": "GAS" }, "offerInfo": { "code": "15152721", "description": "Close User Group (Free) - Family deal", "name": "CUGFRS14", "serviceLevel": { "code": "C", "description": "Subscriber" }, "socType": "U" }, "serviceAgreement": { "agreementSocSequence": 827883, "agreementId": 1230507, "expirationIssueDate": null, "parentSocSequence": 827883, "effectiveDate": "2018-08-23T00:00:00.000+07:00", "effectiveIssueDate": "2018-08-23T13:38:42.000+07:00", "socSequence": 827885, "expirationDate": null, "status": "A" } }], "size": 2 } } res.status(200).send(response) } @@ -455,7 +606,7 @@ module.exports.getCurrentCreditLimitAtSubList = async (req, res) => { } let response = { - "uuid": "09dc5cf6-6cfb-4732-baed-b29dba320069", + "uuid": "805b0218-32e4-4e15-a2ab-d8923be46850", "errorCode": "INT00001", "message": "Success.", "creditLimitAtSubList": { @@ -464,8 +615,8 @@ module.exports.getCurrentCreditLimitAtSubList = async (req, res) => { "creditLimitAtSubInfo": { "firstTriggerPercent": 0, "incrementTriggerPercent": 0, - "permanentThreshold": 5000, - "temporaryThreshold": 4454 + "permanentThreshold": 1000, + "temporaryThreshold": 2000 }, "offerInfo": { "code": "212158", @@ -478,13 +629,13 @@ module.exports.getCurrentCreditLimitAtSubList = async (req, res) => { "socType": "U" }, "serviceAgreement": { - "agreementSocSequence": null, - "agreementId": 1025625, + "agreementSocSequence": 827892, + "agreementId": 1230507, "expirationIssueDate": null, "parentSocSequence": null, - "effectiveDate": "2014-02-23T23:59:59.000+07:00", - "effectiveIssueDate": "2014-02-23T23:59:59.000+07:00", - "socSequence": 152147, + "effectiveDate": "2018-08-23T13:50:24.000+07:00", + "effectiveIssueDate": "2018-08-23T13:50:24.000+07:00", + "socSequence": 827892, "expirationDate": null, "status": "A" } diff --git a/intx.js b/intx.js index 620f69d..88c97a2 100644 --- a/intx.js +++ b/intx.js @@ -1732,7 +1732,259 @@ module.exports.getAllCCBSInvoiceList = async (req, res) => { } } - res.status(200).send(response) + let response1 = { + "getAllInvoiceListResponse": { + "return": { + "invoiceList": { + "size": "4", + "invoiceInfoArray": [ + { + "discountTaxAmount": "-140", + "adjustmentNetAmount": "0", + "availableAdjustmentNetAmount": "1099", + "invoiceBcBanId": "700046423", + "dueDate": "2021-06-03T00:00:00.000+07:00", + "orderIdGroup": "", + "vatRate": "0.00", + "converageEndDate1": "2021-06-09T00:00:00.000+07:00", + "discountAmount": "-2000", + "invoiceTFaxAmount": "76.93", + "invoiceAmount": "1099", + "invoiceStatusChangeDate": "2021-06-15T00:00:00.000+07:00", + "paymentAmount": "1175.93", + "baNo": "200078606", + "billTaxAmount": "307.72", + "billingDocumentType": { + "code": "BL", + "description": "Bill" + }, + "billAmount": "4703.72", + "invoiceType": "BILL", + "converageStartDate1": "2021-05-10T00:00:00.000+07:00", + "currency": "THB", + "billSequenceNo": "13522", + "invoiceNo": "070520211000425014", + "originalBalanceAmount": "1175.93", + "customerManagerBaNo": "200078606", + "invoiceCreationDate": "2021-06-02T00:00:00.000+07:00", + "unpaidNetAmount": "0", + "availableAdjustmentAmount": "1266.72", + "discountNetAmount": "-2000", + "billDate": "2021-05-11T01:00:00.000+07:00", + "disputeNetAmount": "1.0", + "creditTaxAmount": "0", + "accountId": "200078606", + "billProductType": "", + "billingDocumentStatus": { + "code": "N", + "description": "Confirmed" + }, + "unpaidAmount": "0", + "restrictionAmount": "2000", + "disputeTaxAmount": "0.00", + "invoiceCycle": { + "code": "10", + "month": "5", + "year": "2021" + }, + "convergenceInvoiceNo": "000520211000134302", + "coveredAmount": "1175.93", + "invoiceId": "1067822", + "performanceIndStatus": "", + "unpaidTaxAmount": "0", + "invoiceStatus": "C", + "adjustmentAmount": "0", + "restrictionTaxAmount": "140", + "periodCvrgStartDate": "2021-04-10T00:00:00.000+07:00", + "periodCvrgEndDate": "2021-05-09T00:00:00.000+07:00", + "invoiceChargeType": "BILL" + }, + { + "discountTaxAmount": "-140", + "adjustmentNetAmount": "0", + "availableAdjustmentNetAmount": "1099", + "invoiceBcBanId": "700046423", + "dueDate": "2021-05-03T00:00:00.000+07:00", + "orderIdGroup": "", + "vatRate": "0.00", + "converageEndDate": "2021-05-09T00:00:00.000+07:00", + "discountAmount": "-2000", + "invoiceTaxAmount": "76.93", + "invoiceAmount": "1099", + "invoiceStatusChangeDate": "2021-06-15T00:00:00.000+07:00", + "paymentAmount": "1175.93", + "baNo": "200078606", + "billTaxAmount": "307.72", + "billingDocumentType": { + "code": "BL", + "description": "Bill" + }, + "billAmount": "4703.72", + "invoiceType": "BILL", + "converageStartDate": "2021-04-10T00:00:00.000+07:00", + "currency": "THB", + "billSequenceNo": "13521", + "invoiceNo": "070420211000419181", + "originalBalanceAmount": "1175.93", + "customerManagerBaNo": "200078606", + "invoiceCreationDate": "2021-04-29T00:00:00.000+07:00", + "unpaidNetAmount": "0", + "availableAdjustmentAmount": "1266.72", + "discountNetAmount": "-2000", + "billDate": "2021-04-29T00:00:00.000+07:00", + "disputeNetAmount": "0.00", + "creditTaxAmount": "0", + "accountId": "200078606", + "billProductType": "", + "billingDocumentStatus": { + "code": "N", + "description": "Confirmed" + }, + "unpaidAmount": "0", + "restrictionAmount": "2000", + "disputeTaxAmount": "0.00", + "invoiceCycle": { + "code": "10", + "month": "4", + "year": "2021" + }, + "convergenceInvoiceNo": "000420211000131905", + "coveredAmount": "1175.93", + "invoiceId": "1039597", + "performanceIndStatus": "", + "unpaidTaxAmount": "0", + "invoiceStatus": "C", + "adjustmentAmount": "0", + "restrictionTaxAmount": "140", + "periodCvrgStartDate": "2021-03-10T00:00:00.000+07:00", + "periodCvrgEndDate": "2021-04-09T00:00:00.000+07:00", + "invoiceChargeType": "BILL" + }, + { + "discountTaxAmount": "0", + "adjustmentNetAmount": "0", + "availableAdjustmentNetAmount": "30", + "dueDate": "2021-05-03T00:00:00.000+07:00", + "orderIdGroup": "INTEREST", + "vatRate": "0.00", + "discountAmount": "0", + "invoiceTaxAmount": "0", + "invoiceAmount": "30", + "invoiceStatusChangeDate": "2021-06-15T00:00:00.000+07:00", + "paymentAmount": "30.00", + "baNo": "200078606", + "billTaxAmount": "0", + "billingDocumentType": { + "code": null, + "description": "" + }, + "billAmount": "30", + "invoiceType": "DCB", + "currency": "THB", + "billSequenceNo": "-1", + "invoiceNo": "AR1008437", + "originalBalanceAmount": "30", + "customerManagerBaNo": "200078606", + "invoiceCreationDate": "2021-03-25T00:00:00.000+07:00", + "unpaidNetAmount": "30.00", + "availableAdjustmentAmount": "30", + "discountNetAmount": "0", + "disputeNetAmount": "0.00", + "creditTaxAmount": "0", + "accountId": "200078606", + "billProductType": "", + "billingDocumentStatus": { + "code": null, + "description": "" + }, + "unpaidAmount": "0", + "restrictionAmount": "0", + "disputeTaxAmount": "0.00", + "invoiceCycle": { + "code": "10", + "month": "4", + "year": "2021" + }, + "convergenceInvoiceNo": "", + "coveredAmount": "30", + "invoiceId": "1008437", + "performanceIndStatus": "", + "unpaidTaxAmount": "0", + "invoiceStatus": "C", + "adjustmentAmount": "0", + "restrictionTaxAmount": "0", + "chargeCode": "CN", + "invoiceChargeType": "INTEREST" + }, + { + "discountTaxAmount": "0", + "adjustmentNetAmount": "0", + "availableAdjustmentNetAmount": "20", + "dueDate": "2021-06-30T00:00:00.000+07:00", + "orderIdGroup": "COLLECTION", + "vatRate": "0.00", + "discountAmount": "0", + "invoiceTaxAmount": "1.4", + "invoiceAmount": "20", + "invoiceStatusChangeDate": "2021-06-15T00:00:00.000+07:00", + "paymentAmount": "21.40", + "baNo": "200078606", + "billTaxAmount": "1.4", + "billingDocumentType": { + "code": null, + "description": "" + }, + "billAmount": "21.4", + "invoiceType": "IMCG", + "currency": "THB", + "billSequenceNo": "-1", + "invoiceNo": "AR1008438", + "originalBalanceAmount": "21.4", + "customerManagerBaNo": "200078606", + "invoiceCreationDate": "2021-03-25T00:00:00.000+07:00", + "unpaidNetAmount": "0", + "availableAdjustmentAmount": "21.4", + "discountNetAmount": "0", + "disputeNetAmount": "0.00", + "creditTaxAmount": "0", + "accountId": "200078606", + "billProductType": "", + "billingDocumentStatus": { + "code": null, + "description": "" + }, + "unpaidAmount": "0", + "restrictionAmount": "0", + "disputeTaxAmount": "0.00", + "invoiceCycle": { + "code": "10", + "month": "4", + "year": "2021" + }, + "convergenceInvoiceNo": "", + "coveredAmount": "21.4", + "invoiceId": "1008438", + "performanceIndStatus": "", + "unpaidTaxAmount": "0", + "invoiceStatus": "C", + "adjustmentAmount": "0", + "restrictionTaxAmount": "0", + "chargeCode": "OCOLETYPEN", + "invoiceChargeType": "COLLECTION", + "periodCvrgStartDate": "test" + } + ] + }, + "totalSize": "4", + "calculatedPageSize": "100", + "errorCode": "OSBbllngA00001", + "message": "Success.", + "uuid": "07b92f9a-df39-4ed0-8123-042debc974ba" + } + } + } + + res.status(200).send(response1) } module.exports.getPaymentList = async (req, res) => { @@ -2051,7 +2303,7 @@ module.exports.getAccountInfo = async (req, res) => { }, "openDate": "2019-03-27T00:00:00.000+07:00", "branchNo": "00000", - "partnerCode": null, + "partnerCode": "100001", "businessLine": null, "penaltyPayment": { "creditCardType": null, @@ -2069,5 +2321,139 @@ module.exports.getAccountInfo = async (req, res) => { } } - res.status(200).send(response) + let response1 = { + "getAccountInfoResponse": { + "return": { + "uuid": "c521b8c0-e810-4467-b3ca-e1be3e274a1a", + "errorCode": "OSBbllngA00001", + "message": "Success.", + "account": { + "accountCollection": { + "collectionIndicator": null, + "suspensionReason": null, + "fullSuspensionIndicator": null, + "punishmentLevels": null, + "startDate": null, + "status": "NONE", + "collectionTreatmentIndicator": "N" + }, + "classify": "R", + "accountSubType": { + "code": "RES", + "description": "Individual - Residential" + }, + "ben": { + "consolidateIndicator": "Y", + "ben": "200078606", + "bcBanId": "700046423", + "billMedia": "S", + "status": { + "code": "O", + "description": "Open" + } + }, + "legacyBan": null, + "exernalId": null, + "ouId": "115614", + "delinquent": "", + "contact": { + "preferredContactNo": "0909230076", + "officePhone": null, + "homePhone": "0924971811", + "language": "TH", + "privatePhone": null, + "fax": null, + "email": null + }, + "agreementId": "1344349", + "customerId": "187374", + "creditLimit": { + "creditClass": "X", + "creditLimitReasonCode": "CREQ", + "personalCreditLimit": "0.0", + "creditLimitExpirationDate": null, + "temporaryCreditLimit": "0.0", + "obligationCalculationFormula": "Formula 3" + }, + "company": { + "code": "TI", + "description": "True Internet Corporation Company Limited" + }, + "arBalance": "28471.34", + "accountPriority": null, + "address": { + "country": null, + "zipCode": "50200", + "roomNo": "-", + "city": "เชียงใหม่", + "addressType": "I", + "moo": "1", + "soi": "-", + "building": "UNI LOFT CHAINGMAI D", + "sinceDate": null, + "street": "-", + "district": "เมืองเชียงใหม่", + "addressLine1": "137 * 1 * - *", + "houseNo": "137", + "addressLine2": "* UNI LOFT CHAINGMAI D * - * - * -", + "addressLine3": "* สุเทพ * เมืองเชียงใหม่", + "addressLine4": "เชียงใหม่ 50200", + "floor": "-", + "subDistrict": "สุเทพ" + }, + "parentBan": null, + "initiationReason": null, + "creditStatus": { + "reasonDescription": null, + "lastActivityDate": null, + "reasonCode": null, + "status": "NONE" + }, + "convergenceCode": "4PPremium", + "accountId": "200078606", + "statusDescription": null, + "collectionStatus": { + "reasonDescription": null, + "lastActivityDate": null, + "reasonCode": null, + "status": "NONE" + }, + "taxId": "7175358721530", + "withholdingTaxUpdateDate": null, + "withholdingTaxIndicator": "N", + "name": { + "branchCode": null, + "nameType": "I", + "firstName": "สัปปะรด", + "lastName": "ผลไม้", + "organizationName": null, + "branchName": null, + "middleName": null, + "storeId": null, + "tilte": "คุณ" + }, + "openDate": "2019-03-27T00:00:00.000+07:00", + "branchNo": "00000", + "partnerCode": "123", + "businessLine": null, + "penaltyPayment": { + "creditCardType": "MasterCard", + "creditCardNumber": "10-20-30-40", + "creditCardName": null, + "creditCardExpirationDate": null, + "bankCode": null, + "bankBranchNumber": null, + "bankAccountNumber": "30-111-9933-1", + "penaltyPaymentType": "TEST_TYPE", + "penaltyNo": "Jen'O Brian", + "approvalCode": null + }, + "interestWaivingIndicator": "N" + } + } + } + } + + + res.status(200).send(response1) } \ No newline at end of file diff --git a/postpay_true.js b/postpay_true.js index f2cf7f8..94fa3fb 100644 --- a/postpay_true.js +++ b/postpay_true.js @@ -288,7 +288,7 @@ module.exports.getLastInvoiceList = async (req, res) => { "currency": "THB", "billSequenceNo": "293", "invoiceNo": "140620130200002104", - "originalBalanceAmount": "747.93", + "originalBalanceAmount": "101.00", "customerManagerBaNo": "10000449", "invoiceCreationDate": "2013-06-12T00:00:00.000+07:00", "unpaidNetAmount": "699", @@ -303,7 +303,7 @@ module.exports.getLastInvoiceList = async (req, res) => { "code": "N", "description": "Confirmed" }, - "unpaidAmount": "747.93", + "unpaidAmount": "100.00", "restrictionAmount": "0", "disputeTaxAmount": "0.00", "invoiceCycle": { @@ -360,7 +360,7 @@ module.exports.getLastInvoiceList = async (req, res) => { "code": "N", "description": "Confirmed" }, - "unpaidAmount": "747.93", + "unpaidAmount": "101.00", "restrictionAmount": "0", "disputeTaxAmount": "0.00", "invoiceCycle": { @@ -439,7 +439,7 @@ module.exports.getLastInvoiceList = async (req, res) => { "adjustmentNetAmount": "0", "availableAdjustmentNetAmount": "0.00", "invoiceBcBanId": "813", - "dueDate": "2013-03-26T00:00:00.000+07:00", + "dueDate": "2022-03-26T00:00:00.000+07:00", "vatRate": "0.00", "converageEndDate": "", "discountAmount": "0", @@ -474,7 +474,7 @@ module.exports.getLastInvoiceList = async (req, res) => { "code": "N", "description": "Confirmed" }, - "unpaidAmount": "0", + "unpaidAmount": "102.00", "restrictionAmount": "0.00", "disputeTaxAmount": "0.00", "invoiceCycle": { @@ -490,87 +490,175 @@ module.exports.getLastInvoiceList = async (req, res) => { "invoiceStatus": "F", "adjustmentAmount": "0", "restrictionTaxAmount": "0.00" - } - ] - }, - "errorCode": "OSBbllngA00001", - "message": "Success.", - "uuid": "530dbd96-bada-4fcd-85d0-a829ba1347d7" - } - } - } - - res.status(200).send(response) -} - -module.exports.getLastDocumentList = async (req, res) => { - console.log('===== POST getLastDocumentList =====') - console.log('url', req.originalUrl); - console.log('headers', req.headers); - console.log('query', req.query); - console.log('params', req.params); - console.log('body', req.body); - - let response = { - "getLastDocumentListResponse": { - "return": { - "invoiceList": { - "size": "1", - "invoiceInfoArray": [ + }, { - "discountTaxAmount": "0.00", - "adjustmentNetAmount": "0.00", + "discountTaxAmount": "0", + "adjustmentNetAmount": "0", "availableAdjustmentNetAmount": "0.00", - "invoiceBcBanId": "", - "dueDate": "", + "invoiceBcBanId": "813", + "dueDate": "2022-03-26T00:00:00.000+07:00", "vatRate": "0.00", "converageEndDate": "", - "discountAmount": "0.00", - "invoiceTaxAmount": "0.00", - "invoiceAmount": "0.00", - "invoiceStatusChangeDate": "", + "discountAmount": "0", + "invoiceTaxAmount": "0", + "invoiceAmount": "0", + "invoiceStatusChangeDate": "2013-03-02T00:00:00.000+07:00", "paymentAmount": "0", - "baNo": "", - "billTaxAmount": "0.00", + "baNo": "10000449", + "billTaxAmount": "0", "billingDocumentType": { "code": "BL", "description": "Bill" }, "billAmount": "0.00", - "invoiceType": "", + "invoiceType": "CN", "converageStartDate": "", "currency": "THB", - "billSequenceNo": "", - "invoiceNo": "", - "originalBalanceAmount": "0.00", - "customerManagerBaNo": "", - "invoiceCreationDate": "", - "unpaidNetAmount": "0.00", + "billSequenceNo": "290", + "invoiceNo": "140320130200000071", + "originalBalanceAmount": "0", + "customerManagerBaNo": "10000449", + "invoiceCreationDate": "2013-03-02T00:00:00.000+07:00", + "unpaidNetAmount": "0", "availableAdjustmentAmount": "0.00", - "discountNetAmount": "0.00", - "billDate": "2021-07-30T00:00:00.000+07:00", + "discountNetAmount": "0", + "billDate": "2013-02-03T00:00:00.000+07:00", "disputeNetAmount": "0.00", - "creditTaxAmount": "0.00", - "accountId": "200112081", - "billProductType": "DR", + "creditTaxAmount": "0", + "accountId": "10000449", + "billProductType": "", "billingDocumentStatus": { - "code": "C", - "description": "Calculated" + "code": "N", + "description": "Confirmed" }, - "unpaidAmount": "0.00", + "unpaidAmount": "1", "restrictionAmount": "0.00", "disputeTaxAmount": "0.00", "invoiceCycle": { - "code": "", - "month": "", - "year": "" + "code": "2", + "month": "3", + "year": "2013" }, - "convergenceInvoiceNo": "010720212800390921", - "coveredAmount": "0.00", - "invoiceId": "", - "performanceIndStatus": "CH", + "convergenceInvoiceNo": "140320130200000071", + "coveredAmount": "0", + "invoiceId": "629", + "performanceIndStatus": "", "unpaidTaxAmount": "0", - "invoiceStatus": "", + "invoiceStatus": "F", + "adjustmentAmount": "0", + "restrictionTaxAmount": "0.00" + }, + { + "discountTaxAmount": "0", + "adjustmentNetAmount": "0", + "availableAdjustmentNetAmount": "0.00", + "invoiceBcBanId": "813", + "dueDate": "2022-03-26T00:00:00.000+07:00", + "vatRate": "0.00", + "converageEndDate": "", + "discountAmount": "0", + "invoiceTaxAmount": "0", + "invoiceAmount": "0", + "invoiceStatusChangeDate": "2013-03-02T00:00:00.000+07:00", + "paymentAmount": "0", + "baNo": "10000449", + "billTaxAmount": "0", + "billingDocumentType": { + "code": "BL", + "description": "Bill" + }, + "billAmount": "0.00", + "invoiceType": "CN", + "converageStartDate": "", + "currency": "THB", + "billSequenceNo": "290", + "invoiceNo": "140320130200000071", + "originalBalanceAmount": "2", + "customerManagerBaNo": "10000449", + "invoiceCreationDate": "2013-03-02T00:00:00.000+07:00", + "unpaidNetAmount": "0", + "availableAdjustmentAmount": "0.00", + "discountNetAmount": "0", + "billDate": "2013-01-03T00:00:00.000+07:00", + "disputeNetAmount": "0.00", + "creditTaxAmount": "0", + "accountId": "10000449", + "billProductType": "", + "billingDocumentStatus": { + "code": "N", + "description": "Confirmed" + }, + "unpaidAmount": "1", + "restrictionAmount": "0.00", + "disputeTaxAmount": "0.00", + "invoiceCycle": { + "code": "2", + "month": "3", + "year": "2013" + }, + "convergenceInvoiceNo": "140320130200000071", + "coveredAmount": "0", + "invoiceId": "629", + "performanceIndStatus": "", + "unpaidTaxAmount": "0", + "invoiceStatus": "F", + "adjustmentAmount": "0", + "restrictionTaxAmount": "0.00" + }, + { + "discountTaxAmount": "0", + "adjustmentNetAmount": "0", + "availableAdjustmentNetAmount": "0.00", + "invoiceBcBanId": "813", + "dueDate": "2022-03-26T00:00:00.000+07:00", + "vatRate": "0.00", + "converageEndDate": "", + "discountAmount": "0", + "invoiceTaxAmount": "0", + "invoiceAmount": "0", + "invoiceStatusChangeDate": "2013-03-02T00:00:00.000+07:00", + "paymentAmount": "0", + "baNo": "10000449", + "billTaxAmount": "0", + "billingDocumentType": { + "code": "BL", + "description": "Bill" + }, + "billAmount": "0.00", + "invoiceType": "CN", + "converageStartDate": "", + "currency": "THB", + "billSequenceNo": "290", + "invoiceNo": "140320130200000071", + "originalBalanceAmount": "1", + "customerManagerBaNo": "10000449", + "invoiceCreationDate": "2013-03-02T00:00:00.000+07:00", + "unpaidNetAmount": "0", + "availableAdjustmentAmount": "0.00", + "discountNetAmount": "0", + "billDate": "2012-12-03T00:00:00.000+07:00", + "disputeNetAmount": "0.00", + "creditTaxAmount": "0", + "accountId": "10000449", + "billProductType": "", + "billingDocumentStatus": { + "code": "N", + "description": "Confirmed" + }, + "unpaidAmount": "1", + "restrictionAmount": "0.00", + "disputeTaxAmount": "0.00", + "invoiceCycle": { + "code": "2", + "month": "3", + "year": "2013" + }, + "convergenceInvoiceNo": "140320130200000071", + "coveredAmount": "0", + "invoiceId": "629", + "performanceIndStatus": "", + "unpaidTaxAmount": "0", + "invoiceStatus": "F", "adjustmentAmount": "0", "restrictionTaxAmount": "0.00" } @@ -578,7 +666,7 @@ module.exports.getLastDocumentList = async (req, res) => { }, "errorCode": "OSBbllngA00001", "message": "Success.", - "uuid": "56281a17-157d-4a4a-994d-c5e814b860e4" + "uuid": "530dbd96-bada-4fcd-85d0-a829ba1347d7" } } } @@ -747,95 +835,95 @@ module.exports.getProductHistoryList = async (req, res) => { console.log('body', req.body); let response = { - "getProductHistoryListResponse": { - "return": { - "totalSize": "59", - "productHistoryList": { - "size": "2", - "subscriberStatusHistoryInfoArray": [ - { - "barringByRequestActivityDate": "2016-09-01T17:25:03.000+07:00", - "barringByRequestIndicator": "N", - "collectionStatus": { - "reasonDescription": "Default Request for restore from suspension from Reg CL", - "lastActivityDate": "2018-11-07T07:15:02.000+07:00", - "reasonCode": "DEFRS", - "status": "NONE" - }, - "linkPrevProductId": "", - "barringByRequestReasonCode": "DDSC", - "creditLimitAtSubStatus": { - "reasonDescription": "", - "lastActivityDate": "", - "reasonCode": "", - "status": "NONE" - }, - "subscriberId": "1111841", - "barringByRequestReasonDescription": "Delete Additional Offer", - "creditStatus": { - "reasonDescription": "Restore from Suspension request from Credit Limit Collection", - "lastActivityDate": "2017-07-30T12:23:44.000+07:00", - "reasonCode": "MONRS", - "status": "NONE" - }, - "linkNextProductId": "", - "effectiveDate": "2018-11-07T07:15:02.000+07:00", - "status": { - "statusDate": "2016-09-01T17:32:41.000+07:00", - "statusLastActivity": "16", - "statusDescription": "Active", - "statusReasonDescription": "Restore Subs - Found", - "statusReasonCode": "RSP5", - "lastActivityPathId": "78", - "statusCode": "A" - } - }, - { - "barringByRequestActivityDate": "2016-09-01T17:25:03.000+07:00", - "barringByRequestIndicator": "N", - "collectionStatus": { - "reasonDescription": "Default Request for restore from suspension from Reg CL", - "lastActivityDate": "2018-08-14T19:29:43.000+07:00", - "reasonCode": "DEFRS", - "status": "NONE" - }, - "linkPrevProductId": "", - "barringByRequestReasonCode": "DDSC", - "creditLimitAtSubStatus": { - "reasonDescription": "", - "lastActivityDate": "", - "reasonCode": "", - "status": "NONE" - }, - "subscriberId": "1111841", - "barringByRequestReasonDescription": "Delete Additional Offer", - "creditStatus": { - "reasonDescription": "Restore from Suspension request from Credit Limit Collection", - "lastActivityDate": "2017-07-30T12:23:44.000+07:00", - "reasonCode": "MONRS", - "status": "NONE" - }, - "linkNextProductId": "", - "effectiveDate": "2018-08-14T19:29:43.000+07:00", - "status": { - "statusDate": "2016-09-01T17:32:41.000+07:00", - "statusLastActivity": "16", - "statusDescription": "Active", - "statusReasonDescription": "Restore Subs - Found", - "statusReasonCode": "RSP5", - "lastActivityPathId": "78", - "statusCode": "A" - } + "getProductHistoryListResponse": { + "return": { + "totalSize": "59", + "productHistoryList": { + "size": "2", + "subscriberStatusHistoryInfoArray": [ + { + "barringByRequestActivityDate": "2016-09-01T17:25:03.000+07:00", + "barringByRequestIndicator": "PSUS", + "collectionStatus": { + "reasonDescription": "Default Request for restore from suspension from Reg CL", + "lastActivityDate": "2018-11-07T07:15:02.000+07:00", + "reasonCode": "DEFRS", + "status": "NONE" + }, + "linkPrevProductId": "", + "barringByRequestReasonCode": "DDSC", + "creditLimitAtSubStatus": { + "reasonDescription": "", + "lastActivityDate": "", + "reasonCode": "", + "status": "NONE" + }, + "subscriberId": "1111841", + "barringByRequestReasonDescription": "Delete Additional OfferXX", + "creditStatus": { + "reasonDescription": "Restore from Suspension request from Credit Limit Collection", + "lastActivityDate": "2017-07-30T12:23:44.000+07:00", + "reasonCode": "MONRS", + "status": "NONE" + }, + "linkNextProductId": "", + "effectiveDate": "2018-11-07T07:15:02.000+07:00", + "status": { + "statusDate": "2016-09-01T17:32:41.000+07:00", + "statusLastActivity": "16", + "statusDescription": "Active", + "statusReasonDescription": "Restore Subs - FoundA", + "statusReasonCode": "RSP5", + "lastActivityPathId": "78", + "statusCode": "XX" + } + }, + { + "barringByRequestActivityDate": "2016-09-01T17:25:04.000+07:00", + "barringByRequestIndicator": "PSUS", + "collectionStatus": { + "reasonDescription": "Default Request for restore from suspension from Reg CL", + "lastActivityDate": "2018-08-14T19:29:43.000+07:00", + "reasonCode": "DEFRS", + "status": "NONE" + }, + "linkPrevProductId": "", + "barringByRequestReasonCode": "DDSC", + "creditLimitAtSubStatus": { + "reasonDescription": "", + "lastActivityDate": "", + "reasonCode": "", + "status": "NONE" + }, + "subscriberId": "1111841", + "barringByRequestReasonDescription": "Delete Additional Offer", + "creditStatus": { + "reasonDescription": "Restore from Suspension request from Credit Limit Collection", + "lastActivityDate": "2017-07-30T12:23:44.000+07:00", + "reasonCode": "MONRS", + "status": "NONE" + }, + "linkNextProductId": "", + "effectiveDate": "2018-08-14T19:29:43.000+07:00", + "status": { + "statusDate": "2016-09-01T17:32:41.000+07:00", + "statusLastActivity": "16", + "statusDescription": "Active", + "statusReasonDescription": "Restore Subs - FoundB", + "statusReasonCode": "RSP5", + "lastActivityPathId": "78", + "statusCode": "ZZ" + } + } + ] + }, + "calculatedPageSize": "2", + "errorCode": "OSBbllngA00001", + "message": "Success.", + "uuid": "84943fc3-00c2-424b-a432-23860fcc7ad3" } - ] - }, - "calculatedPageSize": "2", - "errorCode": "OSBbllngA00001", - "message": "Success.", - "uuid": "84943fc3-00c2-424b-a432-23860fcc7ad3" - } + } } - } res.status(200).send(response) } diff --git a/ssb.js b/ssb.js index d321386..a1f919c 100644 --- a/ssb.js +++ b/ssb.js @@ -180,3 +180,42 @@ module.exports.deletePackage = async (req, res) => { res.status(500).send(response) } + +module.exports.createNewRegistration = async (req, res) => { + console.log('===== POST createNewRegistration =====') + console.log('url', req.originalUrl); + console.log('headers', req.headers); + console.log('query', req.query); + console.log('params', req.params); + console.log('body', JSON.stringify(req.body)); + + let response = { + "resultCode": "50000", + "developerMessage": "Success", + "data": { + "ExecuteServiceResponse": { + "return": { + "ParameterList": { + "Parameter": [ + { + "Name": "returnMessage", + "Value": "Success" + }, + { + "Name": "orderNo", + "Value": "R201600321324" + }, + { + "Name": "orderDate", + "Value": "11/01/2016" + } + ] + } + } + } + } + } + + + res.status(500).send(response) +} \ No newline at end of file diff --git a/true.js b/true.js index b6e8b9e..ac4c597 100644 --- a/true.js +++ b/true.js @@ -89,4 +89,63 @@ module.exports.getMobileOfferInventory = async (req, res) => { res.status(200).send(response) +} + +module.exports.getAccountStatusHistoryList = async (req, res) => { + console.log('===== POST getAccountStatusHistoryList =====') + console.log('url', req.originalUrl); + console.log('headers', req.headers); + console.log('query', req.query); + console.log('params', req.params); + console.log('body', JSON.stringify(req.body)); + + let response = { + "getAccountStatusHistoryListResponse": { + "return": { + "totalSize": "2", + "calculatedPageSize": "10", + "accountHistoryList": { + "accountHistoryArray": [ + { + "statusDescription": "Active", + "collectionStatus": { + "reasonDescription": "", + "lastActivityDate": "", + "reasonCode": "", + "status": "NONE" + }, + "creditStatus": { + "reasonDescription": "", + "lastActivityDate": "", + "reasonCode": "", + "status": "NONE" + }, + "openDate": "2019-12-23T18:10:42.000+07:00" + }, + { + "statusDescription": "Active", + "collectionStatus": { + "reasonDescription": "XXX", + "lastActivityDate": "2021-12-30T00:00:00.000+07:00", + "reasonCode": "ABC", + "status": "NONE" + }, + "creditStatus": { + "reasonDescription": "BBB", + "lastActivityDate": "", + "reasonCode": "AA", + "status": "NONE" + }, + "openDate": "2019-12-23T18:10:42.000+07:00" + } + ] + }, + "errorCode": "OSBbllngA00001", + "message": "Success.", + "uuid": "17bc096d-d0e9-46bd-8c95-aebdea2158c0" + } + } + } + + res.status(200).send(response) } \ No newline at end of file -- libgit2 0.21.2