@tomei/finance 0.6.21 → 0.6.22

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 (287) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc.js +72 -72
  3. package/.husky/commit-msg +4 -4
  4. package/.husky/pre-commit +4 -4
  5. package/.prettierrc +4 -4
  6. package/CONTRIBUTING.md +30 -30
  7. package/LICENSE +21 -21
  8. package/README.md +13 -13
  9. package/configs/config.js +336 -336
  10. package/dist/account/entities/account.entity.d.ts +26 -0
  11. package/dist/account/entities/account.entity.js +199 -0
  12. package/dist/account/entities/account.entity.js.map +1 -0
  13. package/dist/account/entities/fee-associated-object.entity.d.ts +6 -0
  14. package/dist/account/entities/fee-associated-object.entity.js +52 -0
  15. package/dist/account/entities/fee-associated-object.entity.js.map +1 -0
  16. package/dist/account/index.d.ts +6 -0
  17. package/dist/account/index.js +10 -0
  18. package/dist/account/index.js.map +1 -0
  19. package/dist/account/interfaces/account.repository.interface.d.ts +3 -0
  20. package/dist/account/interfaces/account.repository.interface.js +3 -0
  21. package/dist/account/interfaces/account.repository.interface.js.map +1 -0
  22. package/dist/account-system-entity/index.d.ts +2 -0
  23. package/dist/account-system-entity/index.js +6 -0
  24. package/dist/account-system-entity/index.js.map +1 -0
  25. package/dist/account-system-entity/post-history.entity.d.ts +11 -0
  26. package/dist/account-system-entity/post-history.entity.js +65 -0
  27. package/dist/account-system-entity/post-history.entity.js.map +1 -0
  28. package/dist/base/account-system.interface.d.ts +7 -0
  29. package/dist/base/account-system.interface.js +3 -0
  30. package/dist/base/account-system.interface.js.map +1 -0
  31. package/dist/base/address.base.abstract.d.ts +4 -0
  32. package/dist/base/address.base.abstract.js +10 -0
  33. package/dist/base/address.base.abstract.js.map +1 -0
  34. package/dist/base/base.address.d.ts +8 -0
  35. package/dist/base/base.address.js +15 -0
  36. package/dist/base/base.address.js.map +1 -0
  37. package/dist/base/base.object.d.ts +7 -0
  38. package/dist/base/base.object.js +14 -0
  39. package/dist/base/base.object.js.map +1 -0
  40. package/dist/base/base.owner.d.ts +23 -0
  41. package/dist/base/base.owner.js +34 -0
  42. package/dist/base/base.owner.js.map +1 -0
  43. package/dist/base/base.repository.abstract.d.ts +12 -0
  44. package/dist/base/base.repository.abstract.js +22 -0
  45. package/dist/base/base.repository.abstract.js.map +1 -0
  46. package/dist/base/base.repository.interface.d.ts +9 -0
  47. package/dist/base/base.repository.interface.js +3 -0
  48. package/dist/base/base.repository.interface.js.map +1 -0
  49. package/dist/base/index.d.ts +4 -0
  50. package/dist/base/index.js +10 -0
  51. package/dist/base/index.js.map +1 -0
  52. package/dist/base/object/base.object.abstract.d.ts +5 -0
  53. package/dist/base/object/base.object.abstract.js +7 -0
  54. package/dist/base/object/base.object.abstract.js.map +1 -0
  55. package/dist/base/object/base.object.d.ts +7 -0
  56. package/dist/base/object/base.object.js +14 -0
  57. package/dist/base/object/base.object.js.map +1 -0
  58. package/dist/base/object/object.interface.d.ts +4 -0
  59. package/dist/base/object/object.interface.js +3 -0
  60. package/dist/base/object/object.interface.js.map +1 -0
  61. package/dist/base/object.base.abstract.d.ts +5 -0
  62. package/dist/base/object.base.abstract.js +11 -0
  63. package/dist/base/object.base.abstract.js.map +1 -0
  64. package/dist/base/owner/base.owner.abstract.d.ts +20 -0
  65. package/dist/base/owner/base.owner.abstract.js +8 -0
  66. package/dist/base/owner/base.owner.abstract.js.map +1 -0
  67. package/dist/base/owner/base.owner.d.ts +22 -0
  68. package/dist/base/owner/base.owner.js +31 -0
  69. package/dist/base/owner/base.owner.js.map +1 -0
  70. package/dist/base/owner/owner.interface.d.ts +19 -0
  71. package/dist/base/owner/owner.interface.js +3 -0
  72. package/dist/base/owner/owner.interface.js.map +1 -0
  73. package/dist/base/person.base.abstract.d.ts +21 -0
  74. package/dist/base/person.base.abstract.js +17 -0
  75. package/dist/base/person.base.abstract.js.map +1 -0
  76. package/dist/base/repository/base.repository.abstract.d.ts +12 -0
  77. package/dist/base/repository/base.repository.abstract.js +22 -0
  78. package/dist/base/repository/base.repository.abstract.js.map +1 -0
  79. package/dist/base/repository/base.repository.interface.d.ts +9 -0
  80. package/dist/base/repository/base.repository.interface.js +3 -0
  81. package/dist/base/repository/base.repository.interface.js.map +1 -0
  82. package/dist/customer/customer.repository.d.ts +0 -0
  83. package/dist/customer/customer.repository.js +1 -0
  84. package/dist/customer/customer.repository.js.map +1 -0
  85. package/dist/customer/entities/customer.entity.d.ts +13 -0
  86. package/dist/customer/entities/customer.entity.js +111 -0
  87. package/dist/customer/entities/customer.entity.js.map +1 -0
  88. package/dist/customer/index.d.ts +7 -0
  89. package/dist/customer/index.js +10 -0
  90. package/dist/customer/index.js.map +1 -0
  91. package/dist/document/document.d.ts +1 -1
  92. package/dist/document/document.js +2 -2
  93. package/dist/document/document.js.map +1 -1
  94. package/dist/document/entities/document-item.entity.d.ts +27 -0
  95. package/dist/document/entities/document-item.entity.js +174 -0
  96. package/dist/document/entities/document-item.entity.js.map +1 -0
  97. package/dist/document/entities/document.entity.d.ts +22 -0
  98. package/dist/document/entities/document.entity.js +139 -0
  99. package/dist/document/entities/document.entity.js.map +1 -0
  100. package/dist/document/index.d.ts +11 -0
  101. package/dist/document/index.js +20 -0
  102. package/dist/document/index.js.map +1 -0
  103. package/dist/document/interfaces/document.repository.interface.d.ts +3 -0
  104. package/dist/document/interfaces/document.repository.interface.js +3 -0
  105. package/dist/document/interfaces/document.repository.interface.js.map +1 -0
  106. package/dist/enum/document-type.enum.d.ts +7 -0
  107. package/dist/enum/document-type.enum.js +12 -0
  108. package/dist/enum/document-type.enum.js.map +1 -0
  109. package/dist/enum/intuit-client.enum.d.ts +13 -0
  110. package/dist/enum/intuit-client.enum.js +19 -0
  111. package/dist/enum/intuit-client.enum.js.map +1 -0
  112. package/dist/finance-company/entities/finance-company.entity.d.ts +13 -0
  113. package/dist/finance-company/entities/finance-company.entity.js +113 -0
  114. package/dist/finance-company/entities/finance-company.entity.js.map +1 -0
  115. package/dist/finance-company/finance-company.entity.d.ts +13 -0
  116. package/dist/finance-company/finance-company.entity.js +66 -0
  117. package/dist/finance-company/finance-company.entity.js.map +1 -0
  118. package/dist/finance-company/index.d.ts +3 -0
  119. package/dist/finance-company/index.js +8 -0
  120. package/dist/finance-company/index.js.map +1 -0
  121. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +10 -0
  122. package/dist/finance-company/interfaces/finance-company-attr.interface.js +3 -0
  123. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +1 -0
  124. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +3 -0
  125. package/dist/finance-company/interfaces/finance-company.repository.interface.js +3 -0
  126. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +1 -0
  127. package/dist/interfaces/account-system-entity.interface.d.ts +7 -0
  128. package/dist/interfaces/account-system-entity.interface.js +3 -0
  129. package/dist/interfaces/account-system-entity.interface.js.map +1 -0
  130. package/dist/interfaces/customer.repository.interface.d.ts +3 -0
  131. package/dist/interfaces/customer.repository.interface.js +3 -0
  132. package/dist/interfaces/customer.repository.interface.js.map +1 -0
  133. package/dist/interfaces/finance-customer.repository.interface.d.ts +3 -0
  134. package/dist/interfaces/finance-customer.repository.interface.js +3 -0
  135. package/dist/interfaces/finance-customer.repository.interface.js.map +1 -0
  136. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  137. package/dist/interfaces/systemConfig.interface.js +1 -0
  138. package/dist/interfaces/systemConfig.interface.js.map +1 -0
  139. package/dist/intuit-client/client.d.ts +14 -0
  140. package/dist/intuit-client/client.js +44 -0
  141. package/dist/intuit-client/client.js.map +1 -0
  142. package/dist/journal-entry/entities/journal-entry.entity.d.ts +16 -0
  143. package/dist/journal-entry/entities/journal-entry.entity.js +129 -0
  144. package/dist/journal-entry/entities/journal-entry.entity.js.map +1 -0
  145. package/dist/journal-entry/index.d.ts +6 -0
  146. package/dist/journal-entry/index.js +10 -0
  147. package/dist/journal-entry/index.js.map +1 -0
  148. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +10 -0
  149. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +3 -0
  150. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +1 -0
  151. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +19 -0
  152. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +157 -0
  153. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +1 -0
  154. package/dist/ledger-transaction/index.d.ts +6 -0
  155. package/dist/ledger-transaction/index.js +10 -0
  156. package/dist/ledger-transaction/index.js.map +1 -0
  157. package/dist/payment/entities/payment-item.entity.d.ts +10 -0
  158. package/dist/payment/entities/payment-item.entity.js +62 -0
  159. package/dist/payment/entities/payment-item.entity.js.map +1 -0
  160. package/dist/payment/entities/payment.entity.d.ts +25 -0
  161. package/dist/payment/entities/payment.entity.js +152 -0
  162. package/dist/payment/entities/payment.entity.js.map +1 -0
  163. package/dist/payment/index.d.ts +10 -0
  164. package/dist/payment/index.js +18 -0
  165. package/dist/payment/index.js.map +1 -0
  166. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +8 -0
  167. package/dist/payment/interfaces/payment-item-attr.interface.js +7 -0
  168. package/dist/payment/interfaces/payment-item-attr.interface.js.map +1 -0
  169. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +3 -0
  170. package/dist/payment/interfaces/payment-item.repository.interface.js +3 -0
  171. package/dist/payment/interfaces/payment-item.repository.interface.js.map +1 -0
  172. package/dist/payment/interfaces/payment.repository.interface.d.ts +3 -0
  173. package/dist/payment/interfaces/payment.repository.interface.js +3 -0
  174. package/dist/payment/interfaces/payment.repository.interface.js.map +1 -0
  175. package/dist/payment/payment-item.repository.d.ts +5 -0
  176. package/dist/payment/payment-item.repository.js +12 -0
  177. package/dist/payment/payment-item.repository.js.map +1 -0
  178. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +3 -0
  179. package/dist/payment-item/interfaces/payment-item.repository.interface.js +3 -0
  180. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +1 -0
  181. package/dist/payment-item/payment-item.js +4 -4
  182. package/dist/quickbook-client/client.d.ts +39 -0
  183. package/dist/quickbook-client/client.js +205 -0
  184. package/dist/quickbook-client/client.js.map +1 -0
  185. package/dist/quickbook-client/constant.d.ts +1 -0
  186. package/dist/quickbook-client/constant.js +5 -0
  187. package/dist/quickbook-client/constant.js.map +1 -0
  188. package/dist/quickbook-client/index.d.ts +5 -0
  189. package/dist/quickbook-client/index.js +6 -0
  190. package/dist/quickbook-client/index.js.map +1 -0
  191. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +6 -0
  192. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +3 -0
  193. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +1 -0
  194. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +9 -0
  195. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +3 -0
  196. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +1 -0
  197. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +7 -0
  198. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +3 -0
  199. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +1 -0
  200. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +8 -0
  201. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +3 -0
  202. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +1 -0
  203. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +2 -0
  204. package/dist/quickbook-client/quickbook-client.module-definition.js +9 -0
  205. package/dist/quickbook-client/quickbook-client.module-definition.js.map +1 -0
  206. package/dist/quickbook-client/quickbook-client.module.d.ts +6 -0
  207. package/dist/quickbook-client/quickbook-client.module.js +34 -0
  208. package/dist/quickbook-client/quickbook-client.module.js.map +1 -0
  209. package/dist/tsconfig.tsbuildinfo +1 -1
  210. package/invoice-template/assets/css/style.css.map +12 -12
  211. package/invoice-template/assets/css/style.min.css +1 -1
  212. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  213. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  214. package/invoice-template/assets/img/logo_accent.svg +3 -3
  215. package/invoice-template/assets/img/logo_white.svg +4 -4
  216. package/invoice-template/assets/img/sign.svg +12 -12
  217. package/invoice-template/assets/img/tomei-logo.svg +9 -9
  218. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  219. package/invoice-template/assets/js/jquery.min.js +1 -1
  220. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  221. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  222. package/invoice-template/assets/sass/style.scss +12 -12
  223. package/migrations/finance-account-migration.js +97 -97
  224. package/migrations/finance-company-migration.js +29 -29
  225. package/migrations/finance-customer-migration.js +51 -51
  226. package/migrations/finance-document-item-migration.js +111 -111
  227. package/migrations/finance-document-migration.js +116 -116
  228. package/migrations/finance-payment-item-migration.js +52 -52
  229. package/migrations/finance-payment-method-migration.js +31 -31
  230. package/migrations/finance-payment-method-type-migration.js +55 -55
  231. package/migrations/finance-payment-migration.js +96 -96
  232. package/migrations/finance-post-history-migration.js +45 -45
  233. package/nest-cli.json +19 -19
  234. package/package.json +82 -82
  235. package/src/account/account.repository.ts +11 -11
  236. package/src/account/account.ts +271 -271
  237. package/src/account/interfaces/account-attr.interface.ts +31 -31
  238. package/src/account-system-entity/account-system-entity.ts +65 -65
  239. package/src/account-system-entity/post-history.repository.ts +11 -11
  240. package/src/config.ts +382 -382
  241. package/src/customer/customer.ts +299 -299
  242. package/src/customer/finance-customer.repository.ts +13 -13
  243. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  244. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  245. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  246. package/src/database.ts +15 -15
  247. package/src/document/document-item.repository.ts +11 -11
  248. package/src/document/document.repository.ts +11 -11
  249. package/src/document/document.ts +2 -2
  250. package/src/document/interfaces/document-attr.interface.ts +28 -28
  251. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  252. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  253. package/src/enum/doc-type.enum.ts +8 -8
  254. package/src/enum/index.ts +17 -17
  255. package/src/enum/payment-method.enum.ts +3 -3
  256. package/src/enum/payment-type.enum.ts +4 -4
  257. package/src/finance-company/finance-company.repository.ts +11 -11
  258. package/src/finance-company/finance-company.ts +1778 -1778
  259. package/src/helpers/typeof.ts +29 -29
  260. package/src/index.ts +32 -32
  261. package/src/interfaces/account-system.interface.ts +20 -20
  262. package/src/interfaces/index.ts +3 -3
  263. package/src/models/account.entity.ts +206 -206
  264. package/src/models/customer.entity.ts +93 -93
  265. package/src/models/document-item.entity.ts +143 -143
  266. package/src/models/document.entity.ts +211 -211
  267. package/src/models/finance-company.entity.ts +25 -25
  268. package/src/models/journal-entry.entity.ts +110 -110
  269. package/src/models/ledger-transaction.entity.ts +148 -148
  270. package/src/models/payment-item.entity.ts +60 -60
  271. package/src/models/payment-method-type.entity.ts +70 -70
  272. package/src/models/payment-method.entity.ts +51 -51
  273. package/src/models/payment.entity.ts +161 -161
  274. package/src/models/post-history.entity.ts +41 -41
  275. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  276. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  277. package/src/payment/payment.repository.ts +11 -11
  278. package/src/payment/payment.ts +217 -217
  279. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  280. package/src/payment-item/payment-item.repository.ts +11 -11
  281. package/src/payment-item/payment-item.ts +128 -128
  282. package/src/payment-method/payment-method.repository.ts +11 -11
  283. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  284. package/src/test-document.ts +25 -25
  285. package/tsconfig.build.json +4 -4
  286. package/tsconfig.json +22 -22
  287. package/tslint.json +18 -18
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuickBookClient = void 0;
4
+ const OAuthClient = require("intuit-oauth");
5
+ const config_1 = require("../config");
6
+ class QuickBookClient {
7
+ constructor(SysCode, scopes) {
8
+ const config = (0, config_1.getConfig)();
9
+ const clientConfig = {
10
+ apiUrl: config.accountingSystem.quickbooks.API_Url,
11
+ clientId: config.systemConfig[SysCode].API_Key,
12
+ clientSecret: config.systemConfig[SysCode].API_Secret,
13
+ environment: config.environment === 'production' ? 'production' : 'sandbox',
14
+ redirectUri: config.systemConfig[SysCode].redirectUrl,
15
+ logging: config.environment === 'production' ? false : true,
16
+ };
17
+ this.client = new OAuthClient(clientConfig);
18
+ this.apiUrl = config.accountingSystem.quickbooks.API_Url;
19
+ this.authUrl = this.connect(scopes);
20
+ }
21
+ async createAccount(payload) {
22
+ try {
23
+ const companyId = this.getCompanyId();
24
+ const response = await this.callApi({
25
+ endpoint: `/v3/company/${companyId}/account`,
26
+ method: 'POST',
27
+ headers: {
28
+ 'Content-Type': 'application/json',
29
+ },
30
+ body: JSON.stringify(payload),
31
+ });
32
+ return response.json.Account.id;
33
+ }
34
+ catch (error) {
35
+ throw error;
36
+ }
37
+ }
38
+ async createCustomer(payload) {
39
+ try {
40
+ const requestBody = {
41
+ PrimaryEmailAddr: {
42
+ Address: payload.Email,
43
+ },
44
+ DisplayName: payload.FullName,
45
+ GivenName: payload.FullName,
46
+ FullyQualifiedName: payload.FullName,
47
+ PrimaryPhone: {
48
+ FreeFormNumber: payload.ContractNo,
49
+ },
50
+ BillAddr: {
51
+ CountrySubDivisionCode: '',
52
+ City: payload.Address.City,
53
+ PostalCode: payload.Address.PostalCode,
54
+ Line1: payload.Address.Line1,
55
+ Country: payload.Address.Country,
56
+ },
57
+ };
58
+ const companyId = this.getCompanyId();
59
+ const response = await this.callApi({
60
+ endpoint: `/v3/company/${companyId}/customer?minorversion=65`,
61
+ method: 'POST',
62
+ headers: {
63
+ 'Content-Type': 'application/json',
64
+ },
65
+ body: JSON.stringify(requestBody),
66
+ });
67
+ return response.json.Customer.id;
68
+ }
69
+ catch (error) {
70
+ throw error;
71
+ }
72
+ }
73
+ async makePayment(customer, paymentInfo) {
74
+ try {
75
+ const requestBody = {
76
+ TotalAmt: paymentInfo.getAmount(),
77
+ sparse: false,
78
+ DepositToAccountRef: {
79
+ value: await paymentInfo.getDepositAccountNo(),
80
+ },
81
+ ARAccountRef: {
82
+ value: await paymentInfo.getReceivableAccountNo(),
83
+ },
84
+ CustomerRef: {
85
+ value: customer.getCustomerId(),
86
+ name: customer.FullName,
87
+ },
88
+ Line: [],
89
+ };
90
+ paymentInfo.getPaymentItems().forEach((item) => {
91
+ requestBody.Line.push({
92
+ Amount: item.Amount,
93
+ LinkedTxn: [
94
+ {
95
+ TxnId: item.Id,
96
+ TxnType: item.Type,
97
+ },
98
+ ],
99
+ });
100
+ });
101
+ const companyId = this.getCompanyId();
102
+ const response = await this.callApi({
103
+ endpoint: `/v3/company/${companyId}/payment?minorversion=65`,
104
+ method: 'POST',
105
+ headers: {
106
+ 'Content-Type': 'application/json',
107
+ },
108
+ body: JSON.stringify(requestBody),
109
+ });
110
+ return response.json.Payment.Id;
111
+ }
112
+ catch (error) { }
113
+ }
114
+ collectPayments(customer, paymentInfo) {
115
+ console.log(customer, paymentInfo);
116
+ throw new Error('Method not implemented.');
117
+ }
118
+ async createInvoice() {
119
+ throw new Error('Method not implemented.');
120
+ }
121
+ async createDebitNote() {
122
+ throw new Error('Method not implemented.');
123
+ }
124
+ async createCreditNote() {
125
+ throw new Error('Method not implemented.');
126
+ }
127
+ async postTransaction() {
128
+ throw new Error('Method not implemented.');
129
+ }
130
+ connect(scopes) {
131
+ try {
132
+ const authUrl = this.client.authorizeUri({
133
+ scope: scopes,
134
+ state: 'testState',
135
+ });
136
+ return authUrl;
137
+ }
138
+ catch (error) {
139
+ throw error;
140
+ }
141
+ }
142
+ async authCallback(url) {
143
+ try {
144
+ await this.client.createToken(url);
145
+ }
146
+ catch (error) {
147
+ throw error;
148
+ }
149
+ }
150
+ isTokenValid() {
151
+ try {
152
+ return this.client.isAccessTokenValid();
153
+ }
154
+ catch (error) {
155
+ throw error;
156
+ }
157
+ }
158
+ async refreshAccessToken() {
159
+ try {
160
+ await this.client.refresh();
161
+ }
162
+ catch (error) {
163
+ throw error;
164
+ }
165
+ }
166
+ async logout() {
167
+ try {
168
+ await this.client.revokeToken();
169
+ }
170
+ catch (error) {
171
+ throw error;
172
+ }
173
+ }
174
+ get token() {
175
+ return this.client.token.getToken();
176
+ }
177
+ getCompanyId() {
178
+ return this.client.getToken().realmId;
179
+ }
180
+ async validateAndRefreshToken() {
181
+ if (!this.client.isAccessTokenValid()) {
182
+ await this.client.refresh();
183
+ }
184
+ }
185
+ async callApi(options) {
186
+ try {
187
+ const headers = {
188
+ 'Content-Type': 'application/json',
189
+ };
190
+ const response = this.client.makeApiCall({
191
+ url: this.apiUrl + options.endpoint,
192
+ method: options.method,
193
+ headers: options.headers
194
+ ? Object.assign(Object.assign({}, headers), options.headers) : headers,
195
+ body: options.body ? options.body : '',
196
+ });
197
+ return response;
198
+ }
199
+ catch (error) {
200
+ throw error;
201
+ }
202
+ }
203
+ }
204
+ exports.QuickBookClient = QuickBookClient;
205
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/quickbook-client/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const QUICKBOOK_CLIENT = "quickbook-client";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QUICKBOOK_CLIENT = void 0;
4
+ exports.QUICKBOOK_CLIENT = 'quickbook-client';
5
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/quickbook-client/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { QuickBookClient } from './client';
2
+ import { IQuickBookCreateAccountOptions } from './interfaces/quickbook-client-create-account-options.interface';
3
+ import { IQuickBookClientOptions } from './interfaces/quickbook-client-options.interface';
4
+ import { IQuickBookCreateCustomerOptions } from './interfaces/quickbook-client-create-customer-options.interface';
5
+ export { QuickBookClient, IQuickBookCreateAccountOptions, IQuickBookClientOptions, IQuickBookCreateCustomerOptions, };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuickBookClient = void 0;
4
+ const client_1 = require("./client");
5
+ Object.defineProperty(exports, "QuickBookClient", { enumerable: true, get: function () { return client_1.QuickBookClient; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quickbook-client/index.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAKzC,gGALO,wBAAe,OAKP"}
@@ -0,0 +1,6 @@
1
+ export interface IQuickBookAPICallOptions {
2
+ endpoint: string;
3
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
4
+ headers?: object;
5
+ body?: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=quickbook-client-call-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbook-client-call-options.interface.js","sourceRoot":"","sources":["../../../src/quickbook-client/interfaces/quickbook-client-call-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface IQuickBookCreateAccountOptions {
2
+ Name: string;
3
+ AcctNum: string;
4
+ AccountType: string;
5
+ AccountSubType: string;
6
+ CurrencyRef?: string;
7
+ ParentRef?: string;
8
+ SubAccount?: boolean;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=quickbook-client-create-account-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbook-client-create-account-options.interface.js","sourceRoot":"","sources":["../../../src/quickbook-client/interfaces/quickbook-client-create-account-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { AddressBase } from '@tomei/general';
2
+ export interface IQuickBookCreateCustomerOptions {
3
+ FullName: string;
4
+ Email: string;
5
+ ContractNo: string;
6
+ Address: AddressBase;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=quickbook-client-create-customer-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbook-client-create-customer-options.interface.js","sourceRoot":"","sources":["../../../src/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface IQuickBookClientOptions {
2
+ clientId: string;
3
+ clientSecret: string;
4
+ redirectUri: string;
5
+ apiUrl: string;
6
+ environment: 'production' | 'sandbox';
7
+ logging: boolean;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=quickbook-client-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbook-client-options.interface.js","sourceRoot":"","sources":["../../../src/quickbook-client/interfaces/quickbook-client-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { IQuickBookClientModuleOptions } from './interfaces/quickbook-client-options.interface';
2
+ export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<IQuickBookClientModuleOptions, "forRoot", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
5
+ const common_1 = require("@nestjs/common");
6
+ _a = new common_1.ConfigurableModuleBuilder()
7
+ .setClassMethodName('forRoot')
8
+ .build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
9
+ //# sourceMappingURL=quickbook-client.module-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbook-client.module-definition.js","sourceRoot":"","sources":["../../src/quickbook-client/quickbook-client.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAG9C,KACX,IAAI,kCAAyB,EAAiC;KAC3D,kBAAkB,CAAC,SAAS,CAAC;KAC7B,KAAK,EAAE,EAHG,+BAAuB,+BAAE,4BAAoB,2BAG/C"}
@@ -0,0 +1,6 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { IQuickBookClientModuleOptions } from './interfaces/quickbook-client-options.interface';
3
+ import { ConfigurableModuleClass } from './quickbook-client.module-definition';
4
+ export declare class QuickBookClientModule extends ConfigurableModuleClass {
5
+ static forRoot(options: IQuickBookClientModuleOptions): DynamicModule;
6
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var QuickBookClientModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.QuickBookClientModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const client_1 = require("./client");
13
+ const constant_1 = require("./constant");
14
+ const quickbook_client_module_definition_1 = require("./quickbook-client.module-definition");
15
+ let QuickBookClientModule = QuickBookClientModule_1 = class QuickBookClientModule extends quickbook_client_module_definition_1.ConfigurableModuleClass {
16
+ static forRoot(options) {
17
+ const client = new client_1.QuickBookClient(options);
18
+ const QuickBookClientProvider = {
19
+ provide: constant_1.QUICKBOOK_CLIENT,
20
+ useValue: client,
21
+ };
22
+ return {
23
+ module: QuickBookClientModule_1,
24
+ providers: [QuickBookClientProvider],
25
+ exports: [QuickBookClientProvider],
26
+ global: true,
27
+ };
28
+ }
29
+ };
30
+ QuickBookClientModule = QuickBookClientModule_1 = __decorate([
31
+ (0, common_1.Module)({})
32
+ ], QuickBookClientModule);
33
+ exports.QuickBookClientModule = QuickBookClientModule;
34
+ //# sourceMappingURL=quickbook-client.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickbook-client.module.js","sourceRoot":"","sources":["../../src/quickbook-client/quickbook-client.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,qCAA2C;AAC3C,yCAA8C;AAE9C,6FAA+E;AAGxE,IAAM,qBAAqB,6BAA3B,MAAM,qBAAsB,SAAQ,4DAAuB;IAChE,MAAM,CAAC,OAAO,CAAC,OAAsC;QACnD,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,uBAAuB,GAAa;YACxC,OAAO,EAAE,2BAAgB;YACzB,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,uBAAqB;YAC7B,SAAS,EAAE,CAAC,uBAAuB,CAAC;YACpC,OAAO,EAAE,CAAC,uBAAuB,CAAC;YAClC,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,qBAAqB;IADjC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,qBAAqB,CAgBjC;AAhBY,sDAAqB"}