@activepieces/piece-quickbooks 0.1.5 → 0.1.6

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 (57) hide show
  1. package/package.json +7 -13
  2. package/src/index.js +13 -57
  3. package/src/actions/create-expense.d.ts +0 -9
  4. package/src/actions/create-expense.d.ts.map +0 -1
  5. package/src/actions/create-expense.js +0 -197
  6. package/src/actions/create-expense.js.map +0 -1
  7. package/src/actions/create-invoice.d.ts +0 -12
  8. package/src/actions/create-invoice.d.ts.map +0 -1
  9. package/src/actions/create-invoice.js +0 -193
  10. package/src/actions/create-invoice.js.map +0 -1
  11. package/src/actions/find-customer.d.ts +0 -4
  12. package/src/actions/find-customer.d.ts.map +0 -1
  13. package/src/actions/find-customer.js +0 -65
  14. package/src/actions/find-customer.js.map +0 -1
  15. package/src/actions/find-invoice.d.ts +0 -4
  16. package/src/actions/find-invoice.d.ts.map +0 -1
  17. package/src/actions/find-invoice.js +0 -65
  18. package/src/actions/find-invoice.js.map +0 -1
  19. package/src/actions/find-payment.d.ts +0 -4
  20. package/src/actions/find-payment.d.ts.map +0 -1
  21. package/src/actions/find-payment.js +0 -58
  22. package/src/actions/find-payment.js.map +0 -1
  23. package/src/index.d.ts +0 -2
  24. package/src/index.d.ts.map +0 -1
  25. package/src/index.js.map +0 -1
  26. package/src/lib/auth.d.ts +0 -2
  27. package/src/lib/auth.d.ts.map +0 -1
  28. package/src/lib/auth.js +0 -18
  29. package/src/lib/auth.js.map +0 -1
  30. package/src/lib/common.d.ts +0 -22
  31. package/src/lib/common.d.ts.map +0 -1
  32. package/src/lib/common.js +0 -12
  33. package/src/lib/common.js.map +0 -1
  34. package/src/lib/types.d.ts +0 -281
  35. package/src/lib/types.d.ts.map +0 -1
  36. package/src/lib/types.js +0 -3
  37. package/src/lib/types.js.map +0 -1
  38. package/src/triggers/new-customer.d.ts +0 -3
  39. package/src/triggers/new-customer.d.ts.map +0 -1
  40. package/src/triggers/new-customer.js +0 -81
  41. package/src/triggers/new-customer.js.map +0 -1
  42. package/src/triggers/new-deposit.d.ts +0 -3
  43. package/src/triggers/new-deposit.d.ts.map +0 -1
  44. package/src/triggers/new-deposit.js +0 -81
  45. package/src/triggers/new-deposit.js.map +0 -1
  46. package/src/triggers/new-expense.d.ts +0 -3
  47. package/src/triggers/new-expense.d.ts.map +0 -1
  48. package/src/triggers/new-expense.js +0 -81
  49. package/src/triggers/new-expense.js.map +0 -1
  50. package/src/triggers/new-invoice.d.ts +0 -3
  51. package/src/triggers/new-invoice.d.ts.map +0 -1
  52. package/src/triggers/new-invoice.js +0 -81
  53. package/src/triggers/new-invoice.js.map +0 -1
  54. package/src/triggers/new-transfer.d.ts +0 -3
  55. package/src/triggers/new-transfer.d.ts.map +0 -1
  56. package/src/triggers/new-transfer.js +0 -81
  57. package/src/triggers/new-transfer.js.map +0 -1
@@ -1,197 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createExpenseAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const auth_1 = require("../lib/auth");
8
- const common_1 = require("../lib/common");
9
- exports.createExpenseAction = (0, pieces_framework_1.createAction)({
10
- auth: auth_1.quickbooksAuth,
11
- name: 'create_expense',
12
- displayName: 'Create Expense',
13
- description: 'Creates an expense transaction (purchase) in QuickBooks.',
14
- audience: 'both',
15
- aiMetadata: {
16
- description: 'Record a new expense (purchase) paid from a chosen bank or credit-card account, with one or more account-based line items (each needs an amount and an expense account Id) and a payment type of cash, check, or credit card. Optionally attach a payee/vendor, payment date, and memo. Not idempotent: each call creates a new purchase, so guard against duplicates.',
17
- idempotent: false,
18
- },
19
- props: {
20
- accountRef: pieces_framework_1.Property.Dropdown({
21
- auth: auth_1.quickbooksAuth,
22
- displayName: 'Bank/Credit Card Account',
23
- description: 'The account from which the expense was paid.',
24
- required: true,
25
- refreshers: [],
26
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
27
- var _b, _c;
28
- if (!auth) {
29
- return { disabled: true, placeholder: 'Connect account', options: [] };
30
- }
31
- const { access_token, props } = auth;
32
- const companyId = props === null || props === void 0 ? void 0 : props['companyId'];
33
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
34
- const query = `SELECT Id, Name, AccountType FROM Account STARTPOSITION 1 MAXRESULTS 1000`;
35
- const response = yield pieces_common_1.httpClient.sendRequest({
36
- method: pieces_common_1.HttpMethod.GET,
37
- url: `${apiUrl}/query`,
38
- queryParams: { query: query, minorversion: '70' },
39
- headers: {
40
- Authorization: `Bearer ${access_token}`,
41
- Accept: 'application/json',
42
- },
43
- });
44
- if (response.body.Fault) {
45
- throw new Error(`QuickBooks API Error fetching accounts: ${response.body.Fault.Error.map((e) => e.Message).join(', ')}`);
46
- }
47
- const accounts = (_c = (_b = response.body.QueryResponse) === null || _b === void 0 ? void 0 : _b['Account']) !== null && _c !== void 0 ? _c : [];
48
- return {
49
- disabled: false,
50
- options: accounts.map((account) => ({
51
- label: `${account.Name} (${account.AccountType})`,
52
- value: account.Id,
53
- })),
54
- };
55
- }),
56
- }),
57
- paymentType: pieces_framework_1.Property.StaticDropdown({
58
- displayName: 'Payment Type',
59
- required: true,
60
- options: {
61
- options: [
62
- { label: 'Cash', value: 'Cash' },
63
- { label: 'Check', value: 'Check' },
64
- { label: 'Credit Card', value: 'CreditCard' },
65
- ],
66
- },
67
- defaultValue: 'Cash',
68
- }),
69
- entityRef: pieces_framework_1.Property.Dropdown({
70
- auth: auth_1.quickbooksAuth,
71
- displayName: 'Payee (Vendor)',
72
- description: 'Optional - The vendor the expense was paid to.',
73
- required: false,
74
- refreshers: [],
75
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
76
- var _b, _c;
77
- if (!auth) {
78
- return { disabled: true, placeholder: 'Connect account', options: [] };
79
- }
80
- const { access_token, props } = auth;
81
- const companyId = props === null || props === void 0 ? void 0 : props['companyId'];
82
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
83
- const query = `SELECT Id, DisplayName FROM Vendor STARTPOSITION 1 MAXRESULTS 1000`;
84
- const response = yield pieces_common_1.httpClient.sendRequest({
85
- method: pieces_common_1.HttpMethod.GET,
86
- url: `${apiUrl}/query`,
87
- queryParams: { query: query, minorversion: '70' },
88
- headers: {
89
- Authorization: `Bearer ${access_token}`,
90
- Accept: 'application/json',
91
- },
92
- });
93
- if (response.body.Fault) {
94
- throw new Error(`QuickBooks API Error fetching vendors: ${response.body.Fault.Error.map((e) => e.Message).join(', ')}`);
95
- }
96
- const vendors = (_c = (_b = response.body.QueryResponse) === null || _b === void 0 ? void 0 : _b['Vendor']) !== null && _c !== void 0 ? _c : [];
97
- return {
98
- disabled: false,
99
- options: vendors.map((vendor) => ({
100
- label: vendor.DisplayName,
101
- value: vendor.Id,
102
- })),
103
- };
104
- }),
105
- }),
106
- txnDate: pieces_framework_1.Property.DateTime({
107
- displayName: 'Payment Date',
108
- description: 'The date the expense occurred.',
109
- required: false, // Defaults to today if empty
110
- }),
111
- // Line items for the expense details
112
- lineItems: pieces_framework_1.Property.Array({
113
- displayName: 'Line Items',
114
- description: 'Details of the expense (e.g., categories or items purchased). At least one line is required.',
115
- required: true,
116
- properties: {
117
- amount: pieces_framework_1.Property.Number({
118
- displayName: 'Amount',
119
- required: true,
120
- }),
121
- description: pieces_framework_1.Property.ShortText({
122
- displayName: 'Description',
123
- required: false,
124
- }),
125
- detailType: pieces_framework_1.Property.StaticDropdown({
126
- displayName: 'Detail Type',
127
- required: true,
128
- options: {
129
- options: [
130
- {
131
- label: 'Account Based Expense Line Detail',
132
- value: 'AccountBasedExpenseLineDetail',
133
- },
134
- ],
135
- },
136
- defaultValue: 'AccountBasedExpenseLineDetail',
137
- }),
138
- expenseAccountId: pieces_framework_1.Property.ShortText({
139
- displayName: 'Expense Category/Account ID',
140
- description: 'Enter the ID of the Expense Account. Required for AccountBasedExpenseLineDetail.',
141
- required: true,
142
- }),
143
- },
144
- }),
145
- privateNote: pieces_framework_1.Property.LongText({
146
- displayName: 'Memo (Private Note)',
147
- description: 'Internal note about the expense.',
148
- required: false,
149
- }),
150
- },
151
- run(context) {
152
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
153
- var _a;
154
- const { access_token } = context.auth;
155
- const companyId = (_a = context.auth.props) === null || _a === void 0 ? void 0 : _a['companyId'];
156
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
157
- const props = context.propsValue;
158
- const lines = props['lineItems'].map((line) => {
159
- const detail = {
160
- Amount: line['amount'],
161
- Description: line['description'],
162
- DetailType: line['detailType'],
163
- };
164
- if (line['detailType'] === 'AccountBasedExpenseLineDetail') {
165
- if (!line['expenseAccountId']) {
166
- throw new Error('Expense Category/Account ID is required for Account Based Expense Line Detail.');
167
- }
168
- detail.AccountBasedExpenseLineDetail = {
169
- AccountRef: { value: line['expenseAccountId'] },
170
- };
171
- }
172
- return detail;
173
- });
174
- if (lines.length === 0) {
175
- throw new Error('At least one line item is required.');
176
- }
177
- const expensePayload = Object.assign(Object.assign(Object.assign({ AccountRef: { value: props['accountRef'] }, PaymentType: props['paymentType'], Line: lines }, (props['entityRef'] && { EntityRef: { value: props['entityRef'] } })), (props['txnDate'] && { TxnDate: props['txnDate'].split('T')[0] })), (props['privateNote'] && { PrivateNote: props['privateNote'] }));
178
- const endpoint = 'purchase';
179
- const response = yield pieces_common_1.httpClient.sendRequest({
180
- method: pieces_common_1.HttpMethod.POST,
181
- url: `${apiUrl}/${endpoint}`,
182
- queryParams: { minorversion: '70' },
183
- headers: {
184
- Authorization: `Bearer ${access_token}`,
185
- Accept: 'application/json',
186
- 'Content-Type': 'application/json',
187
- },
188
- body: expensePayload,
189
- });
190
- if (response.body.Fault) {
191
- throw new Error(`QuickBooks API Error creating expense: ${response.body.Fault.Error.map((e) => e.Message).join(', ')} - Detail: ${response.body.Fault.Error.map((e) => e.Detail).join(', ')}`);
192
- }
193
- return response.body.Purchase;
194
- });
195
- },
196
- });
197
- //# sourceMappingURL=create-expense.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-expense.js","sourceRoot":"","sources":["../../../src/actions/create-expense.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export declare const createInvoiceAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
- customerRef: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
3
- lineItems: import("@activepieces/pieces-framework").ArrayProperty<true> | import("@activepieces/pieces-framework").ArrayProperty<false>;
4
- emailStatus: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
5
- billEmail: import("@activepieces/pieces-framework").ShortTextProperty<false>;
6
- dueDate: import("@activepieces/pieces-framework").DateTimeProperty<false>;
7
- docNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
8
- txnDate: import("@activepieces/pieces-framework").DateTimeProperty<false>;
9
- privateNote: import("@activepieces/pieces-framework").LongTextProperty<false>;
10
- customerMemo: import("@activepieces/pieces-framework").LongTextProperty<false>;
11
- }>;
12
- //# sourceMappingURL=create-invoice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-invoice.d.ts","sourceRoot":"","sources":["../../../src/actions/create-invoice.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB;;;;;;;;;;EAmO9B,CAAC"}
@@ -1,193 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createInvoiceAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const auth_1 = require("../lib/auth");
8
- const common_1 = require("../lib/common");
9
- exports.createInvoiceAction = (0, pieces_framework_1.createAction)({
10
- auth: auth_1.quickbooksAuth,
11
- name: 'create_invoice',
12
- displayName: 'Create Invoice',
13
- description: 'Creates an invoice in QuickBooks.',
14
- audience: 'both',
15
- aiMetadata: {
16
- description: 'Create a new QuickBooks invoice for a customer with one or more line items (each line needs an amount and an Item/product Id). Optionally set due date, transaction date, invoice number, memos, and email status; setting email status to "Needs To Be Sent" requires a billing email. Not idempotent: each call creates a new invoice, so guard against duplicates.',
17
- idempotent: false,
18
- },
19
- props: {
20
- customerRef: pieces_framework_1.Property.Dropdown({
21
- auth: auth_1.quickbooksAuth,
22
- displayName: 'Customer',
23
- required: true,
24
- refreshers: [],
25
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
26
- var _b, _c;
27
- if (!auth) {
28
- return {
29
- disabled: true,
30
- placeholder: 'Connect your account first',
31
- options: [],
32
- };
33
- }
34
- const { access_token, props } = auth;
35
- const companyId = props === null || props === void 0 ? void 0 : props['companyId'];
36
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
37
- const query = `SELECT Id, DisplayName FROM Customer STARTPOSITION 1 MAXRESULTS 1000`;
38
- const response = yield pieces_common_1.httpClient.sendRequest({
39
- method: pieces_common_1.HttpMethod.GET,
40
- url: `${apiUrl}/query`,
41
- queryParams: { query: query, minorversion: '70' },
42
- headers: {
43
- Authorization: `Bearer ${access_token}`,
44
- Accept: 'application/json',
45
- },
46
- });
47
- if (response.body.Fault) {
48
- throw new Error(`QuickBooks API Error: ${response.body.Fault.Error.map((e) => e.Message).join(', ')}`);
49
- }
50
- const customers = (_c = (_b = response.body.QueryResponse) === null || _b === void 0 ? void 0 : _b['Customer']) !== null && _c !== void 0 ? _c : [];
51
- return {
52
- disabled: false,
53
- options: customers.map((customer) => ({
54
- label: customer.DisplayName,
55
- value: customer.Id,
56
- })),
57
- };
58
- }),
59
- }),
60
- lineItems: pieces_framework_1.Property.Array({
61
- displayName: 'Line Items',
62
- description: 'Line items for the invoice',
63
- required: true,
64
- properties: {
65
- description: pieces_framework_1.Property.ShortText({
66
- displayName: 'Description',
67
- required: false,
68
- }),
69
- amount: pieces_framework_1.Property.Number({
70
- displayName: 'Amount',
71
- description: 'Total amount for this line (Exclusive of tax). Required.',
72
- required: true,
73
- }),
74
- detailType: pieces_framework_1.Property.StaticDropdown({
75
- displayName: 'Detail Type',
76
- required: true,
77
- options: {
78
- options: [{ label: 'Sales Item Line Detail', value: 'SalesItemLineDetail' }],
79
- },
80
- defaultValue: 'SalesItemLineDetail',
81
- }),
82
- itemId: pieces_framework_1.Property.ShortText({
83
- displayName: 'Item ID (Product/Service)',
84
- description: 'Enter the ID of the Item (Product/Service). Required for SalesItemLineDetail.',
85
- required: true,
86
- }),
87
- quantity: pieces_framework_1.Property.Number({
88
- displayName: 'Quantity',
89
- required: false,
90
- }),
91
- unitPrice: pieces_framework_1.Property.Number({
92
- displayName: 'Unit Price',
93
- description: 'If specified, Amount will be Qty * UnitPrice. If Amount is also specified, Amount overrides calculation.',
94
- required: false,
95
- }),
96
- },
97
- }),
98
- emailStatus: pieces_framework_1.Property.StaticDropdown({
99
- displayName: 'Email Status',
100
- description: 'Specify whether the invoice should be emailed after creation.',
101
- required: false,
102
- options: {
103
- options: [
104
- { label: 'Not Set (Default - No Email)', value: 'NotSet' },
105
- { label: 'Needs To Be Sent', value: 'NeedToSend' },
106
- ],
107
- },
108
- defaultValue: 'NotSet',
109
- }),
110
- billEmail: pieces_framework_1.Property.ShortText({
111
- displayName: 'Billing Email Address',
112
- description: 'Email address to send the invoice to. Required if Email Status is "Needs To Be Sent". Overrides customer default.',
113
- required: false,
114
- }),
115
- dueDate: pieces_framework_1.Property.DateTime({
116
- displayName: 'Due Date',
117
- description: 'The date when the payment for the invoice is due. If not provided, default term from customer or company is used.',
118
- required: false,
119
- }),
120
- docNumber: pieces_framework_1.Property.ShortText({
121
- displayName: 'Invoice Number',
122
- description: 'Optional reference number for the invoice. If not provided, QuickBooks assigns the next sequential number.',
123
- required: false,
124
- }),
125
- txnDate: pieces_framework_1.Property.DateTime({
126
- displayName: 'Transaction Date',
127
- description: 'The date entered on the transaction. Defaults to the current date if not specified.',
128
- required: false,
129
- }),
130
- privateNote: pieces_framework_1.Property.LongText({
131
- displayName: 'Private Note (Memo)',
132
- description: 'Note to self. Does not appear on the invoice sent to the customer.',
133
- required: false,
134
- }),
135
- customerMemo: pieces_framework_1.Property.LongText({
136
- displayName: 'Customer Memo (Statement Memo)',
137
- description: 'Memo to be displayed on the invoice sent to the customer (appears on statement).',
138
- required: false,
139
- }),
140
- },
141
- run(context) {
142
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
143
- var _a;
144
- const { access_token } = context.auth;
145
- const companyId = (_a = context.auth.props) === null || _a === void 0 ? void 0 : _a['companyId'];
146
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
147
- const props = context.propsValue;
148
- if (props['emailStatus'] === 'NeedToSend' && !props['billEmail']) {
149
- throw new Error('Billing Email Address is required when Email Status is "Needs To Be Sent".');
150
- }
151
- const lineItems = props['lineItems'].map((item) => {
152
- if (item['detailType'] === 'SalesItemLineDetail') {
153
- if (!item['itemId']) {
154
- throw new Error('Item ID is required for Sales Item Line Detail.');
155
- }
156
- return {
157
- Amount: item['amount'],
158
- DetailType: item['detailType'],
159
- Description: item['description'],
160
- SalesItemLineDetail: Object.assign(Object.assign({ ItemRef: { value: item['itemId'] } }, (item['quantity'] != null && { Qty: item['quantity'] })), (item['unitPrice'] != null && { UnitPrice: item['unitPrice'] })),
161
- };
162
- }
163
- else {
164
- return {
165
- Amount: item['amount'],
166
- DetailType: item['detailType'],
167
- Description: item['description'],
168
- };
169
- }
170
- });
171
- if (lineItems.length === 0) {
172
- throw new Error('At least one line item is required to create an invoice.');
173
- }
174
- const invoicePayload = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ Line: lineItems, CustomerRef: { value: props['customerRef'] } }, (props['emailStatus'] && { EmailStatus: props['emailStatus'] })), (props['billEmail'] && { BillEmail: { Address: props['billEmail'] } })), (props['dueDate'] && { DueDate: props['dueDate'].split('T')[0] })), (props['docNumber'] && { DocNumber: props['docNumber'] })), (props['txnDate'] && { TxnDate: props['txnDate'].split('T')[0] })), (props['privateNote'] && { PrivateNote: props['privateNote'] })), (props['customerMemo'] && { CustomerMemo: { value: props['customerMemo'] } }));
175
- const response = yield pieces_common_1.httpClient.sendRequest({
176
- method: pieces_common_1.HttpMethod.POST,
177
- url: `${apiUrl}/invoice`,
178
- queryParams: { minorversion: '70' },
179
- headers: {
180
- Authorization: `Bearer ${access_token}`,
181
- Accept: 'application/json',
182
- 'Content-Type': 'application/json',
183
- },
184
- body: invoicePayload,
185
- });
186
- if (response.body.Fault) {
187
- throw new Error(`QuickBooks API Error: ${response.body.Fault.Error.map((e) => e.Message).join(', ')} - ${response.body.Fault.Error.map((e) => e.Detail).join(', ')}`);
188
- }
189
- return response.body.Invoice;
190
- });
191
- },
192
- });
193
- //# sourceMappingURL=create-invoice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-invoice.js","sourceRoot":"","sources":["../../../src/actions/create-invoice.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare const findCustomerAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
- search_term: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- }>;
4
- //# sourceMappingURL=find-customer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-customer.d.ts","sourceRoot":"","sources":["../../../src/actions/find-customer.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;EA8D7B,CAAC"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findCustomerAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const auth_1 = require("../lib/auth");
8
- const common_1 = require("../lib/common");
9
- exports.findCustomerAction = (0, pieces_framework_1.createAction)({
10
- auth: auth_1.quickbooksAuth,
11
- name: 'find_customer',
12
- displayName: 'Find Customer',
13
- description: 'Search for a customer by display name in QuickBooks.',
14
- audience: 'both',
15
- aiMetadata: {
16
- description: 'Look up a single QuickBooks customer by exact display name, returning the first match. Use to resolve a customer name to its full record (including its Id) before referencing it elsewhere; the match is exact, not fuzzy. Read-only and idempotent.',
17
- idempotent: true,
18
- },
19
- props: {
20
- search_term: pieces_framework_1.Property.ShortText({
21
- displayName: 'Customer Name',
22
- description: 'The display name of the customer to search for.',
23
- required: true,
24
- }),
25
- },
26
- run(context) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- var _a, _b, _c;
29
- const { search_term } = context.propsValue;
30
- const companyId = (_a = context.auth.props) === null || _a === void 0 ? void 0 : _a['companyId'];
31
- if (!companyId) {
32
- throw new Error('Realm ID not found in authentication data. Please reconnect your account.');
33
- }
34
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
35
- const query = `SELECT * FROM Customer WHERE DisplayName = '${search_term.replace(/'/g, "\\'")}' MAXRESULTS 1`;
36
- const response = yield pieces_common_1.httpClient.sendRequest({
37
- method: pieces_common_1.HttpMethod.GET,
38
- url: `${apiUrl}/query`,
39
- queryParams: {
40
- query: query,
41
- minorversion: '70',
42
- },
43
- authentication: {
44
- type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
45
- token: context.auth.access_token,
46
- },
47
- headers: {
48
- Accept: 'application/json',
49
- },
50
- });
51
- if (((_c = (_b = response.body) === null || _b === void 0 ? void 0 : _b.QueryResponse) === null || _c === void 0 ? void 0 : _c['Customer']) &&
52
- response.body.QueryResponse['Customer'].length > 0) {
53
- return {
54
- found: true,
55
- result: response.body.QueryResponse['Customer'][0],
56
- };
57
- }
58
- return {
59
- found: false,
60
- result: {},
61
- };
62
- });
63
- },
64
- });
65
- //# sourceMappingURL=find-customer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-customer.js","sourceRoot":"","sources":["../../../src/actions/find-customer.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyF;AACzF,sCAA6C;AAC7C,0CAA2E;AAE9D,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC9C,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACX,WAAW,EAAE,uPAAuP;QACpQ,UAAU,EAAE,IAAI;KAChB;IACD,KAAK,EAAE;QACN,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;;YAChB,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,0CAAG,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,MAAM,GAAG,yBAAgB,CAAC,SAAS,CAAC,SAAmB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,+CAA+C,WAAW,CAAC,OAAO,CAC/E,IAAI,EACJ,KAAK,CACL,gBAAgB,CAAC;YAElB,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAA+C;gBAC3F,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,MAAM,QAAQ;gBACtB,WAAW,EAAE;oBACZ,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,IAAI;iBAClB;gBACD,cAAc,EAAE;oBACf,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY;iBAChC;gBACD,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;iBAC1B;aACD,CAAC,CAAC;YAEH,IACC,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,aAAa,0CAAG,UAAU,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EACjD,CAAC;gBACF,OAAO;oBACN,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBAClD,CAAC;YACH,CAAC;YAED,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACV,CAAC;QACH,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const findInvoiceAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
- invoice_number: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- }>;
4
- //# sourceMappingURL=find-invoice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-invoice.d.ts","sourceRoot":"","sources":["../../../src/actions/find-invoice.ts"],"names":[],"mappings":"AA2GA,eAAO,MAAM,iBAAiB;;EA8D5B,CAAC"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findInvoiceAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const auth_1 = require("../lib/auth");
8
- const common_1 = require("../lib/common");
9
- exports.findInvoiceAction = (0, pieces_framework_1.createAction)({
10
- auth: auth_1.quickbooksAuth,
11
- name: 'find_invoice',
12
- displayName: 'Find Invoice',
13
- description: 'Search for an invoice by its number in QuickBooks.',
14
- audience: 'both',
15
- aiMetadata: {
16
- description: 'Look up a single QuickBooks invoice by its document number (DocNumber), returning the first match. Use to resolve an invoice reference to its full record before reading or acting on it; the document number is required. Read-only and idempotent.',
17
- idempotent: true,
18
- },
19
- props: {
20
- invoice_number: pieces_framework_1.Property.ShortText({
21
- displayName: 'Invoice Number',
22
- description: 'The document number (DocNumber) of the invoice to search for.',
23
- required: true,
24
- }),
25
- },
26
- run(context) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- var _a, _b, _c;
29
- const { invoice_number } = context.propsValue;
30
- const companyId = (_a = context.auth.props) === null || _a === void 0 ? void 0 : _a['companyId'];
31
- if (!companyId) {
32
- throw new Error('Realm ID not found in authentication data. Please reconnect your account.');
33
- }
34
- const apiUrl = common_1.quickbooksCommon.getApiUrl(companyId);
35
- const query = `SELECT * FROM Invoice WHERE DocNumber = '${invoice_number.replace(/'/g, "\\'")}' MAXRESULTS 1`;
36
- const response = yield pieces_common_1.httpClient.sendRequest({
37
- method: pieces_common_1.HttpMethod.GET,
38
- url: `${apiUrl}/query`,
39
- queryParams: {
40
- query: query,
41
- minorversion: '70',
42
- },
43
- authentication: {
44
- type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
45
- token: context.auth.access_token,
46
- },
47
- headers: {
48
- Accept: 'application/json',
49
- },
50
- });
51
- if (((_c = (_b = response.body) === null || _b === void 0 ? void 0 : _b.QueryResponse) === null || _c === void 0 ? void 0 : _c['Invoice']) &&
52
- response.body.QueryResponse['Invoice'].length > 0) {
53
- return {
54
- found: true,
55
- result: response.body.QueryResponse['Invoice'][0],
56
- };
57
- }
58
- return {
59
- found: false,
60
- result: {},
61
- };
62
- });
63
- },
64
- });
65
- //# sourceMappingURL=find-invoice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-invoice.js","sourceRoot":"","sources":["../../../src/actions/find-invoice.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyF;AACzF,sCAA6C;AAC7C,0CAA2E;AAwG9D,QAAA,iBAAiB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACX,WAAW,EAAE,sPAAsP;QACnQ,UAAU,EAAE,IAAI;KAChB;IACD,KAAK,EAAE;QACN,cAAc,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAClC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,+DAA+D;YAC5E,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;;YAChB,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,0CAAG,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,MAAM,GAAG,yBAAgB,CAAC,SAAS,CAAC,SAAmB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,4CAA4C,cAAc,CAAC,OAAO,CAC/E,IAAI,EACJ,KAAK,CACL,gBAAgB,CAAC;YAElB,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAA8C;gBAC1F,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,MAAM,QAAQ;gBACtB,WAAW,EAAE;oBACZ,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,IAAI;iBAClB;gBACD,cAAc,EAAE;oBACf,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY;iBAChC;gBACD,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;iBAC1B;aACD,CAAC,CAAC;YAEH,IACC,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,aAAa,0CAAG,SAAS,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAChD,CAAC;gBACF,OAAO;oBACN,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC;YACH,CAAC;YAED,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACV,CAAC;QACH,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const findPaymentAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
- customerId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- }>;
4
- //# sourceMappingURL=find-payment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-payment.d.ts","sourceRoot":"","sources":["../../../src/actions/find-payment.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,iBAAiB;;EAoD5B,CAAC"}