n8n-nodes-standards 0.0.0-stage → 0.1.0
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 +39 -2
- package/dist/credentials/StandardsApi.credentials.d.ts +10 -0
- package/dist/credentials/StandardsApi.credentials.js +46 -0
- package/dist/credentials/StandardsApi.credentials.js.map +1 -0
- package/dist/credentials/standards.dark.svg +4 -0
- package/dist/credentials/standards.svg +4 -0
- package/dist/nodes/Standards/GenericFunctions.d.ts +41 -0
- package/dist/nodes/Standards/GenericFunctions.js +215 -0
- package/dist/nodes/Standards/GenericFunctions.js.map +1 -0
- package/dist/nodes/Standards/Standards.node.d.ts +16 -0
- package/dist/nodes/Standards/Standards.node.js +432 -0
- package/dist/nodes/Standards/Standards.node.js.map +1 -0
- package/dist/nodes/Standards/StandardsTrigger.node.d.ts +10 -0
- package/dist/nodes/Standards/StandardsTrigger.node.js +108 -0
- package/dist/nodes/Standards/StandardsTrigger.node.js.map +1 -0
- package/dist/nodes/Standards/standards.dark.svg +4 -0
- package/dist/nodes/Standards/standards.svg +4 -0
- package/dist/package.json +49 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +47 -4
package/README.md
CHANGED
|
@@ -1,3 +1,40 @@
|
|
|
1
|
-
#
|
|
1
|
+
# n8n-nodes-standards
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Nœuds communautaires [n8n](https://n8n.io) pour [Standards](https://docs.standards.new).
|
|
4
|
+
|
|
5
|
+
## Contenu
|
|
6
|
+
|
|
7
|
+
| Nœud | Rôle |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| **Standards** | Create / Get / Get Many / Update / Delete un enregistrement, Restore depuis la corbeille. Fonctionne avec n'importe quel objet (`contacts`, `deals`, `tasks`, vos objets personnalisés). |
|
|
10
|
+
| **Standards Trigger** | Déclencheur par interrogation : nouveaux enregistrements ou enregistrements modifiés d'un objet. |
|
|
11
|
+
|
|
12
|
+
Identifiant : **Standards API** (clé `stndrds_…` + URL de base, `https://api.standards.new/v1` par défaut).
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
Dans n8n : *Settings → Community Nodes → Install* puis `n8n-nodes-standards`.
|
|
17
|
+
|
|
18
|
+
Développement local :
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install --ignore-scripts # contourne la compilation native de isolated-vm sous Node récent
|
|
22
|
+
npm run build
|
|
23
|
+
npm run lint
|
|
24
|
+
npm run dev # lance n8n avec rechargement à chaud
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Notes de conception
|
|
28
|
+
|
|
29
|
+
- **Trigger en polling** : la doc Standards ne décrit pas de webhook sortant vers une URL arbitraire
|
|
30
|
+
(les triggers `webhook` / `record.*` démarrent des routines d'agents). Le trigger interroge donc
|
|
31
|
+
`POST /records/:object/list` filtré sur `createdAt` / `updatedAt`.
|
|
32
|
+
- **Simplify** (activé par défaut) : les `values` de l'enregistrement sont remontées au niveau racine de l'item.
|
|
33
|
+
- **Update** envoie directement l'objet de valeurs (`PUT /records/:object/:id`, sans enveloppe `data`), comme l'exige l'API.
|
|
34
|
+
- **Get Many** : pagination par offset, jusqu'à *Return All*. Le champ *Search Text* bascule sur `/search`.
|
|
35
|
+
|
|
36
|
+
## À vérifier sur une vraie instance
|
|
37
|
+
|
|
38
|
+
- La route du test d'identifiant (`GET /schema/objects`).
|
|
39
|
+
- La comparaison `greater_than` sur `createdAt` / `updatedAt` à la granularité de l'instant (le trigger
|
|
40
|
+
filtre aussi côté client pour éviter les doublons).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class StandardsApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
icon: Icon;
|
|
6
|
+
documentationUrl: string;
|
|
7
|
+
properties: INodeProperties[];
|
|
8
|
+
authenticate: IAuthenticateGeneric;
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardsApi = void 0;
|
|
4
|
+
class StandardsApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'standardsApi';
|
|
7
|
+
this.displayName = 'Standards API';
|
|
8
|
+
this.icon = { light: 'file:standards.svg', dark: 'file:standards.dark.svg' };
|
|
9
|
+
this.documentationUrl = 'https://docs.standards.new/docs/access/api-keys';
|
|
10
|
+
this.properties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'API Key',
|
|
13
|
+
name: 'apiKey',
|
|
14
|
+
type: 'string',
|
|
15
|
+
typeOptions: { password: true },
|
|
16
|
+
default: '',
|
|
17
|
+
required: true,
|
|
18
|
+
description: 'Clé API Standards (format stndrds_…). Elle détermine aussi le workspace.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
displayName: 'Base URL',
|
|
22
|
+
name: 'baseUrl',
|
|
23
|
+
type: 'string',
|
|
24
|
+
default: 'https://api.standards.new/v1',
|
|
25
|
+
description: 'À changer uniquement pour une instance dédiée Standards',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
this.authenticate = {
|
|
29
|
+
type: 'generic',
|
|
30
|
+
properties: {
|
|
31
|
+
headers: {
|
|
32
|
+
Authorization: '=Bearer {{$credentials.apiKey}}',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
this.test = {
|
|
37
|
+
request: {
|
|
38
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
39
|
+
url: '/schema/objects',
|
|
40
|
+
method: 'GET',
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.StandardsApi = StandardsApi;
|
|
46
|
+
//# sourceMappingURL=StandardsApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StandardsApi.credentials.js","sourceRoot":"","sources":["../../credentials/StandardsApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,YAAY;IAAzB;QACC,SAAI,GAAG,cAAc,CAAC;QAEtB,gBAAW,GAAG,eAAe,CAAC;QAE9B,SAAI,GAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;QAE9E,qBAAgB,GAAG,iDAAiD,CAAC;QAErE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,0EAA0E;aACvF;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8BAA8B;gBACvC,WAAW,EAAE,yDAAyD;aACtE;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,iBAAiB;gBACtB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA5CD,oCA4CC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { IDataObject, IExecuteFunctions, IHttpRequestMethods, ILoadOptionsFunctions, INodeListSearchResult, INodePropertyOptions, IPollFunctions, ResourceMapperFields } from 'n8n-workflow';
|
|
2
|
+
export interface StandardsRecord extends IDataObject {
|
|
3
|
+
id: string;
|
|
4
|
+
objectName: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
values?: IDataObject;
|
|
7
|
+
}
|
|
8
|
+
export interface StandardsAttribute extends IDataObject {
|
|
9
|
+
name: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
type: string;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
description?: string;
|
|
14
|
+
options?: Array<{
|
|
15
|
+
value: string;
|
|
16
|
+
label?: string;
|
|
17
|
+
archived?: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
cardinality?: 'one' | 'many';
|
|
20
|
+
hidden?: boolean;
|
|
21
|
+
archived?: boolean;
|
|
22
|
+
system?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface StandardsObject extends IDataObject {
|
|
25
|
+
id?: string;
|
|
26
|
+
name: string;
|
|
27
|
+
label?: string;
|
|
28
|
+
attributes?: StandardsAttribute[];
|
|
29
|
+
}
|
|
30
|
+
type Ctx = IExecuteFunctions | IPollFunctions | ILoadOptionsFunctions;
|
|
31
|
+
export declare function standardsApiRequest(this: Ctx, method: IHttpRequestMethods, path: string, body?: IDataObject, qs?: IDataObject): Promise<unknown>;
|
|
32
|
+
export declare function standardsListAll(this: Ctx, objectName: string, body: IDataObject, max?: number, path?: 'list' | 'search'): Promise<StandardsRecord[]>;
|
|
33
|
+
export declare function simplifyRecord(record: StandardsRecord): IDataObject;
|
|
34
|
+
export declare function fetchObjects(this: Ctx): Promise<StandardsObject[]>;
|
|
35
|
+
export declare function fetchAttributes(this: Ctx, objectName: string): Promise<StandardsAttribute[]>;
|
|
36
|
+
export declare function currentObject(this: ILoadOptionsFunctions): string;
|
|
37
|
+
export declare function searchObjects(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
38
|
+
export declare function attributeOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
39
|
+
export declare function mappingColumns(this: ILoadOptionsFunctions): Promise<ResourceMapperFields>;
|
|
40
|
+
export declare function coerceValue(attr: StandardsAttribute | undefined, value: unknown): unknown;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.standardsApiRequest = standardsApiRequest;
|
|
4
|
+
exports.standardsListAll = standardsListAll;
|
|
5
|
+
exports.simplifyRecord = simplifyRecord;
|
|
6
|
+
exports.fetchObjects = fetchObjects;
|
|
7
|
+
exports.fetchAttributes = fetchAttributes;
|
|
8
|
+
exports.currentObject = currentObject;
|
|
9
|
+
exports.searchObjects = searchObjects;
|
|
10
|
+
exports.attributeOptions = attributeOptions;
|
|
11
|
+
exports.mappingColumns = mappingColumns;
|
|
12
|
+
exports.coerceValue = coerceValue;
|
|
13
|
+
async function standardsApiRequest(method, path, body, qs) {
|
|
14
|
+
const credentials = await this.getCredentials('standardsApi');
|
|
15
|
+
const baseUrl = String(credentials.baseUrl || 'https://api.standards.new/v1').replace(/\/+$/, '');
|
|
16
|
+
return await this.helpers.httpRequestWithAuthentication.call(this, 'standardsApi', {
|
|
17
|
+
method,
|
|
18
|
+
url: `${baseUrl}${path}`,
|
|
19
|
+
body,
|
|
20
|
+
qs,
|
|
21
|
+
json: true,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async function standardsListAll(objectName, body, max, path = 'list') {
|
|
25
|
+
const results = [];
|
|
26
|
+
let offset = 0;
|
|
27
|
+
const pageSize = 100;
|
|
28
|
+
for (;;) {
|
|
29
|
+
const remaining = max === undefined ? pageSize : Math.min(pageSize, max - results.length);
|
|
30
|
+
const response = (await standardsApiRequest.call(this, 'POST', `/records/${encodeURIComponent(objectName)}/${path}`, { ...body, limit: remaining, offset }));
|
|
31
|
+
results.push(...response.data);
|
|
32
|
+
const done = max !== undefined && results.length >= max;
|
|
33
|
+
if (done || !response.page.hasMore || response.page.nextOffset == null)
|
|
34
|
+
break;
|
|
35
|
+
offset = response.page.nextOffset;
|
|
36
|
+
}
|
|
37
|
+
return max === undefined ? results : results.slice(0, max);
|
|
38
|
+
}
|
|
39
|
+
function simplifyRecord(record) {
|
|
40
|
+
const { values, ...rest } = record;
|
|
41
|
+
return { ...rest, ...(values !== null && values !== void 0 ? values : {}) };
|
|
42
|
+
}
|
|
43
|
+
function asArray(response) {
|
|
44
|
+
if (Array.isArray(response))
|
|
45
|
+
return response;
|
|
46
|
+
if (response && typeof response === 'object') {
|
|
47
|
+
const r = response;
|
|
48
|
+
for (const key of ['data', 'objects', 'items', 'attributes']) {
|
|
49
|
+
if (Array.isArray(r[key]))
|
|
50
|
+
return r[key];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
async function fetchObjects() {
|
|
56
|
+
return asArray(await standardsApiRequest.call(this, 'GET', '/schema/objects'));
|
|
57
|
+
}
|
|
58
|
+
async function fetchAttributes(objectName) {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
const objects = await fetchObjects.call(this);
|
|
61
|
+
const object = objects.find((o) => o.name === objectName);
|
|
62
|
+
if ((_a = object === null || object === void 0 ? void 0 : object.attributes) === null || _a === void 0 ? void 0 : _a.length)
|
|
63
|
+
return object.attributes;
|
|
64
|
+
const target = encodeURIComponent((_b = object === null || object === void 0 ? void 0 : object.id) !== null && _b !== void 0 ? _b : objectName);
|
|
65
|
+
return asArray(await standardsApiRequest.call(this, 'GET', `/schema/objects/${target}/attributes`));
|
|
66
|
+
}
|
|
67
|
+
function currentObject() {
|
|
68
|
+
var _a;
|
|
69
|
+
return (_a = this.getCurrentNodeParameter('object', { extractValue: true })) !== null && _a !== void 0 ? _a : '';
|
|
70
|
+
}
|
|
71
|
+
async function searchObjects(filter) {
|
|
72
|
+
const needle = filter === null || filter === void 0 ? void 0 : filter.toLowerCase();
|
|
73
|
+
const results = (await fetchObjects.call(this))
|
|
74
|
+
.filter((o) => {
|
|
75
|
+
var _a;
|
|
76
|
+
return !needle ||
|
|
77
|
+
o.name.toLowerCase().includes(needle) ||
|
|
78
|
+
String((_a = o.label) !== null && _a !== void 0 ? _a : '').toLowerCase().includes(needle);
|
|
79
|
+
})
|
|
80
|
+
.map((o) => ({
|
|
81
|
+
name: o.label ? `${o.label} (${o.name})` : o.name,
|
|
82
|
+
value: o.name,
|
|
83
|
+
}))
|
|
84
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
85
|
+
return { results };
|
|
86
|
+
}
|
|
87
|
+
const SYSTEM_FIELDS = [
|
|
88
|
+
{ name: 'Created At', value: 'createdAt' },
|
|
89
|
+
{ name: 'Updated At', value: 'updatedAt' },
|
|
90
|
+
];
|
|
91
|
+
async function attributeOptions() {
|
|
92
|
+
const object = currentObject.call(this);
|
|
93
|
+
if (!object)
|
|
94
|
+
return [];
|
|
95
|
+
const attributes = (await fetchAttributes.call(this, object)).filter((a) => !a.archived);
|
|
96
|
+
return [
|
|
97
|
+
...attributes
|
|
98
|
+
.map((a) => ({ name: a.label ? `${a.label} (${a.name})` : a.name, value: a.name }))
|
|
99
|
+
.sort((a, b) => a.name.localeCompare(b.name)),
|
|
100
|
+
...SYSTEM_FIELDS,
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
function mapperType(attr) {
|
|
104
|
+
switch (attr.type) {
|
|
105
|
+
case 'number':
|
|
106
|
+
return 'number';
|
|
107
|
+
case 'checkbox':
|
|
108
|
+
return 'boolean';
|
|
109
|
+
case 'date':
|
|
110
|
+
return 'dateTime';
|
|
111
|
+
case 'select':
|
|
112
|
+
case 'status':
|
|
113
|
+
return 'options';
|
|
114
|
+
case 'multiselect':
|
|
115
|
+
case 'document':
|
|
116
|
+
return 'array';
|
|
117
|
+
case 'user':
|
|
118
|
+
return 'string';
|
|
119
|
+
case 'relation':
|
|
120
|
+
return attr.cardinality === 'many' ? 'array' : 'string';
|
|
121
|
+
case 'phone':
|
|
122
|
+
case 'currency':
|
|
123
|
+
case 'location':
|
|
124
|
+
return 'object';
|
|
125
|
+
default:
|
|
126
|
+
return 'string';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
async function mappingColumns() {
|
|
130
|
+
const object = currentObject.call(this);
|
|
131
|
+
if (!object)
|
|
132
|
+
return { fields: [] };
|
|
133
|
+
const fields = (await fetchAttributes.call(this, object))
|
|
134
|
+
.filter((a) => !a.archived && a.type !== 'formula' && a.type !== 'rollup')
|
|
135
|
+
.map((a) => {
|
|
136
|
+
var _a, _b;
|
|
137
|
+
const type = mapperType(a);
|
|
138
|
+
const field = {
|
|
139
|
+
id: a.name,
|
|
140
|
+
displayName: a.label ? `${a.label} (${a.name})` : a.name,
|
|
141
|
+
required: a.required === true,
|
|
142
|
+
defaultMatch: false,
|
|
143
|
+
canBeUsedToMatch: false,
|
|
144
|
+
display: !a.hidden,
|
|
145
|
+
type,
|
|
146
|
+
};
|
|
147
|
+
if (type === 'options') {
|
|
148
|
+
field.options = ((_a = a.options) !== null && _a !== void 0 ? _a : [])
|
|
149
|
+
.filter((o) => !o.archived)
|
|
150
|
+
.map((o) => { var _a; return ({ name: (_a = o.label) !== null && _a !== void 0 ? _a : o.value, value: o.value }); });
|
|
151
|
+
}
|
|
152
|
+
else if (a.type === 'multiselect' && ((_b = a.options) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
153
|
+
field.displayName += ` – ${a.options.map((o) => o.value).join(', ')}`;
|
|
154
|
+
}
|
|
155
|
+
return field;
|
|
156
|
+
});
|
|
157
|
+
return { fields };
|
|
158
|
+
}
|
|
159
|
+
function coerceValue(attr, value) {
|
|
160
|
+
if (value === undefined || value === null || value === '')
|
|
161
|
+
return value === '' ? null : value;
|
|
162
|
+
if (!attr)
|
|
163
|
+
return value;
|
|
164
|
+
const asJson = (v) => {
|
|
165
|
+
if (typeof v !== 'string')
|
|
166
|
+
return v;
|
|
167
|
+
try {
|
|
168
|
+
return JSON.parse(v);
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return v;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
switch (attr.type) {
|
|
175
|
+
case 'number':
|
|
176
|
+
return typeof value === 'string' ? Number(value) : value;
|
|
177
|
+
case 'checkbox':
|
|
178
|
+
return typeof value === 'string' ? value === 'true' : value;
|
|
179
|
+
case 'phone':
|
|
180
|
+
case 'currency':
|
|
181
|
+
case 'location':
|
|
182
|
+
return asJson(value);
|
|
183
|
+
case 'multiselect':
|
|
184
|
+
case 'document':
|
|
185
|
+
return toList(value);
|
|
186
|
+
case 'user':
|
|
187
|
+
case 'relation':
|
|
188
|
+
return attr.type === 'relation' && attr.cardinality !== 'many' ? value : toList(value, attr);
|
|
189
|
+
default:
|
|
190
|
+
return value;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
function toList(value, attr) {
|
|
194
|
+
if ((attr === null || attr === void 0 ? void 0 : attr.type) === 'user' && typeof value === 'string' && !value.trim().startsWith('[')) {
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
197
|
+
if (Array.isArray(value))
|
|
198
|
+
return value;
|
|
199
|
+
if (typeof value === 'string') {
|
|
200
|
+
const trimmed = value.trim();
|
|
201
|
+
if (trimmed.startsWith('[')) {
|
|
202
|
+
try {
|
|
203
|
+
return JSON.parse(trimmed);
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return trimmed
|
|
209
|
+
.split(',')
|
|
210
|
+
.map((v) => v.trim())
|
|
211
|
+
.filter(Boolean);
|
|
212
|
+
}
|
|
213
|
+
return value;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=GenericFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Standards/GenericFunctions.ts"],"names":[],"mappings":";;AAiDA,kDAiBC;AAMD,4CA4BC;AAGD,wCAGC;AAkBD,oCAEC;AAGD,0CAYC;AAGD,sCAEC;AAED,sCAkBC;AAQD,4CAUC;AAiCD,wCA8BC;AAOD,kCA+BC;AA5OM,KAAK,UAAU,mBAAmB,CAExC,MAA2B,EAC3B,IAAY,EACZ,IAAkB,EAClB,EAAgB;IAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAElG,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE;QAClF,MAAM;QACN,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE;QACxB,IAAI;QACJ,EAAE;QACF,IAAI,EAAE,IAAI;KACV,CAAC,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,gBAAgB,CAErC,UAAkB,EAClB,IAAiB,EACjB,GAAY,EACZ,OAA0B,MAAM;IAEhC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,GAAG,CAAC;IAErB,SAAS,CAAC;QACT,MAAM,SAAS,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAC/C,IAAI,EACJ,MAAM,EACN,YAAY,kBAAkB,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EACpD,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CACrC,CAAa,CAAC;QAEf,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAG,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACxD,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,MAAM;QAC9E,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAGD,SAAgB,cAAc,CAAC,MAAuB;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC;AAOD,SAAS,OAAO,CAAI,QAAiB;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAe,CAAC;IACpD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,QAAuB,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAQ,CAAC;QACjD,CAAC;IACF,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,YAAY;IACjC,OAAO,OAAO,CAAkB,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACjG,CAAC;AAGM,KAAK,UAAU,eAAe,CAEpC,UAAkB;;IAElB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1D,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,MAAM;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAEzD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,mCAAI,UAAU,CAAC,CAAC;IAC5D,OAAO,OAAO,CACb,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,MAAM,aAAa,CAAC,CACnF,CAAC;AACH,CAAC;AAGD,SAAgB,aAAa;;IAC5B,OAAO,MAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAY,mCAAI,EAAE,CAAC;AACzF,CAAC;AAEM,KAAK,UAAU,aAAa,CAElC,MAAe;IAEf,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAA2B,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrE,MAAM,CACN,CAAC,CAAC,EAAE,EAAE;;QACL,OAAA,CAAC,MAAM;YACP,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,MAAM,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAAA,CACrD;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACjD,KAAK,EAAE,CAAC,CAAC,IAAI;KACb,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,aAAa,GAA2B;IAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;CAC1C,CAAC;AAGK,KAAK,UAAU,gBAAgB;IACrC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzF,OAAO;QACN,GAAG,UAAU;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aAClF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,GAAG,aAAa;KAChB,CAAC;AACH,CAAC;AAKD,SAAS,UAAU,CAAC,IAAwB;IAC3C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM;YACV,OAAO,UAAU,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACZ,OAAO,SAAS,CAAC;QAClB,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU;YACd,OAAO,OAAO,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU;YACd,OAAO,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,KAAK,OAAO,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACd,OAAO,QAAQ,CAAC;QACjB;YACC,OAAO,QAAQ,CAAC;IAClB,CAAC;AACF,CAAC;AAGM,KAAK,UAAU,cAAc;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEnC,MAAM,MAAM,GAA0B,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAE9E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SACzE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;QACV,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAwB;YAClC,EAAE,EAAE,CAAC,CAAC,IAAI;YACV,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACxD,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;YAC7B,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE,KAAK;YACvB,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM;YAClB,IAAI;SACJ,CAAC;QACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,OAAO,GAAG,CAAC,MAAA,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC;iBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,EAAE,IAAI,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,KAAI,MAAA,CAAC,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE,CAAC;YAE1D,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,MAAM,EAAE,CAAC;AACnB,CAAC;AAOD,SAAgB,WAAW,CAAC,IAAoC,EAAE,KAAc;IAC/E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE;QAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC,CAAC;IAEF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,KAAK,UAAU;YACd,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7D,KAAK,OAAO,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACd,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU;YACd,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACd,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9F;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAyB;IAExD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACF,CAAC;QACD,OAAO,OAAO;aACZ,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type IExecuteFunctions, type ILoadOptionsFunctions, type INodeExecutionData, type INodeType, type INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class Standards implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
listSearch: {
|
|
6
|
+
searchObjects(this: ILoadOptionsFunctions, filter?: string): Promise<import("n8n-workflow").INodeListSearchResult>;
|
|
7
|
+
};
|
|
8
|
+
loadOptions: {
|
|
9
|
+
getAttributes(this: ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
10
|
+
};
|
|
11
|
+
resourceMapping: {
|
|
12
|
+
getMappingColumns(this: ILoadOptionsFunctions): Promise<import("n8n-workflow").ResourceMapperFields>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
16
|
+
}
|