@activepieces/piece-apitemplate-io 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.
Files changed (35) hide show
  1. package/README.md +7 -0
  2. package/package.json +39 -0
  3. package/src/index.d.ts +4 -0
  4. package/src/index.js +48 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/actions/create-image.d.ts +9 -0
  7. package/src/lib/actions/create-image.js +52 -0
  8. package/src/lib/actions/create-image.js.map +1 -0
  9. package/src/lib/actions/create-pdf-from-html.d.ts +23 -0
  10. package/src/lib/actions/create-pdf-from-html.js +207 -0
  11. package/src/lib/actions/create-pdf-from-html.js.map +1 -0
  12. package/src/lib/actions/create-pdf-from-url.d.ts +25 -0
  13. package/src/lib/actions/create-pdf-from-url.js +226 -0
  14. package/src/lib/actions/create-pdf-from-url.js.map +1 -0
  15. package/src/lib/actions/create-pdf.d.ts +10 -0
  16. package/src/lib/actions/create-pdf.js +70 -0
  17. package/src/lib/actions/create-pdf.js.map +1 -0
  18. package/src/lib/actions/delete-object.d.ts +6 -0
  19. package/src/lib/actions/delete-object.js +40 -0
  20. package/src/lib/actions/delete-object.js.map +1 -0
  21. package/src/lib/actions/get-account-information.d.ts +4 -0
  22. package/src/lib/actions/get-account-information.js +33 -0
  23. package/src/lib/actions/get-account-information.js.map +1 -0
  24. package/src/lib/actions/list-objects.d.ts +12 -0
  25. package/src/lib/actions/list-objects.js +95 -0
  26. package/src/lib/actions/list-objects.js.map +1 -0
  27. package/src/lib/common/auth.d.ts +4 -0
  28. package/src/lib/common/auth.js +63 -0
  29. package/src/lib/common/auth.js.map +1 -0
  30. package/src/lib/common/client.d.ts +18 -0
  31. package/src/lib/common/client.js +120 -0
  32. package/src/lib/common/client.js.map +1 -0
  33. package/src/lib/common/props.d.ts +3 -0
  34. package/src/lib/common/props.js +147 -0
  35. package/src/lib/common/props.js.map +1 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASE_URL = exports.APITEMPLATE_REGIONS = void 0;
4
+ exports.getRegionalBaseUrl = getRegionalBaseUrl;
5
+ exports.makeRequest = makeRequest;
6
+ const tslib_1 = require("tslib");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ exports.APITEMPLATE_REGIONS = {
9
+ default: 'https://rest.apitemplate.io',
10
+ europe: 'https://rest-de.apitemplate.io',
11
+ us: 'https://rest-us.apitemplate.io',
12
+ australia: 'https://rest-au.apitemplate.io',
13
+ 'alt-default': 'https://rest-alt.apitemplate.io',
14
+ 'alt-europe': 'https://rest-alt-de.apitemplate.io',
15
+ 'alt-us': 'https://rest-alt-us.apitemplate.io',
16
+ };
17
+ exports.BASE_URL = exports.APITEMPLATE_REGIONS.default;
18
+ function getRegionalBaseUrl(region) {
19
+ return exports.APITEMPLATE_REGIONS[region || 'default'];
20
+ }
21
+ // Helper function to get alternative regions for fallback
22
+ function getAlternativeRegions(currentRegion) {
23
+ const alternatives = [];
24
+ switch (currentRegion) {
25
+ case 'default':
26
+ alternatives.push('alt-default', 'us', 'australia', 'europe');
27
+ break;
28
+ case 'europe':
29
+ alternatives.push('alt-europe', 'default', 'us', 'australia');
30
+ break;
31
+ case 'us':
32
+ alternatives.push('alt-us', 'default', 'australia', 'europe');
33
+ break;
34
+ case 'australia':
35
+ alternatives.push('default', 'us', 'europe');
36
+ break;
37
+ case 'alt-default':
38
+ alternatives.push('default', 'us', 'australia');
39
+ break;
40
+ case 'alt-europe':
41
+ alternatives.push('europe', 'default', 'us');
42
+ break;
43
+ case 'alt-us':
44
+ alternatives.push('us', 'default', 'australia');
45
+ break;
46
+ default:
47
+ alternatives.push('default', 'us', 'australia', 'europe');
48
+ }
49
+ return alternatives;
50
+ }
51
+ function makeRequest(apiKey, method, path, body, headers, region) {
52
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
+ var _a;
54
+ const baseUrl = getRegionalBaseUrl(region);
55
+ try {
56
+ const response = yield pieces_common_1.httpClient.sendRequest({
57
+ method,
58
+ url: `${baseUrl}/v2${path}`,
59
+ headers: {
60
+ 'X-API-KEY': apiKey,
61
+ 'Content-Type': 'application/json',
62
+ },
63
+ body,
64
+ });
65
+ return response.body;
66
+ }
67
+ catch (error) {
68
+ // Handle APITemplate.io specific error format
69
+ // if (error.response?.body && typeof error.response.body === 'object') {
70
+ // const errorBody = error.response.body as ApitemplateErrorResponse;
71
+ // if (errorBody.status === 'error' && errorBody.message) {
72
+ // throw new Error(`APITemplate.io Error: ${errorBody.message}`);
73
+ // }
74
+ // }
75
+ // Handle HTTP status errors
76
+ if ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) {
77
+ const statusCode = error.response.status;
78
+ const regionInfo = region ? ` (${region} region)` : '';
79
+ switch (statusCode) {
80
+ case 401:
81
+ throw new Error('APITemplate.io Error: Invalid API key or unauthorized access');
82
+ case 403:
83
+ throw new Error('APITemplate.io Error: Access forbidden - check your API permissions');
84
+ case 404:
85
+ throw new Error('APITemplate.io Error: Resource not found - check your template ID');
86
+ case 429:
87
+ throw new Error('APITemplate.io Error: Rate limit exceeded - please try again later');
88
+ case 500:
89
+ throw new Error(`APITemplate.io Error: Internal server error - please try again later${regionInfo}`);
90
+ case 502:
91
+ case 503:
92
+ case 504:
93
+ {
94
+ const alternatives = getAlternativeRegions(region);
95
+ const suggestionText = alternatives.length > 0
96
+ ? `\n\nSuggested alternatives: Try switching to one of these regions: ${alternatives
97
+ .slice(0, 3)
98
+ .join(', ')}`
99
+ : '';
100
+ throw new Error(`APITemplate.io Error: Service unavailable${regionInfo}. ` +
101
+ `The ${region || 'default'} region server is temporarily down.${suggestionText}`);
102
+ }
103
+ default:
104
+ throw new Error(`APITemplate.io Error: HTTP ${statusCode}${regionInfo} - ${error.message || 'Unknown error'}`);
105
+ }
106
+ }
107
+ // Handle network or other errors
108
+ if (error.code === 'ENOTFOUND' || error.code === 'ECONNREFUSED') {
109
+ const alternatives = getAlternativeRegions(region);
110
+ const suggestionText = alternatives.length > 0
111
+ ? `\n\nSuggested alternatives: Try switching to one of these regions: ${alternatives
112
+ .slice(0, 3)
113
+ .join(', ')}`
114
+ : '';
115
+ throw new Error(`APITemplate.io Error: Network connectivity issue with ${region || 'default'} region.${suggestionText}`);
116
+ }
117
+ }
118
+ });
119
+ }
120
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/apitemplate-io/src/lib/common/client.ts"],"names":[],"mappings":";;;AAuBA,gDAEC;AAqCD,kCAsGC;;AApKD,+DAAqE;AAExD,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,6BAA6B;IACtC,MAAM,EAAE,gCAAgC;IACxC,EAAE,EAAE,gCAAgC;IACpC,SAAS,EAAE,gCAAgC;IAC3C,aAAa,EAAE,iCAAiC;IAChD,YAAY,EAAE,oCAAoC;IAClD,QAAQ,EAAE,oCAAoC;CACtC,CAAC;AAWE,QAAA,QAAQ,GAAG,2BAAmB,CAAC,OAAO,CAAC;AAEpD,SAAgB,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,2BAAmB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,0DAA0D;AAC1D,SAAS,qBAAqB,CAC5B,aAAiC;IAEjC,MAAM,YAAY,GAAwB,EAAE,CAAC;IAE7C,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC9D,MAAM;QACR,KAAK,IAAI;YACP,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,MAAM;QACR,KAAK,WAAW;YACd,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,aAAa;YAChB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,YAAY;YACf,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAChD,MAAM;QACR;YACE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAsB,WAAW,CAC/B,MAAc,EACd,MAAkB,EAClB,IAAY,EACZ,IAAc,EACd,OAAyC,EACzC,MAA0B;;;QAE1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG,EAAE,GAAG,OAAO,MAAM,IAAI,EAAE;gBAC3B,OAAO,EAAE;oBACP,WAAW,EAAE,MAAM;oBACnB,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,8CAA8C;YAC9C,yEAAyE;YACzE,uEAAuE;YACvE,6DAA6D;YAC7D,qEAAqE;YACrE,MAAM;YACN,IAAI;YAEJ,4BAA4B;YAC5B,IAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEvD,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,GAAG;wBACN,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,KAAK,CACb,uEAAuE,UAAU,EAAE,CACpF,CAAC;oBACJ,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACN,CAAC;4BAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;4BACnD,MAAM,cAAc,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;gCACrB,CAAC,CAAC,sEAAsE,YAAY;qCAC/E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qCACX,IAAI,CAAC,IAAI,CAAC,EAAE;gCACjB,CAAC,CAAC,EAAE,CAAC;4BAET,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,IAAI;gCACxD,OACE,MAAM,IAAI,SACZ,sCAAsC,cAAc,EAAE,CACzD,CAAC;wBAAA,CAAC;oBACL;wBACE,MAAM,IAAI,KAAK,CACb,8BAA8B,UAAU,GAAG,UAAU,MACnD,KAAK,CAAC,OAAO,IAAI,eACnB,EAAE,CACH,CAAC;gBACN,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAChE,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,cAAc,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;oBACrB,CAAC,CAAC,sEAAsE,YAAY;yBAC/E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX,IAAI,CAAC,IAAI,CAAC,EAAE;oBACjB,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,IAAI,KAAK,CACb,yDACE,MAAM,IAAI,SACZ,WAAW,cAAc,EAAE,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const regionDropdown: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
2
+ export declare const templateIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
3
+ export declare const transactionRefDropdown: import("@activepieces/pieces-framework").DropdownProperty<any, false>;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transactionRefDropdown = exports.templateIdDropdown = exports.regionDropdown = 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.regionDropdown = pieces_framework_1.Property.StaticDropdown({
9
+ displayName: 'Region',
10
+ description: 'Select your preferred API region for better performance',
11
+ required: true,
12
+ defaultValue: 'default',
13
+ options: {
14
+ options: [
15
+ {
16
+ label: 'Default (Singapore)',
17
+ value: 'default',
18
+ },
19
+ {
20
+ label: 'Europe (Frankfurt)',
21
+ value: 'europe',
22
+ },
23
+ {
24
+ label: 'US East (N. Virginia)',
25
+ value: 'us',
26
+ },
27
+ {
28
+ label: 'Australia (Sydney)',
29
+ value: 'australia',
30
+ },
31
+ {
32
+ label: 'Alternative - Default (Singapore)',
33
+ value: 'alt-default',
34
+ },
35
+ {
36
+ label: 'Alternative - Europe (Frankfurt)',
37
+ value: 'alt-europe',
38
+ },
39
+ {
40
+ label: 'Alternative - US East (N. Virginia)',
41
+ value: 'alt-us',
42
+ },
43
+ ],
44
+ },
45
+ });
46
+ exports.templateIdDropdown = pieces_framework_1.Property.Dropdown({
47
+ displayName: 'Template ID',
48
+ required: true,
49
+ refreshers: ['auth'],
50
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
51
+ if (!auth) {
52
+ return {
53
+ disabled: true,
54
+ options: [],
55
+ placeholder: 'Please connect your account first',
56
+ };
57
+ }
58
+ // Type-safe auth casting
59
+ const authConfig = auth;
60
+ if (!authConfig.apiKey || !authConfig.region) {
61
+ return {
62
+ disabled: true,
63
+ options: [],
64
+ placeholder: 'Please complete authentication setup.',
65
+ };
66
+ }
67
+ try {
68
+ const response = yield (0, client_1.makeRequest)(authConfig.apiKey, pieces_common_1.HttpMethod.GET, '/list-templates', undefined, undefined, authConfig.region);
69
+ // Handle the specific APITemplate.io response structure
70
+ const templates = (response === null || response === void 0 ? void 0 : response.templates) || [];
71
+ if (!Array.isArray(templates) || templates.length === 0) {
72
+ return {
73
+ disabled: false,
74
+ options: [],
75
+ placeholder: 'No templates found',
76
+ };
77
+ }
78
+ return {
79
+ disabled: false,
80
+ options: templates.map((template) => ({
81
+ label: `${template.name} (${template.format}) - ${template.status}`,
82
+ value: template.template_id,
83
+ })),
84
+ };
85
+ }
86
+ catch (error) {
87
+ console.error('Error loading templates:', error);
88
+ return {
89
+ disabled: true,
90
+ options: [],
91
+ placeholder: 'Error loading templates',
92
+ };
93
+ }
94
+ }),
95
+ });
96
+ exports.transactionRefDropdown = pieces_framework_1.Property.Dropdown({
97
+ displayName: 'Transaction Reference',
98
+ description: 'Select a transaction reference to filter objects.',
99
+ required: false,
100
+ refreshers: ['auth'],
101
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
102
+ if (!auth) {
103
+ return {
104
+ disabled: true,
105
+ options: [],
106
+ placeholder: 'Please connect your account first',
107
+ };
108
+ }
109
+ // Type-safe auth casting
110
+ const authConfig = auth;
111
+ if (!authConfig.apiKey || !authConfig.region) {
112
+ return {
113
+ disabled: true,
114
+ options: [],
115
+ placeholder: 'Please complete authentication setup',
116
+ };
117
+ }
118
+ try {
119
+ const response = yield (0, client_1.makeRequest)(authConfig.apiKey, pieces_common_1.HttpMethod.GET, '/list-objects', undefined, undefined, authConfig.region);
120
+ // Handle the specific APITemplate.io response structure
121
+ const objects = (response === null || response === void 0 ? void 0 : response.objects) || [];
122
+ if (!Array.isArray(objects) || objects.length === 0) {
123
+ return {
124
+ disabled: false,
125
+ options: [],
126
+ placeholder: 'No objects found',
127
+ };
128
+ }
129
+ return {
130
+ disabled: false,
131
+ options: objects.map((obj) => ({
132
+ label: obj.transaction_ref || 'Unknown Transaction Ref',
133
+ value: obj.transaction_ref || '',
134
+ })),
135
+ };
136
+ }
137
+ catch (error) {
138
+ console.error('Error loading transaction references:', error);
139
+ return {
140
+ disabled: true,
141
+ options: [],
142
+ placeholder: 'Error loading transaction references',
143
+ };
144
+ }
145
+ }),
146
+ });
147
+ //# sourceMappingURL=props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/apitemplate-io/src/lib/common/props.ts"],"names":[],"mappings":"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"}