@activepieces/piece-quaderno 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/package.json +26 -0
- package/src/index.d.ts +4 -0
- package/src/index.js +41 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/create-contact.d.ts +25 -0
- package/src/lib/actions/create-contact.js +194 -0
- package/src/lib/actions/create-contact.js.map +1 -0
- package/src/lib/actions/create-expence.d.ts +19 -0
- package/src/lib/actions/create-expence.js +141 -0
- package/src/lib/actions/create-expence.js.map +1 -0
- package/src/lib/actions/create-invoice.d.ts +19 -0
- package/src/lib/actions/create-invoice.js +135 -0
- package/src/lib/actions/create-invoice.js.map +1 -0
- package/src/lib/actions/find-contact.d.ts +8 -0
- package/src/lib/actions/find-contact.js +50 -0
- package/src/lib/actions/find-contact.js.map +1 -0
- package/src/lib/common/auth.d.ts +4 -0
- package/src/lib/common/auth.js +39 -0
- package/src/lib/common/auth.js.map +1 -0
- package/src/lib/common/client.d.ts +2 -0
- package/src/lib/common/client.js +31 -0
- package/src/lib/common/client.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@activepieces/piece-quaderno",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "commonjs",
|
|
5
|
+
"main": "./src/index.js",
|
|
6
|
+
"types": "./src/index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@sinclair/typebox": "0.34.11",
|
|
9
|
+
"axios": "1.13.1",
|
|
10
|
+
"axios-retry": "4.4.1",
|
|
11
|
+
"deepmerge-ts": "7.1.0",
|
|
12
|
+
"form-data": "4.0.4",
|
|
13
|
+
"mime-types": "2.1.35",
|
|
14
|
+
"nanoid": "3.3.8",
|
|
15
|
+
"semver": "7.6.0",
|
|
16
|
+
"socket.io-client": "4.8.1",
|
|
17
|
+
"tslib": "^2.3.0",
|
|
18
|
+
"zod": "4.1.13",
|
|
19
|
+
"@activepieces/pieces-common": "0.11.1",
|
|
20
|
+
"@activepieces/pieces-framework": "0.23.0",
|
|
21
|
+
"@activepieces/shared": "0.30.4"
|
|
22
|
+
},
|
|
23
|
+
"resolutions": {
|
|
24
|
+
"rollup": "npm:@rollup/wasm-node"
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const quaderno: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
2
|
+
account_name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
api_key: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
4
|
+
}>>;
|
package/src/index.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.quaderno = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const shared_1 = require("@activepieces/shared");
|
|
8
|
+
const create_contact_1 = require("./lib/actions/create-contact");
|
|
9
|
+
const create_expence_1 = require("./lib/actions/create-expence");
|
|
10
|
+
const create_invoice_1 = require("./lib/actions/create-invoice");
|
|
11
|
+
const find_contact_1 = require("./lib/actions/find-contact");
|
|
12
|
+
const auth_1 = require("./lib/common/auth");
|
|
13
|
+
exports.quaderno = (0, pieces_framework_1.createPiece)({
|
|
14
|
+
displayName: 'Quaderno',
|
|
15
|
+
auth: auth_1.quadernoAuth,
|
|
16
|
+
minimumSupportedRelease: '0.36.1',
|
|
17
|
+
logoUrl: 'https://cdn.activepieces.com/pieces/quaderno.png',
|
|
18
|
+
categories: [shared_1.PieceCategory.COMMERCE],
|
|
19
|
+
description: 'Quaderno is a tax software that handles sales tax, VAT, and GST for your online business. Automatically calculates tax, sends receipts and invoices, and provides instant multi-channel tax reports for your sales around the world.',
|
|
20
|
+
authors: ['sanket-a11y'],
|
|
21
|
+
actions: [
|
|
22
|
+
create_contact_1.createContact,
|
|
23
|
+
find_contact_1.findContact,
|
|
24
|
+
create_expence_1.createExpense,
|
|
25
|
+
create_invoice_1.createInvoice,
|
|
26
|
+
(0, pieces_common_1.createCustomApiCallAction)({
|
|
27
|
+
auth: auth_1.quadernoAuth,
|
|
28
|
+
baseUrl: (auth) => {
|
|
29
|
+
return `https://${auth === null || auth === void 0 ? void 0 : auth.props.account_name}.quadernoapp.com/api`;
|
|
30
|
+
},
|
|
31
|
+
authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
const credentials = Buffer.from(`${auth.props.api_key}:x`).toString('base64');
|
|
33
|
+
return {
|
|
34
|
+
Authorization: `Basic ${credentials}`,
|
|
35
|
+
};
|
|
36
|
+
}),
|
|
37
|
+
}),
|
|
38
|
+
],
|
|
39
|
+
triggers: [],
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/quaderno/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAA6D;AAC7D,iDAAqD;AACrD,iEAA6D;AAC7D,iEAA6D;AAC7D,iEAA6D;AAC7D,6DAAyD;AACzD,4CAAiD;AAEpC,QAAA,QAAQ,GAAG,IAAA,8BAAW,EAAC;IAClC,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,mBAAY;IAClB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,kDAAkD;IAC3D,UAAU,EAAE,CAAC,sBAAa,CAAC,QAAQ,CAAC;IACpC,WAAW,EACT,sOAAsO;IACxO,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,OAAO,EAAE;QACP,8BAAa;QACb,0BAAW;QACX,8BAAa;QACb,8BAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,mBAAY;YAClB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,OAAO,WAAW,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,YAAY,sBAAsB,CAAC;YACnE,CAAC;YACD,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CACjE,QAAQ,CACT,CAAC;gBACF,OAAO;oBACL,aAAa,EAAE,SAAS,WAAW,EAAE;iBACtC,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const createContact: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
2
|
+
account_name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
api_key: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
4
|
+
}>, {
|
|
5
|
+
firstName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
6
|
+
lastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
|
+
email: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
fullName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
kind: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
10
|
+
country: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
11
|
+
city: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
12
|
+
postalCode: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
13
|
+
region: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
14
|
+
streetLine1: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
15
|
+
streetLine2: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
16
|
+
taxId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
17
|
+
taxStatus: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
18
|
+
language: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
19
|
+
phone: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
20
|
+
website: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
21
|
+
discount: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
22
|
+
notes: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
23
|
+
processorId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
24
|
+
processor: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContact = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.createContact = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.quadernoAuth,
|
|
11
|
+
name: 'createContact',
|
|
12
|
+
displayName: 'Create Contact',
|
|
13
|
+
description: 'Create a new contact in Quaderno (customer or vendor)',
|
|
14
|
+
props: {
|
|
15
|
+
firstName: pieces_framework_1.Property.ShortText({
|
|
16
|
+
displayName: 'First Name',
|
|
17
|
+
description: "The contact's first name (required for person contacts)",
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
lastName: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'Last Name',
|
|
22
|
+
description: "The contact's last name (optional)",
|
|
23
|
+
required: false,
|
|
24
|
+
}),
|
|
25
|
+
email: pieces_framework_1.Property.ShortText({
|
|
26
|
+
displayName: 'Email',
|
|
27
|
+
description: "The contact's email address",
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
fullName: pieces_framework_1.Property.ShortText({
|
|
31
|
+
displayName: 'Full Name',
|
|
32
|
+
description: "The contact's full name",
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
kind: pieces_framework_1.Property.StaticDropdown({
|
|
36
|
+
displayName: 'Kind',
|
|
37
|
+
description: 'The type of contact',
|
|
38
|
+
options: {
|
|
39
|
+
options: [
|
|
40
|
+
{ label: 'Person', value: 'person' },
|
|
41
|
+
{ label: 'Company', value: 'company' },
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
required: false,
|
|
45
|
+
}),
|
|
46
|
+
country: pieces_framework_1.Property.ShortText({
|
|
47
|
+
displayName: 'Country',
|
|
48
|
+
description: '2-letter ISO country code (e.g., US, GB)',
|
|
49
|
+
required: true,
|
|
50
|
+
}),
|
|
51
|
+
city: pieces_framework_1.Property.ShortText({
|
|
52
|
+
displayName: 'City',
|
|
53
|
+
description: 'City/District/Suburb/Town/Village',
|
|
54
|
+
required: false,
|
|
55
|
+
}),
|
|
56
|
+
postalCode: pieces_framework_1.Property.ShortText({
|
|
57
|
+
displayName: 'Postal Code',
|
|
58
|
+
description: 'ZIP or postal code',
|
|
59
|
+
required: false,
|
|
60
|
+
}),
|
|
61
|
+
region: pieces_framework_1.Property.ShortText({
|
|
62
|
+
displayName: 'Region/State',
|
|
63
|
+
description: 'State/Province/Region',
|
|
64
|
+
required: false,
|
|
65
|
+
}),
|
|
66
|
+
streetLine1: pieces_framework_1.Property.ShortText({
|
|
67
|
+
displayName: 'Street Address Line 1',
|
|
68
|
+
description: 'Street address or PO Box',
|
|
69
|
+
required: false,
|
|
70
|
+
}),
|
|
71
|
+
streetLine2: pieces_framework_1.Property.ShortText({
|
|
72
|
+
displayName: 'Street Address Line 2',
|
|
73
|
+
description: 'Apartment/Suite/Unit/Building',
|
|
74
|
+
required: false,
|
|
75
|
+
}),
|
|
76
|
+
taxId: pieces_framework_1.Property.ShortText({
|
|
77
|
+
displayName: 'Tax ID',
|
|
78
|
+
description: 'Tax identification number (VAT, ABN, etc.)',
|
|
79
|
+
required: false,
|
|
80
|
+
}),
|
|
81
|
+
taxStatus: pieces_framework_1.Property.StaticDropdown({
|
|
82
|
+
displayName: 'Tax Status',
|
|
83
|
+
description: 'Tax status of the contact',
|
|
84
|
+
options: {
|
|
85
|
+
options: [
|
|
86
|
+
{ label: 'Taxable', value: 'taxable' },
|
|
87
|
+
{ label: 'Exempt', value: 'exempt' },
|
|
88
|
+
{ label: 'Reverse', value: 'reverse' },
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
required: false,
|
|
92
|
+
}),
|
|
93
|
+
language: pieces_framework_1.Property.ShortText({
|
|
94
|
+
displayName: 'Language',
|
|
95
|
+
description: '2-letter ISO language code (e.g., EN, FR, ES)',
|
|
96
|
+
required: false,
|
|
97
|
+
}),
|
|
98
|
+
phone: pieces_framework_1.Property.ShortText({
|
|
99
|
+
displayName: 'Phone',
|
|
100
|
+
description: "The contact's phone number",
|
|
101
|
+
required: false,
|
|
102
|
+
}),
|
|
103
|
+
website: pieces_framework_1.Property.ShortText({
|
|
104
|
+
displayName: 'Website',
|
|
105
|
+
description: "The contact's website URL",
|
|
106
|
+
required: false,
|
|
107
|
+
}),
|
|
108
|
+
discount: pieces_framework_1.Property.Number({
|
|
109
|
+
displayName: 'Discount',
|
|
110
|
+
description: 'Default discount for this contact (as a percentage)',
|
|
111
|
+
required: false,
|
|
112
|
+
}),
|
|
113
|
+
notes: pieces_framework_1.Property.LongText({
|
|
114
|
+
displayName: 'Notes',
|
|
115
|
+
description: 'Internal notes about the contact',
|
|
116
|
+
required: false,
|
|
117
|
+
}),
|
|
118
|
+
processorId: pieces_framework_1.Property.ShortText({
|
|
119
|
+
displayName: 'Processor ID',
|
|
120
|
+
description: 'The ID assigned by an external payment processor (e.g., Stripe customer ID)',
|
|
121
|
+
required: false,
|
|
122
|
+
}),
|
|
123
|
+
processor: pieces_framework_1.Property.ShortText({
|
|
124
|
+
displayName: 'Processor',
|
|
125
|
+
description: 'The external platform where the contact was imported from (e.g., stripe)',
|
|
126
|
+
required: false,
|
|
127
|
+
}),
|
|
128
|
+
},
|
|
129
|
+
run(context) {
|
|
130
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
// Build contact data object
|
|
132
|
+
const contactData = {
|
|
133
|
+
first_name: context.propsValue.firstName,
|
|
134
|
+
kind: context.propsValue.kind || 'person',
|
|
135
|
+
country: context.propsValue.country,
|
|
136
|
+
};
|
|
137
|
+
// Add optional fields if provided
|
|
138
|
+
if (context.propsValue.lastName) {
|
|
139
|
+
contactData.last_name = context.propsValue.lastName;
|
|
140
|
+
}
|
|
141
|
+
if (context.propsValue.email) {
|
|
142
|
+
contactData.email = context.propsValue.email;
|
|
143
|
+
}
|
|
144
|
+
if (context.propsValue.fullName) {
|
|
145
|
+
contactData.full_name = context.propsValue.fullName;
|
|
146
|
+
}
|
|
147
|
+
if (context.propsValue.city) {
|
|
148
|
+
contactData.city = context.propsValue.city;
|
|
149
|
+
}
|
|
150
|
+
if (context.propsValue.postalCode) {
|
|
151
|
+
contactData.postal_code = context.propsValue.postalCode;
|
|
152
|
+
}
|
|
153
|
+
if (context.propsValue.region) {
|
|
154
|
+
contactData.region = context.propsValue.region;
|
|
155
|
+
}
|
|
156
|
+
if (context.propsValue.streetLine1) {
|
|
157
|
+
contactData.street_line_1 = context.propsValue.streetLine1;
|
|
158
|
+
}
|
|
159
|
+
if (context.propsValue.streetLine2) {
|
|
160
|
+
contactData.street_line_2 = context.propsValue.streetLine2;
|
|
161
|
+
}
|
|
162
|
+
if (context.propsValue.taxId) {
|
|
163
|
+
contactData.tax_id = context.propsValue.taxId;
|
|
164
|
+
}
|
|
165
|
+
if (context.propsValue.taxStatus) {
|
|
166
|
+
contactData.tax_status = context.propsValue.taxStatus;
|
|
167
|
+
}
|
|
168
|
+
if (context.propsValue.language) {
|
|
169
|
+
contactData.language = context.propsValue.language;
|
|
170
|
+
}
|
|
171
|
+
if (context.propsValue.phone) {
|
|
172
|
+
contactData.phone_1 = context.propsValue.phone;
|
|
173
|
+
}
|
|
174
|
+
if (context.propsValue.website) {
|
|
175
|
+
contactData.web = context.propsValue.website;
|
|
176
|
+
}
|
|
177
|
+
if (context.propsValue.discount !== undefined &&
|
|
178
|
+
context.propsValue.discount !== null) {
|
|
179
|
+
contactData.discount = context.propsValue.discount;
|
|
180
|
+
}
|
|
181
|
+
if (context.propsValue.notes) {
|
|
182
|
+
contactData.notes = context.propsValue.notes;
|
|
183
|
+
}
|
|
184
|
+
if (context.propsValue.processorId) {
|
|
185
|
+
contactData.processor_id = context.propsValue.processorId;
|
|
186
|
+
}
|
|
187
|
+
if (context.propsValue.processor) {
|
|
188
|
+
contactData.processor = context.propsValue.processor;
|
|
189
|
+
}
|
|
190
|
+
return yield (0, client_1.makeRequest)(context.auth.props.account_name, context.auth.props.api_key, pieces_common_1.HttpMethod.POST, '/contacts', contactData);
|
|
191
|
+
});
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
//# sourceMappingURL=create-contact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-contact.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/quaderno/src/lib/actions/create-contact.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,6CAA+C;AAC/C,yCAA8C;AAC9C,+DAAyD;AAE5C,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,uDAAuD;IACpE,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC5B,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;iBACvC;aACF;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC;QAEF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,uBAAuB;YACpC,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,uBAAuB;YACpC,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACjC,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;iBACvC;aACF;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACvB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,6EAA6E;YAC/E,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,WAAW;YACxB,WAAW,EACT,0EAA0E;YAC5E,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,4BAA4B;YAC5B,MAAM,WAAW,GAAQ;gBACvB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;gBACxC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,QAAQ;gBACzC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;aACpC,CAAC;YAEF,kCAAkC;YAClC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAChC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YACtD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/C,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAChC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YACtD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAClC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;YAC1D,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC9B,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACnC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACnC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAChD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBACjC,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAChC,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC/C,CAAC;YACD,IACE,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS;gBACzC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,EACpC,CAAC;gBACD,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/C,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACnC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;YAC5D,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBACjC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YACvD,CAAC;YAED,OAAO,MAAM,IAAA,oBAAW,EACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAC1B,0BAAU,CAAC,IAAI,EACf,WAAW,EACX,WAAW,CACZ,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const createExpense: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
2
|
+
account_name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
api_key: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
4
|
+
}>, {
|
|
5
|
+
issueDate: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
6
|
+
currency: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
7
|
+
contactFirstName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
8
|
+
contactLastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
contactEmail: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
10
|
+
contactCountry: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
11
|
+
itemDescription: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
12
|
+
itemQuantity: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
13
|
+
itemUnitCost: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
14
|
+
paymentMethod: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
|
|
15
|
+
country: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
16
|
+
poNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
17
|
+
tagList: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
18
|
+
notes: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createExpense = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.createExpense = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.quadernoAuth,
|
|
11
|
+
name: 'createExpense',
|
|
12
|
+
displayName: 'Create Expense',
|
|
13
|
+
description: 'Create a new expense in Quaderno',
|
|
14
|
+
props: {
|
|
15
|
+
issueDate: pieces_framework_1.Property.ShortText({
|
|
16
|
+
displayName: 'Issue Date',
|
|
17
|
+
description: 'Date when the expense was issued (YYYY-MM-DD)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
currency: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'Currency',
|
|
22
|
+
description: '3-letter ISO currency code (USD, EUR, GBP, etc.)',
|
|
23
|
+
required: true,
|
|
24
|
+
}),
|
|
25
|
+
contactFirstName: pieces_framework_1.Property.ShortText({
|
|
26
|
+
displayName: 'Vendor First Name',
|
|
27
|
+
description: "The vendor's first name",
|
|
28
|
+
required: true,
|
|
29
|
+
}),
|
|
30
|
+
contactLastName: pieces_framework_1.Property.ShortText({
|
|
31
|
+
displayName: 'Vendor Last Name',
|
|
32
|
+
description: "The vendor's last name (optional for person contacts)",
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
contactEmail: pieces_framework_1.Property.ShortText({
|
|
36
|
+
displayName: 'Vendor Email',
|
|
37
|
+
description: "The vendor's email address",
|
|
38
|
+
required: false,
|
|
39
|
+
}),
|
|
40
|
+
contactCountry: pieces_framework_1.Property.ShortText({
|
|
41
|
+
displayName: 'Vendor Country',
|
|
42
|
+
description: '2-letter ISO country code (e.g., US, GB)',
|
|
43
|
+
required: true,
|
|
44
|
+
}),
|
|
45
|
+
itemDescription: pieces_framework_1.Property.ShortText({
|
|
46
|
+
displayName: 'Item Description',
|
|
47
|
+
description: 'Description of the expense item',
|
|
48
|
+
required: true,
|
|
49
|
+
}),
|
|
50
|
+
itemQuantity: pieces_framework_1.Property.Number({
|
|
51
|
+
displayName: 'Item Quantity',
|
|
52
|
+
description: 'Quantity of the expense item',
|
|
53
|
+
required: true,
|
|
54
|
+
}),
|
|
55
|
+
itemUnitCost: pieces_framework_1.Property.ShortText({
|
|
56
|
+
displayName: 'Item Unit Cost',
|
|
57
|
+
description: 'Unit cost of the expense item',
|
|
58
|
+
required: true,
|
|
59
|
+
}),
|
|
60
|
+
paymentMethod: pieces_framework_1.Property.StaticDropdown({
|
|
61
|
+
displayName: 'Payment Method',
|
|
62
|
+
description: 'How the expense was paid',
|
|
63
|
+
options: {
|
|
64
|
+
options: [
|
|
65
|
+
{ label: 'Credit Card', value: 'credit_card' },
|
|
66
|
+
{ label: 'Cash', value: 'cash' },
|
|
67
|
+
{ label: 'Wire Transfer', value: 'wire_transfer' },
|
|
68
|
+
{ label: 'Direct Debit', value: 'direct_debit' },
|
|
69
|
+
{ label: 'Check', value: 'check' },
|
|
70
|
+
{ label: 'IOU', value: 'iou' },
|
|
71
|
+
{ label: 'PayPal', value: 'paypal' },
|
|
72
|
+
{ label: 'Other', value: 'other' },
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
required: true,
|
|
76
|
+
}),
|
|
77
|
+
country: pieces_framework_1.Property.ShortText({
|
|
78
|
+
displayName: 'Expense Country',
|
|
79
|
+
description: '2-letter ISO country code for the expense location',
|
|
80
|
+
required: true,
|
|
81
|
+
}),
|
|
82
|
+
poNumber: pieces_framework_1.Property.ShortText({
|
|
83
|
+
displayName: 'Purchase Order Number',
|
|
84
|
+
description: 'Purchase order number (optional)',
|
|
85
|
+
required: false,
|
|
86
|
+
}),
|
|
87
|
+
tagList: pieces_framework_1.Property.ShortText({
|
|
88
|
+
displayName: 'Tags',
|
|
89
|
+
description: 'Tags for the expense, separated by commas',
|
|
90
|
+
required: false,
|
|
91
|
+
}),
|
|
92
|
+
notes: pieces_framework_1.Property.LongText({
|
|
93
|
+
displayName: 'Notes',
|
|
94
|
+
description: 'Additional notes about the expense',
|
|
95
|
+
required: false,
|
|
96
|
+
}),
|
|
97
|
+
},
|
|
98
|
+
run(context) {
|
|
99
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const contactData = {
|
|
101
|
+
first_name: context.propsValue.contactFirstName,
|
|
102
|
+
country: context.propsValue.contactCountry,
|
|
103
|
+
kind: 'person',
|
|
104
|
+
};
|
|
105
|
+
if (context.propsValue.contactLastName) {
|
|
106
|
+
contactData.last_name = context.propsValue.contactLastName;
|
|
107
|
+
}
|
|
108
|
+
if (context.propsValue.contactEmail) {
|
|
109
|
+
contactData.email = context.propsValue.contactEmail;
|
|
110
|
+
}
|
|
111
|
+
// Build item data object
|
|
112
|
+
const itemsData = [
|
|
113
|
+
{
|
|
114
|
+
description: context.propsValue.itemDescription,
|
|
115
|
+
quantity: context.propsValue.itemQuantity,
|
|
116
|
+
unit_cost: context.propsValue.itemUnitCost,
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
// Build expense data object
|
|
120
|
+
const expenseData = {
|
|
121
|
+
issue_date: context.propsValue.issueDate,
|
|
122
|
+
currency: context.propsValue.currency,
|
|
123
|
+
contact: contactData,
|
|
124
|
+
items: itemsData,
|
|
125
|
+
payment_method: context.propsValue.paymentMethod,
|
|
126
|
+
country: context.propsValue.country,
|
|
127
|
+
};
|
|
128
|
+
if (context.propsValue.poNumber) {
|
|
129
|
+
expenseData.po_number = context.propsValue.poNumber;
|
|
130
|
+
}
|
|
131
|
+
if (context.propsValue.tagList) {
|
|
132
|
+
expenseData.tag_list = context.propsValue.tagList.split(',').map((tag) => tag.trim());
|
|
133
|
+
}
|
|
134
|
+
if (context.propsValue.notes) {
|
|
135
|
+
expenseData.notes = context.propsValue.notes;
|
|
136
|
+
}
|
|
137
|
+
return yield (0, client_1.makeRequest)(context.auth.props.account_name, context.auth.props.api_key, pieces_common_1.HttpMethod.POST, '/expenses', expenseData);
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=create-expence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-expence.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/quaderno/src/lib/actions/create-expence.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,6CAA+C;AAC/C,yCAA8C;AAC9C,+DAAyD;AAE5C,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,kCAAkC;IAC/C,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,gBAAgB,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACnC,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAClC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,cAAc,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAClC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,aAAa,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACrC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;oBAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;oBAClD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;oBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;oBAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC9B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;iBACnC;aACF;YACD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,oDAAoD;YACjE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,uBAAuB;YACpC,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACvB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YAEf,MAAM,WAAW,GAAQ;gBACvB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,gBAAgB;gBAC/C,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc;gBAC1C,IAAI,EAAE,QAAQ;aACf,CAAC;YAEF,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACvC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;gBACpC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;YACtD,CAAC;YAED,yBAAyB;YACzB,MAAM,SAAS,GAAG;gBAChB;oBACE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe;oBAC/C,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY;oBACzC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY;iBAC3C;aACF,CAAC;YAEF,4BAA4B;YAC5B,MAAM,WAAW,GAAQ;gBACvB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;gBACxC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;gBACrC,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa;gBAChD,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;aACpC,CAAC;YAEF,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAChC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YACtD,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC/B,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/C,CAAC;YAED,OAAO,MAAM,IAAA,oBAAW,EACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAC1B,0BAAU,CAAC,IAAI,EACf,WAAW,EACX,WAAW,CACZ,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const createInvoice: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
2
|
+
account_name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
api_key: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
4
|
+
}>, {
|
|
5
|
+
issueDate: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
6
|
+
currency: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
7
|
+
invoiceNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
dueDate: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
customerFirstName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
10
|
+
customerLastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
11
|
+
customerEmail: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
12
|
+
customerCountry: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
13
|
+
itemDescription: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
14
|
+
itemQuantity: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
15
|
+
itemUnitCost: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
16
|
+
poNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
17
|
+
tagList: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
18
|
+
notes: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInvoice = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.createInvoice = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.quadernoAuth,
|
|
11
|
+
name: 'createInvoice',
|
|
12
|
+
displayName: 'Create Invoice',
|
|
13
|
+
description: 'Create a new invoice in Quaderno',
|
|
14
|
+
props: {
|
|
15
|
+
issueDate: pieces_framework_1.Property.ShortText({
|
|
16
|
+
displayName: 'Issue Date',
|
|
17
|
+
description: 'Date when the invoice was issued (YYYY-MM-DD)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
currency: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'Currency',
|
|
22
|
+
description: '3-letter ISO currency code (USD, EUR, GBP, etc.)',
|
|
23
|
+
required: true,
|
|
24
|
+
}),
|
|
25
|
+
invoiceNumber: pieces_framework_1.Property.ShortText({
|
|
26
|
+
displayName: 'Invoice Number',
|
|
27
|
+
description: 'A unique, sequential code that identifies the invoice',
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
dueDate: pieces_framework_1.Property.ShortText({
|
|
31
|
+
displayName: 'Due Date',
|
|
32
|
+
description: 'Date on which payment for this invoice is due (YYYY-MM-DD)',
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
customerFirstName: pieces_framework_1.Property.ShortText({
|
|
36
|
+
displayName: 'Customer First Name',
|
|
37
|
+
description: "The customer's first name",
|
|
38
|
+
required: true,
|
|
39
|
+
}),
|
|
40
|
+
customerLastName: pieces_framework_1.Property.ShortText({
|
|
41
|
+
displayName: 'Customer Last Name',
|
|
42
|
+
description: "The customer's last name",
|
|
43
|
+
required: false,
|
|
44
|
+
}),
|
|
45
|
+
customerEmail: pieces_framework_1.Property.ShortText({
|
|
46
|
+
displayName: 'Customer Email',
|
|
47
|
+
description: "The customer's email address",
|
|
48
|
+
required: false,
|
|
49
|
+
}),
|
|
50
|
+
customerCountry: pieces_framework_1.Property.ShortText({
|
|
51
|
+
displayName: 'Customer Country',
|
|
52
|
+
description: '2-letter ISO country code (e.g., US, GB)',
|
|
53
|
+
required: false,
|
|
54
|
+
}),
|
|
55
|
+
itemDescription: pieces_framework_1.Property.ShortText({
|
|
56
|
+
displayName: 'Item Description',
|
|
57
|
+
description: 'Description of the invoice line item',
|
|
58
|
+
required: true,
|
|
59
|
+
}),
|
|
60
|
+
itemQuantity: pieces_framework_1.Property.Number({
|
|
61
|
+
displayName: 'Item Quantity',
|
|
62
|
+
description: 'Quantity of the invoice item',
|
|
63
|
+
required: true,
|
|
64
|
+
}),
|
|
65
|
+
itemUnitCost: pieces_framework_1.Property.ShortText({
|
|
66
|
+
displayName: 'Item Unit Cost',
|
|
67
|
+
description: 'Unit cost of the invoice item',
|
|
68
|
+
required: true,
|
|
69
|
+
}),
|
|
70
|
+
poNumber: pieces_framework_1.Property.ShortText({
|
|
71
|
+
displayName: 'PO Number',
|
|
72
|
+
description: 'Purchase order number',
|
|
73
|
+
required: false,
|
|
74
|
+
}),
|
|
75
|
+
tagList: pieces_framework_1.Property.ShortText({
|
|
76
|
+
displayName: 'Tags',
|
|
77
|
+
description: 'Tags attached to the invoice (comma-separated)',
|
|
78
|
+
required: false,
|
|
79
|
+
}),
|
|
80
|
+
notes: pieces_framework_1.Property.ShortText({
|
|
81
|
+
displayName: 'Notes',
|
|
82
|
+
description: 'Extra notes about the invoice',
|
|
83
|
+
required: false,
|
|
84
|
+
}),
|
|
85
|
+
},
|
|
86
|
+
run(context) {
|
|
87
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const customerData = {
|
|
89
|
+
first_name: context.propsValue.customerFirstName,
|
|
90
|
+
kind: 'person',
|
|
91
|
+
};
|
|
92
|
+
if (context.propsValue.customerLastName) {
|
|
93
|
+
customerData.last_name = context.propsValue.customerLastName;
|
|
94
|
+
}
|
|
95
|
+
if (context.propsValue.customerEmail) {
|
|
96
|
+
customerData.email = context.propsValue.customerEmail;
|
|
97
|
+
}
|
|
98
|
+
if (context.propsValue.customerCountry) {
|
|
99
|
+
customerData.country = context.propsValue.customerCountry;
|
|
100
|
+
}
|
|
101
|
+
const itemsData = [
|
|
102
|
+
{
|
|
103
|
+
description: context.propsValue.itemDescription,
|
|
104
|
+
quantity: context.propsValue.itemQuantity,
|
|
105
|
+
unit_cost: context.propsValue.itemUnitCost,
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
const invoiceData = {
|
|
109
|
+
issue_date: context.propsValue.issueDate,
|
|
110
|
+
currency: context.propsValue.currency,
|
|
111
|
+
contact: customerData,
|
|
112
|
+
items: itemsData,
|
|
113
|
+
};
|
|
114
|
+
if (context.propsValue.invoiceNumber) {
|
|
115
|
+
invoiceData.number = context.propsValue.invoiceNumber;
|
|
116
|
+
}
|
|
117
|
+
if (context.propsValue.dueDate) {
|
|
118
|
+
invoiceData.due_date = context.propsValue.dueDate;
|
|
119
|
+
}
|
|
120
|
+
if (context.propsValue.poNumber) {
|
|
121
|
+
invoiceData.po_number = context.propsValue.poNumber;
|
|
122
|
+
}
|
|
123
|
+
if (context.propsValue.tagList) {
|
|
124
|
+
invoiceData.tag_list = context.propsValue.tagList
|
|
125
|
+
.split(',')
|
|
126
|
+
.map((tag) => tag.trim());
|
|
127
|
+
}
|
|
128
|
+
if (context.propsValue.notes) {
|
|
129
|
+
invoiceData.notes = context.propsValue.notes;
|
|
130
|
+
}
|
|
131
|
+
return yield (0, client_1.makeRequest)(context.auth.props.account_name, context.auth.props.api_key, pieces_common_1.HttpMethod.POST, '/invoices', invoiceData);
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=create-invoice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-invoice.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/quaderno/src/lib/actions/create-invoice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const findContact: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
2
|
+
account_name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
api_key: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
4
|
+
}>, {
|
|
5
|
+
searchQuery: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
6
|
+
processorId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
|
+
limit: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findContact = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.findContact = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.quadernoAuth,
|
|
11
|
+
name: 'findContact',
|
|
12
|
+
displayName: 'Find Contact',
|
|
13
|
+
description: 'Search and list contacts from Quaderno',
|
|
14
|
+
props: {
|
|
15
|
+
searchQuery: pieces_framework_1.Property.ShortText({
|
|
16
|
+
displayName: 'Search Query',
|
|
17
|
+
description: 'Search for contacts by name, email, or tax ID (optional)',
|
|
18
|
+
required: false,
|
|
19
|
+
}),
|
|
20
|
+
processorId: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'Processor ID',
|
|
22
|
+
description: 'Filter by processor ID (optional)',
|
|
23
|
+
required: false,
|
|
24
|
+
}),
|
|
25
|
+
limit: pieces_framework_1.Property.Number({
|
|
26
|
+
displayName: 'Results Limit',
|
|
27
|
+
description: 'Maximum number of results to return (default: 25, max: 100)',
|
|
28
|
+
required: false,
|
|
29
|
+
defaultValue: 25,
|
|
30
|
+
}),
|
|
31
|
+
},
|
|
32
|
+
run(context) {
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const params = new URLSearchParams();
|
|
35
|
+
if (context.propsValue.searchQuery) {
|
|
36
|
+
params.append('q', context.propsValue.searchQuery);
|
|
37
|
+
}
|
|
38
|
+
if (context.propsValue.processorId) {
|
|
39
|
+
params.append('processor_id', context.propsValue.processorId);
|
|
40
|
+
}
|
|
41
|
+
if (context.propsValue.limit) {
|
|
42
|
+
params.append('limit', context.propsValue.limit.toString());
|
|
43
|
+
}
|
|
44
|
+
const queryString = params.toString();
|
|
45
|
+
const endpoint = queryString ? `/contacts?${queryString}` : '/contacts';
|
|
46
|
+
return yield (0, client_1.makeRequest)(context.auth.props.account_name, context.auth.props.api_key, pieces_common_1.HttpMethod.GET, endpoint);
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=find-contact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-contact.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/quaderno/src/lib/actions/find-contact.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,6CAA+C;AAC/C,yCAA8C;AAC9C,+DAAyD;AAE5C,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,wCAAwC;IACrD,KAAK,EAAE;QACL,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,eAAe;YAC5B,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAErC,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAExE,OAAO,MAAM,IAAA,oBAAW,EACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAC1B,0BAAU,CAAC,GAAG,EACd,QAAQ,CACT,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.quadernoAuth = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("./client");
|
|
7
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
8
|
+
exports.quadernoAuth = pieces_framework_1.PieceAuth.CustomAuth({
|
|
9
|
+
displayName: 'API Key',
|
|
10
|
+
description: 'Quaderno API Key',
|
|
11
|
+
required: true,
|
|
12
|
+
props: {
|
|
13
|
+
account_name: pieces_framework_1.Property.ShortText({
|
|
14
|
+
displayName: 'Account Name',
|
|
15
|
+
description: 'Your Quaderno account name https://<your_account_name>.quadernoapp.com/ (the subdomain part of your Quaderno URL) https://<your_account_name>.sandbox-quadernoapp.com/',
|
|
16
|
+
required: true,
|
|
17
|
+
}),
|
|
18
|
+
api_key: pieces_framework_1.PieceAuth.SecretText({
|
|
19
|
+
displayName: 'API Key',
|
|
20
|
+
description: 'Your Quaderno Private API Key',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
25
|
+
try {
|
|
26
|
+
yield (0, client_1.makeRequest)(auth.account_name, auth.api_key, pieces_common_1.HttpMethod.GET, '/tax_rates/calculate?to_country=US&to_postal_code=10128');
|
|
27
|
+
return {
|
|
28
|
+
valid: true,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
return {
|
|
33
|
+
valid: false,
|
|
34
|
+
error: 'Invalid Api Key',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/quaderno/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAAqE;AACrE,qCAAuC;AACvC,+DAAyD;AAE5C,QAAA,YAAY,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC/C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,wKAAwK;YAC1K,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,OAAO,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC5B,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACD,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,oBAAW,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,EACZ,0BAAU,CAAC,GAAG,EACd,yDAAyD,CAC1D,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,iBAAiB;aACzB,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeRequest = makeRequest;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
function makeRequest(account_name, api_key, method, path, body) {
|
|
7
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
try {
|
|
9
|
+
// const baseUrl = isSandbox
|
|
10
|
+
// ? `https://${account_name}.sandbox-quadernoapp.com/api`
|
|
11
|
+
// : `https://${account_name}.quadernoapp.com/api`;
|
|
12
|
+
const credentials = Buffer.from(`${api_key}:x`).toString('base64');
|
|
13
|
+
console.log(`https://${account_name}.quadernoapp.com/api${path}`);
|
|
14
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
15
|
+
method,
|
|
16
|
+
url: `https://${account_name}.quadernoapp.com/api${path}`,
|
|
17
|
+
headers: {
|
|
18
|
+
Authorization: `Basic ${credentials}`,
|
|
19
|
+
'Content-Type': 'application/json',
|
|
20
|
+
api_version: '20241028',
|
|
21
|
+
},
|
|
22
|
+
body,
|
|
23
|
+
});
|
|
24
|
+
return response.body;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
throw new Error(`Unexpected error: ${error.message || String(error)}`);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/quaderno/src/lib/common/client.ts"],"names":[],"mappings":";;AAEA,kCA6BC;;AA/BD,+DAAqE;AAErE,SAAsB,WAAW,CAC/B,YAAoB,EACpB,OAAe,EACf,MAAkB,EAClB,IAAY,EACZ,IAAc;;QAGd,IAAI,CAAC;YACH,4BAA4B;YAC5B,4DAA4D;YAC5D,qDAAqD;YAErD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,uBAAuB,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG,EAAE,WAAW,YAAY,uBAAuB,IAAI,EAAE;gBACzD,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,WAAW,EAAE;oBACrC,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,UAAU;iBACxB;gBACD,IAAI;aACL,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CAAA"}
|