@things-factory/integration-accounting 4.3.651 → 4.3.652
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/constants/account.js +14 -0
- package/dist-server/constants/account.js.map +1 -0
- package/dist-server/constants/index.js +18 -0
- package/dist-server/constants/index.js.map +1 -0
- package/dist-server/controllers/accounting-api/decorators.js +35 -0
- package/dist-server/controllers/accounting-api/decorators.js.map +1 -0
- package/dist-server/controllers/accounting-api/index.js +237 -0
- package/dist-server/controllers/accounting-api/index.js.map +1 -0
- package/dist-server/controllers/index.js +21 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/xero/apis/contact/get-contact.js +33 -0
- package/dist-server/controllers/xero/apis/contact/get-contact.js.map +1 -0
- package/dist-server/controllers/xero/apis/contact/get-contacts.js +19 -0
- package/dist-server/controllers/xero/apis/contact/get-contacts.js.map +1 -0
- package/dist-server/controllers/xero/apis/contact/index.js +19 -0
- package/dist-server/controllers/xero/apis/contact/index.js.map +1 -0
- package/dist-server/controllers/xero/apis/index.js +21 -0
- package/dist-server/controllers/xero/apis/index.js.map +1 -0
- package/dist-server/controllers/xero/apis/invoice/create-invoice.js +17 -0
- package/dist-server/controllers/xero/apis/invoice/create-invoice.js.map +1 -0
- package/dist-server/controllers/xero/apis/invoice/get-invoice.js +19 -0
- package/dist-server/controllers/xero/apis/invoice/get-invoice.js.map +1 -0
- package/dist-server/controllers/xero/apis/invoice/get-invoices.js +60 -0
- package/dist-server/controllers/xero/apis/invoice/get-invoices.js.map +1 -0
- package/dist-server/controllers/xero/apis/invoice/index.js +21 -0
- package/dist-server/controllers/xero/apis/invoice/index.js.map +1 -0
- package/dist-server/controllers/xero/apis/invoice/update-invoice.js +17 -0
- package/dist-server/controllers/xero/apis/invoice/update-invoice.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/create-item.js +33 -0
- package/dist-server/controllers/xero/apis/item/create-item.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/delete-item.js +22 -0
- package/dist-server/controllers/xero/apis/item/delete-item.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/get-item.js +35 -0
- package/dist-server/controllers/xero/apis/item/get-item.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/get-items.js +33 -0
- package/dist-server/controllers/xero/apis/item/get-items.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/index.js +23 -0
- package/dist-server/controllers/xero/apis/item/index.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/update-item.js +31 -0
- package/dist-server/controllers/xero/apis/item/update-item.js.map +1 -0
- package/dist-server/controllers/xero/apis/item/update-items.js +37 -0
- package/dist-server/controllers/xero/apis/item/update-items.js.map +1 -0
- package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.js +57 -0
- package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.js.map +1 -0
- package/dist-server/controllers/xero/apis/purchase-order/index.js +18 -0
- package/dist-server/controllers/xero/apis/purchase-order/index.js.map +1 -0
- package/dist-server/controllers/xero/index.js +34 -0
- package/dist-server/controllers/xero/index.js.map +1 -0
- package/dist-server/controllers/xero/platform-action.js +49 -0
- package/dist-server/controllers/xero/platform-action.js.map +1 -0
- package/dist-server/controllers/xero/xero.js +157 -0
- package/dist-server/controllers/xero/xero.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/goods-received/create-goods-received-note.js +50 -0
- package/dist-server/controllers/xilnex/apis/goods-received/create-goods-received-note.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/goods-received/index.js +18 -0
- package/dist-server/controllers/xilnex/apis/goods-received/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/index.js +26 -0
- package/dist-server/controllers/xilnex/apis/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/cancel-purchase-order.js +22 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/cancel-purchase-order.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/create-purchase-receive.js +45 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/create-purchase-receive.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/get-purchase-order.js +47 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/get-purchase-order.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/index.js +20 -0
- package/dist-server/controllers/xilnex/apis/purchase-order/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales/get-sale.js +18 -0
- package/dist-server/controllers/xilnex/apis/sales/get-sale.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales/index.js +18 -0
- package/dist-server/controllers/xilnex/apis/sales/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales-order/create-sales-order.js +89 -0
- package/dist-server/controllers/xilnex/apis/sales-order/create-sales-order.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales-order/get-sales-order-invoice-histories.js +18 -0
- package/dist-server/controllers/xilnex/apis/sales-order/get-sales-order-invoice-histories.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales-order/index.js +20 -0
- package/dist-server/controllers/xilnex/apis/sales-order/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales-order/post-sales-order-to-sales-invoice.js +24 -0
- package/dist-server/controllers/xilnex/apis/sales-order/post-sales-order-to-sales-invoice.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales-return/create-sales-return.js +49 -0
- package/dist-server/controllers/xilnex/apis/sales-return/create-sales-return.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/sales-return/index.js +18 -0
- package/dist-server/controllers/xilnex/apis/sales-return/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/shipment/create-shipment.js +33 -0
- package/dist-server/controllers/xilnex/apis/shipment/create-shipment.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/shipment/index.js +18 -0
- package/dist-server/controllers/xilnex/apis/shipment/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/stock-request/get-stock-request.js +51 -0
- package/dist-server/controllers/xilnex/apis/stock-request/get-stock-request.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/stock-request/index.js +18 -0
- package/dist-server/controllers/xilnex/apis/stock-request/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/stocks/create-stock-adjust-record.js +41 -0
- package/dist-server/controllers/xilnex/apis/stocks/create-stock-adjust-record.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/stocks/index.js +18 -0
- package/dist-server/controllers/xilnex/apis/stocks/index.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/create-transfer-note.js +43 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/create-transfer-note.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/delivery-transfer-note.js +24 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/delivery-transfer-note.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/get-transfer-note.js +49 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/get-transfer-note.js.map +1 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/index.js +20 -0
- package/dist-server/controllers/xilnex/apis/transfer-note/index.js.map +1 -0
- package/dist-server/controllers/xilnex/index.js +34 -0
- package/dist-server/controllers/xilnex/index.js.map +1 -0
- package/dist-server/controllers/xilnex/platform-action.js +42 -0
- package/dist-server/controllers/xilnex/platform-action.js.map +1 -0
- package/dist-server/controllers/xilnex/xilnex.js +105 -0
- package/dist-server/controllers/xilnex/xilnex.js.map +1 -0
- package/dist-server/engine/connector/accounting-connector.js +28 -0
- package/dist-server/engine/connector/accounting-connector.js.map +1 -0
- package/dist-server/engine/connector/index.js +4 -0
- package/dist-server/engine/connector/index.js.map +1 -0
- package/dist-server/engine/index.js +5 -0
- package/dist-server/engine/index.js.map +1 -0
- package/dist-server/engine/task/accounting-api.js +54 -0
- package/dist-server/engine/task/accounting-api.js.map +1 -0
- package/dist-server/engine/task/index.js +4 -0
- package/dist-server/engine/task/index.js.map +1 -0
- package/dist-server/entities/account-webhook-order.js +76 -0
- package/dist-server/entities/account-webhook-order.js.map +1 -0
- package/dist-server/entities/account.js +137 -0
- package/dist-server/entities/account.js.map +1 -0
- package/dist-server/entities/index.js +9 -0
- package/dist-server/entities/index.js.map +1 -0
- package/dist-server/graphql/index.js +33 -0
- package/dist-server/graphql/index.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/account-webhook-order.js +15 -0
- package/dist-server/graphql/resolvers/account-webhook-order/account-webhook-order.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/account-webhook-orders.js +14 -0
- package/dist-server/graphql/resolvers/account-webhook-order/account-webhook-orders.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/create-account-webhook-order.js +12 -0
- package/dist-server/graphql/resolvers/account-webhook-order/create-account-webhook-order.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/delete-account-webhook-order.js +16 -0
- package/dist-server/graphql/resolvers/account-webhook-order/delete-account-webhook-order.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/delete-account-webhook-orders.js +19 -0
- package/dist-server/graphql/resolvers/account-webhook-order/delete-account-webhook-orders.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/index.js +13 -0
- package/dist-server/graphql/resolvers/account-webhook-order/index.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/update-account-webhook-order.js +15 -0
- package/dist-server/graphql/resolvers/account-webhook-order/update-account-webhook-order.js.map +1 -0
- package/dist-server/graphql/resolvers/account-webhook-order/update-multiple-account-webhook-orders.js +30 -0
- package/dist-server/graphql/resolvers/account-webhook-order/update-multiple-account-webhook-orders.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/account.js +15 -0
- package/dist-server/graphql/resolvers/accounting/account.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/accounts.js +14 -0
- package/dist-server/graphql/resolvers/accounting/accounts.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/create-account.js +12 -0
- package/dist-server/graphql/resolvers/accounting/create-account.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/delete-account.js +16 -0
- package/dist-server/graphql/resolvers/accounting/delete-account.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/delete-accounts.js +19 -0
- package/dist-server/graphql/resolvers/accounting/delete-accounts.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/index.js +37 -0
- package/dist-server/graphql/resolvers/accounting/index.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/update-account.js +15 -0
- package/dist-server/graphql/resolvers/accounting/update-account.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.js +30 -0
- package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.js +53 -0
- package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.js +33 -0
- package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/xero/index.js +9 -0
- package/dist-server/graphql/resolvers/accounting/xero/index.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.js +53 -0
- package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.js +32 -0
- package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting-api/accounting-item.js +36 -0
- package/dist-server/graphql/resolvers/accounting-api/accounting-item.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.js +16 -0
- package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.js.map +1 -0
- package/dist-server/graphql/resolvers/accounting-api/index.js +9 -0
- package/dist-server/graphql/resolvers/accounting-api/index.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +31 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -0
- package/dist-server/graphql/types/account-webhook-order/account-webhook-order-list.js +14 -0
- package/dist-server/graphql/types/account-webhook-order/account-webhook-order-list.js.map +1 -0
- package/dist-server/graphql/types/account-webhook-order/account-webhook-order-patch.js +18 -0
- package/dist-server/graphql/types/account-webhook-order/account-webhook-order-patch.js.map +1 -0
- package/dist-server/graphql/types/account-webhook-order/account-webhook-order.js +22 -0
- package/dist-server/graphql/types/account-webhook-order/account-webhook-order.js.map +1 -0
- package/dist-server/graphql/types/account-webhook-order/index.js +35 -0
- package/dist-server/graphql/types/account-webhook-order/index.js.map +1 -0
- package/dist-server/graphql/types/account-webhook-order/new-account-webhook-order.js +16 -0
- package/dist-server/graphql/types/account-webhook-order/new-account-webhook-order.js.map +1 -0
- package/dist-server/graphql/types/accounting/account-list.js +14 -0
- package/dist-server/graphql/types/accounting/account-list.js.map +1 -0
- package/dist-server/graphql/types/accounting/account-patch.js +21 -0
- package/dist-server/graphql/types/accounting/account-patch.js.map +1 -0
- package/dist-server/graphql/types/accounting/account.js +32 -0
- package/dist-server/graphql/types/accounting/account.js.map +1 -0
- package/dist-server/graphql/types/accounting/index.js +45 -0
- package/dist-server/graphql/types/accounting/index.js.map +1 -0
- package/dist-server/graphql/types/accounting/new-account.js +19 -0
- package/dist-server/graphql/types/accounting/new-account.js.map +1 -0
- package/dist-server/graphql/types/accounting-api/invoice.js +65 -0
- package/dist-server/graphql/types/accounting-api/invoice.js.map +1 -0
- package/dist-server/graphql/types/accounting-api/item.js +65 -0
- package/dist-server/graphql/types/accounting-api/item.js.map +1 -0
- package/dist-server/graphql/types/accounting-api/purchase-order.js +36 -0
- package/dist-server/graphql/types/accounting-api/purchase-order.js.map +1 -0
- package/dist-server/graphql/types/index.js +41 -0
- package/dist-server/graphql/types/index.js.map +1 -0
- package/dist-server/index.js +25 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routers/xero-private-router.js +19 -0
- package/dist-server/routers/xero-private-router.js.map +1 -0
- package/dist-server/routers/xero-router.js +112 -0
- package/dist-server/routers/xero-router.js.map +1 -0
- package/dist-server/routes.js +11 -0
- package/dist-server/routes.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createItem = void 0;
|
|
4
|
+
function createItem() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'post',
|
|
7
|
+
path: '/Items',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
var { sku: Code, name: Name, description: Description, inventoryAccountCode: InventoryAssetAccountCode, cogsAccountCode: COGSAccountCode } = req;
|
|
10
|
+
let IsSold = true;
|
|
11
|
+
let IsPurchased = true;
|
|
12
|
+
var PurchaseDetails = {
|
|
13
|
+
COGSAccountCode
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
payload: {
|
|
17
|
+
Code,
|
|
18
|
+
Description,
|
|
19
|
+
Name,
|
|
20
|
+
PurchaseDetails,
|
|
21
|
+
IsSold,
|
|
22
|
+
IsPurchased,
|
|
23
|
+
InventoryAssetAccountCode
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
normalize(res) {
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.createItem = createItem;
|
|
33
|
+
//# sourceMappingURL=create-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-item.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/create-item.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU;IACxB,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,CAAC,GAAG;YACb,IAAI,EACF,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,yBAAyB,EAC/C,eAAe,EAAE,eAAe,EACjC,GAAG,GAAG,CAAA;YAEP,IAAI,MAAM,GAAY,IAAI,CAAA;YAC1B,IAAI,WAAW,GAAY,IAAI,CAAA;YAE/B,IAAI,eAAe,GAAW;gBAC5B,eAAe;aAChB,CAAA;YAED,OAAO;gBACL,OAAO,EAAE;oBACP,IAAI;oBACJ,WAAW;oBACX,IAAI;oBACJ,eAAe;oBACf,MAAM;oBACN,WAAW;oBACX,yBAAyB;iBAC1B;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AApCD,gCAoCC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteItem = void 0;
|
|
4
|
+
function deleteItem() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'put',
|
|
7
|
+
path: '/Items/{itemId}',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
return {
|
|
10
|
+
resource: {
|
|
11
|
+
itemId: req.itemId
|
|
12
|
+
},
|
|
13
|
+
payload: Object.assign({}, req)
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
normalize(res) {
|
|
17
|
+
return res;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.deleteItem = deleteItem;
|
|
22
|
+
//# sourceMappingURL=delete-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-item.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/delete-item.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU;IACxB,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,iBAAiB;QACvB,WAAW,CAAC,GAAG;YACb,OAAO;gBACL,QAAQ,EAAE;oBACR,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB;gBACD,OAAO,oBACF,GAAG,CACP;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AAlBD,gCAkBC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getItem = void 0;
|
|
4
|
+
function getItem() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'get',
|
|
7
|
+
path: '/Items/{Code}',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
return {
|
|
10
|
+
resource: {
|
|
11
|
+
Code: req.itemCode
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
normalize(res) {
|
|
16
|
+
var { Items } = res;
|
|
17
|
+
let results = [];
|
|
18
|
+
results = Items.map(item => {
|
|
19
|
+
var { Code: sku, Description: description, PurchaseDetails, Name: name, IsTrackedAsInventory: isTrackedAsInventory, InventoryAssetAccountCode: inventoryAccountCode } = item;
|
|
20
|
+
var { AccountCode: cogsAccountCode } = PurchaseDetails;
|
|
21
|
+
return {
|
|
22
|
+
sku,
|
|
23
|
+
description,
|
|
24
|
+
name,
|
|
25
|
+
isTrackedAsInventory,
|
|
26
|
+
inventoryAccountCode,
|
|
27
|
+
cogsAccountCode
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
return results[0];
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
exports.getItem = getItem;
|
|
35
|
+
//# sourceMappingURL=get-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/get-item.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO;IACrB,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,CAAC,GAAG;YACb,OAAO;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,GAAG,CAAC,QAAQ;iBACnB;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YAEnB,IAAI,OAAO,GAAU,EAAE,CAAA;YAEvB,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,EACF,IAAI,EAAE,GAAG,EACT,WAAW,EAAE,WAAW,EACxB,eAAe,EACf,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,oBAAoB,EAC1C,yBAAyB,EAAE,oBAAoB,EAChD,GAAG,IAAI,CAAA;gBACR,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,eAAe,CAAA;gBAEtD,OAAO;oBACL,GAAG;oBACH,WAAW;oBACX,IAAI;oBACJ,oBAAoB;oBACpB,oBAAoB;oBACpB,eAAe;iBAChB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;KACF,CAAA;AACH,CAAC;AAxCD,0BAwCC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getItems = void 0;
|
|
4
|
+
function getItems() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'get',
|
|
7
|
+
path: '/Items',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
return {
|
|
10
|
+
payload: Object.assign({}, req)
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
normalize(res) {
|
|
14
|
+
var { Items } = res;
|
|
15
|
+
let results = [];
|
|
16
|
+
results = Items.map(item => {
|
|
17
|
+
var { Code: sku, Description: description, PurchaseDetails, Name: name, IsTrackedAsInventory: isTrackedAsInventory, InventoryAssetAccountCode: inventoryAccountCode } = item;
|
|
18
|
+
var { AccountCode: cogsAccountCode } = PurchaseDetails;
|
|
19
|
+
return {
|
|
20
|
+
sku,
|
|
21
|
+
description,
|
|
22
|
+
name,
|
|
23
|
+
isTrackedAsInventory,
|
|
24
|
+
inventoryAccountCode,
|
|
25
|
+
cogsAccountCode
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
return results;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.getItems = getItems;
|
|
33
|
+
//# sourceMappingURL=get-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-items.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/get-items.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ;IACtB,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,CAAC,GAAG;YACb,OAAO;gBACL,OAAO,oBACF,GAAG,CACP;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YAEnB,IAAI,OAAO,GAAU,EAAE,CAAA;YAEvB,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,EACF,IAAI,EAAE,GAAG,EACT,WAAW,EAAE,WAAW,EACxB,eAAe,EACf,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,oBAAoB,EAC1C,yBAAyB,EAAE,oBAAoB,EAChD,GAAG,IAAI,CAAA;gBACR,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,eAAe,CAAA;gBAEtD,OAAO;oBACL,GAAG;oBACH,WAAW;oBACX,IAAI;oBACJ,oBAAoB;oBACpB,oBAAoB;oBACpB,eAAe;iBAChB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC;AAxCD,4BAwCC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-item"), exports);
|
|
18
|
+
__exportStar(require("./get-items"), exports);
|
|
19
|
+
__exportStar(require("./create-item"), exports);
|
|
20
|
+
__exportStar(require("./update-item"), exports);
|
|
21
|
+
__exportStar(require("./update-items"), exports);
|
|
22
|
+
__exportStar(require("./delete-item"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,8CAA2B;AAC3B,gDAA6B;AAC7B,gDAA6B;AAC7B,iDAA8B;AAC9B,gDAA6B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateItem = void 0;
|
|
4
|
+
function updateItem() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'post',
|
|
7
|
+
path: '/Items',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
var { sku: Code, name: Name, description: Description, inventoryAccountCode: InventoryAssetAccountCode, cogsAccountCode: COGSAccountCode } = req;
|
|
10
|
+
let IsSold = true;
|
|
11
|
+
let IsPurchased = true;
|
|
12
|
+
var PurchaseDetails = {
|
|
13
|
+
COGSAccountCode
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
Code,
|
|
17
|
+
Description,
|
|
18
|
+
Name,
|
|
19
|
+
PurchaseDetails,
|
|
20
|
+
IsSold,
|
|
21
|
+
IsPurchased,
|
|
22
|
+
InventoryAssetAccountCode
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
normalize(res) {
|
|
26
|
+
return res;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.updateItem = updateItem;
|
|
31
|
+
//# sourceMappingURL=update-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/update-item.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU;IACxB,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,CAAC,GAAG;YACb,IAAI,EACF,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,yBAAyB,EAC/C,eAAe,EAAE,eAAe,EACjC,GAAG,GAAG,CAAA;YAEP,IAAI,MAAM,GAAY,IAAI,CAAA;YAC1B,IAAI,WAAW,GAAY,IAAI,CAAA;YAE/B,IAAI,eAAe,GAAW;gBAC5B,eAAe;aAChB,CAAA;YAED,OAAO;gBACL,IAAI;gBACJ,WAAW;gBACX,IAAI;gBACJ,eAAe;gBACf,MAAM;gBACN,WAAW;gBACX,yBAAyB;aAC1B,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AAlCD,gCAkCC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateItems = void 0;
|
|
4
|
+
function updateItems() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'post',
|
|
7
|
+
path: '/Items',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
let { products } = req;
|
|
10
|
+
const Items = products.map(item => {
|
|
11
|
+
var { sku: Code, name: Name, description: Description, inventoryAccountCode: InventoryAssetAccountCode, cogsAccountCode: COGSAccountCode } = item;
|
|
12
|
+
let IsPurchased = true;
|
|
13
|
+
var PurchaseDetails = {
|
|
14
|
+
COGSAccountCode
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
Code,
|
|
18
|
+
Description,
|
|
19
|
+
Name,
|
|
20
|
+
PurchaseDetails,
|
|
21
|
+
IsPurchased,
|
|
22
|
+
InventoryAssetAccountCode
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
return {
|
|
26
|
+
payload: {
|
|
27
|
+
Items
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
normalize(res) {
|
|
32
|
+
return res;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
exports.updateItems = updateItems;
|
|
37
|
+
//# sourceMappingURL=update-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-items.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/item/update-items.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW;IACzB,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;YAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,EACF,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,yBAAyB,EAC/C,eAAe,EAAE,eAAe,EACjC,GAAG,IAAI,CAAA;gBAER,IAAI,WAAW,GAAY,IAAI,CAAA;gBAE/B,IAAI,eAAe,GAAW;oBAC5B,eAAe;iBAChB,CAAA;gBAED,OAAO;oBACL,IAAI;oBACJ,WAAW;oBACX,IAAI;oBACJ,eAAe;oBACf,WAAW;oBACX,yBAAyB;iBAC1B,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP,KAAK;iBACN;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AA1CD,kCA0CC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPurchaseOrders = void 0;
|
|
4
|
+
function getPurchaseOrders() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'get',
|
|
7
|
+
path: '/PurchaseOrders',
|
|
8
|
+
denormalize(req) {
|
|
9
|
+
return {
|
|
10
|
+
payload: Object.assign({}, req)
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
normalize(res) {
|
|
14
|
+
const { PurchaseOrders } = res;
|
|
15
|
+
let results = PurchaseOrders.map(purchaseOrder => {
|
|
16
|
+
const { PurchaseOrderNumber: refNo, Reference: refNo2, DeliveryDateString, LineItems } = purchaseOrder;
|
|
17
|
+
const etaDate = DeliveryDateString !== undefined ? String(DeliveryDateString.split('T')[0]) : 'undefined';
|
|
18
|
+
let products = LineItems.map(lineItem => {
|
|
19
|
+
return {
|
|
20
|
+
product: { sku: lineItem.ItemCode },
|
|
21
|
+
batchId: refNo,
|
|
22
|
+
packQty: lineItem.Quantity,
|
|
23
|
+
unitPrice: lineItem.UnitAmount
|
|
24
|
+
};
|
|
25
|
+
}).reduce((newItem, item) => {
|
|
26
|
+
var foundItem = newItem.find(newItem => newItem.batchId === item.batchId && newItem.product.sku === item.product.sku);
|
|
27
|
+
if (!foundItem) {
|
|
28
|
+
newItem.push(Object.assign({}, item));
|
|
29
|
+
return newItem;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return newItem.map(ni => {
|
|
33
|
+
if (ni.batchId === item.batchId && ni.product.sku === item.product.sku) {
|
|
34
|
+
return Object.assign(Object.assign({}, ni), { packQty: ni.packQty + item.packQty });
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return ni;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, []);
|
|
42
|
+
return {
|
|
43
|
+
refNo,
|
|
44
|
+
refNo2,
|
|
45
|
+
etaDate,
|
|
46
|
+
ownTransport: true,
|
|
47
|
+
importCargo: false,
|
|
48
|
+
container: false,
|
|
49
|
+
orderProducts: products
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
return results;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
exports.getPurchaseOrders = getPurchaseOrders;
|
|
57
|
+
//# sourceMappingURL=get-purchase-orders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-purchase-orders.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/purchase-order/get-purchase-orders.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB;IAC/B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,iBAAiB;QACvB,WAAW,CAAC,GAAG;YACb,OAAO;gBACL,OAAO,oBACF,GAAG,CACP;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;YAE9B,IAAI,OAAO,GAAU,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBACtD,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,aAAa,CAAA;gBACtG,MAAM,OAAO,GAAQ,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;gBAE9G,IAAI,QAAQ,GAAU,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC7C,OAAO;wBACL,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE;wBACnC,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,QAAQ,CAAC,QAAQ;wBAC1B,SAAS,EAAE,QAAQ,CAAC,UAAU;qBAC/B,CAAA;gBACH,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC1B,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAC1B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CACxF,CAAA;oBACD,IAAI,CAAC,SAAS,EAAE;wBACd,OAAO,CAAC,IAAI,mBAAM,IAAI,EAAG,CAAA;wBACzB,OAAO,OAAO,CAAA;qBACf;yBAAM;wBACL,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BACtB,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gCACtE,uCACK,EAAE,KACL,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IACnC;6BACF;iCAAM;gCACL,OAAO,EAAE,CAAA;6BACV;wBACH,CAAC,CAAC,CAAA;qBACH;gBACH,CAAC,EAAE,EAAE,CAAC,CAAA;gBAEN,OAAO;oBACL,KAAK;oBACL,MAAM;oBACN,OAAO;oBACP,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,KAAK;oBAClB,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,QAAQ;iBACxB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC;AA5DD,8CA4DC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-purchase-orders"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/controllers/xero/apis/purchase-order/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
+
__setModuleDefault(result, mod);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
__exportStar(require("./xero"), exports);
|
|
30
|
+
const accounting_api_1 = require("../accounting-api");
|
|
31
|
+
const platform_action_1 = require("./platform-action");
|
|
32
|
+
const APIS = __importStar(require("./apis"));
|
|
33
|
+
accounting_api_1.AccountingAPI.registerPlatform('xero', platform_action_1.action, APIS);
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/xero/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAsB;AAEtB,sDAAiD;AACjD,uDAA0C;AAE1C,6CAA8B;AAE9B,8BAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,wBAAM,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.action = void 0;
|
|
4
|
+
const env_1 = require("@things-factory/env");
|
|
5
|
+
const xero_1 = require("./xero");
|
|
6
|
+
const xeroConfig = env_1.config.get('accountingIntegrationXero', {});
|
|
7
|
+
const { apiKey, apiSecret, callback } = xeroConfig;
|
|
8
|
+
function substitute(path, obj) {
|
|
9
|
+
var props = [];
|
|
10
|
+
var re = /{([^}]+)}/g;
|
|
11
|
+
var text;
|
|
12
|
+
while ((text = re.exec(path))) {
|
|
13
|
+
props.push(text[1]);
|
|
14
|
+
}
|
|
15
|
+
var result = path;
|
|
16
|
+
props.forEach(prop => {
|
|
17
|
+
let value = obj[prop.trim()];
|
|
18
|
+
result = result.replace(`{${prop}}`, value === undefined ? '' : value);
|
|
19
|
+
});
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
async function _action({ accounting, method = 'get', path, request }) {
|
|
23
|
+
const client = new xero_1.Xero({
|
|
24
|
+
apiKey,
|
|
25
|
+
apiSecret,
|
|
26
|
+
accessToken: accounting.accessToken,
|
|
27
|
+
tenantId: accounting.accountId,
|
|
28
|
+
callback
|
|
29
|
+
});
|
|
30
|
+
const { resource = {}, payload = {} } = request;
|
|
31
|
+
path = substitute(path, resource);
|
|
32
|
+
return await client[method](path, payload);
|
|
33
|
+
}
|
|
34
|
+
const action = async ({ accounting, method = 'get', path, request }) => {
|
|
35
|
+
try {
|
|
36
|
+
return await _action({ accounting, method, path, request });
|
|
37
|
+
}
|
|
38
|
+
catch (ex) {
|
|
39
|
+
if (ex.status === 401) {
|
|
40
|
+
var refreshedAccounting = await xero_1.Xero.refreshAccessToken(apiKey, apiSecret, accounting);
|
|
41
|
+
return await _action({ accounting: refreshedAccounting, method, path, request });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
env_1.logger.error(`Xero: action: ${ex}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.action = action;
|
|
49
|
+
//# sourceMappingURL=platform-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/xero/platform-action.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;AAEpD,iCAA6B;AAE7B,MAAM,UAAU,GAAG,YAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;AAC9D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;AAElD,SAAS,UAAU,CAAC,IAAI,EAAE,GAAG;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,YAAY,CAAA;IACrB,IAAI,IAAI,CAAA;IAER,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;QAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;KACpB;IAED,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;IAClE,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC;QACtB,MAAM;QACN,SAAS;QACT,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,QAAQ,EAAE,UAAU,CAAC,SAAS;QAC9B,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAE/C,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEjC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5E,IAAI;QACF,OAAO,MAAM,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;KAC5D;IAAC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE;YACrB,IAAI,mBAAmB,GAAG,MAAM,WAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YACtF,OAAO,MAAM,OAAO,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;SACjF;aAAM;YACL,YAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;SACpC;KACF;AACH,CAAC,CAAA;AAXY,QAAA,MAAM,UAWlB"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Xero = void 0;
|
|
7
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
8
|
+
const typeorm_1 = require("typeorm");
|
|
9
|
+
const utils_1 = require("@things-factory/utils");
|
|
10
|
+
const account_1 = require("../../entities/account");
|
|
11
|
+
const ENDPOINT = 'https://api.xero.com/api.xro/2.0';
|
|
12
|
+
const debug = require('debug')('things-factory:integration-accounting:xero');
|
|
13
|
+
class Xero {
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.config = Object.assign({}, config);
|
|
16
|
+
}
|
|
17
|
+
buildAuthURL(nonce) {
|
|
18
|
+
const scopes = 'offline_access openid profile email accounting.transactions accounting.settings accounting.contacts';
|
|
19
|
+
const { apiKey, callback: redirectUrl } = this.config;
|
|
20
|
+
return `https://login.xero.com/identity/connect/authorize?response_type=code&client_id=${apiKey}&scope=${scopes}&redirect_uri=${redirectUrl}&state=${nonce}`;
|
|
21
|
+
}
|
|
22
|
+
async get(path, data) {
|
|
23
|
+
const { accessToken, tenantId } = this.config;
|
|
24
|
+
const qs = Object.entries(data)
|
|
25
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
|
|
26
|
+
.join('&');
|
|
27
|
+
const endpoint = `${ENDPOINT}${path}${qs ? '?' + qs : ''}`;
|
|
28
|
+
debug('endpoint', endpoint);
|
|
29
|
+
const response = await (0, node_fetch_1.default)(endpoint, {
|
|
30
|
+
method: 'get',
|
|
31
|
+
headers: {
|
|
32
|
+
accept: 'application/json',
|
|
33
|
+
'Content-Type': 'application/json',
|
|
34
|
+
Authorization: `Bearer ${accessToken}`,
|
|
35
|
+
'xero-tenant-id': tenantId
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
throw response;
|
|
40
|
+
}
|
|
41
|
+
let result = await response.json();
|
|
42
|
+
debug('response result', result);
|
|
43
|
+
result = this.convertStatusCode(result);
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
async post(path, data = {}) {
|
|
47
|
+
const { accessToken, tenantId } = this.config;
|
|
48
|
+
debug('data', data);
|
|
49
|
+
const jsondata = JSON.stringify(data);
|
|
50
|
+
const endpoint = `${ENDPOINT}${path}`;
|
|
51
|
+
debug('endpoint', endpoint);
|
|
52
|
+
const response = await (0, node_fetch_1.default)(endpoint, {
|
|
53
|
+
method: 'post',
|
|
54
|
+
headers: {
|
|
55
|
+
accept: 'application/json',
|
|
56
|
+
'Content-Type': 'application/json',
|
|
57
|
+
Authorization: `Bearer ${accessToken}`,
|
|
58
|
+
'xero-tenant-id': tenantId
|
|
59
|
+
},
|
|
60
|
+
body: jsondata
|
|
61
|
+
});
|
|
62
|
+
if (!response.ok) {
|
|
63
|
+
throw response;
|
|
64
|
+
}
|
|
65
|
+
let result = await response.json();
|
|
66
|
+
debug('response result', result);
|
|
67
|
+
result = this.convertStatusCode(result);
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
async put(path, data = {}) {
|
|
71
|
+
const { accessToken, tenantId } = this.config;
|
|
72
|
+
debug('data', data);
|
|
73
|
+
const jsondata = JSON.stringify(data);
|
|
74
|
+
const endpoint = `${ENDPOINT}${path}`;
|
|
75
|
+
debug('endpoint', endpoint);
|
|
76
|
+
const response = await (0, node_fetch_1.default)(endpoint, {
|
|
77
|
+
method: 'put',
|
|
78
|
+
headers: {
|
|
79
|
+
accept: 'application/json',
|
|
80
|
+
'Content-Type': 'application/json',
|
|
81
|
+
Authorization: `Bearer ${accessToken}`,
|
|
82
|
+
'xero-tenant-id': tenantId
|
|
83
|
+
},
|
|
84
|
+
body: jsondata
|
|
85
|
+
});
|
|
86
|
+
if (!response.ok) {
|
|
87
|
+
throw response;
|
|
88
|
+
}
|
|
89
|
+
let result = await response.json();
|
|
90
|
+
debug('response result', result);
|
|
91
|
+
result = this.convertStatusCode(result);
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
async delete(path, data = {}) {
|
|
95
|
+
const { accessToken, tenantId } = this.config;
|
|
96
|
+
debug('data', data);
|
|
97
|
+
const jsondata = JSON.stringify(data);
|
|
98
|
+
const endpoint = `${ENDPOINT}${path}`;
|
|
99
|
+
debug('endpoint', endpoint);
|
|
100
|
+
const response = await (0, node_fetch_1.default)(endpoint, {
|
|
101
|
+
method: 'delete',
|
|
102
|
+
headers: {
|
|
103
|
+
accept: 'application/json',
|
|
104
|
+
'Content-Type': 'application/json',
|
|
105
|
+
Authorization: `Bearer ${accessToken}`,
|
|
106
|
+
'xero-tenant-id': tenantId
|
|
107
|
+
},
|
|
108
|
+
body: jsondata
|
|
109
|
+
});
|
|
110
|
+
if (!response.ok) {
|
|
111
|
+
throw response;
|
|
112
|
+
}
|
|
113
|
+
let result = await response.json();
|
|
114
|
+
debug('response result', result);
|
|
115
|
+
result = this.convertStatusCode(result);
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
convertStatusCode(result) {
|
|
119
|
+
result.ok = result.Status.toLowerCase() === 'ok';
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
static async refreshAccessToken(apiKey, apiSecret, account) {
|
|
123
|
+
const refreshRequestData = {
|
|
124
|
+
grant_type: 'refresh_token',
|
|
125
|
+
refresh_token: account.refreshToken
|
|
126
|
+
};
|
|
127
|
+
const refreshResponse = await (0, node_fetch_1.default)(`https://identity.xero.com/connect/token`, {
|
|
128
|
+
method: 'post',
|
|
129
|
+
headers: {
|
|
130
|
+
Authorization: `Basic ${Buffer.from(apiKey + ':' + apiSecret).toString('base64')}`,
|
|
131
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
132
|
+
},
|
|
133
|
+
body: Object.entries(refreshRequestData)
|
|
134
|
+
.map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))
|
|
135
|
+
.join('&')
|
|
136
|
+
});
|
|
137
|
+
if (!refreshResponse.ok) {
|
|
138
|
+
throw new Error(`get account information failed: ${await refreshResponse.text()}`);
|
|
139
|
+
}
|
|
140
|
+
const body = await refreshResponse.json();
|
|
141
|
+
const { access_token /* token used to call the API */, id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */, expires_in /* amount of seconds until the access token expires */, token_type: tokenType /* must be Bearer */, refresh_token
|
|
142
|
+
/* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).
|
|
143
|
+
*/
|
|
144
|
+
} = body;
|
|
145
|
+
const { exp } = (0, utils_1.parseJwt)(access_token);
|
|
146
|
+
var patch = {
|
|
147
|
+
accessToken: access_token,
|
|
148
|
+
refreshToken: refresh_token,
|
|
149
|
+
tokenType,
|
|
150
|
+
expiresIn: new Date(exp * 1000)
|
|
151
|
+
};
|
|
152
|
+
const repository = (0, typeorm_1.getRepository)(account_1.Account);
|
|
153
|
+
return await repository.save(Object.assign(Object.assign({}, account), patch));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.Xero = Xero;
|
|
157
|
+
//# sourceMappingURL=xero.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xero.js","sourceRoot":"","sources":["../../../server/controllers/xero/xero.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGoodsReceivedNote = void 0;
|
|
4
|
+
function createGoodsReceivedNote() {
|
|
5
|
+
return {
|
|
6
|
+
method: 'post',
|
|
7
|
+
path: '/goodsreceive',
|
|
8
|
+
denormalize(req, { accounting }) {
|
|
9
|
+
const { arrivalNotice, orderProducts } = req;
|
|
10
|
+
let accountInfo = (accounting === null || accounting === void 0 ? void 0 : accounting.accountInfo) ? JSON.parse(accounting.accountInfo) : {};
|
|
11
|
+
let totalReceivedQuantity = 0;
|
|
12
|
+
const curDate = new Date().toISOString();
|
|
13
|
+
let receivedItems = orderProducts.map(op => {
|
|
14
|
+
totalReceivedQuantity += op.actualPackQty;
|
|
15
|
+
return {
|
|
16
|
+
itemCode: op.product.sku,
|
|
17
|
+
quantityReceived: op.actualPackQty,
|
|
18
|
+
discountPercentage: 0,
|
|
19
|
+
uniqueId: '',
|
|
20
|
+
matrixBarcode: '',
|
|
21
|
+
itemRemark: 'NA',
|
|
22
|
+
enterQuantity: op.actualPackQty,
|
|
23
|
+
unitCost: op.unitPrice,
|
|
24
|
+
refItemId: op.refItemId
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
let grn = {
|
|
28
|
+
receivingDate: curDate,
|
|
29
|
+
receiveType: arrivalNotice.orderSourceType == 'XILNEX_PO' ? 'Receive' : 'TRANSFERRECEIVE',
|
|
30
|
+
receivedStatus: 'Completed',
|
|
31
|
+
remark: arrivalNotice.remark || 'NA',
|
|
32
|
+
outlet: (accountInfo === null || accountInfo === void 0 ? void 0 : accountInfo.outlet) || 'MAIN BRANCH',
|
|
33
|
+
totalReceivedQuantity: totalReceivedQuantity,
|
|
34
|
+
poNumber: arrivalNotice.refNo,
|
|
35
|
+
invoiceNo: '-',
|
|
36
|
+
invoiceDate: curDate,
|
|
37
|
+
deliveryOrderNumber: (arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.deliveryOrderNo) || '-'
|
|
38
|
+
};
|
|
39
|
+
if (arrivalNotice.orderSourceType == 'XILNEX_TRANSFER_NOTE') {
|
|
40
|
+
grn.refId = [arrivalNotice.refNo];
|
|
41
|
+
}
|
|
42
|
+
return { payload: { goodsReceive: Object.assign(Object.assign({}, grn), { receivedItems }) } };
|
|
43
|
+
},
|
|
44
|
+
normalize(res) {
|
|
45
|
+
return res;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
exports.createGoodsReceivedNote = createGoodsReceivedNote;
|
|
50
|
+
//# sourceMappingURL=create-goods-received-note.js.map
|