@affeldt28/n8n-nodes-ninjaone 1.1.2 → 1.3.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.
Files changed (70) hide show
  1. package/README.md +29 -3
  2. package/dist/credentials/NinjaOneOAuth2Api.credentials.d.ts +10 -0
  3. package/dist/credentials/NinjaOneOAuth2Api.credentials.js +109 -0
  4. package/dist/credentials/NinjaOneOAuth2Api.credentials.js.map +1 -0
  5. package/dist/nodes/ninjaone/Ninjaone.node.js +1 -1
  6. package/dist/nodes/ninjaone/Ninjaone.node.js.map +1 -1
  7. package/dist/nodes/ninjaone/descriptions/organization/Organization.resource.js +57 -47
  8. package/dist/nodes/ninjaone/descriptions/organization/Organization.resource.js.map +1 -1
  9. package/dist/nodes/ninjaone/descriptions/organization/create.operation.d.ts +30 -0
  10. package/dist/nodes/ninjaone/descriptions/organization/create.operation.js +152 -0
  11. package/dist/nodes/ninjaone/descriptions/organization/create.operation.js.map +1 -0
  12. package/dist/nodes/ninjaone/descriptions/organization/createLocation.operation.d.ts +30 -0
  13. package/dist/nodes/ninjaone/descriptions/organization/createLocation.operation.js +105 -0
  14. package/dist/nodes/ninjaone/descriptions/organization/createLocation.operation.js.map +1 -0
  15. package/dist/nodes/ninjaone/descriptions/organization/generateInstaller.operation.d.ts +30 -0
  16. package/dist/nodes/ninjaone/descriptions/organization/generateInstaller.operation.js +133 -0
  17. package/dist/nodes/ninjaone/descriptions/organization/generateInstaller.operation.js.map +1 -0
  18. package/dist/nodes/ninjaone/descriptions/organization/get.operation.d.ts +30 -0
  19. package/dist/nodes/ninjaone/descriptions/organization/get.operation.js +44 -0
  20. package/dist/nodes/ninjaone/descriptions/organization/get.operation.js.map +1 -0
  21. package/dist/nodes/ninjaone/descriptions/organization/getAll.operation.d.ts +4 -3
  22. package/dist/nodes/ninjaone/descriptions/organization/getAll.operation.js +14 -2
  23. package/dist/nodes/ninjaone/descriptions/organization/getAll.operation.js.map +1 -1
  24. package/dist/nodes/ninjaone/descriptions/organization/getAllDetailed.operation.d.ts +30 -0
  25. package/dist/nodes/ninjaone/descriptions/organization/getAllDetailed.operation.js +51 -0
  26. package/dist/nodes/ninjaone/descriptions/organization/getAllDetailed.operation.js.map +1 -0
  27. package/dist/nodes/ninjaone/descriptions/organization/getCustomFields.operation.d.ts +30 -0
  28. package/dist/nodes/ninjaone/descriptions/organization/getCustomFields.operation.js +44 -0
  29. package/dist/nodes/ninjaone/descriptions/organization/getCustomFields.operation.js.map +1 -0
  30. package/dist/nodes/ninjaone/descriptions/organization/getDevices.operation.d.ts +30 -0
  31. package/dist/nodes/ninjaone/descriptions/organization/getDevices.operation.js +79 -0
  32. package/dist/nodes/ninjaone/descriptions/organization/getDevices.operation.js.map +1 -0
  33. package/dist/nodes/ninjaone/descriptions/organization/getEndUsers.operation.d.ts +30 -0
  34. package/dist/nodes/ninjaone/descriptions/organization/getEndUsers.operation.js +66 -0
  35. package/dist/nodes/ninjaone/descriptions/organization/getEndUsers.operation.js.map +1 -0
  36. package/dist/nodes/ninjaone/descriptions/organization/getLocationBackupUsage.operation.d.ts +30 -0
  37. package/dist/nodes/ninjaone/descriptions/organization/getLocationBackupUsage.operation.js +61 -0
  38. package/dist/nodes/ninjaone/descriptions/organization/getLocationBackupUsage.operation.js.map +1 -0
  39. package/dist/nodes/ninjaone/descriptions/organization/getLocationCustomFields.operation.d.ts +30 -0
  40. package/dist/nodes/ninjaone/descriptions/organization/getLocationCustomFields.operation.js +83 -0
  41. package/dist/nodes/ninjaone/descriptions/organization/getLocationCustomFields.operation.js.map +1 -0
  42. package/dist/nodes/ninjaone/descriptions/organization/getLocationInstaller.operation.d.ts +30 -0
  43. package/dist/nodes/ninjaone/descriptions/organization/getLocationInstaller.operation.js +111 -0
  44. package/dist/nodes/ninjaone/descriptions/organization/getLocationInstaller.operation.js.map +1 -0
  45. package/dist/nodes/ninjaone/descriptions/organization/getLocations.operation.d.ts +30 -0
  46. package/dist/nodes/ninjaone/descriptions/organization/getLocations.operation.js +44 -0
  47. package/dist/nodes/ninjaone/descriptions/organization/getLocations.operation.js.map +1 -0
  48. package/dist/nodes/ninjaone/descriptions/organization/getLocationsBackupUsage.operation.d.ts +30 -0
  49. package/dist/nodes/ninjaone/descriptions/organization/getLocationsBackupUsage.operation.js +44 -0
  50. package/dist/nodes/ninjaone/descriptions/organization/getLocationsBackupUsage.operation.js.map +1 -0
  51. package/dist/nodes/ninjaone/descriptions/organization/update.operation.d.ts +30 -0
  52. package/dist/nodes/ninjaone/descriptions/organization/update.operation.js +119 -0
  53. package/dist/nodes/ninjaone/descriptions/organization/update.operation.js.map +1 -0
  54. package/dist/nodes/ninjaone/descriptions/organization/updateCustomFields.operation.d.ts +30 -0
  55. package/dist/nodes/ninjaone/descriptions/organization/updateCustomFields.operation.js +53 -0
  56. package/dist/nodes/ninjaone/descriptions/organization/updateCustomFields.operation.js.map +1 -0
  57. package/dist/nodes/ninjaone/descriptions/organization/updateLocation.operation.d.ts +30 -0
  58. package/dist/nodes/ninjaone/descriptions/organization/updateLocation.operation.js +122 -0
  59. package/dist/nodes/ninjaone/descriptions/organization/updateLocation.operation.js.map +1 -0
  60. package/dist/nodes/ninjaone/descriptions/organization/updateLocationCustomFields.operation.d.ts +30 -0
  61. package/dist/nodes/ninjaone/descriptions/organization/updateLocationCustomFields.operation.js +70 -0
  62. package/dist/nodes/ninjaone/descriptions/organization/updateLocationCustomFields.operation.js.map +1 -0
  63. package/dist/nodes/ninjaone/descriptions/organization/updatePolicies.operation.d.ts +30 -0
  64. package/dist/nodes/ninjaone/descriptions/organization/updatePolicies.operation.js +53 -0
  65. package/dist/nodes/ninjaone/descriptions/organization/updatePolicies.operation.js.map +1 -0
  66. package/dist/package.json +3 -2
  67. package/package.json +3 -2
  68. package/dist/credentials/NinjaoneApi.credentials.d.ts +0 -13
  69. package/dist/credentials/NinjaoneApi.credentials.js +0 -209
  70. package/dist/credentials/NinjaoneApi.credentials.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateDescription = exports.updateOption = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.updateOption = {
6
+ name: 'Update',
7
+ value: 'update',
8
+ description: 'Update an organization',
9
+ action: 'Update an organization',
10
+ routing: {
11
+ request: {
12
+ method: 'PATCH',
13
+ url: '=/v2/organization/{{ encodeURIComponent($parameter["organizationId"].value) }}',
14
+ },
15
+ },
16
+ };
17
+ const properties = [
18
+ {
19
+ displayName: 'Organization ID',
20
+ name: 'organizationId',
21
+ type: 'resourceLocator',
22
+ default: {
23
+ mode: 'id',
24
+ value: '',
25
+ },
26
+ required: true,
27
+ modes: [
28
+ {
29
+ displayName: 'By ID',
30
+ name: 'id',
31
+ type: 'string',
32
+ placeholder: 'e.g. 123',
33
+ },
34
+ ],
35
+ },
36
+ {
37
+ displayName: 'Update Fields',
38
+ name: 'fields',
39
+ type: 'collection',
40
+ default: {},
41
+ placeholder: 'Add Field',
42
+ options: [
43
+ {
44
+ displayName: 'Description',
45
+ name: 'description',
46
+ type: 'string',
47
+ default: '',
48
+ description: 'Organization Description',
49
+ routing: {
50
+ send: {
51
+ type: 'body',
52
+ property: 'description',
53
+ },
54
+ },
55
+ },
56
+ {
57
+ displayName: 'Device Approval Mode',
58
+ name: 'nodeApprovalMode',
59
+ type: 'options',
60
+ default: 'AUTOMATIC',
61
+ options: [
62
+ {
63
+ name: 'Automatic',
64
+ value: 'AUTOMATIC',
65
+ },
66
+ {
67
+ name: 'Manual',
68
+ value: 'MANUAL',
69
+ },
70
+ {
71
+ name: 'Reject',
72
+ value: 'REJECT',
73
+ },
74
+ ],
75
+ routing: {
76
+ send: {
77
+ type: 'body',
78
+ property: 'nodeApprovalMode',
79
+ },
80
+ },
81
+ },
82
+ {
83
+ displayName: 'Name',
84
+ name: 'name',
85
+ type: 'string',
86
+ default: '',
87
+ description: 'Organization full name',
88
+ routing: {
89
+ send: {
90
+ type: 'body',
91
+ property: 'name',
92
+ },
93
+ },
94
+ },
95
+ {
96
+ displayName: 'User Data (JSON)',
97
+ name: 'userData',
98
+ type: 'json',
99
+ default: '{}',
100
+ description: 'Custom attributes',
101
+ routing: {
102
+ send: {
103
+ type: 'body',
104
+ property: 'userData',
105
+ value: '={{ typeof $value === "string" ? JSON.parse($value) : $value }}',
106
+ },
107
+ },
108
+ },
109
+ ],
110
+ },
111
+ ];
112
+ const displayOptions = {
113
+ show: {
114
+ resource: ['organization'],
115
+ operation: ['update'],
116
+ },
117
+ };
118
+ exports.updateDescription = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
119
+ //# sourceMappingURL=update.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.operation.js","sourceRoot":"","sources":["../../../../../nodes/ninjaone/descriptions/organization/update.operation.ts"],"names":[],"mappings":";;;AAAA,+CAIsB;AAET,QAAA,YAAY,GAAyB;IACjD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,wBAAwB;IACrC,MAAM,EAAE,wBAAwB;IAChC,OAAO,EAAE;QACR,OAAO,EAAE;YACR,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,gFAAgF;SACrF;KACD;CACD,CAAC;AAEF,MAAM,UAAU,GAAsB;IACrC;QACC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,0BAA0B;gBACvC,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,aAAa;qBACvB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE,WAAW;qBAClB;oBACD;wBACC,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,QAAQ;qBACf;oBACD;wBACC,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,QAAQ;qBACf;iBACD;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,kBAAkB;qBAC5B;iBACD;aACD;YACD;gBACC,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,wBAAwB;gBACrC,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,MAAM;qBAChB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,iEAAiE;qBACxE;iBACD;aACD;SACD;KACD;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;KACrB;CACD,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,mCAAoB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type INodeProperties, type INodePropertyOptions } from 'n8n-workflow';
2
+ export declare const updateCustomFieldsOption: INodePropertyOptions;
3
+ export declare const updateCustomFieldsDescription: {
4
+ displayOptions: import("n8n-workflow").IDisplayOptions;
5
+ displayName: string;
6
+ name: string;
7
+ type: import("n8n-workflow").NodePropertyTypes;
8
+ typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
9
+ default: import("n8n-workflow").NodeParameterValueType;
10
+ description?: string;
11
+ hint?: string;
12
+ builderHint?: import("n8n-workflow").IParameterBuilderHint;
13
+ disabledOptions?: import("n8n-workflow").IDisplayOptions;
14
+ envFeatureFlag?: Uppercase<string>;
15
+ options?: Array<import("n8n-workflow/dist/esm/interfaces.js").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
16
+ placeholder?: string;
17
+ isNodeSetting?: boolean;
18
+ noDataExpression?: boolean;
19
+ required?: boolean;
20
+ routing?: import("n8n-workflow").INodePropertyRouting;
21
+ credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
22
+ extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
23
+ modes?: import("n8n-workflow").INodePropertyMode[];
24
+ requiresDataPath?: "single" | "multiple";
25
+ doNotInherit?: boolean;
26
+ validateType?: import("n8n-workflow").FieldType;
27
+ ignoreValidationDuringExecution?: boolean;
28
+ allowArbitraryValues?: boolean;
29
+ resolvableField?: boolean;
30
+ }[];
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateCustomFieldsDescription = exports.updateCustomFieldsOption = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.updateCustomFieldsOption = {
6
+ name: 'Update Custom Fields',
7
+ value: 'updateCustomFields',
8
+ description: 'Update organization custom fields',
9
+ action: 'Update organization custom fields',
10
+ routing: {
11
+ request: {
12
+ method: 'PATCH',
13
+ url: '=/v2/organization/{{ encodeURIComponent($parameter["organizationId"].value) }}/custom-fields',
14
+ body: '={{ typeof $parameter["body"] === "string" ? JSON.parse($parameter["body"]) : $parameter["body"] }}',
15
+ },
16
+ },
17
+ };
18
+ const properties = [
19
+ {
20
+ displayName: 'Organization ID',
21
+ name: 'organizationId',
22
+ type: 'resourceLocator',
23
+ default: {
24
+ mode: 'id',
25
+ value: '',
26
+ },
27
+ required: true,
28
+ modes: [
29
+ {
30
+ displayName: 'By ID',
31
+ name: 'id',
32
+ type: 'string',
33
+ placeholder: 'e.g. 123',
34
+ },
35
+ ],
36
+ },
37
+ {
38
+ displayName: 'Custom Fields (JSON)',
39
+ name: 'body',
40
+ type: 'json',
41
+ default: '{}',
42
+ required: true,
43
+ description: 'Object mapping custom field names to values',
44
+ },
45
+ ];
46
+ const displayOptions = {
47
+ show: {
48
+ resource: ['organization'],
49
+ operation: ['updateCustomFields'],
50
+ },
51
+ };
52
+ exports.updateCustomFieldsDescription = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
53
+ //# sourceMappingURL=updateCustomFields.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateCustomFields.operation.js","sourceRoot":"","sources":["../../../../../nodes/ninjaone/descriptions/organization/updateCustomFields.operation.ts"],"names":[],"mappings":";;;AAAA,+CAIsB;AAET,QAAA,wBAAwB,GAAyB;IAC7D,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,mCAAmC;IAC3C,OAAO,EAAE;QACR,OAAO,EAAE;YACR,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,8FAA8F;YACnG,IAAI,EAAE,qGAAqG;SAC3G;KACD;CACD,CAAC;AAEF,MAAM,UAAU,GAAsB;IACrC;QACC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6CAA6C;KAC1D;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,SAAS,EAAE,CAAC,oBAAoB,CAAC;KACjC;CACD,CAAC;AAEW,QAAA,6BAA6B,GAAG,IAAA,mCAAoB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type INodeProperties, type INodePropertyOptions } from 'n8n-workflow';
2
+ export declare const updateLocationOption: INodePropertyOptions;
3
+ export declare const updateLocationDescription: {
4
+ displayOptions: import("n8n-workflow").IDisplayOptions;
5
+ displayName: string;
6
+ name: string;
7
+ type: import("n8n-workflow").NodePropertyTypes;
8
+ typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
9
+ default: import("n8n-workflow").NodeParameterValueType;
10
+ description?: string;
11
+ hint?: string;
12
+ builderHint?: import("n8n-workflow").IParameterBuilderHint;
13
+ disabledOptions?: import("n8n-workflow").IDisplayOptions;
14
+ envFeatureFlag?: Uppercase<string>;
15
+ options?: Array<import("n8n-workflow/dist/esm/interfaces.js").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
16
+ placeholder?: string;
17
+ isNodeSetting?: boolean;
18
+ noDataExpression?: boolean;
19
+ required?: boolean;
20
+ routing?: import("n8n-workflow").INodePropertyRouting;
21
+ credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
22
+ extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
23
+ modes?: import("n8n-workflow").INodePropertyMode[];
24
+ requiresDataPath?: "single" | "multiple";
25
+ doNotInherit?: boolean;
26
+ validateType?: import("n8n-workflow").FieldType;
27
+ ignoreValidationDuringExecution?: boolean;
28
+ allowArbitraryValues?: boolean;
29
+ resolvableField?: boolean;
30
+ }[];
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateLocationDescription = exports.updateLocationOption = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.updateLocationOption = {
6
+ name: 'Update Location',
7
+ value: 'updateLocation',
8
+ description: 'Update an organization location',
9
+ action: 'Update an organization location',
10
+ routing: {
11
+ request: {
12
+ method: 'PATCH',
13
+ url: '=/v2/organization/{{ encodeURIComponent($parameter["organizationId"].value) }}/locations/{{ encodeURIComponent($parameter["locationId"].value) }}',
14
+ },
15
+ },
16
+ };
17
+ const properties = [
18
+ {
19
+ displayName: 'Organization ID',
20
+ name: 'organizationId',
21
+ type: 'resourceLocator',
22
+ default: {
23
+ mode: 'id',
24
+ value: '',
25
+ },
26
+ required: true,
27
+ modes: [
28
+ {
29
+ displayName: 'By ID',
30
+ name: 'id',
31
+ type: 'string',
32
+ placeholder: 'e.g. 123',
33
+ },
34
+ ],
35
+ },
36
+ {
37
+ displayName: 'Location ID',
38
+ name: 'locationId',
39
+ type: 'resourceLocator',
40
+ default: {
41
+ mode: 'id',
42
+ value: '',
43
+ },
44
+ required: true,
45
+ modes: [
46
+ {
47
+ displayName: 'By ID',
48
+ name: 'id',
49
+ type: 'string',
50
+ placeholder: 'e.g. 123',
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ displayName: 'Update Fields',
56
+ name: 'fields',
57
+ type: 'collection',
58
+ default: {},
59
+ placeholder: 'Add Field',
60
+ options: [
61
+ {
62
+ displayName: 'Address',
63
+ name: 'address',
64
+ type: 'string',
65
+ default: '',
66
+ routing: {
67
+ send: {
68
+ type: 'body',
69
+ property: 'address',
70
+ },
71
+ },
72
+ },
73
+ {
74
+ displayName: 'Description',
75
+ name: 'description',
76
+ type: 'string',
77
+ default: '',
78
+ routing: {
79
+ send: {
80
+ type: 'body',
81
+ property: 'description',
82
+ },
83
+ },
84
+ },
85
+ {
86
+ displayName: 'Name',
87
+ name: 'name',
88
+ type: 'string',
89
+ default: '',
90
+ description: 'Location name',
91
+ routing: {
92
+ send: {
93
+ type: 'body',
94
+ property: 'name',
95
+ },
96
+ },
97
+ },
98
+ {
99
+ displayName: 'User Data (JSON)',
100
+ name: 'userData',
101
+ type: 'json',
102
+ default: '{}',
103
+ description: 'Custom attributes',
104
+ routing: {
105
+ send: {
106
+ type: 'body',
107
+ property: 'userData',
108
+ value: '={{ typeof $value === "string" ? JSON.parse($value) : $value }}',
109
+ },
110
+ },
111
+ },
112
+ ],
113
+ },
114
+ ];
115
+ const displayOptions = {
116
+ show: {
117
+ resource: ['organization'],
118
+ operation: ['updateLocation'],
119
+ },
120
+ };
121
+ exports.updateLocationDescription = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
122
+ //# sourceMappingURL=updateLocation.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateLocation.operation.js","sourceRoot":"","sources":["../../../../../nodes/ninjaone/descriptions/organization/updateLocation.operation.ts"],"names":[],"mappings":";;;AAAA,+CAIsB;AAET,QAAA,oBAAoB,GAAyB;IACzD,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,iCAAiC;IACzC,OAAO,EAAE;QACR,OAAO,EAAE;YACR,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,mJAAmJ;SACxJ;KACD;CACD,CAAC;AAEF,MAAM,UAAU,GAAsB;IACrC;QACC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,SAAS;qBACnB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,aAAa;qBACvB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,MAAM;qBAChB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,iEAAiE;qBACxE;iBACD;aACD;SACD;KACD;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC7B;CACD,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAA,mCAAoB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type INodeProperties, type INodePropertyOptions } from 'n8n-workflow';
2
+ export declare const updateLocationCustomFieldsOption: INodePropertyOptions;
3
+ export declare const updateLocationCustomFieldsDescription: {
4
+ displayOptions: import("n8n-workflow").IDisplayOptions;
5
+ displayName: string;
6
+ name: string;
7
+ type: import("n8n-workflow").NodePropertyTypes;
8
+ typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
9
+ default: import("n8n-workflow").NodeParameterValueType;
10
+ description?: string;
11
+ hint?: string;
12
+ builderHint?: import("n8n-workflow").IParameterBuilderHint;
13
+ disabledOptions?: import("n8n-workflow").IDisplayOptions;
14
+ envFeatureFlag?: Uppercase<string>;
15
+ options?: Array<import("n8n-workflow/dist/esm/interfaces.js").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
16
+ placeholder?: string;
17
+ isNodeSetting?: boolean;
18
+ noDataExpression?: boolean;
19
+ required?: boolean;
20
+ routing?: import("n8n-workflow").INodePropertyRouting;
21
+ credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
22
+ extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
23
+ modes?: import("n8n-workflow").INodePropertyMode[];
24
+ requiresDataPath?: "single" | "multiple";
25
+ doNotInherit?: boolean;
26
+ validateType?: import("n8n-workflow").FieldType;
27
+ ignoreValidationDuringExecution?: boolean;
28
+ allowArbitraryValues?: boolean;
29
+ resolvableField?: boolean;
30
+ }[];
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateLocationCustomFieldsDescription = exports.updateLocationCustomFieldsOption = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.updateLocationCustomFieldsOption = {
6
+ name: 'Update Location Custom Fields',
7
+ value: 'updateLocationCustomFields',
8
+ action: 'Update location custom fields',
9
+ routing: {
10
+ request: {
11
+ method: 'PATCH',
12
+ url: '=/v2/organization/{{ encodeURIComponent($parameter["organizationId"].value) }}/location/{{ encodeURIComponent($parameter["locationId"].value) }}/custom-fields',
13
+ body: '={{ typeof $parameter["body"] === "string" ? JSON.parse($parameter["body"]) : $parameter["body"] }}',
14
+ },
15
+ },
16
+ };
17
+ const properties = [
18
+ {
19
+ displayName: 'Organization ID',
20
+ name: 'organizationId',
21
+ type: 'resourceLocator',
22
+ default: {
23
+ mode: 'id',
24
+ value: '',
25
+ },
26
+ required: true,
27
+ modes: [
28
+ {
29
+ displayName: 'By ID',
30
+ name: 'id',
31
+ type: 'string',
32
+ placeholder: 'e.g. 123',
33
+ },
34
+ ],
35
+ },
36
+ {
37
+ displayName: 'Location ID',
38
+ name: 'locationId',
39
+ type: 'resourceLocator',
40
+ default: {
41
+ mode: 'id',
42
+ value: '',
43
+ },
44
+ required: true,
45
+ modes: [
46
+ {
47
+ displayName: 'By ID',
48
+ name: 'id',
49
+ type: 'string',
50
+ placeholder: 'e.g. 123',
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ displayName: 'Custom Fields (JSON)',
56
+ name: 'body',
57
+ type: 'json',
58
+ default: '{}',
59
+ required: true,
60
+ description: 'Object mapping custom field names to values',
61
+ },
62
+ ];
63
+ const displayOptions = {
64
+ show: {
65
+ resource: ['organization'],
66
+ operation: ['updateLocationCustomFields'],
67
+ },
68
+ };
69
+ exports.updateLocationCustomFieldsDescription = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
70
+ //# sourceMappingURL=updateLocationCustomFields.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateLocationCustomFields.operation.js","sourceRoot":"","sources":["../../../../../nodes/ninjaone/descriptions/organization/updateLocationCustomFields.operation.ts"],"names":[],"mappings":";;;AAAA,+CAIsB;AAET,QAAA,gCAAgC,GAAyB;IACrE,IAAI,EAAE,+BAA+B;IACrC,KAAK,EAAE,4BAA4B;IACnC,MAAM,EAAE,+BAA+B;IACvC,OAAO,EAAE;QACR,OAAO,EAAE;YACR,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,gKAAgK;YACrK,IAAI,EAAE,qGAAqG;SAC3G;KACD;CACD,CAAC;AAEF,MAAM,UAAU,GAAsB;IACrC;QACC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6CAA6C;KAC1D;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,SAAS,EAAE,CAAC,4BAA4B,CAAC;KACzC;CACD,CAAC;AAEW,QAAA,qCAAqC,GAAG,IAAA,mCAAoB,EACxE,cAAc,EACd,UAAU,CACV,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type INodeProperties, type INodePropertyOptions } from 'n8n-workflow';
2
+ export declare const updatePoliciesOption: INodePropertyOptions;
3
+ export declare const updatePoliciesDescription: {
4
+ displayOptions: import("n8n-workflow").IDisplayOptions;
5
+ displayName: string;
6
+ name: string;
7
+ type: import("n8n-workflow").NodePropertyTypes;
8
+ typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
9
+ default: import("n8n-workflow").NodeParameterValueType;
10
+ description?: string;
11
+ hint?: string;
12
+ builderHint?: import("n8n-workflow").IParameterBuilderHint;
13
+ disabledOptions?: import("n8n-workflow").IDisplayOptions;
14
+ envFeatureFlag?: Uppercase<string>;
15
+ options?: Array<import("n8n-workflow/dist/esm/interfaces.js").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
16
+ placeholder?: string;
17
+ isNodeSetting?: boolean;
18
+ noDataExpression?: boolean;
19
+ required?: boolean;
20
+ routing?: import("n8n-workflow").INodePropertyRouting;
21
+ credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
22
+ extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
23
+ modes?: import("n8n-workflow").INodePropertyMode[];
24
+ requiresDataPath?: "single" | "multiple";
25
+ doNotInherit?: boolean;
26
+ validateType?: import("n8n-workflow").FieldType;
27
+ ignoreValidationDuringExecution?: boolean;
28
+ allowArbitraryValues?: boolean;
29
+ resolvableField?: boolean;
30
+ }[];
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatePoliciesDescription = exports.updatePoliciesOption = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.updatePoliciesOption = {
6
+ name: 'Update Policies',
7
+ value: 'updatePolicies',
8
+ description: 'Update organization policy mappings',
9
+ action: 'Update organization policy mappings',
10
+ routing: {
11
+ request: {
12
+ method: 'PUT',
13
+ url: '=/v2/organization/{{ encodeURIComponent($parameter["organizationId"].value) }}/policies',
14
+ body: '={{ typeof $parameter["body"] === "string" ? JSON.parse($parameter["body"]) : $parameter["body"] }}',
15
+ },
16
+ },
17
+ };
18
+ const properties = [
19
+ {
20
+ displayName: 'Organization ID',
21
+ name: 'organizationId',
22
+ type: 'resourceLocator',
23
+ default: {
24
+ mode: 'id',
25
+ value: '',
26
+ },
27
+ required: true,
28
+ modes: [
29
+ {
30
+ displayName: 'By ID',
31
+ name: 'id',
32
+ type: 'string',
33
+ placeholder: 'e.g. 123',
34
+ },
35
+ ],
36
+ },
37
+ {
38
+ displayName: 'Policy Mappings (JSON)',
39
+ name: 'body',
40
+ type: 'json',
41
+ default: '[]',
42
+ required: true,
43
+ description: 'Array of nodeRoleId and policyId mappings',
44
+ },
45
+ ];
46
+ const displayOptions = {
47
+ show: {
48
+ resource: ['organization'],
49
+ operation: ['updatePolicies'],
50
+ },
51
+ };
52
+ exports.updatePoliciesDescription = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
53
+ //# sourceMappingURL=updatePolicies.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updatePolicies.operation.js","sourceRoot":"","sources":["../../../../../nodes/ninjaone/descriptions/organization/updatePolicies.operation.ts"],"names":[],"mappings":";;;AAAA,+CAIsB;AAET,QAAA,oBAAoB,GAAyB;IACzD,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,qCAAqC;IAClD,MAAM,EAAE,qCAAqC;IAC7C,OAAO,EAAE;QACR,OAAO,EAAE;YACR,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,yFAAyF;YAC9F,IAAI,EAAE,qGAAqG;SAC3G;KACD;CACD,CAAC;AAEF,MAAM,UAAU,GAAsB;IACrC;QACC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACvB;SACD;KACD;IACD;QACC,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2CAA2C;KACxD;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC7B;CACD,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAA,mCAAoB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affeldt28/n8n-nodes-ninjaone",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "description": "n8n node for NinjaOne",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/affeldt28/n8n-nodes-ninjaone",
@@ -24,6 +24,7 @@
24
24
  "build:watch": "tsc --watch",
25
25
  "dev": "n8n-node dev",
26
26
  "format": "biome format --write ",
27
+ "typecheck": "tsc --noEmit",
27
28
  "lint": "biome check",
28
29
  "lint:fix": "biome check --write",
29
30
  "n8n-lint": "n8n-node lint",
@@ -37,7 +38,7 @@
37
38
  "n8nNodesApiVersion": 1,
38
39
  "strict": true,
39
40
  "credentials": [
40
- "dist/credentials/NinjaoneApi.credentials.js"
41
+ "dist/credentials/NinjaOneOAuth2Api.credentials.js"
41
42
  ],
42
43
  "nodes": [
43
44
  "dist/nodes/ninjaone/Ninjaone.node.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affeldt28/n8n-nodes-ninjaone",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "description": "n8n node for NinjaOne",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/affeldt28/n8n-nodes-ninjaone",
@@ -24,6 +24,7 @@
24
24
  "build:watch": "tsc --watch",
25
25
  "dev": "n8n-node dev",
26
26
  "format": "biome format --write ",
27
+ "typecheck": "tsc --noEmit",
27
28
  "lint": "biome check",
28
29
  "lint:fix": "biome check --write",
29
30
  "n8n-lint": "n8n-node lint",
@@ -37,7 +38,7 @@
37
38
  "n8nNodesApiVersion": 1,
38
39
  "strict": true,
39
40
  "credentials": [
40
- "dist/credentials/NinjaoneApi.credentials.js"
41
+ "dist/credentials/NinjaOneOAuth2Api.credentials.js"
41
42
  ],
42
43
  "nodes": [
43
44
  "dist/nodes/ninjaone/Ninjaone.node.js"
@@ -1,13 +0,0 @@
1
- import type { IAuthenticateGeneric, ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType, Icon, IHttpRequestHelper, INodeProperties } from 'n8n-workflow';
2
- export declare class NinjaoneApi implements ICredentialType {
3
- name: string;
4
- displayName: string;
5
- icon: Icon;
6
- documentationUrl: string;
7
- properties: INodeProperties[];
8
- preAuthentication(this: IHttpRequestHelper, credentials: ICredentialDataDecryptedObject): Promise<{
9
- accessToken: string;
10
- }>;
11
- authenticate: IAuthenticateGeneric;
12
- test: ICredentialTestRequest;
13
- }