@klardaten/n8n-nodes-datevconnect 1.0.1 → 1.0.3
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 -10
- package/dist/credentials/DatevConnectApi.credentials.js +68 -95
- package/dist/nodes/Accounting/Accounting.config.js +1373 -0
- package/dist/nodes/Accounting/Accounting.node.js +180 -5153
- package/dist/nodes/Accounting/handlers/AccountPostingResourceHandler.js +40 -0
- package/dist/nodes/Accounting/handlers/AccountingSequenceResourceHandler.js +72 -0
- package/dist/nodes/Accounting/handlers/AccountingStatisticsResourceHandler.js +38 -0
- package/dist/nodes/Accounting/handlers/AccountingSumsAndBalancesResourceHandler.js +52 -0
- package/dist/nodes/Accounting/handlers/AccountingTransactionKeysResourceHandler.js +53 -0
- package/dist/nodes/Accounting/handlers/AccountsPayableResourceHandler.js +67 -0
- package/dist/nodes/Accounting/handlers/AccountsReceivableResourceHandler.js +48 -0
- package/dist/nodes/Accounting/handlers/BaseResourceHandler.js +148 -0
- package/dist/nodes/Accounting/handlers/BusinessPartnersResourceHandler.js +207 -0
- package/dist/nodes/Accounting/handlers/ClientResourceHandler.js +52 -0
- package/dist/nodes/Accounting/handlers/CostCenterPropertiesResourceHandler.js +55 -0
- package/dist/nodes/Accounting/handlers/CostCentersUnitsResourceHandler.js +55 -0
- package/dist/nodes/Accounting/handlers/CostSequencesResourceHandler.js +88 -0
- package/dist/nodes/Accounting/handlers/CostSystemsResourceHandler.js +62 -0
- package/dist/nodes/Accounting/handlers/FiscalYearResourceHandler.js +49 -0
- package/dist/nodes/Accounting/handlers/GeneralLedgerAccountsResourceHandler.js +67 -0
- package/dist/nodes/Accounting/handlers/InternalCostServicesResourceHandler.js +40 -0
- package/dist/nodes/Accounting/handlers/PostingProposalsResourceHandler.js +98 -0
- package/dist/nodes/Accounting/handlers/StocktakingDataResourceHandler.js +57 -0
- package/dist/nodes/Accounting/handlers/TermsOfPaymentResourceHandler.js +69 -0
- package/dist/nodes/Accounting/handlers/VariousAddressesResourceHandler.js +56 -0
- package/dist/nodes/Accounting/handlers/index.js +45 -0
- package/dist/nodes/Accounting/types.js +5 -0
- package/dist/nodes/DocumentManagement/DocumentManagement.config.js +598 -0
- package/dist/nodes/DocumentManagement/DocumentManagement.node.js +96 -3513
- package/dist/nodes/DocumentManagement/handlers/BaseResourceHandler.js +121 -0
- package/dist/nodes/DocumentManagement/handlers/DocumentFileResourceHandler.js +126 -0
- package/dist/nodes/DocumentManagement/handlers/DocumentResourceHandler.js +184 -0
- package/dist/nodes/DocumentManagement/handlers/DocumentStateResourceHandler.js +58 -0
- package/dist/nodes/DocumentManagement/handlers/DomainResourceHandler.js +32 -0
- package/dist/nodes/DocumentManagement/handlers/IndividualPropertyResourceHandler.js +32 -0
- package/dist/nodes/DocumentManagement/handlers/IndividualReference1ResourceHandler.js +49 -0
- package/dist/nodes/DocumentManagement/handlers/IndividualReference2ResourceHandler.js +49 -0
- package/dist/nodes/DocumentManagement/handlers/InfoResourceHandler.js +30 -0
- package/dist/nodes/DocumentManagement/handlers/PropertyTemplateResourceHandler.js +34 -0
- package/dist/nodes/DocumentManagement/handlers/SecureAreaResourceHandler.js +32 -0
- package/dist/nodes/DocumentManagement/types.js +2 -0
- package/dist/nodes/DocumentManagement/utils.js +116 -0
- package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.config.js +368 -0
- package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.node.js +77 -2774
- package/dist/nodes/IdentityAndAccessManagement/handlers/BaseResourceHandler.js +87 -0
- package/dist/nodes/IdentityAndAccessManagement/handlers/CurrentUserResourceHandler.js +17 -0
- package/dist/nodes/IdentityAndAccessManagement/handlers/GroupResourceHandler.js +63 -0
- package/dist/nodes/IdentityAndAccessManagement/handlers/ResourceTypeResourceHandler.js +17 -0
- package/dist/nodes/IdentityAndAccessManagement/handlers/SchemaResourceHandler.js +30 -0
- package/dist/nodes/IdentityAndAccessManagement/handlers/ServiceProviderConfigResourceHandler.js +17 -0
- package/dist/nodes/IdentityAndAccessManagement/handlers/UserResourceHandler.js +73 -0
- package/dist/nodes/IdentityAndAccessManagement/types.js +2 -0
- package/dist/nodes/IdentityAndAccessManagement/utils.js +89 -0
- package/dist/nodes/MasterData/MasterData.config.js +902 -0
- package/dist/nodes/MasterData/MasterData.node.js +107 -3561
- package/dist/nodes/MasterData/handlers/AddresseeResourceHandler.js +98 -0
- package/dist/nodes/MasterData/handlers/AreaOfResponsibilityResourceHandler.js +42 -0
- package/dist/nodes/MasterData/handlers/BankResourceHandler.js +42 -0
- package/dist/nodes/MasterData/handlers/BaseResourceHandler.js +91 -0
- package/dist/nodes/MasterData/handlers/ClientCategoryTypeResourceHandler.js +78 -0
- package/dist/nodes/MasterData/handlers/ClientGroupTypeResourceHandler.js +78 -0
- package/dist/nodes/MasterData/handlers/ClientResourceHandler.js +183 -0
- package/dist/nodes/MasterData/handlers/CorporateStructureResourceHandler.js +68 -0
- package/dist/nodes/MasterData/handlers/CountryCodeResourceHandler.js +42 -0
- package/dist/nodes/MasterData/handlers/EmployeeResourceHandler.js +78 -0
- package/dist/nodes/MasterData/handlers/LegalFormResourceHandler.js +42 -0
- package/dist/nodes/MasterData/handlers/RelationshipResourceHandler.js +54 -0
- package/dist/nodes/MasterData/handlers/TaxAuthorityResourceHandler.js +42 -0
- package/dist/nodes/MasterData/types.js +2 -0
- package/dist/nodes/MasterData/utils.js +92 -0
- package/dist/src/services/accountingClient.js +766 -0
- package/dist/src/services/datevConnectClient.js +1809 -0
- package/dist/src/services/documentManagementClient.js +546 -0
- package/dist/src/services/identityAndAccessManagementClient.js +293 -0
- package/package.json +38 -39
- package/dist/nodes/Accounting/Accounting.node.json +0 -25
- package/dist/nodes/DocumentManagement/DocumentManagement.node.json +0 -25
- package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.node.json +0 -25
- package/dist/nodes/MasterData/MasterData.node.json +0 -25
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InfoResourceHandler = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const documentManagementClient_1 = require("../../../src/services/documentManagementClient");
|
|
6
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
7
|
+
/**
|
|
8
|
+
* Handler for info operations
|
|
9
|
+
*/
|
|
10
|
+
class InfoResourceHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
11
|
+
async executeOperation(operation, authContext, sendSuccess) {
|
|
12
|
+
this.validateRequestContext(authContext);
|
|
13
|
+
switch (operation) {
|
|
14
|
+
case "get":
|
|
15
|
+
await this.getInfo(authContext, sendSuccess);
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), `The operation "${operation}" is not supported for info`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async getInfo(authContext, sendSuccess) {
|
|
22
|
+
const response = await documentManagementClient_1.DocumentManagementClient.fetchInfo({
|
|
23
|
+
host: authContext.host,
|
|
24
|
+
token: authContext.token,
|
|
25
|
+
clientInstanceId: authContext.clientInstanceId,
|
|
26
|
+
});
|
|
27
|
+
sendSuccess(response);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.InfoResourceHandler = InfoResourceHandler;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PropertyTemplateResourceHandler = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const documentManagementClient_1 = require("../../../src/services/documentManagementClient");
|
|
6
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
7
|
+
/**
|
|
8
|
+
* Handler for property template operations
|
|
9
|
+
*/
|
|
10
|
+
class PropertyTemplateResourceHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
11
|
+
async executeOperation(operation, authContext, sendSuccess) {
|
|
12
|
+
this.validateRequestContext(authContext);
|
|
13
|
+
switch (operation) {
|
|
14
|
+
case 'getAll':
|
|
15
|
+
await this.getPropertyTemplates(authContext, sendSuccess);
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), `Unsupported operation: ${operation}`, {
|
|
19
|
+
itemIndex: this.itemIndex,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async getPropertyTemplates(authContext, sendSuccess) {
|
|
24
|
+
const filter = this.getOptionalString('filter');
|
|
25
|
+
const response = await documentManagementClient_1.DocumentManagementClient.fetchPropertyTemplates({
|
|
26
|
+
host: authContext.host,
|
|
27
|
+
token: authContext.token,
|
|
28
|
+
clientInstanceId: authContext.clientInstanceId,
|
|
29
|
+
filter,
|
|
30
|
+
});
|
|
31
|
+
sendSuccess(response);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.PropertyTemplateResourceHandler = PropertyTemplateResourceHandler;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecureAreaResourceHandler = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const documentManagementClient_1 = require("../../../src/services/documentManagementClient");
|
|
6
|
+
const BaseResourceHandler_1 = require("./BaseResourceHandler");
|
|
7
|
+
/**
|
|
8
|
+
* Handler for secure area operations
|
|
9
|
+
*/
|
|
10
|
+
class SecureAreaResourceHandler extends BaseResourceHandler_1.BaseResourceHandler {
|
|
11
|
+
async executeOperation(operation, authContext, sendSuccess) {
|
|
12
|
+
this.validateRequestContext(authContext);
|
|
13
|
+
switch (operation) {
|
|
14
|
+
case 'getAll':
|
|
15
|
+
await this.getSecureAreas(authContext, sendSuccess);
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), `Unsupported operation: ${operation}`, {
|
|
19
|
+
itemIndex: this.itemIndex,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async getSecureAreas(authContext, sendSuccess) {
|
|
24
|
+
const response = await documentManagementClient_1.DocumentManagementClient.fetchSecureAreas({
|
|
25
|
+
host: authContext.host,
|
|
26
|
+
token: authContext.token,
|
|
27
|
+
clientInstanceId: authContext.clientInstanceId,
|
|
28
|
+
});
|
|
29
|
+
sendSuccess(response);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.SecureAreaResourceHandler = SecureAreaResourceHandler;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toErrorObject = toErrorObject;
|
|
4
|
+
exports.toErrorMessage = toErrorMessage;
|
|
5
|
+
exports.normaliseToObjects = normaliseToObjects;
|
|
6
|
+
exports.parseJsonParameter = parseJsonParameter;
|
|
7
|
+
exports.getOptionalString = getOptionalString;
|
|
8
|
+
exports.getRequiredString = getRequiredString;
|
|
9
|
+
exports.getNumberParameter = getNumberParameter;
|
|
10
|
+
exports.buildQueryParams = buildQueryParams;
|
|
11
|
+
exports.getRequiredJsonData = getRequiredJsonData;
|
|
12
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
13
|
+
/**
|
|
14
|
+
* Converts an error to a standardized error object
|
|
15
|
+
*/
|
|
16
|
+
function toErrorObject(error) {
|
|
17
|
+
if (error instanceof Error) {
|
|
18
|
+
return { message: error.message };
|
|
19
|
+
}
|
|
20
|
+
if (typeof error === "string") {
|
|
21
|
+
return { message: error };
|
|
22
|
+
}
|
|
23
|
+
if (error && typeof error === "object" && "message" in error) {
|
|
24
|
+
return { message: String(error.message) };
|
|
25
|
+
}
|
|
26
|
+
return { message: "An unknown error occurred" };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extracts error message from an error object
|
|
30
|
+
*/
|
|
31
|
+
function toErrorMessage(error) {
|
|
32
|
+
return toErrorObject(error).message;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Normalizes various data types to an array of objects
|
|
36
|
+
*/
|
|
37
|
+
function normaliseToObjects(data) {
|
|
38
|
+
if (data === null || data === undefined) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
if (Array.isArray(data)) {
|
|
42
|
+
return data.map((item) => {
|
|
43
|
+
if (item === null || item === undefined) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
if (typeof item === "object") {
|
|
47
|
+
return item;
|
|
48
|
+
}
|
|
49
|
+
return { value: item };
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (typeof data === "object") {
|
|
53
|
+
return [data];
|
|
54
|
+
}
|
|
55
|
+
return [{ value: data }];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Parses a JSON parameter with proper error handling
|
|
59
|
+
*/
|
|
60
|
+
function parseJsonParameter(value, parameterName, context, itemIndex) {
|
|
61
|
+
if (typeof value === "string") {
|
|
62
|
+
try {
|
|
63
|
+
return JSON.parse(value);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Invalid JSON in parameter '${parameterName}': ${toErrorMessage(error)}`, { itemIndex });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Gets an optional string parameter
|
|
73
|
+
*/
|
|
74
|
+
function getOptionalString(context, parameterName, itemIndex) {
|
|
75
|
+
const value = context.getNodeParameter(parameterName, itemIndex, "");
|
|
76
|
+
return value.trim() || undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Gets a required string parameter
|
|
80
|
+
*/
|
|
81
|
+
function getRequiredString(context, parameterName, itemIndex) {
|
|
82
|
+
const value = getOptionalString(context, parameterName, itemIndex);
|
|
83
|
+
if (!value) {
|
|
84
|
+
throw new Error(`Parameter '${parameterName}' is required`);
|
|
85
|
+
}
|
|
86
|
+
return value;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Gets a number parameter with default value
|
|
90
|
+
*/
|
|
91
|
+
function getNumberParameter(context, parameterName, itemIndex, defaultValue) {
|
|
92
|
+
const value = context.getNodeParameter(parameterName, itemIndex, defaultValue);
|
|
93
|
+
return value;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Builds query parameters object from optional values
|
|
97
|
+
*/
|
|
98
|
+
function buildQueryParams(params) {
|
|
99
|
+
const query = {};
|
|
100
|
+
for (const [key, value] of Object.entries(params)) {
|
|
101
|
+
if (value !== undefined && value !== null && value !== "") {
|
|
102
|
+
query[key] = String(value);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return query;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Gets required JSON data from parameter
|
|
109
|
+
*/
|
|
110
|
+
function getRequiredJsonData(context, parameterName, itemIndex) {
|
|
111
|
+
const rawValue = context.getNodeParameter(parameterName, itemIndex);
|
|
112
|
+
if (!rawValue) {
|
|
113
|
+
throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Parameter '${parameterName}' is required`, { itemIndex });
|
|
114
|
+
}
|
|
115
|
+
return parseJsonParameter(rawValue, parameterName, context, itemIndex);
|
|
116
|
+
}
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.identityAndAccessManagementNodeDescription = void 0;
|
|
4
|
+
exports.identityAndAccessManagementNodeDescription = {
|
|
5
|
+
displayName: "Klardaten DATEVconnect: Identity & Access",
|
|
6
|
+
name: "identityAndAccessManagement",
|
|
7
|
+
icon: "file:../klardaten.svg",
|
|
8
|
+
group: ["transform"],
|
|
9
|
+
version: 1,
|
|
10
|
+
description: "Work with DATEV Identity and Access Management (SCIM) endpoints",
|
|
11
|
+
defaults: {
|
|
12
|
+
name: "Identity & Access Management",
|
|
13
|
+
},
|
|
14
|
+
inputs: ["main"],
|
|
15
|
+
outputs: ["main"],
|
|
16
|
+
credentials: [
|
|
17
|
+
{
|
|
18
|
+
name: "datevConnectApi",
|
|
19
|
+
required: true,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
properties: [
|
|
23
|
+
{
|
|
24
|
+
displayName: "Resource",
|
|
25
|
+
name: "resource",
|
|
26
|
+
type: "options",
|
|
27
|
+
noDataExpression: true,
|
|
28
|
+
options: [
|
|
29
|
+
{
|
|
30
|
+
name: "Current User",
|
|
31
|
+
value: "currentUser",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "Group",
|
|
35
|
+
value: "group",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "Resource Type",
|
|
39
|
+
value: "resourceType",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "Schema",
|
|
43
|
+
value: "schema",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "Service Provider Config",
|
|
47
|
+
value: "serviceProviderConfig",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "User",
|
|
51
|
+
value: "user",
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
default: "user",
|
|
55
|
+
},
|
|
56
|
+
// Service Provider Config operations
|
|
57
|
+
{
|
|
58
|
+
displayName: "Operation",
|
|
59
|
+
name: "operation",
|
|
60
|
+
type: "options",
|
|
61
|
+
noDataExpression: true,
|
|
62
|
+
displayOptions: {
|
|
63
|
+
show: {
|
|
64
|
+
resource: ["serviceProviderConfig"],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
options: [
|
|
68
|
+
{
|
|
69
|
+
name: "Get",
|
|
70
|
+
value: "get",
|
|
71
|
+
action: "Get service provider config",
|
|
72
|
+
description: "Retrieve the SCIM service provider configuration",
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
default: "get",
|
|
76
|
+
},
|
|
77
|
+
// Resource Type operations
|
|
78
|
+
{
|
|
79
|
+
displayName: "Operation",
|
|
80
|
+
name: "operation",
|
|
81
|
+
type: "options",
|
|
82
|
+
noDataExpression: true,
|
|
83
|
+
displayOptions: {
|
|
84
|
+
show: {
|
|
85
|
+
resource: ["resourceType"],
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
options: [
|
|
89
|
+
{
|
|
90
|
+
name: "Get Many",
|
|
91
|
+
value: "getAll",
|
|
92
|
+
action: "Get many resource types",
|
|
93
|
+
description: "Retrieve the available SCIM resource types",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
default: "getAll",
|
|
97
|
+
},
|
|
98
|
+
// Schema operations
|
|
99
|
+
{
|
|
100
|
+
displayName: "Operation",
|
|
101
|
+
name: "operation",
|
|
102
|
+
type: "options",
|
|
103
|
+
noDataExpression: true,
|
|
104
|
+
displayOptions: {
|
|
105
|
+
show: {
|
|
106
|
+
resource: ["schema"],
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
options: [
|
|
110
|
+
{
|
|
111
|
+
name: "Get Many",
|
|
112
|
+
value: "getAll",
|
|
113
|
+
action: "Get many schemas",
|
|
114
|
+
description: "List the supported SCIM schemas",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: "Get",
|
|
118
|
+
value: "get",
|
|
119
|
+
action: "Get schema",
|
|
120
|
+
description: "Retrieve a single SCIM schema by ID",
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
default: "getAll",
|
|
124
|
+
},
|
|
125
|
+
// User operations
|
|
126
|
+
{
|
|
127
|
+
displayName: "Operation",
|
|
128
|
+
name: "operation",
|
|
129
|
+
type: "options",
|
|
130
|
+
noDataExpression: true,
|
|
131
|
+
displayOptions: {
|
|
132
|
+
show: {
|
|
133
|
+
resource: ["user"],
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
options: [
|
|
137
|
+
{
|
|
138
|
+
name: "Create",
|
|
139
|
+
value: "create",
|
|
140
|
+
action: "Create a user",
|
|
141
|
+
description: "Create a new DATEV IAM user",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "Delete",
|
|
145
|
+
value: "delete",
|
|
146
|
+
action: "Delete a user",
|
|
147
|
+
description: "Delete a DATEV IAM user",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: "Get",
|
|
151
|
+
value: "get",
|
|
152
|
+
action: "Get a user",
|
|
153
|
+
description: "Retrieve a single DATEV IAM user",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
name: "Get Many",
|
|
157
|
+
value: "getAll",
|
|
158
|
+
action: "Get many users",
|
|
159
|
+
description: "List DATEV IAM users",
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: "Update",
|
|
163
|
+
value: "update",
|
|
164
|
+
action: "Update a user",
|
|
165
|
+
description: "Update an existing DATEV IAM user",
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
default: "getAll",
|
|
169
|
+
},
|
|
170
|
+
// Current user operations
|
|
171
|
+
{
|
|
172
|
+
displayName: "Operation",
|
|
173
|
+
name: "operation",
|
|
174
|
+
type: "options",
|
|
175
|
+
noDataExpression: true,
|
|
176
|
+
displayOptions: {
|
|
177
|
+
show: {
|
|
178
|
+
resource: ["currentUser"],
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
options: [
|
|
182
|
+
{
|
|
183
|
+
name: "Get",
|
|
184
|
+
value: "get",
|
|
185
|
+
action: "Get current user",
|
|
186
|
+
description: "Fetch the currently authenticated DATEV IAM user",
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
default: "get",
|
|
190
|
+
},
|
|
191
|
+
// Group operations
|
|
192
|
+
{
|
|
193
|
+
displayName: "Operation",
|
|
194
|
+
name: "operation",
|
|
195
|
+
type: "options",
|
|
196
|
+
noDataExpression: true,
|
|
197
|
+
displayOptions: {
|
|
198
|
+
show: {
|
|
199
|
+
resource: ["group"],
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
options: [
|
|
203
|
+
{
|
|
204
|
+
name: "Create",
|
|
205
|
+
value: "create",
|
|
206
|
+
action: "Create a group",
|
|
207
|
+
description: "Create a new DATEV IAM group",
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: "Delete",
|
|
211
|
+
value: "delete",
|
|
212
|
+
action: "Delete a group",
|
|
213
|
+
description: "Delete a DATEV IAM group",
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: "Get",
|
|
217
|
+
value: "get",
|
|
218
|
+
action: "Get a group",
|
|
219
|
+
description: "Retrieve a single DATEV IAM group",
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: "Get Many",
|
|
223
|
+
value: "getAll",
|
|
224
|
+
action: "Get many groups",
|
|
225
|
+
description: "List DATEV IAM groups",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "Update",
|
|
229
|
+
value: "update",
|
|
230
|
+
action: "Update a group",
|
|
231
|
+
description: "Update an existing DATEV IAM group",
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
default: "getAll",
|
|
235
|
+
},
|
|
236
|
+
// Schema parameters
|
|
237
|
+
{
|
|
238
|
+
displayName: "Schema ID",
|
|
239
|
+
name: "schemaId",
|
|
240
|
+
type: "string",
|
|
241
|
+
required: true,
|
|
242
|
+
default: "",
|
|
243
|
+
description: "Full SCIM schema ID (e.g. urn:ietf:params:scim:schemas:core:2.0:User)",
|
|
244
|
+
displayOptions: {
|
|
245
|
+
show: {
|
|
246
|
+
resource: ["schema"],
|
|
247
|
+
operation: ["get"],
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
// User parameters
|
|
252
|
+
{
|
|
253
|
+
displayName: "User ID",
|
|
254
|
+
name: "userId",
|
|
255
|
+
type: "string",
|
|
256
|
+
required: true,
|
|
257
|
+
default: "",
|
|
258
|
+
description: "ID of the DATEV IAM user",
|
|
259
|
+
displayOptions: {
|
|
260
|
+
show: {
|
|
261
|
+
resource: ["user"],
|
|
262
|
+
operation: ["get", "update", "delete"],
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
displayName: "Filter",
|
|
268
|
+
name: "filter",
|
|
269
|
+
type: "string",
|
|
270
|
+
default: "",
|
|
271
|
+
description: "Optional SCIM filter expression",
|
|
272
|
+
displayOptions: {
|
|
273
|
+
show: {
|
|
274
|
+
resource: ["user"],
|
|
275
|
+
operation: ["getAll"],
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
displayName: "Attributes",
|
|
281
|
+
name: "attributes",
|
|
282
|
+
type: "string",
|
|
283
|
+
default: "",
|
|
284
|
+
description: "Optional comma-separated list of SCIM attributes to return",
|
|
285
|
+
displayOptions: {
|
|
286
|
+
show: {
|
|
287
|
+
resource: ["user"],
|
|
288
|
+
operation: ["getAll"],
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
displayName: "Start Index",
|
|
294
|
+
name: "startIndex",
|
|
295
|
+
type: "number",
|
|
296
|
+
typeOptions: {
|
|
297
|
+
minValue: 1,
|
|
298
|
+
},
|
|
299
|
+
default: 1,
|
|
300
|
+
description: "1-based index of the first result to return",
|
|
301
|
+
displayOptions: {
|
|
302
|
+
show: {
|
|
303
|
+
resource: ["user"],
|
|
304
|
+
operation: ["getAll"],
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
displayName: "Count",
|
|
310
|
+
name: "count",
|
|
311
|
+
type: "number",
|
|
312
|
+
typeOptions: {
|
|
313
|
+
minValue: 1,
|
|
314
|
+
},
|
|
315
|
+
default: 100,
|
|
316
|
+
description: "Maximum number of results to return",
|
|
317
|
+
displayOptions: {
|
|
318
|
+
show: {
|
|
319
|
+
resource: ["user"],
|
|
320
|
+
operation: ["getAll"],
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
displayName: "User Data",
|
|
326
|
+
name: "userData",
|
|
327
|
+
type: "json",
|
|
328
|
+
required: true,
|
|
329
|
+
default: "{}",
|
|
330
|
+
description: "Full SCIM user payload",
|
|
331
|
+
displayOptions: {
|
|
332
|
+
show: {
|
|
333
|
+
resource: ["user"],
|
|
334
|
+
operation: ["create", "update"],
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
// Group parameters
|
|
339
|
+
{
|
|
340
|
+
displayName: "Group ID",
|
|
341
|
+
name: "groupId",
|
|
342
|
+
type: "string",
|
|
343
|
+
required: true,
|
|
344
|
+
default: "",
|
|
345
|
+
description: "ID of the DATEV IAM group",
|
|
346
|
+
displayOptions: {
|
|
347
|
+
show: {
|
|
348
|
+
resource: ["group"],
|
|
349
|
+
operation: ["get", "update", "delete"],
|
|
350
|
+
},
|
|
351
|
+
},
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
displayName: "Group Data",
|
|
355
|
+
name: "groupData",
|
|
356
|
+
type: "json",
|
|
357
|
+
required: true,
|
|
358
|
+
default: "{}",
|
|
359
|
+
description: "Full SCIM group payload",
|
|
360
|
+
displayOptions: {
|
|
361
|
+
show: {
|
|
362
|
+
resource: ["group"],
|
|
363
|
+
operation: ["create", "update"],
|
|
364
|
+
},
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
],
|
|
368
|
+
};
|