@things-factory/integration-accounting 9.0.0-beta.24 → 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.
Files changed (191) hide show
  1. package/package.json +13 -13
  2. package/dist-server/controllers/accounting-api/decorators.d.ts +0 -1
  3. package/dist-server/controllers/accounting-api/decorators.js +0 -33
  4. package/dist-server/controllers/accounting-api/decorators.js.map +0 -1
  5. package/dist-server/controllers/accounting-api/index.d.ts +0 -25
  6. package/dist-server/controllers/accounting-api/index.js +0 -124
  7. package/dist-server/controllers/accounting-api/index.js.map +0 -1
  8. package/dist-server/controllers/index.d.ts +0 -2
  9. package/dist-server/controllers/index.js +0 -6
  10. package/dist-server/controllers/index.js.map +0 -1
  11. package/dist-server/controllers/xero/apis/contact/get-contact.d.ts +0 -19
  12. package/dist-server/controllers/xero/apis/contact/get-contact.js +0 -32
  13. package/dist-server/controllers/xero/apis/contact/get-contact.js.map +0 -1
  14. package/dist-server/controllers/xero/apis/contact/get-contacts.d.ts +0 -8
  15. package/dist-server/controllers/xero/apis/contact/get-contacts.js +0 -18
  16. package/dist-server/controllers/xero/apis/contact/get-contacts.js.map +0 -1
  17. package/dist-server/controllers/xero/apis/contact/index.d.ts +0 -2
  18. package/dist-server/controllers/xero/apis/contact/index.js +0 -6
  19. package/dist-server/controllers/xero/apis/contact/index.js.map +0 -1
  20. package/dist-server/controllers/xero/apis/index.d.ts +0 -4
  21. package/dist-server/controllers/xero/apis/index.js +0 -8
  22. package/dist-server/controllers/xero/apis/index.js.map +0 -1
  23. package/dist-server/controllers/xero/apis/invoice/create-invoice.d.ts +0 -6
  24. package/dist-server/controllers/xero/apis/invoice/create-invoice.js +0 -16
  25. package/dist-server/controllers/xero/apis/invoice/create-invoice.js.map +0 -1
  26. package/dist-server/controllers/xero/apis/invoice/get-invoice.d.ts +0 -10
  27. package/dist-server/controllers/xero/apis/invoice/get-invoice.js +0 -18
  28. package/dist-server/controllers/xero/apis/invoice/get-invoice.js.map +0 -1
  29. package/dist-server/controllers/xero/apis/invoice/get-invoices.d.ts +0 -10
  30. package/dist-server/controllers/xero/apis/invoice/get-invoices.js +0 -59
  31. package/dist-server/controllers/xero/apis/invoice/get-invoices.js.map +0 -1
  32. package/dist-server/controllers/xero/apis/invoice/index.d.ts +0 -4
  33. package/dist-server/controllers/xero/apis/invoice/index.js +0 -8
  34. package/dist-server/controllers/xero/apis/invoice/index.js.map +0 -1
  35. package/dist-server/controllers/xero/apis/invoice/update-invoice.d.ts +0 -6
  36. package/dist-server/controllers/xero/apis/invoice/update-invoice.js +0 -16
  37. package/dist-server/controllers/xero/apis/invoice/update-invoice.js.map +0 -1
  38. package/dist-server/controllers/xero/apis/item/create-item.d.ts +0 -16
  39. package/dist-server/controllers/xero/apis/item/create-item.js +0 -32
  40. package/dist-server/controllers/xero/apis/item/create-item.js.map +0 -1
  41. package/dist-server/controllers/xero/apis/item/delete-item.d.ts +0 -11
  42. package/dist-server/controllers/xero/apis/item/delete-item.js +0 -21
  43. package/dist-server/controllers/xero/apis/item/delete-item.js.map +0 -1
  44. package/dist-server/controllers/xero/apis/item/get-item.d.ts +0 -10
  45. package/dist-server/controllers/xero/apis/item/get-item.js +0 -34
  46. package/dist-server/controllers/xero/apis/item/get-item.js.map +0 -1
  47. package/dist-server/controllers/xero/apis/item/get-items.d.ts +0 -8
  48. package/dist-server/controllers/xero/apis/item/get-items.js +0 -32
  49. package/dist-server/controllers/xero/apis/item/get-items.js.map +0 -1
  50. package/dist-server/controllers/xero/apis/item/index.d.ts +0 -6
  51. package/dist-server/controllers/xero/apis/item/index.js +0 -10
  52. package/dist-server/controllers/xero/apis/item/index.js.map +0 -1
  53. package/dist-server/controllers/xero/apis/item/update-item.d.ts +0 -14
  54. package/dist-server/controllers/xero/apis/item/update-item.js +0 -30
  55. package/dist-server/controllers/xero/apis/item/update-item.js.map +0 -1
  56. package/dist-server/controllers/xero/apis/item/update-items.d.ts +0 -10
  57. package/dist-server/controllers/xero/apis/item/update-items.js +0 -36
  58. package/dist-server/controllers/xero/apis/item/update-items.js.map +0 -1
  59. package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.d.ts +0 -8
  60. package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.js +0 -56
  61. package/dist-server/controllers/xero/apis/purchase-order/get-purchase-orders.js.map +0 -1
  62. package/dist-server/controllers/xero/apis/purchase-order/index.d.ts +0 -1
  63. package/dist-server/controllers/xero/apis/purchase-order/index.js +0 -5
  64. package/dist-server/controllers/xero/apis/purchase-order/index.js.map +0 -1
  65. package/dist-server/controllers/xero/index.d.ts +0 -1
  66. package/dist-server/controllers/xero/index.js +0 -9
  67. package/dist-server/controllers/xero/index.js.map +0 -1
  68. package/dist-server/controllers/xero/platform-action.d.ts +0 -6
  69. package/dist-server/controllers/xero/platform-action.js +0 -49
  70. package/dist-server/controllers/xero/platform-action.js.map +0 -1
  71. package/dist-server/controllers/xero/xero.d.ts +0 -18
  72. package/dist-server/controllers/xero/xero.js +0 -155
  73. package/dist-server/controllers/xero/xero.js.map +0 -1
  74. package/dist-server/engine/connector/accounting-connector.d.ts +0 -8
  75. package/dist-server/engine/connector/accounting-connector.js +0 -28
  76. package/dist-server/engine/connector/accounting-connector.js.map +0 -1
  77. package/dist-server/engine/connector/index.d.ts +0 -1
  78. package/dist-server/engine/connector/index.js +0 -4
  79. package/dist-server/engine/connector/index.js.map +0 -1
  80. package/dist-server/engine/index.d.ts +0 -2
  81. package/dist-server/engine/index.js +0 -5
  82. package/dist-server/engine/index.js.map +0 -1
  83. package/dist-server/engine/task/accounting-api.d.ts +0 -1
  84. package/dist-server/engine/task/accounting-api.js +0 -54
  85. package/dist-server/engine/task/accounting-api.js.map +0 -1
  86. package/dist-server/engine/task/index.d.ts +0 -1
  87. package/dist-server/engine/task/index.js +0 -4
  88. package/dist-server/engine/task/index.js.map +0 -1
  89. package/dist-server/entities/account.d.ts +0 -23
  90. package/dist-server/entities/account.js +0 -113
  91. package/dist-server/entities/account.js.map +0 -1
  92. package/dist-server/entities/index.d.ts +0 -3
  93. package/dist-server/entities/index.js +0 -7
  94. package/dist-server/entities/index.js.map +0 -1
  95. package/dist-server/graphql/index.d.ts +0 -6
  96. package/dist-server/graphql/index.js +0 -11
  97. package/dist-server/graphql/index.js.map +0 -1
  98. package/dist-server/graphql/resolvers/accounting/account.d.ts +0 -6
  99. package/dist-server/graphql/resolvers/accounting/account.js +0 -15
  100. package/dist-server/graphql/resolvers/accounting/account.js.map +0 -1
  101. package/dist-server/graphql/resolvers/accounting/accounts.d.ts +0 -8
  102. package/dist-server/graphql/resolvers/accounting/accounts.js +0 -14
  103. package/dist-server/graphql/resolvers/accounting/accounts.js.map +0 -1
  104. package/dist-server/graphql/resolvers/accounting/create-account.d.ts +0 -5
  105. package/dist-server/graphql/resolvers/accounting/create-account.js +0 -13
  106. package/dist-server/graphql/resolvers/accounting/create-account.js.map +0 -1
  107. package/dist-server/graphql/resolvers/accounting/delete-account.d.ts +0 -5
  108. package/dist-server/graphql/resolvers/accounting/delete-account.js +0 -16
  109. package/dist-server/graphql/resolvers/accounting/delete-account.js.map +0 -1
  110. package/dist-server/graphql/resolvers/accounting/delete-accounts.d.ts +0 -5
  111. package/dist-server/graphql/resolvers/accounting/delete-accounts.js +0 -20
  112. package/dist-server/graphql/resolvers/accounting/delete-accounts.js.map +0 -1
  113. package/dist-server/graphql/resolvers/accounting/index.d.ts +0 -25
  114. package/dist-server/graphql/resolvers/accounting/index.js +0 -15
  115. package/dist-server/graphql/resolvers/accounting/index.js.map +0 -1
  116. package/dist-server/graphql/resolvers/accounting/update-account.d.ts +0 -6
  117. package/dist-server/graphql/resolvers/accounting/update-account.js +0 -15
  118. package/dist-server/graphql/resolvers/accounting/update-account.js.map +0 -1
  119. package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.d.ts +0 -5
  120. package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.js +0 -30
  121. package/dist-server/graphql/resolvers/accounting/update-multiple-accounts.js.map +0 -1
  122. package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.d.ts +0 -5
  123. package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.js +0 -51
  124. package/dist-server/graphql/resolvers/accounting/xero/deactivate-xero-account.js.map +0 -1
  125. package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.d.ts +0 -6
  126. package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.js +0 -31
  127. package/dist-server/graphql/resolvers/accounting/xero/get-xero-auth-url.js.map +0 -1
  128. package/dist-server/graphql/resolvers/accounting/xero/index.d.ts +0 -13
  129. package/dist-server/graphql/resolvers/accounting/xero/index.js +0 -9
  130. package/dist-server/graphql/resolvers/accounting/xero/index.js.map +0 -1
  131. package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.d.ts +0 -5
  132. package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.js +0 -51
  133. package/dist-server/graphql/resolvers/accounting/xero/refresh-xero-access-token.js.map +0 -1
  134. package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.d.ts +0 -20
  135. package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.js +0 -32
  136. package/dist-server/graphql/resolvers/accounting-api/accounting-invoice.js.map +0 -1
  137. package/dist-server/graphql/resolvers/accounting-api/accounting-item.d.ts +0 -24
  138. package/dist-server/graphql/resolvers/accounting-api/accounting-item.js +0 -36
  139. package/dist-server/graphql/resolvers/accounting-api/accounting-item.js.map +0 -1
  140. package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.d.ts +0 -6
  141. package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.js +0 -16
  142. package/dist-server/graphql/resolvers/accounting-api/accounting-purchase-order.js.map +0 -1
  143. package/dist-server/graphql/resolvers/accounting-api/index.d.ts +0 -44
  144. package/dist-server/graphql/resolvers/accounting-api/index.js +0 -9
  145. package/dist-server/graphql/resolvers/accounting-api/index.js.map +0 -1
  146. package/dist-server/graphql/resolvers/index.d.ts +0 -25
  147. package/dist-server/graphql/resolvers/index.js +0 -8
  148. package/dist-server/graphql/resolvers/index.js.map +0 -1
  149. package/dist-server/graphql/types/accounting/account-list.d.ts +0 -1
  150. package/dist-server/graphql/types/accounting/account-list.js +0 -12
  151. package/dist-server/graphql/types/accounting/account-list.js.map +0 -1
  152. package/dist-server/graphql/types/accounting/account-patch.d.ts +0 -1
  153. package/dist-server/graphql/types/accounting/account-patch.js +0 -18
  154. package/dist-server/graphql/types/accounting/account-patch.js.map +0 -1
  155. package/dist-server/graphql/types/accounting/account.d.ts +0 -1
  156. package/dist-server/graphql/types/accounting/account.js +0 -29
  157. package/dist-server/graphql/types/accounting/account.js.map +0 -1
  158. package/dist-server/graphql/types/accounting/index.d.ts +0 -3
  159. package/dist-server/graphql/types/accounting/index.js +0 -45
  160. package/dist-server/graphql/types/accounting/index.js.map +0 -1
  161. package/dist-server/graphql/types/accounting/new-account.d.ts +0 -1
  162. package/dist-server/graphql/types/accounting/new-account.js +0 -16
  163. package/dist-server/graphql/types/accounting/new-account.js.map +0 -1
  164. package/dist-server/graphql/types/accounting-api/invoice.d.ts +0 -3
  165. package/dist-server/graphql/types/accounting-api/invoice.js +0 -63
  166. package/dist-server/graphql/types/accounting-api/invoice.js.map +0 -1
  167. package/dist-server/graphql/types/accounting-api/item.d.ts +0 -3
  168. package/dist-server/graphql/types/accounting-api/item.js +0 -63
  169. package/dist-server/graphql/types/accounting-api/item.js.map +0 -1
  170. package/dist-server/graphql/types/accounting-api/purchase-order.d.ts +0 -2
  171. package/dist-server/graphql/types/accounting-api/purchase-order.js +0 -34
  172. package/dist-server/graphql/types/accounting-api/purchase-order.js.map +0 -1
  173. package/dist-server/graphql/types/index.d.ts +0 -3
  174. package/dist-server/graphql/types/index.js +0 -12
  175. package/dist-server/graphql/types/index.js.map +0 -1
  176. package/dist-server/index.d.ts +0 -6
  177. package/dist-server/index.js +0 -11
  178. package/dist-server/index.js.map +0 -1
  179. package/dist-server/migrations/index.d.ts +0 -1
  180. package/dist-server/migrations/index.js +0 -12
  181. package/dist-server/migrations/index.js.map +0 -1
  182. package/dist-server/routers/xero-private-router.d.ts +0 -1
  183. package/dist-server/routers/xero-private-router.js +0 -17
  184. package/dist-server/routers/xero-private-router.js.map +0 -1
  185. package/dist-server/routers/xero-router.d.ts +0 -1
  186. package/dist-server/routers/xero-router.js +0 -109
  187. package/dist-server/routers/xero-router.js.map +0 -1
  188. package/dist-server/routes.d.ts +0 -1
  189. package/dist-server/routes.js +0 -11
  190. package/dist-server/routes.js.map +0 -1
  191. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Xero = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
6
- const shell_1 = require("@things-factory/shell");
7
- const utils_1 = require("@things-factory/utils");
8
- const account_1 = require("../../entities/account");
9
- const ENDPOINT = 'https://api.xero.com/api.xro/2.0';
10
- const debug = require('debug')('things-factory:integration-accounting:xero');
11
- class Xero {
12
- constructor(config) {
13
- this.config = Object.assign({}, config);
14
- }
15
- buildAuthURL(nonce) {
16
- const scopes = 'offline_access openid profile email accounting.transactions accounting.settings accounting.contacts';
17
- const { apiKey, callback: redirectUrl } = this.config;
18
- return `https://login.xero.com/identity/connect/authorize?response_type=code&client_id=${apiKey}&scope=${scopes}&redirect_uri=${redirectUrl}&state=${nonce}`;
19
- }
20
- async get(path, data) {
21
- const { accessToken, tenantId } = this.config;
22
- const qs = Object.entries(data)
23
- .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
24
- .join('&');
25
- const endpoint = `${ENDPOINT}${path}${qs ? '?' + qs : ''}`;
26
- debug('endpoint', endpoint);
27
- const response = await (0, node_fetch_1.default)(endpoint, {
28
- method: 'get',
29
- headers: {
30
- accept: 'application/json',
31
- 'Content-Type': 'application/json',
32
- Authorization: `Bearer ${accessToken}`,
33
- 'xero-tenant-id': tenantId
34
- }
35
- });
36
- if (!response.ok) {
37
- throw response;
38
- }
39
- let result = await response.json();
40
- debug('response result', result);
41
- result = this.convertStatusCode(result);
42
- return result;
43
- }
44
- async post(path, data = {}) {
45
- const { accessToken, tenantId } = this.config;
46
- debug('data', data);
47
- const jsondata = JSON.stringify(data);
48
- const endpoint = `${ENDPOINT}${path}`;
49
- debug('endpoint', endpoint);
50
- const response = await (0, node_fetch_1.default)(endpoint, {
51
- method: 'post',
52
- headers: {
53
- accept: 'application/json',
54
- 'Content-Type': 'application/json',
55
- Authorization: `Bearer ${accessToken}`,
56
- 'xero-tenant-id': tenantId
57
- },
58
- body: jsondata
59
- });
60
- if (!response.ok) {
61
- throw response;
62
- }
63
- let result = await response.json();
64
- debug('response result', result);
65
- result = this.convertStatusCode(result);
66
- return result;
67
- }
68
- async put(path, data = {}) {
69
- const { accessToken, tenantId } = this.config;
70
- debug('data', data);
71
- const jsondata = JSON.stringify(data);
72
- const endpoint = `${ENDPOINT}${path}`;
73
- debug('endpoint', endpoint);
74
- const response = await (0, node_fetch_1.default)(endpoint, {
75
- method: 'put',
76
- headers: {
77
- accept: 'application/json',
78
- 'Content-Type': 'application/json',
79
- Authorization: `Bearer ${accessToken}`,
80
- 'xero-tenant-id': tenantId
81
- },
82
- body: jsondata
83
- });
84
- if (!response.ok) {
85
- throw response;
86
- }
87
- let result = await response.json();
88
- debug('response result', result);
89
- result = this.convertStatusCode(result);
90
- return result;
91
- }
92
- async delete(path, data = {}) {
93
- const { accessToken, tenantId } = this.config;
94
- debug('data', data);
95
- const jsondata = JSON.stringify(data);
96
- const endpoint = `${ENDPOINT}${path}`;
97
- debug('endpoint', endpoint);
98
- const response = await (0, node_fetch_1.default)(endpoint, {
99
- method: 'delete',
100
- headers: {
101
- accept: 'application/json',
102
- 'Content-Type': 'application/json',
103
- Authorization: `Bearer ${accessToken}`,
104
- 'xero-tenant-id': tenantId
105
- },
106
- body: jsondata
107
- });
108
- if (!response.ok) {
109
- throw response;
110
- }
111
- let result = await response.json();
112
- debug('response result', result);
113
- result = this.convertStatusCode(result);
114
- return result;
115
- }
116
- convertStatusCode(result) {
117
- result.ok = result.Status.toLowerCase() === 'ok';
118
- return result;
119
- }
120
- static async refreshAccessToken(apiKey, apiSecret, account) {
121
- const refreshRequestData = {
122
- grant_type: 'refresh_token',
123
- refresh_token: account.refreshToken
124
- };
125
- const refreshResponse = await (0, node_fetch_1.default)(`https://identity.xero.com/connect/token`, {
126
- method: 'post',
127
- headers: {
128
- Authorization: `Basic ${Buffer.from(apiKey + ':' + apiSecret).toString('base64')}`,
129
- 'Content-Type': 'application/x-www-form-urlencoded'
130
- },
131
- body: Object.entries(refreshRequestData)
132
- .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))
133
- .join('&')
134
- });
135
- if (!refreshResponse.ok) {
136
- throw new Error(`get account information failed: ${await refreshResponse.text()}`);
137
- }
138
- const body = await refreshResponse.json();
139
- 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
140
- /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).
141
- */
142
- } = body;
143
- const { exp } = (0, utils_1.parseJwt)(access_token);
144
- var patch = {
145
- accessToken: access_token,
146
- refreshToken: refresh_token,
147
- tokenType,
148
- expiresIn: new Date(exp * 1000)
149
- };
150
- const repository = (0, shell_1.getRepository)(account_1.Account);
151
- return await repository.save(Object.assign(Object.assign({}, account), patch));
152
- }
153
- }
154
- exports.Xero = Xero;
155
- //# sourceMappingURL=xero.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xero.js","sourceRoot":"","sources":["../../../server/controllers/xero/xero.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch'\n\nimport { getRepository } from '@things-factory/shell'\nimport { parseJwt } from '@things-factory/utils'\n\nimport { Account } from '../../entities/account'\n\nconst ENDPOINT = 'https://api.xero.com/api.xro/2.0'\nconst debug = require('debug')('things-factory:integration-accounting:xero')\n\nexport type XeroConfig = {\n apiKey: string\n apiSecret: string\n accessToken?: string\n tenantId?: string\n callback?: string\n}\n\nexport class Xero {\n private config: XeroConfig\n\n constructor(config: XeroConfig) {\n this.config = {\n ...config\n }\n }\n\n buildAuthURL(nonce) {\n const scopes = 'offline_access openid profile email accounting.transactions accounting.settings accounting.contacts'\n const { apiKey, callback: redirectUrl } = this.config\n\n return `https://login.xero.com/identity/connect/authorize?response_type=code&client_id=${apiKey}&scope=${scopes}&redirect_uri=${redirectUrl}&state=${nonce}`\n }\n\n async get(path: string, data: any) {\n const { accessToken, tenantId } = this.config\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const endpoint = `${ENDPOINT}${path}${qs ? '?' + qs : ''}`\n debug('endpoint', endpoint)\n\n const response = await fetch(endpoint, {\n method: 'get',\n headers: {\n accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n 'xero-tenant-id': tenantId\n }\n })\n\n if (!response.ok) {\n throw response\n }\n\n let result = await response.json()\n debug('response result', result)\n result = this.convertStatusCode(result)\n\n return result\n }\n\n async post(path: string, data: any = {}) {\n const { accessToken, tenantId } = this.config\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const endpoint = `${ENDPOINT}${path}`\n debug('endpoint', endpoint)\n\n const response = await fetch(endpoint, {\n method: 'post',\n headers: {\n accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n 'xero-tenant-id': tenantId\n },\n body: jsondata\n })\n\n if (!response.ok) {\n throw response\n }\n\n let result = await response.json()\n debug('response result', result)\n result = this.convertStatusCode(result)\n\n return result\n }\n\n async put(path: string, data: any = {}) {\n const { accessToken, tenantId } = this.config\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const endpoint = `${ENDPOINT}${path}`\n debug('endpoint', endpoint)\n\n const response = await fetch(endpoint, {\n method: 'put',\n headers: {\n accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n 'xero-tenant-id': tenantId\n },\n body: jsondata\n })\n\n if (!response.ok) {\n throw response\n }\n\n let result = await response.json()\n debug('response result', result)\n result = this.convertStatusCode(result)\n\n return result\n }\n\n async delete(path: string, data: any = {}) {\n const { accessToken, tenantId } = this.config\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const endpoint = `${ENDPOINT}${path}`\n debug('endpoint', endpoint)\n\n const response = await fetch(endpoint, {\n method: 'delete',\n headers: {\n accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n 'xero-tenant-id': tenantId\n },\n body: jsondata\n })\n\n if (!response.ok) {\n throw response\n }\n\n let result = await response.json()\n debug('response result', result)\n result = this.convertStatusCode(result)\n\n return result\n }\n\n private convertStatusCode(result: Record<string, any>): Record<string, any> {\n result.ok = result.Status.toLowerCase() === 'ok'\n return result\n }\n\n public static async refreshAccessToken(apiKey, apiSecret, account) {\n const refreshRequestData = {\n grant_type: 'refresh_token',\n refresh_token: account.refreshToken\n }\n\n const refreshResponse = 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(refreshRequestData)\n .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))\n .join('&')\n })\n\n if (!refreshResponse.ok) {\n throw new Error(`get account information failed: ${await refreshResponse.text()}`)\n }\n\n const body = await refreshResponse.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 const { exp } = parseJwt(access_token)\n\n var patch = {\n accessToken: access_token,\n refreshToken: refresh_token,\n tokenType,\n expiresIn: new Date(exp * 1000)\n }\n\n const repository = getRepository(Account)\n\n return await repository.save({\n ...account,\n ...patch\n })\n }\n}\n"]}
@@ -1,8 +0,0 @@
1
- import { Connector } from '@things-factory/integration-base';
2
- export declare class AccountingConnector implements Connector {
3
- ready(connectionConfigs: any): Promise<void>;
4
- connect(connection: any): Promise<void>;
5
- disconnect(connection: any): Promise<void>;
6
- get parameterSpec(): any[];
7
- get taskPrefixes(): string[];
8
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccountingConnector = void 0;
4
- const integration_base_1 = require("@things-factory/integration-base");
5
- class AccountingConnector {
6
- async ready(connectionConfigs) {
7
- await Promise.all(connectionConfigs.map(this.connect));
8
- integration_base_1.ConnectionManager.logger.info('accounting-connector connections are ready');
9
- }
10
- async connect(connection) {
11
- const { domain, name, endpoint } = connection;
12
- integration_base_1.ConnectionManager.addConnectionInstance(connection, Object.assign({}, connection));
13
- integration_base_1.ConnectionManager.logger.info(`accounting-connector connection(${name}:${connection.endpoint}) is connected`);
14
- }
15
- async disconnect(connection) {
16
- integration_base_1.ConnectionManager.removeConnectionInstance(connection);
17
- integration_base_1.ConnectionManager.logger.info(`accounting-connector connection(${connection.name}) is disconnected`);
18
- }
19
- get parameterSpec() {
20
- return [];
21
- }
22
- get taskPrefixes() {
23
- return ['accounting'];
24
- }
25
- }
26
- exports.AccountingConnector = AccountingConnector;
27
- integration_base_1.ConnectionManager.registerConnector('accounting-connector', new AccountingConnector());
28
- //# sourceMappingURL=accounting-connector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounting-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/accounting-connector.ts"],"names":[],"mappings":";;;AAAA,uEAA+E;AAE/E,MAAa,mBAAmB;IAC9B,KAAK,CAAC,KAAK,CAAC,iBAAiB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAEtD,oCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;IAC7E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAU;QACtB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;QAE7C,oCAAiB,CAAC,qBAAqB,CAAC,UAAU,oBAAO,UAAU,EAAG,CAAA;QAEtE,oCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,IAAI,UAAU,CAAC,QAAQ,gBAAgB,CAAC,CAAA;IAC/G,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAU;QACzB,oCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;QAEtD,oCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IACtG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,YAAY,CAAC,CAAA;IACvB,CAAC;CACF;AA5BD,kDA4BC;AAED,oCAAiB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAA","sourcesContent":["import { ConnectionManager, Connector } from '@things-factory/integration-base'\n\nexport class AccountingConnector implements Connector {\n async ready(connectionConfigs) {\n await Promise.all(connectionConfigs.map(this.connect))\n\n ConnectionManager.logger.info('accounting-connector connections are ready')\n }\n\n async connect(connection) {\n const { domain, name, endpoint } = connection\n\n ConnectionManager.addConnectionInstance(connection, { ...connection })\n\n ConnectionManager.logger.info(`accounting-connector connection(${name}:${connection.endpoint}) is connected`)\n }\n\n async disconnect(connection) {\n ConnectionManager.removeConnectionInstance(connection)\n\n ConnectionManager.logger.info(`accounting-connector connection(${connection.name}) is disconnected`)\n }\n\n get parameterSpec() {\n return []\n }\n\n get taskPrefixes() {\n return ['accounting']\n }\n}\n\nConnectionManager.registerConnector('accounting-connector', new AccountingConnector())\n"]}
@@ -1 +0,0 @@
1
- import './accounting-connector';
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("./accounting-connector");
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/connector/index.ts"],"names":[],"mappings":";;AAAA,kCAA+B","sourcesContent":["import './accounting-connector'\n"]}
@@ -1,2 +0,0 @@
1
- import './connector';
2
- import './task';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("./connector");
4
- require("./task");
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/engine/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,kBAAe","sourcesContent":["import './connector'\nimport './task'\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const integration_base_1 = require("@things-factory/integration-base");
4
- const shell_1 = require("@things-factory/shell");
5
- const utils_1 = require("@things-factory/utils");
6
- const accounting_api_1 = require("../../controllers/accounting-api");
7
- const entities_1 = require("../../entities");
8
- async function AccountingAPI(step, { logger, data, domain }) {
9
- var { connection, params: { account: name, api, accessor } } = step;
10
- var client = integration_base_1.ConnectionManager.getConnectionInstanceByName(domain, connection) || {};
11
- if (!client) {
12
- throw new Error(`no connection : ${connection}`);
13
- }
14
- if (!api) {
15
- throw new Error(`no api defined`);
16
- }
17
- const repository = (0, shell_1.getRepository)(entities_1.Account);
18
- const account = await repository.findOne({
19
- where: { domain: { id: domain.id }, name }
20
- });
21
- if (!account) {
22
- throw new Error(`no account defined`);
23
- }
24
- var result = await accounting_api_1.AccountingAPI[api](account, accessor ? (0, utils_1.access)(accessor, data) : {});
25
- return {
26
- data: result
27
- };
28
- }
29
- AccountingAPI.parameterSpec = [
30
- {
31
- type: 'entity-selector',
32
- name: 'account',
33
- label: 'account',
34
- property: {
35
- queryName: 'accounts',
36
- valueKey: 'name'
37
- }
38
- },
39
- {
40
- type: 'select',
41
- name: 'api',
42
- label: 'api',
43
- property: {
44
- options: ['', 'getAccountingInvoices']
45
- }
46
- },
47
- {
48
- type: 'string',
49
- name: 'accessor',
50
- label: 'accessor'
51
- }
52
- ];
53
- integration_base_1.TaskRegistry.registerTaskHandler('accounting-api', AccountingAPI);
54
- //# sourceMappingURL=accounting-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounting-api.js","sourceRoot":"","sources":["../../../server/engine/task/accounting-api.ts"],"names":[],"mappings":";;AAAA,uEAAkF;AAClF,iDAAqD;AACrD,iDAA8C;AAE9C,qEAAuE;AACvE,6CAAwC;AAExC,KAAK,UAAU,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IACzD,IAAI,EACF,UAAU,EACV,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EACzC,GAAG,IAAI,CAAA;IAER,IAAI,MAAM,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAA;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAA;IACzC,MAAM,OAAO,GAAY,MAAM,UAAU,CAAC,OAAO,CAAC;QAChD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;KAC3C,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,8BAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAE5E,OAAO;QACL,IAAI,EAAE,MAAM;KACb,CAAA;AACH,CAAC;AAED,aAAa,CAAC,aAAa,GAAG;IAC5B;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE;YACR,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,MAAM;SACjB;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC,EAAE,EAAE,uBAAuB,CAAC;SACvC;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;CACF,CAAA;AAED,+BAAY,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA","sourcesContent":["import { ConnectionManager, TaskRegistry } from '@things-factory/integration-base'\nimport { getRepository } from '@things-factory/shell'\nimport { access } from '@things-factory/utils'\n\nimport { AccountingAPI as API } from '../../controllers/accounting-api'\nimport { Account } from '../../entities'\n\nasync function AccountingAPI(step, { logger, data, domain }) {\n var {\n connection,\n params: { account: name, api, accessor }\n } = step\n\n var client = ConnectionManager.getConnectionInstanceByName(domain, connection) || {}\n if (!client) {\n throw new Error(`no connection : ${connection}`)\n }\n\n if (!api) {\n throw new Error(`no api defined`)\n }\n\n const repository = getRepository(Account)\n const account: Account = await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n\n if (!account) {\n throw new Error(`no account defined`)\n }\n\n var result = await API[api](account, accessor ? access(accessor, data) : {})\n\n return {\n data: result\n }\n}\n\nAccountingAPI.parameterSpec = [\n {\n type: 'entity-selector',\n name: 'account',\n label: 'account',\n property: {\n queryName: 'accounts',\n valueKey: 'name'\n }\n },\n {\n type: 'select',\n name: 'api',\n label: 'api',\n property: {\n options: ['', 'getAccountingInvoices']\n }\n },\n {\n type: 'string',\n name: 'accessor',\n label: 'accessor'\n }\n]\n\nTaskRegistry.registerTaskHandler('accounting-api', AccountingAPI)\n"]}
@@ -1 +0,0 @@
1
- import './accounting-api';
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("./accounting-api");
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,4BAAyB","sourcesContent":["import './accounting-api'\n"]}
@@ -1,23 +0,0 @@
1
- import { User } from '@things-factory/auth-base';
2
- import { Domain } from '@things-factory/shell';
3
- export declare class Account {
4
- id: string;
5
- domain: Domain;
6
- platform: string;
7
- accountId: string;
8
- countryCode: string;
9
- status: string;
10
- name: string;
11
- accessInfo: string;
12
- accessToken: string;
13
- trackedInventory: Boolean;
14
- refreshToken: string;
15
- expiresIn: Date;
16
- tokenType: string;
17
- accountInfo: string;
18
- description: string;
19
- createdAt: Date;
20
- updatedAt: Date;
21
- creator: User;
22
- updater: User;
23
- }
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Account = void 0;
4
- const tslib_1 = require("tslib");
5
- const auth_base_1 = require("@things-factory/auth-base");
6
- const shell_1 = require("@things-factory/shell");
7
- const typeorm_1 = require("typeorm");
8
- let Account = class Account {
9
- };
10
- exports.Account = Account;
11
- tslib_1.__decorate([
12
- (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
13
- tslib_1.__metadata("design:type", String)
14
- ], Account.prototype, "id", void 0);
15
- tslib_1.__decorate([
16
- (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
17
- tslib_1.__metadata("design:type", shell_1.Domain)
18
- ], Account.prototype, "domain", void 0);
19
- tslib_1.__decorate([
20
- (0, typeorm_1.Column)(),
21
- tslib_1.__metadata("design:type", String)
22
- ], Account.prototype, "platform", void 0);
23
- tslib_1.__decorate([
24
- (0, typeorm_1.Column)({
25
- nullable: true
26
- }),
27
- tslib_1.__metadata("design:type", String)
28
- ], Account.prototype, "accountId", void 0);
29
- tslib_1.__decorate([
30
- (0, typeorm_1.Column)(),
31
- tslib_1.__metadata("design:type", String)
32
- ], Account.prototype, "countryCode", void 0);
33
- tslib_1.__decorate([
34
- (0, typeorm_1.Column)({
35
- nullable: true
36
- }),
37
- tslib_1.__metadata("design:type", String)
38
- ], Account.prototype, "status", void 0);
39
- tslib_1.__decorate([
40
- (0, typeorm_1.Column)(),
41
- tslib_1.__metadata("design:type", String)
42
- ], Account.prototype, "name", void 0);
43
- tslib_1.__decorate([
44
- (0, typeorm_1.Column)({
45
- nullable: true
46
- }),
47
- tslib_1.__metadata("design:type", String)
48
- ], Account.prototype, "accessInfo", void 0);
49
- tslib_1.__decorate([
50
- (0, typeorm_1.Column)({
51
- nullable: true
52
- }),
53
- tslib_1.__metadata("design:type", String)
54
- ], Account.prototype, "accessToken", void 0);
55
- tslib_1.__decorate([
56
- (0, typeorm_1.Column)({ default: false, nullable: true }),
57
- tslib_1.__metadata("design:type", Boolean)
58
- ], Account.prototype, "trackedInventory", void 0);
59
- tslib_1.__decorate([
60
- (0, typeorm_1.Column)({
61
- nullable: true
62
- }),
63
- tslib_1.__metadata("design:type", String)
64
- ], Account.prototype, "refreshToken", void 0);
65
- tslib_1.__decorate([
66
- (0, typeorm_1.Column)({
67
- nullable: true
68
- }),
69
- tslib_1.__metadata("design:type", Date)
70
- ], Account.prototype, "expiresIn", void 0);
71
- tslib_1.__decorate([
72
- (0, typeorm_1.Column)({
73
- nullable: true
74
- }),
75
- tslib_1.__metadata("design:type", String)
76
- ], Account.prototype, "tokenType", void 0);
77
- tslib_1.__decorate([
78
- (0, typeorm_1.Column)({
79
- nullable: true
80
- }),
81
- tslib_1.__metadata("design:type", String)
82
- ], Account.prototype, "accountInfo", void 0);
83
- tslib_1.__decorate([
84
- (0, typeorm_1.Column)({
85
- nullable: true
86
- }),
87
- tslib_1.__metadata("design:type", String)
88
- ], Account.prototype, "description", void 0);
89
- tslib_1.__decorate([
90
- (0, typeorm_1.CreateDateColumn)(),
91
- tslib_1.__metadata("design:type", Date)
92
- ], Account.prototype, "createdAt", void 0);
93
- tslib_1.__decorate([
94
- (0, typeorm_1.UpdateDateColumn)(),
95
- tslib_1.__metadata("design:type", Date)
96
- ], Account.prototype, "updatedAt", void 0);
97
- tslib_1.__decorate([
98
- (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
99
- nullable: true
100
- }),
101
- tslib_1.__metadata("design:type", auth_base_1.User)
102
- ], Account.prototype, "creator", void 0);
103
- tslib_1.__decorate([
104
- (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
105
- nullable: true
106
- }),
107
- tslib_1.__metadata("design:type", auth_base_1.User)
108
- ], Account.prototype, "updater", void 0);
109
- exports.Account = Account = tslib_1.__decorate([
110
- (0, typeorm_1.Entity)(),
111
- (0, typeorm_1.Index)('ix_account_0', (account) => [account.domain, account.name], { unique: true })
112
- ], Account);
113
- //# sourceMappingURL=account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../server/entities/account.ts"],"names":[],"mappings":";;;;AAAA,yDAAgD;AAChD,iDAA8C;AAC9C,qCAAsH;AAI/G,IAAM,OAAO,GAAb,MAAM,OAAO;CA+EnB,CAAA;AA/EY,0BAAO;AAElB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mCACrB;AAGV;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;sCAClB,cAAM;uCAAA;AAGd;IADC,IAAA,gBAAM,GAAE;;yCACO;AAKhB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;0CACe;AAGjB;IADC,IAAA,gBAAM,GAAE;;4CACU;AAKnB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;uCACY;AAGd;IADC,IAAA,gBAAM,GAAE;;qCACG;AAKZ;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;2CACgB;AAKlB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;4CACiB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACzB,OAAO;iDAAA;AAKzB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;6CACkB;AAKpB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;sCACS,IAAI;0CAAA;AAKf;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;0CACe;AAKjB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;4CACiB;AAKnB;IAHC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;;4CACiB;AAGnB;IADC,IAAA,0BAAgB,GAAE;sCACR,IAAI;0CAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;sCACR,IAAI;0CAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;sCACO,gBAAI;wCAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;sCACO,gBAAI;wCAAA;kBA9EF,OAAO;IAFnB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,cAAc,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACjF,OAAO,CA+EnB","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'\n\n@Entity()\n@Index('ix_account_0', (account: Account) => [account.domain, account.name], { unique: true })\nexport class Account {\n @PrimaryGeneratedColumn('uuid')\n id: string\n\n @ManyToOne(type => Domain)\n domain: Domain\n\n @Column()\n platform: string\n\n @Column({\n nullable: true\n })\n accountId: string\n\n @Column()\n countryCode: string\n\n @Column({\n nullable: true\n })\n status: string\n\n @Column()\n name: string\n\n @Column({\n nullable: true\n })\n accessInfo: string\n\n @Column({\n nullable: true\n })\n accessToken: string\n\n @Column({ default: false, nullable: true })\n trackedInventory: Boolean\n\n @Column({\n nullable: true\n })\n refreshToken: string\n\n @Column({\n nullable: true\n })\n expiresIn: Date\n\n @Column({\n nullable: true\n })\n tokenType: string\n\n @Column({\n nullable: true\n })\n accountInfo: string\n\n @Column({\n nullable: true\n })\n description: string\n\n @CreateDateColumn()\n createdAt: Date\n\n @UpdateDateColumn()\n updatedAt: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n creator: User\n\n @ManyToOne(type => User, {\n nullable: true\n })\n updater: User\n}\n"]}
@@ -1,3 +0,0 @@
1
- import { Account } from './account';
2
- export declare const entities: (typeof Account)[];
3
- export { Account };
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Account = exports.entities = void 0;
4
- const account_1 = require("./account");
5
- Object.defineProperty(exports, "Account", { enumerable: true, get: function () { return account_1.Account; } });
6
- exports.entities = [account_1.Account];
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/entities/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAI1B,wFAJA,iBAAO,OAIA;AAFH,QAAA,QAAQ,GAAG,CAAC,iBAAO,CAAC,CAAA","sourcesContent":["import { Account } from './account'\n\nexport const entities = [Account]\n\nexport { Account }\n"]}
@@ -1,6 +0,0 @@
1
- import * as typeDefs from './types';
2
- import * as resolvers from './resolvers';
3
- export declare const schema: {
4
- typeDefs: typeof typeDefs;
5
- resolvers: typeof resolvers;
6
- };
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = void 0;
4
- const tslib_1 = require("tslib");
5
- const typeDefs = tslib_1.__importStar(require("./types"));
6
- const resolvers = tslib_1.__importStar(require("./resolvers"));
7
- exports.schema = {
8
- typeDefs,
9
- resolvers
10
- };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/graphql/index.ts"],"names":[],"mappings":";;;;AAAA,0DAAmC;AACnC,+DAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,SAAS;CACV,CAAA","sourcesContent":["import * as typeDefs from './types'\nimport * as resolvers from './resolvers'\n\nexport const schema = {\n typeDefs,\n resolvers\n}\n"]}
@@ -1,6 +0,0 @@
1
- import { Account } from '../../../entities';
2
- export declare const accountResolver: {
3
- account(_: any, { id }: {
4
- id: any;
5
- }, context: ResolverContext): Promise<Account>;
6
- };
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accountResolver = void 0;
4
- const shell_1 = require("@things-factory/shell");
5
- const entities_1 = require("../../../entities");
6
- exports.accountResolver = {
7
- async account(_, { id }, context) {
8
- const repository = (0, shell_1.getRepository)(entities_1.Account);
9
- return await (0, shell_1.getRepository)(entities_1.Account).findOne({
10
- where: { domain: { id: context.state.domain.id }, id },
11
- relations: ['domain', 'creator', 'updater']
12
- });
13
- }
14
- };
15
- //# sourceMappingURL=account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/accounting/account.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAA2C;AAE9B,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAwB;QACpD,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAA;QAEzC,OAAO,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACtD,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { Account } from '../../../entities'\n\nexport const accountResolver = {\n async account(_: any, { id }, context: ResolverContext) {\n const repository = getRepository(Account)\n\n return await getRepository(Account).findOne({\n where: { domain: { id: context.state.domain.id }, id },\n relations: ['domain', 'creator', 'updater']\n })\n }\n}\n"]}
@@ -1,8 +0,0 @@
1
- import { ListParam } from '@things-factory/shell';
2
- import { Account } from '../../../entities';
3
- export declare const accountsResolver: {
4
- accounts(_: any, params: ListParam, context: ResolverContext): Promise<{
5
- items: Account[];
6
- total: number;
7
- }>;
8
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accountsResolver = void 0;
4
- const shell_1 = require("@things-factory/shell");
5
- const entities_1 = require("../../../entities");
6
- exports.accountsResolver = {
7
- async accounts(_, params, context) {
8
- const { domain } = context.state;
9
- const convertedParams = (0, shell_1.convertListParams)(params, { domain });
10
- const [items, total] = await (0, shell_1.getRepository)(entities_1.Account).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'creator', 'updater'] }));
11
- return { items, total };
12
- }
13
- };
14
- //# sourceMappingURL=accounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/accounting/accounts.ts"],"names":[],"mappings":";;;AAAA,iDAAmF;AAEnF,gDAA2C;AAE9B,QAAA,gBAAgB,GAAG;IAC9B,KAAK,CAAC,QAAQ,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,YAAY,iCAC3D,eAAe,KAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAC3C,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAA","sourcesContent":["import { convertListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Account } from '../../../entities'\n\nexport const accountsResolver = {\n async accounts(_: any, params: ListParam, context: ResolverContext) {\n const { domain } = context.state\n const convertedParams = convertListParams(params, { domain })\n const [items, total] = await getRepository(Account).findAndCount({\n ...convertedParams,\n relations: ['domain', 'creator', 'updater']\n })\n return { items, total }\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- export declare const createAccount: {
2
- createAccount(_: any, { account }: {
3
- account: any;
4
- }, context: ResolverContext): Promise<any>;
5
- };
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccount = void 0;
4
- const shell_1 = require("@things-factory/shell");
5
- const controllers_1 = require("../../../controllers");
6
- const entities_1 = require("../../../entities");
7
- exports.createAccount = {
8
- async createAccount(_, { account }, context) {
9
- const { domain, user } = context.state;
10
- return await (0, shell_1.getRepository)(entities_1.Account).save(Object.assign(Object.assign({ status: controllers_1.ACCOUNTING_STATUS.INACTIVE }, account), { domain, creator: user, updater: user }));
11
- }
12
- };
13
- //# sourceMappingURL=create-account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-account.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/accounting/create-account.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,sDAAwD;AACxD,gDAA2C;AAE9B,QAAA,aAAa,GAAG;IAC3B,KAAK,CAAC,aAAa,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAwB;QAC/D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,OAAO,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,IAAI,+BACtC,MAAM,EAAE,+BAAiB,CAAC,QAAQ,IAC/B,OAAO,KACV,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { ACCOUNTING_STATUS } from '../../../controllers'\nimport { Account } from '../../../entities'\n\nexport const createAccount = {\n async createAccount(_: any, { account }, context: ResolverContext) {\n const { domain, user } = context.state\n\n return await getRepository(Account).save({\n status: ACCOUNTING_STATUS.INACTIVE,\n ...account,\n domain,\n creator: user,\n updater: user\n })\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- export declare const deleteAccount: {
2
- deleteAccount(_: any, { id }: {
3
- id: any;
4
- }, context: ResolverContext): Promise<boolean>;
5
- };
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteAccount = void 0;
4
- const shell_1 = require("@things-factory/shell");
5
- const controllers_1 = require("../../../controllers");
6
- const entities_1 = require("../../../entities");
7
- exports.deleteAccount = {
8
- async deleteAccount(_, { id }, context) {
9
- const foundAccount = await (0, shell_1.getRepository)(entities_1.Account).findOne({
10
- where: { domain: { id: context.state.domain.id }, id }
11
- });
12
- await (0, shell_1.getRepository)(entities_1.Account).save(Object.assign(Object.assign({}, foundAccount), { status: controllers_1.ACCOUNTING_STATUS.TERMINATED, updater: context.state.user }));
13
- return true;
14
- }
15
- };
16
- //# sourceMappingURL=delete-account.js.map