umich-tdx-node 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +19 -0
- package/README.md +255 -0
- package/dist/credentials/UmichTdxOAuth2Api.credentials.d.ts +10 -0
- package/dist/credentials/UmichTdxOAuth2Api.credentials.js +121 -0
- package/dist/credentials/UmichTdxOAuth2Api.credentials.js.map +1 -0
- package/dist/credentials/umichtdx.svg +61 -0
- package/dist/fields/additionalFields.d.ts +2 -0
- package/dist/fields/additionalFields.js +105 -0
- package/dist/fields/additionalFields.js.map +1 -0
- package/dist/fields/commonFields.d.ts +2 -0
- package/dist/fields/commonFields.js +5 -0
- package/dist/fields/commonFields.js.map +1 -0
- package/dist/fields/index.d.ts +4 -0
- package/dist/fields/index.js +23 -0
- package/dist/fields/index.js.map +1 -0
- package/dist/helpers/authentication.d.ts +3 -0
- package/dist/helpers/authentication.js +17 -0
- package/dist/helpers/authentication.js.map +1 -0
- package/dist/helpers/validation.d.ts +17 -0
- package/dist/helpers/validation.js +133 -0
- package/dist/helpers/validation.js.map +1 -0
- package/dist/icons/github.dark.svg +3 -0
- package/dist/icons/github.svg +3 -0
- package/dist/nodes/UmichTdx/UmichTdx.node.d.ts +7 -0
- package/dist/nodes/UmichTdx/UmichTdx.node.js +42 -0
- package/dist/nodes/UmichTdx/UmichTdx.node.js.map +1 -0
- package/dist/nodes/UmichTdx/UmichTdx.node.json +18 -0
- package/dist/nodes/UmichTdx/umichtdx.svg +61 -0
- package/dist/package.json +52 -0
- package/dist/resources/index.d.ts +7 -0
- package/dist/resources/index.js +35 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/resource.d.ts +2 -0
- package/dist/resources/resource.js +29 -0
- package/dist/resources/resource.js.map +1 -0
- package/dist/resources/ticketCreation.d.ts +2 -0
- package/dist/resources/ticketCreation.js +193 -0
- package/dist/resources/ticketCreation.js.map +1 -0
- package/dist/resources/ticketModification.d.ts +2 -0
- package/dist/resources/ticketModification.js +117 -0
- package/dist/resources/ticketModification.js.map +1 -0
- package/dist/resources/ticketSearch.d.ts +2 -0
- package/dist/resources/ticketSearch.js +56 -0
- package/dist/resources/ticketSearch.js.map +1 -0
- package/dist/resources/userLookup.d.ts +2 -0
- package/dist/resources/userLookup.js +61 -0
- package/dist/resources/userLookup.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +52 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# umich-tdx-node
|
|
2
|
+
|
|
3
|
+
This is an n8n community node that provides integration with the University of Michigan (UMich) TeamDynamix (TDX) API. It enables you to interact with UMich TDX services directly from your n8n workflows, including ticket creation, modification, search, and user lookup operations.
|
|
4
|
+
|
|
5
|
+
The UMich TDX API is a service that allows programmatic access to TeamDynamix ticket management functionality for University of Michigan systems.
|
|
6
|
+
|
|
7
|
+
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
8
|
+
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
[Installation](#installation)
|
|
12
|
+
[Credentials](#credentials)
|
|
13
|
+
[Resources and Operations](#resources-and-operations)
|
|
14
|
+
[Validation and Security](#validation-and-security)
|
|
15
|
+
[Test vs Production Environment](#test-vs-production-environment)
|
|
16
|
+
[Usage Examples](#usage-examples)
|
|
17
|
+
[Compatibility](#compatibility)
|
|
18
|
+
[Resources](#resources)
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
|
23
|
+
|
|
24
|
+
In summary:
|
|
25
|
+
1. Install the package in your n8n instance
|
|
26
|
+
2. Restart n8n
|
|
27
|
+
3. The "UMich TDX" node will be available in the node palette
|
|
28
|
+
|
|
29
|
+
## Credentials
|
|
30
|
+
|
|
31
|
+
To use this node, you need to set up OAuth2 credentials with the U-M API Directory.
|
|
32
|
+
|
|
33
|
+
### Prerequisites
|
|
34
|
+
|
|
35
|
+
1. **U-M API Directory Account**: You need access to the [U-M API Directory](https://dir.api.it.umich.edu/) or alternatively the [U-M Test API Directory](https://dir-test.api.it.umich.edu).
|
|
36
|
+
2. **API Application**: Create an application in the U-M API Directory with the `tdxticket` scope
|
|
37
|
+
3. **API Key and Secret**: Obtain your API Key (Client ID) and API Secret (Client Secret) from your application
|
|
38
|
+
|
|
39
|
+
### Setting Up Credentials
|
|
40
|
+
|
|
41
|
+
1. In n8n, add a new credential of type "UMich TDX OAuth2 API"
|
|
42
|
+
2. Configure the following fields:
|
|
43
|
+
- **Environment**: Choose either "Test" or "Production" (see [Test vs Production Environment](#test-vs-production-environment) below)
|
|
44
|
+
- **App ID**: Your TeamDynamix App ID (numeric value)
|
|
45
|
+
- **API Key**: The "Key" value from your app in the U-M API Directory
|
|
46
|
+
- **API Secret**: The "Secret" value from your app in the U-M API Directory
|
|
47
|
+
3. Click "Connect my account" to authenticate
|
|
48
|
+
4. The credentials will automatically handle OAuth2 token management
|
|
49
|
+
|
|
50
|
+
### Credential Fields
|
|
51
|
+
|
|
52
|
+
| Field | Description | Required |
|
|
53
|
+
|-------|-------------|----------|
|
|
54
|
+
| Environment | Choose between Test or Production environment | Yes |
|
|
55
|
+
| App ID | Your TeamDynamix App ID (numeric) | Yes |
|
|
56
|
+
| API Key | Client ID from U-M API Directory | Yes |
|
|
57
|
+
| API Secret | Client Secret from U-M API Directory | Yes |
|
|
58
|
+
|
|
59
|
+
## Resources and Operations
|
|
60
|
+
|
|
61
|
+
The UMich TDX node supports four main resources, each with specific operations:
|
|
62
|
+
|
|
63
|
+
### 1. Ticket Search
|
|
64
|
+
|
|
65
|
+
Search and retrieve ticket information from TDX.
|
|
66
|
+
|
|
67
|
+
#### Operations
|
|
68
|
+
|
|
69
|
+
- **Get Ticket by ID**: Retrieve a single TDX ticket by its ID
|
|
70
|
+
- **Parameters**:
|
|
71
|
+
- `Ticket ID` (required): The numeric ID of the ticket to retrieve
|
|
72
|
+
|
|
73
|
+
### 2. Ticket Creation
|
|
74
|
+
|
|
75
|
+
Create new tickets in TDX.
|
|
76
|
+
|
|
77
|
+
#### Operations
|
|
78
|
+
|
|
79
|
+
- **Create Ticket**: Create a new TDX ticket
|
|
80
|
+
- **Required Parameters**:
|
|
81
|
+
- `Title`: The title of the ticket (max 500 characters)
|
|
82
|
+
- `Body`: The description/body of the ticket (max 2000 characters)
|
|
83
|
+
- `Requestor`: Email address of the requestor (must be a valid `@umich.edu` email)
|
|
84
|
+
- `Service ID`: The service ID that the ticket is related to (numeric)
|
|
85
|
+
- **Optional Parameters**:
|
|
86
|
+
- `Responsible Group ID`: The responsible group ID to assign the ticket to (numeric)
|
|
87
|
+
- **Additional Fields** (optional):
|
|
88
|
+
- `Apply Defaults`: Whether to apply default values for unspecified properties (default: `true`)
|
|
89
|
+
- `Enable Notify Reviewer`: Whether reviewer notifications should be enabled (default: `false`)
|
|
90
|
+
- `Notify Requestor`: Whether the requestor should be notified on ticket creation (default: `false`)
|
|
91
|
+
- `Notify Responsible`: Whether responsible resources should be notified (default: `false`)
|
|
92
|
+
- `Allow Requestor Creation`: Whether to create a requestor if not found (default: `true`)
|
|
93
|
+
- `Prefer Requestor Account and Priority`: Use requestor's default account/priority (default: `false`)
|
|
94
|
+
- **Hidden Parameters** (automatically set):
|
|
95
|
+
- `Source ID`: Set to `8` (Systems) by default
|
|
96
|
+
- `Status ID`: Set to `0` by default
|
|
97
|
+
|
|
98
|
+
### 3. Ticket Modification
|
|
99
|
+
|
|
100
|
+
Modify existing tickets in TDX.
|
|
101
|
+
|
|
102
|
+
#### Operations
|
|
103
|
+
|
|
104
|
+
- **Add Comment to Ticket**: Add a comment to an existing TDX ticket
|
|
105
|
+
- **Parameters**:
|
|
106
|
+
- `Ticket ID` (required): The ID of the ticket to modify (numeric)
|
|
107
|
+
- `New Comment` (required): The comment text to add (max 2000 characters)
|
|
108
|
+
|
|
109
|
+
- **Add Ticket Contact**: Add a contact (user) to a TDX ticket
|
|
110
|
+
- **Parameters**:
|
|
111
|
+
- `Ticket ID` (required): The ID of the ticket to modify (numeric)
|
|
112
|
+
- `TDX User UID` (required): The internal TDX UID of the user to assign (alphanumeric)
|
|
113
|
+
|
|
114
|
+
### 4. User Lookup
|
|
115
|
+
|
|
116
|
+
Look up user information in TDX.
|
|
117
|
+
|
|
118
|
+
#### Operations
|
|
119
|
+
|
|
120
|
+
- **Find UID by Uniqname**: Find a user's internal TDX UID by their U-M Uniqname
|
|
121
|
+
- **Parameters**:
|
|
122
|
+
- `U-M Uniqname` (required): The uniqname to search for (3-8 lowercase letters only)
|
|
123
|
+
|
|
124
|
+
## Validation and Security
|
|
125
|
+
|
|
126
|
+
The node includes comprehensive validation measures to ensure data integrity and security:
|
|
127
|
+
|
|
128
|
+
### Input Validation
|
|
129
|
+
|
|
130
|
+
1. **Email Validation**:
|
|
131
|
+
- Must be a valid email format
|
|
132
|
+
- **Must be a `@umich.edu` email address** (enforced)
|
|
133
|
+
- Used for: Requestor Email
|
|
134
|
+
|
|
135
|
+
2. **Uniqname Validation**:
|
|
136
|
+
- Must be 3-8 characters long
|
|
137
|
+
- Must contain only lowercase letters
|
|
138
|
+
- Used for: User Lookup operations
|
|
139
|
+
|
|
140
|
+
3. **UID Validation**:
|
|
141
|
+
- Must be alphanumeric (letters, numbers, dots, hyphens, underscores)
|
|
142
|
+
- Prevents path traversal attacks
|
|
143
|
+
- Used for: Contact UID, Ticket ID
|
|
144
|
+
|
|
145
|
+
4. **Numeric ID Validation**:
|
|
146
|
+
- Must be numeric only
|
|
147
|
+
- Used for: Service ID, Responsible Group ID, Status ID, Source ID, Ticket ID
|
|
148
|
+
|
|
149
|
+
5. **Text Length Validation**:
|
|
150
|
+
- **Title**: Maximum 500 characters
|
|
151
|
+
- **Description/Body**: Maximum 2000 characters
|
|
152
|
+
- **Comments**: Maximum 2000 characters
|
|
153
|
+
- Prevents DoS attacks from excessively large payloads
|
|
154
|
+
|
|
155
|
+
6. **Source ID Validation**:
|
|
156
|
+
- Only allows specific source IDs
|
|
157
|
+
- Currently only allows `8` (Systems)
|
|
158
|
+
- Can be expanded in the future
|
|
159
|
+
|
|
160
|
+
### Security Features
|
|
161
|
+
|
|
162
|
+
- **Path Traversal Protection**: URL path segments are validated to prevent directory traversal attacks (`../`, query strings, etc.)
|
|
163
|
+
- **OAuth2 Authentication**: All requests use secure OAuth2 bearer token authentication
|
|
164
|
+
- **Input Sanitization**: All user inputs are validated before being sent to the API
|
|
165
|
+
- **Environment Isolation**: Test and production environments are completely separate
|
|
166
|
+
|
|
167
|
+
## Test vs Production Environment
|
|
168
|
+
|
|
169
|
+
The node supports both Test and Production environments. The environment is selected when configuring credentials.
|
|
170
|
+
|
|
171
|
+
### Test Environment
|
|
172
|
+
|
|
173
|
+
- **Base URL**: `https://gw-test.api.it.umich.edu/um/it`
|
|
174
|
+
- **Token URL**: `https://gw-test.api.it.umich.edu/um/oauth2/token`
|
|
175
|
+
- **Use Case**: Development, testing, and experimentation
|
|
176
|
+
- **Data**: Separate from production data
|
|
177
|
+
|
|
178
|
+
### Production Environment
|
|
179
|
+
|
|
180
|
+
- **Base URL**: `https://gw.api.it.umich.edu/um/it`
|
|
181
|
+
- **Token URL**: `https://gw.api.it.umich.edu/um/oauth2/token`
|
|
182
|
+
- **Use Case**: Live production workflows
|
|
183
|
+
- **Data**: Real production TDX data
|
|
184
|
+
|
|
185
|
+
### Switching Environments
|
|
186
|
+
|
|
187
|
+
To switch between environments:
|
|
188
|
+
1. Create separate credentials for Test and Production
|
|
189
|
+
2. Or update your existing credentials and change the "Environment" field
|
|
190
|
+
3. The node will automatically use the correct API endpoints based on your credential configuration
|
|
191
|
+
|
|
192
|
+
**Important**: Always test your workflows in the Test environment before using Production credentials.
|
|
193
|
+
|
|
194
|
+
## Usage Examples
|
|
195
|
+
|
|
196
|
+
### Example 1: Create a Ticket
|
|
197
|
+
|
|
198
|
+
1. Add a "UMich TDX" node to your workflow
|
|
199
|
+
2. Select Resource: "Ticket Creation"
|
|
200
|
+
3. Select Operation: "Create Ticket"
|
|
201
|
+
4. Fill in:
|
|
202
|
+
- Title: "Example Ticket"
|
|
203
|
+
- Body: "This is an example ticket created via n8n"
|
|
204
|
+
- Requestor: "user@umich.edu"
|
|
205
|
+
- Service ID: "31"
|
|
206
|
+
- Responsible Group ID: "944" (optional)
|
|
207
|
+
5. Configure additional fields as needed
|
|
208
|
+
6. Execute the workflow
|
|
209
|
+
|
|
210
|
+
### Example 2: Look Up User and Add to Ticket
|
|
211
|
+
|
|
212
|
+
1. First node: "User Lookup" → "Find UID by Uniqname"
|
|
213
|
+
- Enter uniqname: "jdoe"
|
|
214
|
+
2. Second node: "Ticket Modification" → "Add Ticket Contact"
|
|
215
|
+
- Ticket ID: "12345"
|
|
216
|
+
- TDX User UID: Use the UID from the first node's output
|
|
217
|
+
|
|
218
|
+
### Example 3: Get Ticket and Add Comment
|
|
219
|
+
|
|
220
|
+
1. First node: "Ticket Search" → "Get Ticket by ID"
|
|
221
|
+
- Ticket ID: "12345"
|
|
222
|
+
2. Second node: "Ticket Modification" → "Add Comment to Ticket"
|
|
223
|
+
- Ticket ID: "12345"
|
|
224
|
+
- New Comment: "Status update from automated workflow"
|
|
225
|
+
|
|
226
|
+
## Compatibility
|
|
227
|
+
|
|
228
|
+
- **Minimum n8n version**: Compatible with n8n workflow API version 1
|
|
229
|
+
- **Node.js**: Compatible with Node.js versions supported by n8n
|
|
230
|
+
- **TypeScript**: Built with TypeScript 5.9.2
|
|
231
|
+
|
|
232
|
+
## Resources
|
|
233
|
+
|
|
234
|
+
### Documentation
|
|
235
|
+
|
|
236
|
+
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/#community-nodes)
|
|
237
|
+
- [U-M API Directory - TDX Ticket API Documentation](https://dir.api.it.umich.edu/docs/tdxticket/1/overview)
|
|
238
|
+
- [TeamDynamix API Documentation](https://solutions.teamdynamix.com/TDWebApi/Home/type/TeamDynamix.Api.Tickets.Ticket)
|
|
239
|
+
- [U-M API Directory](https://dir.api.it.umich.edu/)
|
|
240
|
+
|
|
241
|
+
### Finding IDs
|
|
242
|
+
|
|
243
|
+
- **Service ID**: Found in the JSON response when retrieving a ticket via "Ticket Search"
|
|
244
|
+
- **Responsible Group ID**: In TDX, go to the create ticket form, search for groups in the Responsible field, click "View" under the profile, and find the "Group ID" in the upper-left portion of the page
|
|
245
|
+
- **TDX User UID**: Found in the JSON response when using "User Lookup" → "Find UID by Uniqname"
|
|
246
|
+
|
|
247
|
+
### Support
|
|
248
|
+
|
|
249
|
+
For issues, questions, or contributions, please refer to the repository:
|
|
250
|
+
- **Repository**: [n8n-umich-tdx](https://github.com/cpuzzuol/n8n-umich-tdx)
|
|
251
|
+
- **Author**: Chris Puzzuoli (cpuzzuol@umich.edu)
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
**Note**: This node is designed specifically for University of Michigan TeamDynamix integration. All email addresses must be `@umich.edu` addresses, and you must have appropriate access to the U-M API Directory to use this node.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ICredentialType, Icon, INodeProperties, ICredentialTestRequest } from 'n8n-workflow';
|
|
2
|
+
export declare class UmichTdxOAuth2Api implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
icon: Icon;
|
|
6
|
+
documentationUrl: string;
|
|
7
|
+
extends: string[];
|
|
8
|
+
properties: INodeProperties[];
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UmichTdxOAuth2Api = void 0;
|
|
4
|
+
class UmichTdxOAuth2Api {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'umichTdxOAuth2Api';
|
|
7
|
+
this.displayName = 'UMich TDX OAuth2 API';
|
|
8
|
+
this.icon = 'file:umichtdx.svg';
|
|
9
|
+
this.documentationUrl = 'https://dir.api.it.umich.edu/docs/tdxticket/1/overview';
|
|
10
|
+
this.extends = ['oAuth2Api'];
|
|
11
|
+
this.properties = [
|
|
12
|
+
{
|
|
13
|
+
displayName: 'Environment',
|
|
14
|
+
name: 'environment',
|
|
15
|
+
type: 'options',
|
|
16
|
+
options: [
|
|
17
|
+
{ name: 'Production', value: 'production' },
|
|
18
|
+
{ name: 'Test', value: 'test' },
|
|
19
|
+
],
|
|
20
|
+
default: 'production',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
displayName: 'App ID',
|
|
24
|
+
name: 'appId',
|
|
25
|
+
type: 'number',
|
|
26
|
+
typeOptions: {
|
|
27
|
+
minValue: 1,
|
|
28
|
+
numberPrecision: 0,
|
|
29
|
+
},
|
|
30
|
+
default: '',
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
displayName: 'Allowed HTTP Request Domains',
|
|
35
|
+
name: 'allowedHttpRequestDomains',
|
|
36
|
+
type: 'hidden',
|
|
37
|
+
default: 'domains',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
displayName: 'Allowed Domains',
|
|
41
|
+
name: 'allowedDomains',
|
|
42
|
+
type: 'hidden',
|
|
43
|
+
default: 'gw-test.api.it.umich.edu, gw.api.it.umich.edu',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
displayName: 'API Key',
|
|
47
|
+
name: 'clientId',
|
|
48
|
+
hint: 'Use the "Key" value from your app in the U-M API Directory',
|
|
49
|
+
type: 'string',
|
|
50
|
+
displayOptions: {
|
|
51
|
+
show: {
|
|
52
|
+
useDynamicClientRegistration: [false],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
default: '',
|
|
56
|
+
required: true,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
displayName: 'API Secret',
|
|
60
|
+
name: 'clientSecret',
|
|
61
|
+
hint: 'Use the "Secret" value from your app in the U-M API Directory',
|
|
62
|
+
type: 'string',
|
|
63
|
+
displayOptions: {
|
|
64
|
+
show: {
|
|
65
|
+
useDynamicClientRegistration: [false],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
typeOptions: {
|
|
69
|
+
password: true,
|
|
70
|
+
},
|
|
71
|
+
default: '',
|
|
72
|
+
required: true,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
displayName: 'Token URL',
|
|
76
|
+
name: 'accessTokenUrl',
|
|
77
|
+
type: 'hidden',
|
|
78
|
+
default: '={{$self.environment === "test" ? "https://gw-test.api.it.umich.edu/um/oauth2/token" : "https://gw.api.it.umich.edu/um/oauth2/token"}}',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
displayName: 'Grant Type',
|
|
82
|
+
name: 'grantType',
|
|
83
|
+
type: 'hidden',
|
|
84
|
+
default: 'clientCredentials',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
displayName: 'Authentication',
|
|
88
|
+
name: 'authentication',
|
|
89
|
+
type: 'hidden',
|
|
90
|
+
default: 'header',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
displayName: 'Scope',
|
|
94
|
+
name: 'scope',
|
|
95
|
+
type: 'hidden',
|
|
96
|
+
required: true,
|
|
97
|
+
default: 'tdxticket',
|
|
98
|
+
description: 'OAuth scope',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
displayName: 'API Base URL',
|
|
102
|
+
name: 'baseUrl',
|
|
103
|
+
type: 'hidden',
|
|
104
|
+
required: true,
|
|
105
|
+
default: '={{$self.environment === "test" ? "https://gw-test.api.it.umich.edu/um/it" : "https://gw.api.it.umich.edu/um/it"}}',
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
this.test = {
|
|
109
|
+
request: {
|
|
110
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
111
|
+
url: '={{"/" + $credentials.appId + "/ticketsearch"}}',
|
|
112
|
+
method: 'POST',
|
|
113
|
+
body: {
|
|
114
|
+
MaxResults: 1
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.UmichTdxOAuth2Api = UmichTdxOAuth2Api;
|
|
121
|
+
//# sourceMappingURL=UmichTdxOAuth2Api.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UmichTdxOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/UmichTdxOAuth2Api.credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 147.5 120.7">
|
|
3
|
+
<!-- Generator: Adobe Illustrator 30.0.0, SVG Export Plug-In . SVG Version: 2.1.1 Build 123) -->
|
|
4
|
+
<defs>
|
|
5
|
+
<style>
|
|
6
|
+
.st0 {
|
|
7
|
+
fill: url(#linear-gradient2);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.st1 {
|
|
11
|
+
fill: url(#linear-gradient1);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.st2 {
|
|
15
|
+
fill: url(#linear-gradient);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.st3 {
|
|
19
|
+
fill: #18181e;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.st4 {
|
|
23
|
+
display: none;
|
|
24
|
+
}
|
|
25
|
+
</style>
|
|
26
|
+
<linearGradient id="linear-gradient" x1="23.3" y1="4648.4" x2="87.1" y2="4698" gradientTransform="translate(0 -4599.1)" gradientUnits="userSpaceOnUse">
|
|
27
|
+
<stop offset=".3" stop-color="#45ede9"/>
|
|
28
|
+
<stop offset=".9" stop-color="#261966"/>
|
|
29
|
+
</linearGradient>
|
|
30
|
+
<linearGradient id="linear-gradient1" x1="83.8" y1="4706.9" x2="109.5" y2="4617.5" gradientTransform="translate(0 -4599.1)" gradientUnits="userSpaceOnUse">
|
|
31
|
+
<stop offset=".3" stop-color="#45ede9"/>
|
|
32
|
+
<stop offset=".9" stop-color="#261966"/>
|
|
33
|
+
</linearGradient>
|
|
34
|
+
<linearGradient id="linear-gradient2" x1="110.2" y1="4616.6" x2="29.5" y2="4643.4" gradientTransform="translate(0 -4599.1)" gradientUnits="userSpaceOnUse">
|
|
35
|
+
<stop offset=".3" stop-color="#45ede9"/>
|
|
36
|
+
<stop offset=".9" stop-color="#261966"/>
|
|
37
|
+
</linearGradient>
|
|
38
|
+
</defs>
|
|
39
|
+
<g id="Layer_1-2">
|
|
40
|
+
<g>
|
|
41
|
+
<g class="st4">
|
|
42
|
+
<polygon class="st3" points="-8.5 141.1 -8.5 144.7 -15.5 144.7 -15.5 163.9 -20 163.9 -20 144.7 -26.9 144.7 -26.9 141.1 -8.5 141.1"/>
|
|
43
|
+
<path class="st3" d="M4.9,155c0-1.7-.3-3.1-.8-4.4-.6-1.2-1.4-2.2-2.5-2.9-1.1-.7-2.5-1-4.1-1s-2.9.4-4.1,1.1c-1.2.7-2.1,1.8-2.7,3.1s-1,2.8-1,4.6v.6c0,1.5.3,2.9,1,4.1.7,1.2,1.6,2.2,2.9,3,1.2.7,2.7,1.1,4.5,1.1s3.1-.3,4.1-1c1.1-.6,1.9-1.4,2.4-2.1l-2.2-2.3c-.5.7-1.1,1.1-1.8,1.5-.7.3-1.5.5-2.3.5s-1.7-.2-2.3-.6-1.1-1-1.5-1.7c-.2-.5-.4-1-.5-1.6H4.9v-1.8h0s0,0,0,0ZM.7,153.8h-6.6c0-.4.2-.8.3-1.2.3-.8.6-1.4,1.2-1.9.5-.5,1.2-.7,2-.7s1.3.2,1.8.5c.5.3.8.7,1,1.2.2.5.3,1.1.4,1.7v.3h0Z"/>
|
|
44
|
+
<path class="st3" d="M21.6,162.1c-.1-.6-.2-1.3-.2-2.2v-7.3c0-1.3-.3-2.4-.9-3.3s-1.4-1.5-2.4-2c-1-.4-2.2-.7-3.5-.7s-2.7.2-3.8.7-1.9,1.1-2.5,2c-.6.8-.9,1.7-.9,2.7h4.3c0-.4.1-.8.3-1.1s.5-.6.9-.7c.4-.2.8-.3,1.4-.3.9,0,1.6.2,2,.7s.6,1.1.6,2v1h-2.1c-2.5,0-4.5.5-5.8,1.5-1.3,1-2,2.3-2,4.1s.3,1.9.8,2.6,1.2,1.4,2.1,1.8c.9.4,1.8.6,2.9.6s1.6-.1,2.2-.4c.6-.3,1.2-.6,1.6-1,.2-.2.3-.3.5-.5.1.6.3,1.1.4,1.5h4.4v-.3c-.2-.4-.4-1-.5-1.6h0s0,0,0,0ZM16.9,159.4c-.3.4-.7.8-1.2,1-.5.3-1.1.4-1.8.4s-1.3-.2-1.7-.6c-.4-.4-.6-.9-.6-1.5s.3-1.4.9-1.9c.6-.5,1.5-.8,2.8-.8h1.9v3c0,.1-.1.2-.2.3h0Z"/>
|
|
45
|
+
<path class="st3" d="M49,153.1v10.8h-4.3v-10.9c0-.8-.1-1.4-.3-1.8-.2-.4-.5-.7-.9-.9-.4-.2-.9-.2-1.4-.2s-1,.1-1.4.3-.8.5-1,.9c-.2.3-.4.6-.5.9,0,.1,0,.3,0,.4v11.3h-4.3v-10.8c0-.8-.1-1.4-.3-1.8-.2-.4-.5-.7-.9-.9-.4-.2-.9-.3-1.4-.3s-1.2.1-1.6.4-.8.6-1.1,1c0,0-.1.2-.2.3v12.1h-4.3v-16.9h4.1v1.8c.5-.4.9-.8,1.3-1.1,1-.7,2.2-1.1,3.7-1.1s2.8.5,3.7,1.4c.3.3.6.7.8,1.2.4-.6.9-1.1,1.5-1.5,1-.7,2.2-1.1,3.6-1.1s2.1.2,2.9.6c.8.4,1.4,1.1,1.9,2,.4.9.7,2.2.7,3.7h0s0,0,0,0Z"/>
|
|
46
|
+
<path class="st3" d="M69,146.3c-.9-1.6-2.1-2.9-3.6-3.8-1.6-.9-3.4-1.4-5.4-1.4h-6.9v22.8h6.9c2.1,0,3.9-.5,5.5-1.4,1.6-.9,2.8-2.2,3.7-3.8.9-1.6,1.3-3.5,1.3-5.7v-1.1c0-2.2-.4-4.1-1.3-5.7h0,0ZM65.7,153c0,1.5-.2,2.9-.7,3.9-.4,1.1-1.1,1.9-2,2.5-.9.6-2,.8-3.3.8h-2.4v-15.6h2.4c1.3,0,2.3.3,3.2.8s1.5,1.4,2,2.4c.4,1.1.7,2.4.7,4v1.1h0Z"/>
|
|
47
|
+
<path class="st3" d="M87.6,147l-6.8,19.5c-.2.4-.4.9-.6,1.4-.3.5-.6,1-1,1.4-.4.4-.9.8-1.5,1.1-.6.3-1.4.4-2.2.4s-.5,0-.7,0c-.2,0-.4,0-.6-.1s-.4-.1-.6-.2v-3.3c.1,0,.2,0,.4,0,.1,0,.2,0,.3,0,.9,0,1.6-.2,2-.5.4-.3.8-.8,1-1.5l.5-1.3-5.9-16.9h4.6l3.3,10.8,3.2-10.8h4.6s0,0,0,0Z"/>
|
|
48
|
+
<path class="st3" d="M104,153.1v10.8h-4.3v-10.8c0-.7-.1-1.3-.3-1.7s-.5-.7-.9-.9c-.4-.2-.9-.3-1.5-.3s-1.1.1-1.6.4c-.5.2-.8.6-1.2,1-.1.1-.2.3-.3.4v12h-4.3v-16.9h4v2c.5-.5,1-.9,1.5-1.3,1-.7,2.2-1,3.5-1s2,.2,2.8.6c.8.4,1.4,1.1,1.9,2,.4.9.7,2.2.7,3.8h0,0Z"/>
|
|
49
|
+
<path class="st3" d="M121,162.1c-.1-.6-.2-1.3-.2-2.2v-7.3c0-1.3-.3-2.4-.9-3.3-.6-.9-1.4-1.5-2.4-2-1-.4-2.2-.7-3.5-.7s-2.7.2-3.8.7-1.9,1.1-2.5,2c-.6.8-.9,1.7-.9,2.7h4.3c0-.4.1-.8.3-1.1s.5-.6.9-.7c.4-.2.8-.3,1.4-.3.9,0,1.6.2,2,.7s.6,1.1.6,2v1h-2.1c-2.5,0-4.5.5-5.8,1.5-1.3,1-2,2.3-2,4.1s.3,1.9.8,2.6c.5.8,1.2,1.4,2.1,1.8.9.4,1.8.6,2.9.6s1.6-.1,2.2-.4c.6-.3,1.2-.6,1.6-1,.2-.2.3-.3.5-.5.1.6.3,1.1.4,1.5h4.4v-.3c-.2-.4-.4-1-.5-1.6h0s0,0,0,0ZM116.3,159.4c-.3.4-.7.8-1.2,1s-1.1.4-1.8.4-1.3-.2-1.7-.6c-.4-.4-.6-.9-.6-1.5s.3-1.4.9-1.9c.6-.5,1.5-.8,2.8-.8h1.9v3c0,.1-.1.2-.2.3h0Z"/>
|
|
50
|
+
<path class="st3" d="M148.6,153.1v10.8h-4.3v-10.9c0-.8-.1-1.4-.3-1.8-.2-.4-.5-.7-.9-.9-.4-.2-.9-.2-1.4-.2s-1,.1-1.4.3c-.4.2-.8.5-1,.9-.2.3-.3.6-.5.9,0,.1,0,.3,0,.4v11.3h-4.3v-10.8c0-.8-.1-1.4-.3-1.8-.2-.4-.5-.7-.9-.9-.4-.2-.9-.3-1.4-.3s-1.2.1-1.6.4c-.4.2-.8.6-1.1,1,0,0-.1.2-.2.3v12.1h-4.3v-16.9h4.1v1.8c.5-.4.9-.8,1.3-1.1,1-.7,2.2-1.1,3.7-1.1s2.8.5,3.7,1.4c.3.3.6.7.8,1.2.4-.6.9-1.1,1.5-1.5,1-.7,2.2-1.1,3.6-1.1s2.1.2,2.9.6c.8.4,1.4,1.1,1.9,2,.4.9.7,2.2.7,3.7h0s0,0,0,0Z"/>
|
|
51
|
+
<path class="st3" d="M151.9,142.6c0-.6.2-1.2.6-1.6.4-.4,1-.6,1.8-.6s1.3.2,1.8.6c.4.4.7,1,.7,1.6s-.2,1.2-.7,1.6-1,.6-1.8.6-1.3-.2-1.8-.6c-.4-.4-.6-1-.6-1.6ZM156.4,163.9h-4.3v-16.9h4.3v16.9Z"/>
|
|
52
|
+
<path class="st3" d="M166.6,152.2l3-5.2h4.6l-4.9,8.3,5.1,8.6h-4.6l-3.1-5.5-3.1,5.5h-4.7l5.1-8.6-4.9-8.3h4.7l2.9,5.2h0Z"/>
|
|
53
|
+
</g>
|
|
54
|
+
<g>
|
|
55
|
+
<path class="st2" d="M20.5,29c-.6,1.7-.9,3.4-.9,5.2,0,13.7,18.8,25.2,43.7,27.7,3.4.3,6.9.5,10.4.5s7.1-.2,10.4-.5c10.3,22.8,9.8,44.8-2.1,51.7-1.5.9-3.1,1.4-4.8,1.8-1.2.2-2.4.3-3.5.3-1.1,0-2.3-.1-3.5-.3-12.8-2.2-28.5-15.2-39.7-34.6-11.2-19.4-14.7-39.6-10.1-51.8h0Z"/>
|
|
56
|
+
<path class="st1" d="M73.8,43.8c14.7-20.3,34-30.9,45.8-24,1.3.7,2.4,1.6,3.4,2.7v.2c.1,0,.3.2.3.2,0,0,.2.2.2.3,0,0,0,0,0,0,0,0,.1.1.2.2.1.1.2.3.3.4,0,0,.1.2.2.3,0,0,0,.1.1.1,0,0,0,.1.1.2,0,0,0,.1.1.2,0,0,0,.1.1.2,0,0,0,.1.1.2,0,0,0,0,0,.1,0,0,.1.2.2.3h0c0,0,.1.2.2.3,0,.1.2.3.2.4,0,.1.2.3.2.4,0,0,0,.2.1.3,0,0,0,0,0,.1,0,0,0,.2.1.2,0,0,0,.2.1.2,0,0,0,.1,0,.2s0,.1,0,.2h0c0,0,0,.2.1.2,0,.1.1.2.1.3,5.2,12.1,1.9,32.8-9.6,52.8-11.2,19.3-26.8,32.4-39.7,34.6,1.7-.3,3.3-.9,4.8-1.8,11.9-6.9,12.4-28.9,2.1-51.7-1.4-3.1-3-6.2-4.8-9.3-1.8-3.1-3.7-6-5.7-8.8h0Z"/>
|
|
57
|
+
<path class="st0" d="M19.6,34.2c0-1.8.3-3.5.9-5.2.3-.9.7-1.7,1.1-2.5.7-1.3,1.6-2.6,2.7-3.8,8.5-9.8,27.4-16.7,49.5-16.7s40.7,6.8,49.3,16.5c-1-1.1-2.2-2-3.4-2.7-11.9-6.9-31.2,3.7-45.8,24-2,2.7-3.9,5.7-5.7,8.8-1.8,3.1-3.4,6.2-4.8,9.3-24.9-2.5-43.7-14-43.7-27.7h0Z"/>
|
|
58
|
+
</g>
|
|
59
|
+
</g>
|
|
60
|
+
</g>
|
|
61
|
+
</svg>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.additionalFields = void 0;
|
|
4
|
+
exports.additionalFields = [
|
|
5
|
+
{
|
|
6
|
+
displayName: 'Additional Fields',
|
|
7
|
+
name: 'additionalFields',
|
|
8
|
+
type: 'collection',
|
|
9
|
+
default: {},
|
|
10
|
+
placeholder: 'Add Field',
|
|
11
|
+
displayOptions: {
|
|
12
|
+
show: {
|
|
13
|
+
resource: ['ticketCreation'],
|
|
14
|
+
operation: ['createTicket'],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
options: [
|
|
18
|
+
{
|
|
19
|
+
displayName: 'Apply Defaults',
|
|
20
|
+
description: 'Indicates whether or not to apply default values for properties that are not specified',
|
|
21
|
+
name: 'applyDefaults',
|
|
22
|
+
type: 'boolean',
|
|
23
|
+
default: true,
|
|
24
|
+
routing: {
|
|
25
|
+
request: {
|
|
26
|
+
qs: {
|
|
27
|
+
ApplyDefaults: '={{ $value }}',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
displayName: 'Enable Notify Reviewer',
|
|
34
|
+
name: 'enableNotifyReviewer',
|
|
35
|
+
description: 'Whether reviewer notifications should be enabled.',
|
|
36
|
+
type: 'boolean',
|
|
37
|
+
default: false,
|
|
38
|
+
routing: {
|
|
39
|
+
request: {
|
|
40
|
+
qs: {
|
|
41
|
+
EnableNotifyReviewer: '={{ $value }}',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
displayName: 'Notify Requestor',
|
|
48
|
+
name: 'notifyRequestor',
|
|
49
|
+
description: 'Whether the requestor should be notified on ticket creation.',
|
|
50
|
+
type: 'boolean',
|
|
51
|
+
default: false,
|
|
52
|
+
routing: {
|
|
53
|
+
request: {
|
|
54
|
+
qs: {
|
|
55
|
+
NotifyRequestor: '={{ $value }}',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
displayName: 'Notify Responsible',
|
|
62
|
+
name: 'notifyResponsible',
|
|
63
|
+
description: 'Whether the responsible resource(s) should be notified on ticket creation.',
|
|
64
|
+
type: 'boolean',
|
|
65
|
+
default: false,
|
|
66
|
+
routing: {
|
|
67
|
+
request: {
|
|
68
|
+
qs: {
|
|
69
|
+
NotifyResponsible: '={{ $value }}',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
displayName: 'Allow Requestor Creation',
|
|
76
|
+
name: 'allowRequestorCreation',
|
|
77
|
+
description: 'Whether a requestor should be created if an existing person with matching information cannot be found.',
|
|
78
|
+
type: 'boolean',
|
|
79
|
+
default: true,
|
|
80
|
+
routing: {
|
|
81
|
+
request: {
|
|
82
|
+
qs: {
|
|
83
|
+
AllowRequestorCreation: '={{ $value }}',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
displayName: 'Prefer Requestor Account and Priority',
|
|
90
|
+
name: 'preferRequestorAccountAndPriority',
|
|
91
|
+
description: 'Whether the account and priority associated with the ticket should be the requestors default account and priority, or from the supplied Account ID and Priority ID.',
|
|
92
|
+
type: 'boolean',
|
|
93
|
+
default: false,
|
|
94
|
+
routing: {
|
|
95
|
+
request: {
|
|
96
|
+
qs: {
|
|
97
|
+
PreferRequestorAccountAndPriority: '={{ $value }}',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
//# sourceMappingURL=additionalFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"additionalFields.js","sourceRoot":"","sources":["../../fields/additionalFields.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAsB;IAIlD;QACC,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,WAAW;QACxB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,SAAS,EAAE,CAAC,cAAc,CAAC;aAC3B;SACD;QAED,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,WAAW,EAAE,wFAAwF;gBACrG,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,aAAa,EAAE,eAAe;yBAC9B;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,mDAAmD;gBAChE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACR,OAAO,EAAE;wBAER,EAAE,EAAE;4BACH,oBAAoB,EAAE,eAAe;yBACrC;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,8DAA8D;gBAC3E,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,eAAe,EAAE,eAAe;yBAChC;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,4EAA4E;gBACzF,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,iBAAiB,EAAE,eAAe;yBAClC;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,0BAA0B;gBACvC,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,wGAAwG;gBACrH,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,sBAAsB,EAAE,eAAe;yBACvC;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,uCAAuC;gBACpD,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,qKAAqK;gBAClL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,iCAAiC,EAAE,eAAe;yBAClD;qBACD;iBACD;aACD;SACD;KACD;CAmCD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonFields.js","sourceRoot":"","sources":["../../fields/commonFields.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAsB,EAE9C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.allFields = void 0;
|
|
18
|
+
__exportStar(require("./commonFields"), exports);
|
|
19
|
+
__exportStar(require("./additionalFields"), exports);
|
|
20
|
+
const commonFields_1 = require("./commonFields");
|
|
21
|
+
const additionalFields_1 = require("./additionalFields");
|
|
22
|
+
exports.allFields = [...commonFields_1.commonFields, ...additionalFields_1.additionalFields];
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fields/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,iDAA+B;AAC/B,qDAAmC;AAGnC,iDAA8C;AAC9C,yDAAsD;AAGzC,QAAA,SAAS,GAAsB,CAAC,GAAG,2BAAY,EAAE,GAAG,mCAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IExecuteSingleFunctions, IHttpRequestOptions } from 'n8n-workflow';
|
|
2
|
+
export declare function getBaseUrl(environment?: string): string;
|
|
3
|
+
export declare function setBaseApiUrl(this: IExecuteSingleFunctions, requestOptions: IHttpRequestOptions): Promise<IHttpRequestOptions>;
|