@things-factory/integration-accounting 9.0.0-beta.25 → 9.0.0-beta.27
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/package.json +3 -3
- package/dist-server/controllers/accounting-api/decorators.d.ts +0 -1
- package/dist-server/controllers/accounting-api/decorators.js +0 -33
- package/dist-server/controllers/accounting-api/decorators.js.map +0 -1
- package/dist-server/controllers/accounting-api/index.d.ts +0 -25
- package/dist-server/controllers/accounting-api/index.js +0 -124
- package/dist-server/controllers/accounting-api/index.js.map +0 -1
- package/dist-server/controllers/index.d.ts +0 -2
- package/dist-server/controllers/index.js +0 -6
- package/dist-server/controllers/index.js.map +0 -1
- package/dist-server/controllers/xero/apis/contact/get-contact.d.ts +0 -19
- package/dist-server/controllers/xero/apis/contact/get-contact.js +0 -32
- package/dist-server/controllers/xero/apis/contact/get-contact.js.map +0 -1
- package/dist-server/controllers/xero/apis/contact/get-contacts.d.ts +0 -8
- package/dist-server/controllers/xero/apis/contact/get-contacts.js +0 -18
- package/dist-server/controllers/xero/apis/contact/get-contacts.js.map +0 -1
- package/dist-server/controllers/xero/apis/contact/index.d.ts +0 -2
- package/dist-server/controllers/xero/apis/contact/index.js +0 -6
- package/dist-server/controllers/xero/apis/contact/index.js.map +0 -1
- package/dist-server/controllers/xero/apis/index.d.ts +0 -4
- package/dist-server/controllers/xero/apis/index.js +0 -8
- package/dist-server/controllers/xero/apis/index.js.map +0 -1
- package/dist-server/controllers/xero/apis/invoice/create-invoice.d.ts +0 -6
- package/dist-server/controllers/xero/apis/invoice/create-invoice.js +0 -16
- package/dist-server/controllers/xero/apis/invoice/create-invoice.js.map +0 -1
- package/dist-server/controllers/xero/apis/invoice/get-invoice.d.ts +0 -10
- package/dist-server/controllers/xero/apis/invoice/get-invoice.js +0 -18
- package/dist-server/controllers/xero/apis/invoice/get-invoice.js.map +0 -1
- package/dist-server/controllers/xero/apis/invoice/get-invoices.d.ts +0 -10
- package/dist-server/controllers/xero/apis/invoice/get-invoices.js +0 -59
- package/dist-server/controllers/xero/apis/invoice/get-invoices.js.map +0 -1
- package/dist-server/controllers/xero/apis/invoice/index.d.ts +0 -4
- package/dist-server/controllers/xero/apis/invoice/index.js +0 -8
- package/dist-server/controllers/xero/apis/invoice/index.js.map +0 -1
- package/dist-server/controllers/xero/apis/invoice/update-invoice.d.ts +0 -6
- package/dist-server/controllers/xero/apis/invoice/update-invoice.js +0 -16
- package/dist-server/controllers/xero/apis/invoice/update-invoice.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/create-item.d.ts +0 -16
- package/dist-server/controllers/xero/apis/item/create-item.js +0 -32
- package/dist-server/controllers/xero/apis/item/create-item.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/delete-item.d.ts +0 -11
- package/dist-server/controllers/xero/apis/item/delete-item.js +0 -21
- package/dist-server/controllers/xero/apis/item/delete-item.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/get-item.d.ts +0 -10
- package/dist-server/controllers/xero/apis/item/get-item.js +0 -34
- package/dist-server/controllers/xero/apis/item/get-item.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/get-items.d.ts +0 -8
- package/dist-server/controllers/xero/apis/item/get-items.js +0 -32
- package/dist-server/controllers/xero/apis/item/get-items.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/index.d.ts +0 -6
- package/dist-server/controllers/xero/apis/item/index.js +0 -10
- package/dist-server/controllers/xero/apis/item/index.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/update-item.d.ts +0 -14
- package/dist-server/controllers/xero/apis/item/update-item.js +0 -30
- package/dist-server/controllers/xero/apis/item/update-item.js.map +0 -1
- package/dist-server/controllers/xero/apis/item/update-items.d.ts +0 -10
- package/dist-server/controllers/xero/apis/item/update-items.js +0 -36
- package/dist-server/controllers/xero/apis/item/update-items.js.map +0 -1
- package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.d.ts +0 -8
- package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.js +0 -56
- package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.js.map +0 -1
- package/dist-server/controllers/xero/apis/purchase-order/index.d.ts +0 -1
- package/dist-server/controllers/xero/apis/purchase-order/index.js +0 -5
- package/dist-server/controllers/xero/apis/purchase-order/index.js.map +0 -1
- package/dist-server/controllers/xero/index.d.ts +0 -1
- package/dist-server/controllers/xero/index.js +0 -9
- package/dist-server/controllers/xero/index.js.map +0 -1
- package/dist-server/controllers/xero/platform-action.d.ts +0 -6
- package/dist-server/controllers/xero/platform-action.js +0 -49
- package/dist-server/controllers/xero/platform-action.js.map +0 -1
- package/dist-server/controllers/xero/xero.d.ts +0 -18
- package/dist-server/controllers/xero/xero.js +0 -155
- package/dist-server/controllers/xero/xero.js.map +0 -1
- package/dist-server/engine/connector/accounting-connector.d.ts +0 -8
- package/dist-server/engine/connector/accounting-connector.js +0 -28
- package/dist-server/engine/connector/accounting-connector.js.map +0 -1
- package/dist-server/engine/connector/index.d.ts +0 -1
- package/dist-server/engine/connector/index.js +0 -4
- package/dist-server/engine/connector/index.js.map +0 -1
- package/dist-server/engine/index.d.ts +0 -2
- package/dist-server/engine/index.js +0 -5
- package/dist-server/engine/index.js.map +0 -1
- package/dist-server/engine/task/accounting-api.d.ts +0 -1
- package/dist-server/engine/task/accounting-api.js +0 -54
- package/dist-server/engine/task/accounting-api.js.map +0 -1
- package/dist-server/engine/task/index.d.ts +0 -1
- package/dist-server/engine/task/index.js +0 -4
- package/dist-server/engine/task/index.js.map +0 -1
- package/dist-server/entities/account.d.ts +0 -23
- package/dist-server/entities/account.js +0 -113
- package/dist-server/entities/account.js.map +0 -1
- package/dist-server/entities/index.d.ts +0 -3
- package/dist-server/entities/index.js +0 -7
- package/dist-server/entities/index.js.map +0 -1
- package/dist-server/graphql/index.d.ts +0 -6
- package/dist-server/graphql/index.js +0 -11
- package/dist-server/graphql/index.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/account.d.ts +0 -6
- package/dist-server/graphql/resolvers/accounting/account.js +0 -15
- package/dist-server/graphql/resolvers/accounting/account.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/accounts.d.ts +0 -8
- package/dist-server/graphql/resolvers/accounting/accounts.js +0 -14
- package/dist-server/graphql/resolvers/accounting/accounts.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/create-account.d.ts +0 -5
- package/dist-server/graphql/resolvers/accounting/create-account.js +0 -13
- package/dist-server/graphql/resolvers/accounting/create-account.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/delete-account.d.ts +0 -5
- package/dist-server/graphql/resolvers/accounting/delete-account.js +0 -16
- package/dist-server/graphql/resolvers/accounting/delete-account.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/delete-accounts.d.ts +0 -5
- package/dist-server/graphql/resolvers/accounting/delete-accounts.js +0 -20
- package/dist-server/graphql/resolvers/accounting/delete-accounts.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/index.d.ts +0 -25
- package/dist-server/graphql/resolvers/accounting/index.js +0 -15
- package/dist-server/graphql/resolvers/accounting/index.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/update-account.d.ts +0 -6
- package/dist-server/graphql/resolvers/accounting/update-account.js +0 -15
- package/dist-server/graphql/resolvers/accounting/update-account.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.d.ts +0 -5
- package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.js +0 -30
- package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.d.ts +0 -5
- package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.js +0 -51
- package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.d.ts +0 -6
- package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.js +0 -31
- package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/xero/index.d.ts +0 -13
- package/dist-server/graphql/resolvers/accounting/xero/index.js +0 -9
- package/dist-server/graphql/resolvers/accounting/xero/index.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.d.ts +0 -5
- package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.js +0 -51
- package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.d.ts +0 -20
- package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.js +0 -32
- package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting-api/accounting-item.d.ts +0 -24
- package/dist-server/graphql/resolvers/accounting-api/accounting-item.js +0 -36
- package/dist-server/graphql/resolvers/accounting-api/accounting-item.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.d.ts +0 -6
- package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.js +0 -16
- package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.js.map +0 -1
- package/dist-server/graphql/resolvers/accounting-api/index.d.ts +0 -44
- package/dist-server/graphql/resolvers/accounting-api/index.js +0 -9
- package/dist-server/graphql/resolvers/accounting-api/index.js.map +0 -1
- package/dist-server/graphql/resolvers/index.d.ts +0 -25
- package/dist-server/graphql/resolvers/index.js +0 -8
- package/dist-server/graphql/resolvers/index.js.map +0 -1
- package/dist-server/graphql/types/accounting/account-list.d.ts +0 -1
- package/dist-server/graphql/types/accounting/account-list.js +0 -12
- package/dist-server/graphql/types/accounting/account-list.js.map +0 -1
- package/dist-server/graphql/types/accounting/account-patch.d.ts +0 -1
- package/dist-server/graphql/types/accounting/account-patch.js +0 -18
- package/dist-server/graphql/types/accounting/account-patch.js.map +0 -1
- package/dist-server/graphql/types/accounting/account.d.ts +0 -1
- package/dist-server/graphql/types/accounting/account.js +0 -29
- package/dist-server/graphql/types/accounting/account.js.map +0 -1
- package/dist-server/graphql/types/accounting/index.d.ts +0 -3
- package/dist-server/graphql/types/accounting/index.js +0 -45
- package/dist-server/graphql/types/accounting/index.js.map +0 -1
- package/dist-server/graphql/types/accounting/new-account.d.ts +0 -1
- package/dist-server/graphql/types/accounting/new-account.js +0 -16
- package/dist-server/graphql/types/accounting/new-account.js.map +0 -1
- package/dist-server/graphql/types/accounting-api/invoice.d.ts +0 -3
- package/dist-server/graphql/types/accounting-api/invoice.js +0 -63
- package/dist-server/graphql/types/accounting-api/invoice.js.map +0 -1
- package/dist-server/graphql/types/accounting-api/item.d.ts +0 -3
- package/dist-server/graphql/types/accounting-api/item.js +0 -63
- package/dist-server/graphql/types/accounting-api/item.js.map +0 -1
- package/dist-server/graphql/types/accounting-api/purchase-order.d.ts +0 -2
- package/dist-server/graphql/types/accounting-api/purchase-order.js +0 -34
- package/dist-server/graphql/types/accounting-api/purchase-order.js.map +0 -1
- package/dist-server/graphql/types/index.d.ts +0 -3
- package/dist-server/graphql/types/index.js +0 -12
- package/dist-server/graphql/types/index.js.map +0 -1
- package/dist-server/index.d.ts +0 -6
- package/dist-server/index.js +0 -11
- package/dist-server/index.js.map +0 -1
- package/dist-server/migrations/index.d.ts +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/routers/xero-private-router.d.ts +0 -1
- package/dist-server/routers/xero-private-router.js +0 -17
- package/dist-server/routers/xero-private-router.js.map +0 -1
- package/dist-server/routers/xero-router.d.ts +0 -1
- package/dist-server/routers/xero-router.js +0 -109
- package/dist-server/routers/xero-router.js.map +0 -1
- package/dist-server/routes.d.ts +0 -1
- package/dist-server/routes.js +0 -11
- package/dist-server/routes.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Types = exports.Query = exports.Mutation = void 0;
|
|
4
|
-
const account_1 = require("./account");
|
|
5
|
-
const new_account_1 = require("./new-account");
|
|
6
|
-
const account_patch_1 = require("./account-patch");
|
|
7
|
-
const account_list_1 = require("./account-list");
|
|
8
|
-
exports.Mutation = `
|
|
9
|
-
createAccount (
|
|
10
|
-
account: NewAccount!
|
|
11
|
-
): Account
|
|
12
|
-
|
|
13
|
-
updateAccount (
|
|
14
|
-
id: String!
|
|
15
|
-
patch: AccountPatch!
|
|
16
|
-
): Account
|
|
17
|
-
|
|
18
|
-
updateMultipleAccount (
|
|
19
|
-
patches: [AccountPatch]!
|
|
20
|
-
): [Account]
|
|
21
|
-
|
|
22
|
-
deleteAccount (
|
|
23
|
-
id: String!
|
|
24
|
-
): Boolean
|
|
25
|
-
|
|
26
|
-
deleteAccounts (
|
|
27
|
-
ids: [String]!
|
|
28
|
-
): Boolean
|
|
29
|
-
|
|
30
|
-
refreshXeroAccessToken (
|
|
31
|
-
id: String!
|
|
32
|
-
): Account
|
|
33
|
-
|
|
34
|
-
deactivateXeroAccount (
|
|
35
|
-
id: String!
|
|
36
|
-
): Account
|
|
37
|
-
`;
|
|
38
|
-
exports.Query = `
|
|
39
|
-
accounts(filters: [Filter], pagination: Pagination, sortings: [Sorting]): AccountList
|
|
40
|
-
account(id: String!): Account
|
|
41
|
-
|
|
42
|
-
getXeroAuthURL(accounting: String!): String
|
|
43
|
-
`;
|
|
44
|
-
exports.Types = [account_1.Account, new_account_1.NewAccount, account_patch_1.AccountPatch, account_list_1.AccountList];
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/accounting/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,+CAA0C;AAC1C,mDAA8C;AAC9C,iDAA4C;AAE/B,QAAA,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvB,CAAA;AAEY,QAAA,KAAK,GAAG;;;;;CAKpB,CAAA;AAEY,QAAA,KAAK,GAAG,CAAC,iBAAO,EAAE,wBAAU,EAAE,4BAAY,EAAE,0BAAW,CAAC,CAAA","sourcesContent":["import { Account } from './account'\nimport { NewAccount } from './new-account'\nimport { AccountPatch } from './account-patch'\nimport { AccountList } from './account-list'\n\nexport const Mutation = `\n createAccount (\n account: NewAccount!\n ): Account\n\n updateAccount (\n id: String!\n patch: AccountPatch!\n ): Account\n\n updateMultipleAccount (\n patches: [AccountPatch]!\n ): [Account]\n\n deleteAccount (\n id: String!\n ): Boolean\n\n deleteAccounts (\n ids: [String]!\n ): Boolean\n\n refreshXeroAccessToken (\n id: String!\n ): Account\n\n deactivateXeroAccount (\n id: String!\n ): Account\n`\n\nexport const Query = `\n accounts(filters: [Filter], pagination: Pagination, sortings: [Sorting]): AccountList\n account(id: String!): Account\n \n getXeroAuthURL(accounting: String!): String\n`\n\nexport const Types = [Account, NewAccount, AccountPatch, AccountList]\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const NewAccount: import("graphql").DocumentNode;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NewAccount = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
-
exports.NewAccount = (0, graphql_tag_1.default) `
|
|
7
|
-
input NewAccount {
|
|
8
|
-
name: String!
|
|
9
|
-
description: String
|
|
10
|
-
platform: String!
|
|
11
|
-
accountId: String
|
|
12
|
-
trackedInventory: Boolean
|
|
13
|
-
countryCode: String
|
|
14
|
-
}
|
|
15
|
-
`;
|
|
16
|
-
//# sourceMappingURL=new-account.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"new-account.js","sourceRoot":"","sources":["../../../../server/graphql/types/accounting/new-account.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAEhB,QAAA,UAAU,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;CAS5B,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nexport const NewAccount = gql`\n input NewAccount {\n name: String!\n description: String\n platform: String!\n accountId: String\n trackedInventory: Boolean\n countryCode: String\n }\n`\n"]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare const Mutation = "\n createAccountInvoice(\n accountingId: String!\n invoice: NewAccountInvoice!\n ): AccountInvoice\n\n updateAccountInvoice(\n accountingId: String!\n patch: AccountInvoicePatch!\n ): AccountInvoice\n";
|
|
2
|
-
export declare const Query = "\n getAccountInvoices(\n accountingId: String!\n filters: [Filter]\n pagination: Pagination\n sortings: [Sorting] \n ): AccountInvoiceList\n \n getAccountInvoice(\n accountingId: String!\n invoiceNo: String!\n ): AccountInvoice\n";
|
|
3
|
-
export declare const Types: import("graphql").DocumentNode[];
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Types = exports.Query = exports.Mutation = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
-
const NewAccountInvoice = (0, graphql_tag_1.default) `
|
|
7
|
-
input NewAccountInvoice {
|
|
8
|
-
name: String!
|
|
9
|
-
description: String
|
|
10
|
-
}
|
|
11
|
-
`;
|
|
12
|
-
const AccountInvoiceList = (0, graphql_tag_1.default) `
|
|
13
|
-
type AccountInvoiceList {
|
|
14
|
-
items: [AccountInvoice]
|
|
15
|
-
total: Int
|
|
16
|
-
}
|
|
17
|
-
`;
|
|
18
|
-
const AccountInvoicePatch = (0, graphql_tag_1.default) `
|
|
19
|
-
input AccountInvoicePatch {
|
|
20
|
-
id: String!
|
|
21
|
-
name: String
|
|
22
|
-
description: String
|
|
23
|
-
cuFlag: String
|
|
24
|
-
}
|
|
25
|
-
`;
|
|
26
|
-
const AccountInvoice = (0, graphql_tag_1.default) `
|
|
27
|
-
type AccountInvoice {
|
|
28
|
-
id: String
|
|
29
|
-
name: String
|
|
30
|
-
domain: Domain
|
|
31
|
-
description: String
|
|
32
|
-
updater: User
|
|
33
|
-
creator: User
|
|
34
|
-
updatedAt: String
|
|
35
|
-
createdAt: String
|
|
36
|
-
}
|
|
37
|
-
`;
|
|
38
|
-
exports.Mutation = `
|
|
39
|
-
createAccountInvoice(
|
|
40
|
-
accountingId: String!
|
|
41
|
-
invoice: NewAccountInvoice!
|
|
42
|
-
): AccountInvoice
|
|
43
|
-
|
|
44
|
-
updateAccountInvoice(
|
|
45
|
-
accountingId: String!
|
|
46
|
-
patch: AccountInvoicePatch!
|
|
47
|
-
): AccountInvoice
|
|
48
|
-
`;
|
|
49
|
-
exports.Query = `
|
|
50
|
-
getAccountInvoices(
|
|
51
|
-
accountingId: String!
|
|
52
|
-
filters: [Filter]
|
|
53
|
-
pagination: Pagination
|
|
54
|
-
sortings: [Sorting]
|
|
55
|
-
): AccountInvoiceList
|
|
56
|
-
|
|
57
|
-
getAccountInvoice(
|
|
58
|
-
accountingId: String!
|
|
59
|
-
invoiceNo: String!
|
|
60
|
-
): AccountInvoice
|
|
61
|
-
`;
|
|
62
|
-
exports.Types = [AccountInvoice, NewAccountInvoice, AccountInvoicePatch, AccountInvoiceList];
|
|
63
|
-
//# sourceMappingURL=invoice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../../../server/graphql/types/accounting-api/invoice.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAE7B,MAAM,iBAAiB,GAAG,IAAA,qBAAG,EAAA;;;;;CAK5B,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAA,qBAAG,EAAA;;;;;CAK7B,CAAA;AAED,MAAM,mBAAmB,GAAG,IAAA,qBAAG,EAAA;;;;;;;CAO9B,CAAA;AAED,MAAM,cAAc,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAWzB,CAAA;AAEY,QAAA,QAAQ,GAAG;;;;;;;;;;CAUvB,CAAA;AAEY,QAAA,KAAK,GAAG;;;;;;;;;;;;CAYpB,CAAA;AAEY,QAAA,KAAK,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nconst NewAccountInvoice = gql`\n input NewAccountInvoice {\n name: String!\n description: String\n }\n`\n\nconst AccountInvoiceList = gql`\n type AccountInvoiceList {\n items: [AccountInvoice]\n total: Int\n }\n`\n\nconst AccountInvoicePatch = gql`\n input AccountInvoicePatch {\n id: String!\n name: String\n description: String\n cuFlag: String\n }\n`\n\nconst AccountInvoice = gql`\n type AccountInvoice {\n id: String\n name: String\n domain: Domain\n description: String\n updater: User\n creator: User\n updatedAt: String\n createdAt: String\n }\n`\n\nexport const Mutation = `\n createAccountInvoice(\n accountingId: String!\n invoice: NewAccountInvoice!\n ): AccountInvoice\n\n updateAccountInvoice(\n accountingId: String!\n patch: AccountInvoicePatch!\n ): AccountInvoice\n`\n\nexport const Query = `\n getAccountInvoices(\n accountingId: String!\n filters: [Filter]\n pagination: Pagination\n sortings: [Sorting] \n ): AccountInvoiceList\n \n getAccountInvoice(\n accountingId: String!\n invoiceNo: String!\n ): AccountInvoice\n`\n\nexport const Types = [AccountInvoice, NewAccountInvoice, AccountInvoicePatch, AccountInvoiceList]\n"]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare const Mutation = "\n createAccountItem(\n accountingId: String!\n item: NewAccountItem!\n ): AccountItem\n\n updateAccountItem(\n accountingId: String!\n patch: AccountItemPatch!\n ): AccountItem\n";
|
|
2
|
-
export declare const Query = "\n getAccountItems(\n accountingId: String!\n filters: [Filter]\n pagination: Pagination\n sortings: [Sorting] \n ): AccountItemList\n \n getAccountItem(\n accountingId: String!\n itemId: String!\n ): AccountItem\n";
|
|
3
|
-
export declare const Types: import("graphql").DocumentNode[];
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Types = exports.Query = exports.Mutation = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
-
const NewAccountItem = (0, graphql_tag_1.default) `
|
|
7
|
-
input NewAccountItem {
|
|
8
|
-
name: String!
|
|
9
|
-
description: String
|
|
10
|
-
}
|
|
11
|
-
`;
|
|
12
|
-
const AccountItemList = (0, graphql_tag_1.default) `
|
|
13
|
-
type AccountItemList {
|
|
14
|
-
items: [AccountItem]
|
|
15
|
-
total: Int
|
|
16
|
-
}
|
|
17
|
-
`;
|
|
18
|
-
const AccountItemPatch = (0, graphql_tag_1.default) `
|
|
19
|
-
input AccountItemPatch {
|
|
20
|
-
id: String
|
|
21
|
-
name: String
|
|
22
|
-
description: String
|
|
23
|
-
cuFlag: String
|
|
24
|
-
}
|
|
25
|
-
`;
|
|
26
|
-
const AccountItem = (0, graphql_tag_1.default) `
|
|
27
|
-
type AccountItem {
|
|
28
|
-
id: String
|
|
29
|
-
name: String
|
|
30
|
-
domain: Domain
|
|
31
|
-
description: String
|
|
32
|
-
updater: User
|
|
33
|
-
creator: User
|
|
34
|
-
updatedAt: String
|
|
35
|
-
createdAt: String
|
|
36
|
-
}
|
|
37
|
-
`;
|
|
38
|
-
exports.Mutation = `
|
|
39
|
-
createAccountItem(
|
|
40
|
-
accountingId: String!
|
|
41
|
-
item: NewAccountItem!
|
|
42
|
-
): AccountItem
|
|
43
|
-
|
|
44
|
-
updateAccountItem(
|
|
45
|
-
accountingId: String!
|
|
46
|
-
patch: AccountItemPatch!
|
|
47
|
-
): AccountItem
|
|
48
|
-
`;
|
|
49
|
-
exports.Query = `
|
|
50
|
-
getAccountItems(
|
|
51
|
-
accountingId: String!
|
|
52
|
-
filters: [Filter]
|
|
53
|
-
pagination: Pagination
|
|
54
|
-
sortings: [Sorting]
|
|
55
|
-
): AccountItemList
|
|
56
|
-
|
|
57
|
-
getAccountItem(
|
|
58
|
-
accountingId: String!
|
|
59
|
-
itemId: String!
|
|
60
|
-
): AccountItem
|
|
61
|
-
`;
|
|
62
|
-
exports.Types = [AccountItem, NewAccountItem, AccountItemPatch, AccountItemList];
|
|
63
|
-
//# sourceMappingURL=item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../server/graphql/types/accounting-api/item.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAE7B,MAAM,cAAc,GAAG,IAAA,qBAAG,EAAA;;;;;CAKzB,CAAA;AAED,MAAM,eAAe,GAAG,IAAA,qBAAG,EAAA;;;;;CAK1B,CAAA;AAED,MAAM,gBAAgB,GAAG,IAAA,qBAAG,EAAA;;;;;;;CAO3B,CAAA;AAED,MAAM,WAAW,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAWtB,CAAA;AACY,QAAA,QAAQ,GAAG;;;;;;;;;;CAUvB,CAAA;AAEY,QAAA,KAAK,GAAG;;;;;;;;;;;;CAYpB,CAAA;AAEY,QAAA,KAAK,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nconst NewAccountItem = gql`\n input NewAccountItem {\n name: String!\n description: String\n }\n`\n\nconst AccountItemList = gql`\n type AccountItemList {\n items: [AccountItem]\n total: Int\n }\n`\n\nconst AccountItemPatch = gql`\n input AccountItemPatch {\n id: String\n name: String\n description: String\n cuFlag: String\n }\n`\n\nconst AccountItem = gql`\n type AccountItem {\n id: String\n name: String\n domain: Domain\n description: String\n updater: User\n creator: User\n updatedAt: String\n createdAt: String\n }\n`\nexport const Mutation = `\n createAccountItem(\n accountingId: String!\n item: NewAccountItem!\n ): AccountItem\n\n updateAccountItem(\n accountingId: String!\n patch: AccountItemPatch!\n ): AccountItem\n`\n\nexport const Query = `\n getAccountItems(\n accountingId: String!\n filters: [Filter]\n pagination: Pagination\n sortings: [Sorting] \n ): AccountItemList\n \n getAccountItem(\n accountingId: String!\n itemId: String!\n ): AccountItem\n`\n\nexport const Types = [AccountItem, NewAccountItem, AccountItemPatch, AccountItemList]\n"]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Types = exports.Query = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
-
const AccountPurchaseOrderList = (0, graphql_tag_1.default) `
|
|
7
|
-
type AccountPurchaseOrderList {
|
|
8
|
-
items: [AccountPurchaseOrder]
|
|
9
|
-
total: Int
|
|
10
|
-
}
|
|
11
|
-
`;
|
|
12
|
-
const AccountPurchaseOrder = (0, graphql_tag_1.default) `
|
|
13
|
-
type AccountPurchaseOrder {
|
|
14
|
-
id: String
|
|
15
|
-
name: String
|
|
16
|
-
domain: Domain
|
|
17
|
-
description: String
|
|
18
|
-
updater: User
|
|
19
|
-
creator: User
|
|
20
|
-
updatedAt: String
|
|
21
|
-
createdAt: String
|
|
22
|
-
}
|
|
23
|
-
`;
|
|
24
|
-
exports.Query = `
|
|
25
|
-
getAccountPurchaseOrders(
|
|
26
|
-
accountingId: String!
|
|
27
|
-
filters: [Filter]
|
|
28
|
-
pagination: Pagination
|
|
29
|
-
sortings: [Sorting]
|
|
30
|
-
): AccountPurchaseOrderList
|
|
31
|
-
|
|
32
|
-
`;
|
|
33
|
-
exports.Types = [AccountPurchaseOrder, AccountPurchaseOrderList];
|
|
34
|
-
//# sourceMappingURL=purchase-order.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"purchase-order.js","sourceRoot":"","sources":["../../../../server/graphql/types/accounting-api/purchase-order.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAE7B,MAAM,wBAAwB,GAAG,IAAA,qBAAG,EAAA;;;;;CAKnC,CAAA;AACD,MAAM,oBAAoB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAW/B,CAAA;AACY,QAAA,KAAK,GAAG;;;;;;;;CAQpB,CAAA;AACY,QAAA,KAAK,GAAG,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nconst AccountPurchaseOrderList = gql`\n type AccountPurchaseOrderList {\n items: [AccountPurchaseOrder]\n total: Int\n }\n`\nconst AccountPurchaseOrder = gql`\n type AccountPurchaseOrder {\n id: String\n name: String\n domain: Domain\n description: String\n updater: User\n creator: User\n updatedAt: String\n createdAt: String\n }\n`\nexport const Query = `\n getAccountPurchaseOrders(\n accountingId: String!\n filters: [Filter]\n pagination: Pagination\n sortings: [Sorting] \n ): AccountPurchaseOrderList\n \n`\nexport const Types = [AccountPurchaseOrder, AccountPurchaseOrderList]\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.types = exports.mutations = exports.queries = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const Accounting = tslib_1.__importStar(require("./accounting"));
|
|
6
|
-
const Invoice = tslib_1.__importStar(require("./accounting-api/invoice"));
|
|
7
|
-
const Item = tslib_1.__importStar(require("./accounting-api/item"));
|
|
8
|
-
const PurchaseOrder = tslib_1.__importStar(require("./accounting-api/purchase-order"));
|
|
9
|
-
exports.queries = [Accounting.Query, Invoice.Query, Item.Query, PurchaseOrder.Query];
|
|
10
|
-
exports.mutations = [Accounting.Mutation, Invoice.Mutation, Item.Mutation];
|
|
11
|
-
exports.types = [...Accounting.Types, ...Invoice.Types, ...Item.Types, ...PurchaseOrder.Types];
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/types/index.ts"],"names":[],"mappings":";;;;AAAA,iEAA0C;AAC1C,0EAAmD;AACnD,oEAA6C;AAC7C,uFAAgE;AAEnD,QAAA,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;AAE5E,QAAA,SAAS,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AAElE,QAAA,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA","sourcesContent":["import * as Accounting from './accounting'\nimport * as Invoice from './accounting-api/invoice'\nimport * as Item from './accounting-api/item'\nimport * as PurchaseOrder from './accounting-api/purchase-order'\n\nexport const queries = [Accounting.Query, Invoice.Query, Item.Query, PurchaseOrder.Query]\n\nexport const mutations = [Accounting.Mutation, Invoice.Mutation, Item.Mutation]\n\nexport const types = [...Accounting.Types, ...Invoice.Types, ...Item.Types, ...PurchaseOrder.Types]\n"]}
|
package/dist-server/index.d.ts
DELETED
package/dist-server/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./entities"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./migrations"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./graphql"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./controllers"), exports);
|
|
8
|
-
require("./routes");
|
|
9
|
-
require("./engine");
|
|
10
|
-
process.on('bootstrap-module-start', async ({ app, config, client }) => { });
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
package/dist-server/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,uDAA4B;AAC5B,oDAAyB;AACzB,wDAA6B;AAE7B,oBAAiB;AACjB,oBAAiB;AAEjB,OAAO,CAAC,EAAE,CAAC,wBAA+B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAO,EAAE,EAAE,GAAE,CAAC,CAAC,CAAA","sourcesContent":["export * from './entities'\nexport * from './migrations'\nexport * from './graphql'\nexport * from './controllers'\n\nimport './routes'\nimport './engine'\n\nprocess.on('bootstrap-module-start' as any, async ({ app, config, client }: any) => {})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare var migrations: any[];
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.migrations = void 0;
|
|
4
|
-
const glob = require('glob');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
exports.migrations = [];
|
|
7
|
-
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
|
|
8
|
-
if (file.indexOf('index.js') !== -1)
|
|
9
|
-
return;
|
|
10
|
-
exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA","sourcesContent":["const glob = require('glob')\nconst path = require('path')\n\nexport var migrations = []\n\nglob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {\n if (file.indexOf('index.js') !== -1) return\n migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const xeroPrivateRouter: any;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.xeroPrivateRouter = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const koa_router_1 = tslib_1.__importDefault(require("koa-router"));
|
|
6
|
-
const env_1 = require("@things-factory/env");
|
|
7
|
-
const shell_1 = require("@things-factory/shell");
|
|
8
|
-
const isPathBaseDomain = !env_1.config.get('subdomain');
|
|
9
|
-
const debug = require('debug')('things-factory:integration-accounting:xero-router');
|
|
10
|
-
exports.xeroPrivateRouter = new koa_router_1.default();
|
|
11
|
-
exports.xeroPrivateRouter.get(`${isPathBaseDomain ? '/:domainType/:domain' : ''}/callback-private-xero`, async (context, next) => {
|
|
12
|
-
const { domain } = context.state;
|
|
13
|
-
const xeroAccountingCookies = context.cookies.get('xero-accounting');
|
|
14
|
-
const { id, status, message } = JSON.parse(xeroAccountingCookies);
|
|
15
|
-
context.redirect(`${(0, shell_1.getRedirectSubdomainPath)(context, domain)}account-xero/${id}/connect-callback?status=${status}&message=${message}`);
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=xero-private-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xero-private-router.js","sourceRoot":"","sources":["../../server/routers/xero-private-router.ts"],"names":[],"mappings":";;;;AAAA,oEAA+B;AAE/B,6CAA4C;AAC5C,iDAAgE;AAEhE,MAAM,gBAAgB,GAAG,CAAC,YAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AAEjD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,mDAAmD,CAAC,CAAA;AAEtE,QAAA,iBAAiB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAE7C,yBAAiB,CAAC,GAAG,CACnB,GAAG,gBAAgB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EACzE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAEhC,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACpE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAEjE,OAAO,CAAC,QAAQ,CACd,GAAG,IAAA,gCAAwB,EACzB,OAAO,EACP,MAAM,CACP,gBAAgB,EAAE,4BAA4B,MAAM,YAAY,OAAO,EAAE,CAC3E,CAAA;AACH,CAAC,CACF,CAAA","sourcesContent":["import Router from 'koa-router'\n\nimport { config } from '@things-factory/env'\nimport { getRedirectSubdomainPath } from '@things-factory/shell'\n\nconst isPathBaseDomain = !config.get('subdomain')\n\nconst debug = require('debug')('things-factory:integration-accounting:xero-router')\n\nexport const xeroPrivateRouter = new Router()\n\nxeroPrivateRouter.get(\n `${isPathBaseDomain ? '/:domainType/:domain' : ''}/callback-private-xero`,\n async (context, next) => {\n const { domain } = context.state\n\n const xeroAccountingCookies = context.cookies.get('xero-accounting')\n const { id, status, message } = JSON.parse(xeroAccountingCookies)\n\n context.redirect(\n `${getRedirectSubdomainPath(\n context,\n domain\n )}account-xero/${id}/connect-callback?status=${status}&message=${message}`\n )\n }\n)\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const xeroRouter: any;
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.xeroRouter = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const koa_router_1 = tslib_1.__importDefault(require("koa-router"));
|
|
6
|
-
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
-
const env_1 = require("@things-factory/env");
|
|
9
|
-
const shell_1 = require("@things-factory/shell");
|
|
10
|
-
const utils_1 = require("@things-factory/utils");
|
|
11
|
-
const accounting_api_1 = require("../controllers/accounting-api");
|
|
12
|
-
const entities_1 = require("../entities");
|
|
13
|
-
const { apiKey, apiSecret, hostname, callback: redirect_uri } = env_1.config.get('accountingIntegrationXero', {});
|
|
14
|
-
const debug = require('debug')('things-factory:integration-accounting:xero-router');
|
|
15
|
-
exports.xeroRouter = new koa_router_1.default();
|
|
16
|
-
exports.xeroRouter.get('/callback-xero', async (context, next) => {
|
|
17
|
-
try {
|
|
18
|
-
const { code, state: nonce } = context.query;
|
|
19
|
-
const verificationTokenRepository = (0, shell_1.getRepository)(auth_base_1.VerificationToken);
|
|
20
|
-
var verification = await verificationTokenRepository.findOne({
|
|
21
|
-
where: {
|
|
22
|
-
token: nonce,
|
|
23
|
-
type: auth_base_1.VerificationTokenType.REQUEST_ACCESS_TOKEN
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
const { userId, suppliment: accountId } = verification;
|
|
27
|
-
await verificationTokenRepository.delete({
|
|
28
|
-
userId,
|
|
29
|
-
token: nonce,
|
|
30
|
-
type: auth_base_1.VerificationTokenType.REQUEST_ACCESS_TOKEN
|
|
31
|
-
});
|
|
32
|
-
var account = await accounting_api_1.AccountingAPI.getAccounting(accountId);
|
|
33
|
-
const connectRequestData = {
|
|
34
|
-
grant_type: 'authorization_code',
|
|
35
|
-
code,
|
|
36
|
-
redirect_uri
|
|
37
|
-
};
|
|
38
|
-
const connectResponse = await (0, node_fetch_1.default)(`https://identity.xero.com/connect/token`, {
|
|
39
|
-
method: 'post',
|
|
40
|
-
headers: {
|
|
41
|
-
Authorization: `Basic ${Buffer.from(apiKey + ':' + apiSecret).toString('base64')}`,
|
|
42
|
-
'Content-Type': 'application/x-www-form-urlencoded'
|
|
43
|
-
},
|
|
44
|
-
body: Object.entries(connectRequestData)
|
|
45
|
-
.map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))
|
|
46
|
-
.join('&')
|
|
47
|
-
});
|
|
48
|
-
if (!connectResponse.ok) {
|
|
49
|
-
throw new Error(`get account information failed: ${await connectResponse.text()}`);
|
|
50
|
-
}
|
|
51
|
-
const body = await connectResponse.json();
|
|
52
|
-
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
|
|
53
|
-
/* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).
|
|
54
|
-
*/
|
|
55
|
-
} = body;
|
|
56
|
-
/* decode access_token to get auth-event-id */
|
|
57
|
-
const accessInfo = (0, utils_1.parseJwt)(access_token);
|
|
58
|
-
const { authentication_event_id, exp } = accessInfo;
|
|
59
|
-
/* get connections through the authentication_event_id */
|
|
60
|
-
const connectionsResponse = await (0, node_fetch_1.default)(`https://api.xero.com/connections?authEventId=${authentication_event_id}`, {
|
|
61
|
-
method: 'get',
|
|
62
|
-
headers: {
|
|
63
|
-
Authorization: `Bearer ${access_token}`,
|
|
64
|
-
'Content-Type': 'application/json'
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
if (!connectionsResponse.ok) {
|
|
68
|
-
context.throw(connectionsResponse.status, `get connection list failed: ${await connectionsResponse.text()}`);
|
|
69
|
-
}
|
|
70
|
-
const connections = await connectionsResponse.json();
|
|
71
|
-
debug('connections', connections);
|
|
72
|
-
var connection = connections[0];
|
|
73
|
-
if (!connection) {
|
|
74
|
-
context.throw(400, 'connection not found for this access token');
|
|
75
|
-
}
|
|
76
|
-
var patch = {
|
|
77
|
-
name: connection.tenantName,
|
|
78
|
-
accessToken: access_token,
|
|
79
|
-
refreshToken: refresh_token,
|
|
80
|
-
accessInfo: JSON.stringify(accessInfo, null, 2),
|
|
81
|
-
accountInfo: JSON.stringify(connection, null, 2),
|
|
82
|
-
accountId: connection.tenantId,
|
|
83
|
-
status: accounting_api_1.ACCOUNTING_STATUS.ACTIVE,
|
|
84
|
-
tokenType,
|
|
85
|
-
expiresIn: new Date(exp * 1000)
|
|
86
|
-
};
|
|
87
|
-
var user = await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: userId });
|
|
88
|
-
account = await (0, shell_1.getRepository)(entities_1.Account).save(Object.assign(Object.assign(Object.assign({}, account), patch), { updater: user }));
|
|
89
|
-
context.cookies.set('xero-accounting', JSON.stringify(Object.assign(Object.assign({}, account), { message: 'success to activate' })), {
|
|
90
|
-
httpOnly: true
|
|
91
|
-
});
|
|
92
|
-
context.redirect((0, shell_1.getUrlFromContext)(context, '/callback-private-xero'));
|
|
93
|
-
}
|
|
94
|
-
catch (err) {
|
|
95
|
-
var message = err.message;
|
|
96
|
-
if (account) {
|
|
97
|
-
context.cookies.set('xero-accounting', JSON.stringify(Object.assign(Object.assign({}, account), { message })), {
|
|
98
|
-
httpOnly: true
|
|
99
|
-
});
|
|
100
|
-
context.redirect((0, shell_1.getUrlFromContext)(context, '/callback-private-xero'));
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
throw err;
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
exports.xeroRouter.post('/webhook-xero', async (context, next) => {
|
|
107
|
-
context.status = 200;
|
|
108
|
-
});
|
|
109
|
-
//# sourceMappingURL=xero-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xero-router.js","sourceRoot":"","sources":["../../server/routers/xero-router.ts"],"names":[],"mappings":"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","sourcesContent":["import Router from 'koa-router'\nimport fetch from 'node-fetch'\n\nimport { User, VerificationToken, VerificationTokenType } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { getRepository, getUrlFromContext } from '@things-factory/shell'\nimport { parseJwt } from '@things-factory/utils'\n\nimport { ACCOUNTING_STATUS, AccountingAPI } from '../controllers/accounting-api'\nimport { Account } from '../entities'\n\nconst { apiKey, apiSecret, hostname, callback: redirect_uri } = config.get('accountingIntegrationXero', {})\n\nconst debug = require('debug')('things-factory:integration-accounting:xero-router')\n\nexport const xeroRouter = new Router()\n\nxeroRouter.get('/callback-xero', async (context, next) => {\n try {\n const { code, state: nonce } = context.query\n\n const verificationTokenRepository = getRepository(VerificationToken)\n\n var verification: VerificationToken = await verificationTokenRepository.findOne({\n where: {\n token: nonce,\n type: VerificationTokenType.REQUEST_ACCESS_TOKEN\n }\n })\n\n const { userId, suppliment: accountId } = verification\n\n await verificationTokenRepository.delete({\n userId,\n token: nonce,\n type: VerificationTokenType.REQUEST_ACCESS_TOKEN\n })\n\n var account = await AccountingAPI.getAccounting(accountId)\n const connectRequestData = {\n grant_type: 'authorization_code',\n code,\n redirect_uri\n }\n\n const connectResponse = await fetch(`https://identity.xero.com/connect/token`, {\n method: 'post',\n headers: {\n Authorization: `Basic ${Buffer.from(apiKey + ':' + apiSecret).toString('base64')}`,\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n body: Object.entries(connectRequestData)\n .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))\n .join('&')\n })\n\n if (!connectResponse.ok) {\n throw new Error(`get account information failed: ${await connectResponse.text()}`)\n }\n\n const body = await connectResponse.json()\n const {\n access_token /* token used to call the API */,\n id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */,\n expires_in /* amount of seconds until the access token expires */,\n token_type: tokenType /* must be Bearer */,\n refresh_token\n /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).\n */\n } = body\n\n /* decode access_token to get auth-event-id */\n const accessInfo = parseJwt(access_token)\n const { authentication_event_id, exp } = accessInfo\n\n /* get connections through the authentication_event_id */\n const connectionsResponse = await fetch(`https://api.xero.com/connections?authEventId=${authentication_event_id}`, {\n method: 'get',\n headers: {\n Authorization: `Bearer ${access_token}`,\n 'Content-Type': 'application/json'\n }\n })\n\n if (!connectionsResponse.ok) {\n context.throw(connectionsResponse.status, `get connection list failed: ${await connectionsResponse.text()}`)\n }\n\n const connections = await connectionsResponse.json()\n debug('connections', connections)\n\n var connection = connections[0]\n if (!connection) {\n context.throw(400, 'connection not found for this access token')\n }\n\n var patch = {\n name: connection.tenantName,\n accessToken: access_token,\n refreshToken: refresh_token,\n accessInfo: JSON.stringify(accessInfo, null, 2),\n accountInfo: JSON.stringify(connection, null, 2),\n accountId: connection.tenantId,\n status: ACCOUNTING_STATUS.ACTIVE,\n tokenType,\n expiresIn: new Date(exp * 1000)\n }\n\n var user = await getRepository(User).findOneBy({ id: userId })\n\n account = await getRepository(Account).save({\n ...account,\n ...patch,\n updater: user\n })\n\n context.cookies.set(\n 'xero-accounting',\n JSON.stringify({\n ...account,\n message: 'success to activate'\n }),\n {\n httpOnly: true\n }\n )\n\n context.redirect(getUrlFromContext(context, '/callback-private-xero'))\n } catch (err) {\n var message: string = err.message\n\n if (account) {\n context.cookies.set(\n 'xero-accounting',\n JSON.stringify({\n ...account,\n message\n }),\n {\n httpOnly: true\n }\n )\n\n context.redirect(getUrlFromContext(context, '/callback-private-xero'))\n return\n }\n\n throw err\n }\n})\n\nxeroRouter.post('/webhook-xero', async (context, next) => {\n context.status = 200\n})\n"]}
|
package/dist-server/routes.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist-server/routes.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const xero_private_router_1 = require("./routers/xero-private-router");
|
|
4
|
-
const xero_router_1 = require("./routers/xero-router");
|
|
5
|
-
process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) => {
|
|
6
|
-
globalPublicRouter.use(xero_router_1.xeroRouter.routes(), xero_router_1.xeroRouter.allowedMethods());
|
|
7
|
-
});
|
|
8
|
-
process.on('bootstrap-module-domain-private-route', (app, domainPrivateRouter) => {
|
|
9
|
-
domainPrivateRouter.use(xero_private_router_1.xeroPrivateRouter.routes(), xero_private_router_1.xeroPrivateRouter.allowedMethods());
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,uEAAiE;AACjE,uDAAkD;AAElD,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE;IACpF,kBAAkB,CAAC,GAAG,CAAC,wBAAU,CAAC,MAAM,EAAE,EAAE,wBAAU,CAAC,cAAc,EAAE,CAAC,CAAA;AAC1E,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;IACtF,mBAAmB,CAAC,GAAG,CAAC,uCAAiB,CAAC,MAAM,EAAE,EAAE,uCAAiB,CAAC,cAAc,EAAE,CAAC,CAAA;AACzF,CAAC,CAAC,CAAA","sourcesContent":["import { xeroPrivateRouter } from './routers/xero-private-router'\nimport { xeroRouter } from './routers/xero-router'\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {\n globalPublicRouter.use(xeroRouter.routes(), xeroRouter.allowedMethods())\n})\n\nprocess.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {\n domainPrivateRouter.use(xeroPrivateRouter.routes(), xeroPrivateRouter.allowedMethods())\n})\n"]}
|