opal-security 3.1.1-beta.7610828 → 3.1.1-beta.7648ca2
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 +18 -18
- package/lib/commands/request/create.js +5 -5
- package/lib/commands/request/get.d.ts +1 -0
- package/lib/commands/request/get.js +10 -3
- package/lib/commands/request/list.d.ts +3 -3
- package/lib/commands/request/list.js +18 -18
- package/lib/graphql/gql.d.ts +14 -4
- package/lib/graphql/gql.js +4 -2
- package/lib/graphql/graphql.d.ts +96 -1
- package/lib/graphql/graphql.js +659 -30
- package/lib/lib/requests.d.ts +8 -4
- package/lib/lib/requests.js +468 -124
- package/lib/utils/displays.d.ts +3 -2
- package/lib/utils/displays.js +49 -35
- package/oclif.manifest.json +22 -17
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ $ npm install -g opal-security
|
|
|
22
22
|
$ opal COMMAND
|
|
23
23
|
running command...
|
|
24
24
|
$ opal (--version)
|
|
25
|
-
opal-security/3.1.1-beta.
|
|
25
|
+
opal-security/3.1.1-beta.7648ca2 linux-x64 node-v20.19.2
|
|
26
26
|
$ opal --help [COMMAND]
|
|
27
27
|
USAGE
|
|
28
28
|
$ opal COMMAND
|
|
@@ -101,7 +101,7 @@ EXAMPLES
|
|
|
101
101
|
$ opal aws:identity
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
_See code: [src/commands/aws/identity.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
104
|
+
_See code: [src/commands/aws/identity.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/aws/identity.ts)_
|
|
105
105
|
|
|
106
106
|
## `opal clear-auth-provider`
|
|
107
107
|
|
|
@@ -121,7 +121,7 @@ EXAMPLES
|
|
|
121
121
|
$ opal clear-auth-provider
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
_See code: [src/commands/clear-auth-provider.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
124
|
+
_See code: [src/commands/clear-auth-provider.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/clear-auth-provider.ts)_
|
|
125
125
|
|
|
126
126
|
## `opal curl-example`
|
|
127
127
|
|
|
@@ -138,7 +138,7 @@ DESCRIPTION
|
|
|
138
138
|
Prints out an example cURL command containing the parameters the CLI uses to query the Opal server.
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
_See code: [src/commands/curl-example.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
141
|
+
_See code: [src/commands/curl-example.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/curl-example.ts)_
|
|
142
142
|
|
|
143
143
|
## `opal groups get`
|
|
144
144
|
|
|
@@ -159,7 +159,7 @@ EXAMPLES
|
|
|
159
159
|
$ opal groups:get --id 54052a3e-5375-4392-aeaf-0c6c44c131d4
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
_See code: [src/commands/groups/get.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
162
|
+
_See code: [src/commands/groups/get.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/groups/get.ts)_
|
|
163
163
|
|
|
164
164
|
## `opal help [COMMANDS]`
|
|
165
165
|
|
|
@@ -209,7 +209,7 @@ EXAMPLES
|
|
|
209
209
|
$ opal iam-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --profileName "custom-profile"
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
_See code: [src/commands/iam-roles/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
212
|
+
_See code: [src/commands/iam-roles/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/iam-roles/start.ts)_
|
|
213
213
|
|
|
214
214
|
## `opal kube-roles start`
|
|
215
215
|
|
|
@@ -240,7 +240,7 @@ EXAMPLES
|
|
|
240
240
|
$ opal kube-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId "arn:aws:iam::712234975475:role/acme-eks-cluster-admin-role"
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
_See code: [src/commands/kube-roles/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
243
|
+
_See code: [src/commands/kube-roles/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/kube-roles/start.ts)_
|
|
244
244
|
|
|
245
245
|
## `opal login`
|
|
246
246
|
|
|
@@ -261,7 +261,7 @@ EXAMPLES
|
|
|
261
261
|
$ opal login
|
|
262
262
|
```
|
|
263
263
|
|
|
264
|
-
_See code: [src/commands/login.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
264
|
+
_See code: [src/commands/login.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/login.ts)_
|
|
265
265
|
|
|
266
266
|
## `opal logout`
|
|
267
267
|
|
|
@@ -281,7 +281,7 @@ EXAMPLES
|
|
|
281
281
|
$ opal logout
|
|
282
282
|
```
|
|
283
283
|
|
|
284
|
-
_See code: [src/commands/logout.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
284
|
+
_See code: [src/commands/logout.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/logout.ts)_
|
|
285
285
|
|
|
286
286
|
## `opal postgres-instances start`
|
|
287
287
|
|
|
@@ -318,7 +318,7 @@ EXAMPLES
|
|
|
318
318
|
$ opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId fullaccess --action view
|
|
319
319
|
```
|
|
320
320
|
|
|
321
|
-
_See code: [src/commands/postgres-instances/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
321
|
+
_See code: [src/commands/postgres-instances/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/postgres-instances/start.ts)_
|
|
322
322
|
|
|
323
323
|
## `opal resources get`
|
|
324
324
|
|
|
@@ -339,7 +339,7 @@ EXAMPLES
|
|
|
339
339
|
$ opal resources:get --id 54052a3e-5375-4392-aeaf-0c6c44c131d4
|
|
340
340
|
```
|
|
341
341
|
|
|
342
|
-
_See code: [src/commands/resources/get.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
342
|
+
_See code: [src/commands/resources/get.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/resources/get.ts)_
|
|
343
343
|
|
|
344
344
|
## `opal set-auth-provider`
|
|
345
345
|
|
|
@@ -365,7 +365,7 @@ EXAMPLES
|
|
|
365
365
|
$ opal set-auth-provider --clientID 1234asdf --issuerUrl https://auth.example.com
|
|
366
366
|
```
|
|
367
367
|
|
|
368
|
-
_See code: [src/commands/set-auth-provider.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
368
|
+
_See code: [src/commands/set-auth-provider.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/set-auth-provider.ts)_
|
|
369
369
|
|
|
370
370
|
## `opal set-custom-header`
|
|
371
371
|
|
|
@@ -386,7 +386,7 @@ EXAMPLES
|
|
|
386
386
|
$ opal set-custom-header --header 'cf-access-token: $TOKEN'
|
|
387
387
|
```
|
|
388
388
|
|
|
389
|
-
_See code: [src/commands/set-custom-header.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
389
|
+
_See code: [src/commands/set-custom-header.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/set-custom-header.ts)_
|
|
390
390
|
|
|
391
391
|
## `opal set-token`
|
|
392
392
|
|
|
@@ -406,7 +406,7 @@ EXAMPLES
|
|
|
406
406
|
$ opal set-token
|
|
407
407
|
```
|
|
408
408
|
|
|
409
|
-
_See code: [src/commands/set-token.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
409
|
+
_See code: [src/commands/set-token.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/set-token.ts)_
|
|
410
410
|
|
|
411
411
|
## `opal set-url [URL]`
|
|
412
412
|
|
|
@@ -430,7 +430,7 @@ EXAMPLES
|
|
|
430
430
|
$ opal set-url
|
|
431
431
|
```
|
|
432
432
|
|
|
433
|
-
_See code: [src/commands/set-url.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
433
|
+
_See code: [src/commands/set-url.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/set-url.ts)_
|
|
434
434
|
|
|
435
435
|
## `opal ssh copyFrom`
|
|
436
436
|
|
|
@@ -461,7 +461,7 @@ EXAMPLES
|
|
|
461
461
|
$ opal ssh:copyFrom --src instance/dir --dest my/dir --id 51f7176b-0464-4a6f-8369-e951e187b398
|
|
462
462
|
```
|
|
463
463
|
|
|
464
|
-
_See code: [src/commands/ssh/copyFrom.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
464
|
+
_See code: [src/commands/ssh/copyFrom.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/ssh/copyFrom.ts)_
|
|
465
465
|
|
|
466
466
|
## `opal ssh copyTo`
|
|
467
467
|
|
|
@@ -492,7 +492,7 @@ EXAMPLES
|
|
|
492
492
|
$ opal ssh:copyTo --src my/dir --dest instance/dir --id 51f7176b-0464-4a6f-8369-e951e187b398
|
|
493
493
|
```
|
|
494
494
|
|
|
495
|
-
_See code: [src/commands/ssh/copyTo.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
495
|
+
_See code: [src/commands/ssh/copyTo.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/ssh/copyTo.ts)_
|
|
496
496
|
|
|
497
497
|
## `opal ssh start`
|
|
498
498
|
|
|
@@ -519,7 +519,7 @@ EXAMPLES
|
|
|
519
519
|
$ opal ssh:start --id 51f7176b-0464-4a6f-8369-e951e187b398
|
|
520
520
|
```
|
|
521
521
|
|
|
522
|
-
_See code: [src/commands/ssh/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.
|
|
522
|
+
_See code: [src/commands/ssh/start.ts](https://github.com/opalsecurity/opal-cli/blob/v3.1.1-beta.7648ca2/src/commands/ssh/start.ts)_
|
|
523
523
|
|
|
524
524
|
## `opal version`
|
|
525
525
|
|
|
@@ -10,7 +10,7 @@ class RequestCreate extends core_1.Command {
|
|
|
10
10
|
await (0, apollo_1.initClient)(this, true);
|
|
11
11
|
const client = await (0, apollo_1.getClient)(this, true);
|
|
12
12
|
(0, utils_1.restrictToDev)(); //TODO: Remove after development is complete
|
|
13
|
-
const metadata = (0, requests_1.
|
|
13
|
+
const metadata = (0, requests_1.initEmptyRequestMetadata)();
|
|
14
14
|
(0, displays_1.headerMessage)(this);
|
|
15
15
|
let shouldProceed = false;
|
|
16
16
|
while (!shouldProceed) {
|
|
@@ -25,13 +25,13 @@ class RequestCreate extends core_1.Command {
|
|
|
25
25
|
// Step 4: Set Request Defaults
|
|
26
26
|
await (0, requests_1.setRequestDefaults)(this, client, metadata);
|
|
27
27
|
// Step 4: Prompt for request reason
|
|
28
|
-
|
|
28
|
+
await (0, requests_1.promptForReason)(metadata);
|
|
29
29
|
// Step 5: Prompt for expiration
|
|
30
|
-
|
|
30
|
+
await (0, requests_1.promptForExpiration)(metadata);
|
|
31
31
|
// Step 6: Display final summary of request
|
|
32
|
-
(0, displays_1.displayFinalRequestSummary)(this, metadata
|
|
32
|
+
(0, displays_1.displayFinalRequestSummary)(this, metadata);
|
|
33
33
|
// Step 7: Prompt for final submition
|
|
34
|
-
await (0, requests_1.submitFinalRequest)(this);
|
|
34
|
+
await (0, requests_1.submitFinalRequest)(this, client, metadata);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
RequestCreate.hidden = true;
|
|
@@ -7,5 +7,6 @@ export default class GetRequest extends Command {
|
|
|
7
7
|
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
8
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
9
|
};
|
|
10
|
+
static examples: string[];
|
|
10
11
|
run(): Promise<void>;
|
|
11
12
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@oclif/core");
|
|
4
|
+
const chalk_1 = require("chalk");
|
|
4
5
|
const graphql_1 = require("../../graphql");
|
|
5
6
|
const apollo_1 = require("../../lib/apollo");
|
|
6
7
|
const cmd_1 = require("../../lib/cmd");
|
|
@@ -76,15 +77,17 @@ class GetRequest extends core_1.Command {
|
|
|
76
77
|
fetchPolicy: "network-only", // to avoid caching
|
|
77
78
|
});
|
|
78
79
|
switch (resp.data.request.__typename) {
|
|
79
|
-
case "RequestResult":
|
|
80
|
+
case "RequestResult": {
|
|
80
81
|
if (flags.verbose) {
|
|
81
82
|
(0, apollo_1.printResponse)(this, resp);
|
|
82
83
|
}
|
|
83
84
|
else {
|
|
84
85
|
(0, displays_1.displayRequestDetails)(this, resp);
|
|
85
86
|
}
|
|
86
|
-
|
|
87
|
+
const url = `${configData[config_1.urlKey]}/requests/sent/${flags.id}`;
|
|
88
|
+
this.log(`\n💡Link to request details: ${chalk_1.default.underline(url)}`);
|
|
87
89
|
return;
|
|
90
|
+
}
|
|
88
91
|
case "RequestNotFoundError":
|
|
89
92
|
this.log(`🚫 Request with id ${flags.id} was not found`);
|
|
90
93
|
return;
|
|
@@ -100,8 +103,12 @@ GetRequest.flags = {
|
|
|
100
103
|
id: flags_1.SHARED_FLAGS.id,
|
|
101
104
|
verbose: core_1.Flags.boolean({
|
|
102
105
|
char: "v",
|
|
103
|
-
description: "Enable verbose output",
|
|
106
|
+
description: "Enable verbose output, prints full response in JSON format. Defaults to false.",
|
|
104
107
|
default: false,
|
|
105
108
|
}),
|
|
106
109
|
};
|
|
110
|
+
GetRequest.examples = [
|
|
111
|
+
"opal request get --id 54052a3e-5375-4392-aeaf-0c6c44c131d4",
|
|
112
|
+
"opal request get --id 54052a3e-5375-4392-aeaf-0c6c44c131d4 --verbose",
|
|
113
|
+
];
|
|
107
114
|
exports.default = GetRequest;
|
|
@@ -2,11 +2,11 @@ import { Command } from "@oclif/core";
|
|
|
2
2
|
export default class ListRequests extends Command {
|
|
3
3
|
static hidden: boolean;
|
|
4
4
|
static description: string;
|
|
5
|
+
static examples: string[];
|
|
5
6
|
static flags: {
|
|
6
7
|
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
showPendingOnly: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
n: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
pending: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
11
|
};
|
|
12
12
|
run(): Promise<void>;
|
|
@@ -4,7 +4,6 @@ const core_1 = require("@oclif/core");
|
|
|
4
4
|
const graphql_1 = require("../../graphql");
|
|
5
5
|
const apollo_1 = require("../../lib/apollo");
|
|
6
6
|
const cmd_1 = require("../../lib/cmd");
|
|
7
|
-
const config_1 = require("../../lib/config");
|
|
8
7
|
const flags_1 = require("../../lib/flags");
|
|
9
8
|
const displays_1 = require("../../utils/displays");
|
|
10
9
|
const utils_1 = require("../../utils/utils");
|
|
@@ -62,19 +61,12 @@ class ListRequests extends core_1.Command {
|
|
|
62
61
|
async run() {
|
|
63
62
|
(0, utils_1.restrictToDev)(); //TODO: Remove after development is complete
|
|
64
63
|
(0, cmd_1.setMostRecentCommand)(this);
|
|
65
|
-
const configData = (0, config_1.getOrCreateConfigData)(this.config.configDir);
|
|
66
64
|
const client = await (0, apollo_1.getClient)(this, true);
|
|
67
65
|
let pageSize = 10;
|
|
68
66
|
let showPendingOnly = false;
|
|
69
67
|
const { flags } = await this.parse(ListRequests);
|
|
70
|
-
if (flags.
|
|
71
|
-
|
|
72
|
-
this.error("pageSize must be greater than 0");
|
|
73
|
-
}
|
|
74
|
-
if (flags.pageSize > 100) {
|
|
75
|
-
this.error("pageSize must be less than 100");
|
|
76
|
-
}
|
|
77
|
-
pageSize = flags.pageSize;
|
|
68
|
+
if (flags.n) {
|
|
69
|
+
pageSize = flags.pageSinze;
|
|
78
70
|
}
|
|
79
71
|
if (flags.showPendingOnly) {
|
|
80
72
|
showPendingOnly = flags.showPendingOnly;
|
|
@@ -97,24 +89,32 @@ class ListRequests extends core_1.Command {
|
|
|
97
89
|
}
|
|
98
90
|
}
|
|
99
91
|
ListRequests.hidden = true;
|
|
100
|
-
ListRequests.description = "Lists your recent outgoing access requests
|
|
101
|
-
|
|
102
|
-
|
|
92
|
+
ListRequests.description = "Lists your n recent outgoing access requests";
|
|
93
|
+
ListRequests.examples = [
|
|
94
|
+
"opal request list --n 5",
|
|
95
|
+
"opal request list --n 5 --pending",
|
|
96
|
+
"opal request list --n 5 --verbose",
|
|
97
|
+
"opal request list --n 5 --pending --verbose",
|
|
98
|
+
];
|
|
103
99
|
// static aliases = ["request:ls"]; // uncomment when ready for release
|
|
104
100
|
ListRequests.flags = {
|
|
105
101
|
help: flags_1.SHARED_FLAGS.help,
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
n: core_1.Flags.integer({
|
|
103
|
+
char: "n",
|
|
108
104
|
multiple: false,
|
|
109
|
-
description: "
|
|
105
|
+
description: "Defines number of requests to be returned. 1 <= n <= 100.",
|
|
106
|
+
default: 10,
|
|
107
|
+
min: 1,
|
|
108
|
+
max: 100,
|
|
110
109
|
}),
|
|
111
|
-
|
|
110
|
+
pending: core_1.Flags.boolean({
|
|
111
|
+
char: "p",
|
|
112
112
|
description: "Show only pending requests. Defaults to false.",
|
|
113
113
|
default: false,
|
|
114
114
|
}),
|
|
115
115
|
verbose: core_1.Flags.boolean({
|
|
116
116
|
char: "v",
|
|
117
|
-
description: "Enable verbose output",
|
|
117
|
+
description: "Enable verbose output, prints full response in JSON format. Defaults to false.",
|
|
118
118
|
default: false,
|
|
119
119
|
}),
|
|
120
120
|
};
|
package/lib/graphql/gql.d.ts
CHANGED
|
@@ -18,8 +18,10 @@ type Documents = {
|
|
|
18
18
|
"\nquery CheckAuthSessionQuery {\n organizationSettings {\n ... on OrganizationSettingsResult {\n settings {\n id\n }\n }\n }\n}\n": typeof types.CheckAuthSessionQueryDocument;
|
|
19
19
|
'\n query GetRequestableAppsQuery($searchQuery: String) {\n appsV2(\n filters: {\n access: REQUESTABLE\n searchQuery: $searchQuery\n }\n ) @connection(key: "paginated-app-dropdown") {\n edges {\n node {\n id\n displayName\n ... on Connection {\n connectionType\n }\n ... on Resource {\n resourceType\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n ': typeof types.GetRequestableAppsQueryDocument;
|
|
20
20
|
"\n query PaginatedEntityDropdown(\n $id: UUID!\n $searchQuery: String\n) {\n app(id: $id) {\n __typename\n ... on App {\n id\n items(\n input: {\n access: REQUESTABLE\n searchQuery: $searchQuery\n includeOnlyRequestable: true\n }\n ) {\n items {\n key\n resource {\n id\n name\n }\n group {\n id\n name\n }\n }\n cursor\n }\n }\n ... on AppNotFoundError {\n message\n }\n }\n}\n": typeof types.PaginatedEntityDropdownDocument;
|
|
21
|
-
"\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n
|
|
22
|
-
"\
|
|
21
|
+
"\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n": typeof types.ResourceAccessLevelsDocument;
|
|
22
|
+
"\nquery GroupAccessLevels($groupId: GroupId!) {\n groupAccessLevels(\n input: { groupId: $groupId }\n ) {\n ... on GroupAccessLevelsResult {\n groupId\n accessLevels {\n ... on GroupAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n}\n": typeof types.GroupAccessLevelsDocument;
|
|
23
|
+
"\n query RequestDefaults(\n $requestedResources: [RequestConfigurationResourceInput!]!\n $requestedGroups: [RequestConfigurationGroupInput!]!\n ) {\n requestDefaults(input: {\n requestedResources: $requestedResources,\n requestedGroups: $requestedGroups,\n }\n ) {\n ... on RequestDefaults {\n durationOptions {\n durationInMinutes\n label\n }\n recommendedDurationInMinutes\n defaultDurationInMinutes\n maxDurationInMinutes\n requireSupportTicket\n reasonOptional\n requesterIsAdmin\n }\n }\n }": typeof types.RequestDefaultsDocument;
|
|
24
|
+
"\n mutation CreateRequest(\n $requestedResources: [RequestedResourceInput!]!\n $requestedGroups: [RequestedGroupInput!]!\n $reason: String!\n $durationInMinutes: Int\n ) {\n createRequest(\n input: {\n requestedResources: $requestedResources\n requestedGroups: $requestedGroups\n reason: $reason\n durationInMinutes: $durationInMinutes\n }\n ) {\n ... on CreateRequestResult {\n request {\n id\n status\n }\n }\n ... on RequestDurationTooLargeError {\n message\n }\n ... on RequestRequiresUserAuthTokenForConnectionError {\n message\n }\n ... on NoReviewersSetForOwnerError {\n message\n ownerId\n }\n ... on NoReviewersSetForResourceError {\n message\n resourceId\n }\n ... on NoReviewersSetForGroupError {\n message\n groupId\n }\n ... on NoManagerSetForRequestingUserError {\n message\n }\n ... on MfaInvalidError {\n message\n }\n ... on BulkRequestTooLargeError {\n message\n }\n ... on ItemCannotBeRequestedError {\n message\n }\n ... on UserCannotRequestAccessForTargetGroupError {\n message\n groupId\n userId\n }\n ... on GroupNestingNotAllowedError {\n message\n fromGroupId\n toGroupId\n }\n ... on TargetUserHasNestedAccessError {\n message\n groupIds\n }\n ... on RequestReasonMissingError {\n message\n }\n ... on RequestFieldValueMissingError {\n message\n fieldName\n }\n ... on LinkedGroupNotRequestableError {\n message\n sourceGroupId\n groupBindingId\n }\n ... on RequestReasonBelowMinLengthError {\n message\n }\n\n }\n }\n": typeof types.CreateRequestDocument;
|
|
23
25
|
};
|
|
24
26
|
declare const documents: Documents;
|
|
25
27
|
/**
|
|
@@ -62,10 +64,18 @@ export declare function graphql(source: "\n query PaginatedEntityDropdown(\n $
|
|
|
62
64
|
/**
|
|
63
65
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
64
66
|
*/
|
|
65
|
-
export declare function graphql(source: "\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n
|
|
67
|
+
export declare function graphql(source: "\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n"): (typeof documents)["\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n"];
|
|
66
68
|
/**
|
|
67
69
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
68
70
|
*/
|
|
69
|
-
export declare function graphql(source: "\
|
|
71
|
+
export declare function graphql(source: "\nquery GroupAccessLevels($groupId: GroupId!) {\n groupAccessLevels(\n input: { groupId: $groupId }\n ) {\n ... on GroupAccessLevelsResult {\n groupId\n accessLevels {\n ... on GroupAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n}\n"): (typeof documents)["\nquery GroupAccessLevels($groupId: GroupId!) {\n groupAccessLevels(\n input: { groupId: $groupId }\n ) {\n ... on GroupAccessLevelsResult {\n groupId\n accessLevels {\n ... on GroupAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n}\n"];
|
|
72
|
+
/**
|
|
73
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
74
|
+
*/
|
|
75
|
+
export declare function graphql(source: "\n query RequestDefaults(\n $requestedResources: [RequestConfigurationResourceInput!]!\n $requestedGroups: [RequestConfigurationGroupInput!]!\n ) {\n requestDefaults(input: {\n requestedResources: $requestedResources,\n requestedGroups: $requestedGroups,\n }\n ) {\n ... on RequestDefaults {\n durationOptions {\n durationInMinutes\n label\n }\n recommendedDurationInMinutes\n defaultDurationInMinutes\n maxDurationInMinutes\n requireSupportTicket\n reasonOptional\n requesterIsAdmin\n }\n }\n }"): (typeof documents)["\n query RequestDefaults(\n $requestedResources: [RequestConfigurationResourceInput!]!\n $requestedGroups: [RequestConfigurationGroupInput!]!\n ) {\n requestDefaults(input: {\n requestedResources: $requestedResources,\n requestedGroups: $requestedGroups,\n }\n ) {\n ... on RequestDefaults {\n durationOptions {\n durationInMinutes\n label\n }\n recommendedDurationInMinutes\n defaultDurationInMinutes\n maxDurationInMinutes\n requireSupportTicket\n reasonOptional\n requesterIsAdmin\n }\n }\n }"];
|
|
76
|
+
/**
|
|
77
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
78
|
+
*/
|
|
79
|
+
export declare function graphql(source: "\n mutation CreateRequest(\n $requestedResources: [RequestedResourceInput!]!\n $requestedGroups: [RequestedGroupInput!]!\n $reason: String!\n $durationInMinutes: Int\n ) {\n createRequest(\n input: {\n requestedResources: $requestedResources\n requestedGroups: $requestedGroups\n reason: $reason\n durationInMinutes: $durationInMinutes\n }\n ) {\n ... on CreateRequestResult {\n request {\n id\n status\n }\n }\n ... on RequestDurationTooLargeError {\n message\n }\n ... on RequestRequiresUserAuthTokenForConnectionError {\n message\n }\n ... on NoReviewersSetForOwnerError {\n message\n ownerId\n }\n ... on NoReviewersSetForResourceError {\n message\n resourceId\n }\n ... on NoReviewersSetForGroupError {\n message\n groupId\n }\n ... on NoManagerSetForRequestingUserError {\n message\n }\n ... on MfaInvalidError {\n message\n }\n ... on BulkRequestTooLargeError {\n message\n }\n ... on ItemCannotBeRequestedError {\n message\n }\n ... on UserCannotRequestAccessForTargetGroupError {\n message\n groupId\n userId\n }\n ... on GroupNestingNotAllowedError {\n message\n fromGroupId\n toGroupId\n }\n ... on TargetUserHasNestedAccessError {\n message\n groupIds\n }\n ... on RequestReasonMissingError {\n message\n }\n ... on RequestFieldValueMissingError {\n message\n fieldName\n }\n ... on LinkedGroupNotRequestableError {\n message\n sourceGroupId\n groupBindingId\n }\n ... on RequestReasonBelowMinLengthError {\n message\n }\n\n }\n }\n"): (typeof documents)["\n mutation CreateRequest(\n $requestedResources: [RequestedResourceInput!]!\n $requestedGroups: [RequestedGroupInput!]!\n $reason: String!\n $durationInMinutes: Int\n ) {\n createRequest(\n input: {\n requestedResources: $requestedResources\n requestedGroups: $requestedGroups\n reason: $reason\n durationInMinutes: $durationInMinutes\n }\n ) {\n ... on CreateRequestResult {\n request {\n id\n status\n }\n }\n ... on RequestDurationTooLargeError {\n message\n }\n ... on RequestRequiresUserAuthTokenForConnectionError {\n message\n }\n ... on NoReviewersSetForOwnerError {\n message\n ownerId\n }\n ... on NoReviewersSetForResourceError {\n message\n resourceId\n }\n ... on NoReviewersSetForGroupError {\n message\n groupId\n }\n ... on NoManagerSetForRequestingUserError {\n message\n }\n ... on MfaInvalidError {\n message\n }\n ... on BulkRequestTooLargeError {\n message\n }\n ... on ItemCannotBeRequestedError {\n message\n }\n ... on UserCannotRequestAccessForTargetGroupError {\n message\n groupId\n userId\n }\n ... on GroupNestingNotAllowedError {\n message\n fromGroupId\n toGroupId\n }\n ... on TargetUserHasNestedAccessError {\n message\n groupIds\n }\n ... on RequestReasonMissingError {\n message\n }\n ... on RequestFieldValueMissingError {\n message\n fieldName\n }\n ... on LinkedGroupNotRequestableError {\n message\n sourceGroupId\n groupBindingId\n }\n ... on RequestReasonBelowMinLengthError {\n message\n }\n\n }\n }\n"];
|
|
70
80
|
export type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;
|
|
71
81
|
export {};
|
package/lib/graphql/gql.js
CHANGED
|
@@ -10,8 +10,10 @@ const documents = {
|
|
|
10
10
|
"\nquery CheckAuthSessionQuery {\n organizationSettings {\n ... on OrganizationSettingsResult {\n settings {\n id\n }\n }\n }\n}\n": types.CheckAuthSessionQueryDocument,
|
|
11
11
|
'\n query GetRequestableAppsQuery($searchQuery: String) {\n appsV2(\n filters: {\n access: REQUESTABLE\n searchQuery: $searchQuery\n }\n ) @connection(key: "paginated-app-dropdown") {\n edges {\n node {\n id\n displayName\n ... on Connection {\n connectionType\n }\n ... on Resource {\n resourceType\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n ': types.GetRequestableAppsQueryDocument,
|
|
12
12
|
"\n query PaginatedEntityDropdown(\n $id: UUID!\n $searchQuery: String\n) {\n app(id: $id) {\n __typename\n ... on App {\n id\n items(\n input: {\n access: REQUESTABLE\n searchQuery: $searchQuery\n includeOnlyRequestable: true\n }\n ) {\n items {\n key\n resource {\n id\n name\n }\n group {\n id\n name\n }\n }\n cursor\n }\n }\n ... on AppNotFoundError {\n message\n }\n }\n}\n": types.PaginatedEntityDropdownDocument,
|
|
13
|
-
"\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n
|
|
14
|
-
"\
|
|
13
|
+
"\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n": types.ResourceAccessLevelsDocument,
|
|
14
|
+
"\nquery GroupAccessLevels($groupId: GroupId!) {\n groupAccessLevels(\n input: { groupId: $groupId }\n ) {\n ... on GroupAccessLevelsResult {\n groupId\n accessLevels {\n ... on GroupAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n}\n": types.GroupAccessLevelsDocument,
|
|
15
|
+
"\n query RequestDefaults(\n $requestedResources: [RequestConfigurationResourceInput!]!\n $requestedGroups: [RequestConfigurationGroupInput!]!\n ) {\n requestDefaults(input: {\n requestedResources: $requestedResources,\n requestedGroups: $requestedGroups,\n }\n ) {\n ... on RequestDefaults {\n durationOptions {\n durationInMinutes\n label\n }\n recommendedDurationInMinutes\n defaultDurationInMinutes\n maxDurationInMinutes\n requireSupportTicket\n reasonOptional\n requesterIsAdmin\n }\n }\n }": types.RequestDefaultsDocument,
|
|
16
|
+
"\n mutation CreateRequest(\n $requestedResources: [RequestedResourceInput!]!\n $requestedGroups: [RequestedGroupInput!]!\n $reason: String!\n $durationInMinutes: Int\n ) {\n createRequest(\n input: {\n requestedResources: $requestedResources\n requestedGroups: $requestedGroups\n reason: $reason\n durationInMinutes: $durationInMinutes\n }\n ) {\n ... on CreateRequestResult {\n request {\n id\n status\n }\n }\n ... on RequestDurationTooLargeError {\n message\n }\n ... on RequestRequiresUserAuthTokenForConnectionError {\n message\n }\n ... on NoReviewersSetForOwnerError {\n message\n ownerId\n }\n ... on NoReviewersSetForResourceError {\n message\n resourceId\n }\n ... on NoReviewersSetForGroupError {\n message\n groupId\n }\n ... on NoManagerSetForRequestingUserError {\n message\n }\n ... on MfaInvalidError {\n message\n }\n ... on BulkRequestTooLargeError {\n message\n }\n ... on ItemCannotBeRequestedError {\n message\n }\n ... on UserCannotRequestAccessForTargetGroupError {\n message\n groupId\n userId\n }\n ... on GroupNestingNotAllowedError {\n message\n fromGroupId\n toGroupId\n }\n ... on TargetUserHasNestedAccessError {\n message\n groupIds\n }\n ... on RequestReasonMissingError {\n message\n }\n ... on RequestFieldValueMissingError {\n message\n fieldName\n }\n ... on LinkedGroupNotRequestableError {\n message\n sourceGroupId\n groupBindingId\n }\n ... on RequestReasonBelowMinLengthError {\n message\n }\n\n }\n }\n": types.CreateRequestDocument,
|
|
15
17
|
};
|
|
16
18
|
function graphql(source) {
|
|
17
19
|
var _a;
|
package/lib/graphql/graphql.d.ts
CHANGED
|
@@ -11629,7 +11629,7 @@ export type ResourceAccessLevelsQuery = {
|
|
|
11629
11629
|
accessLevels: {
|
|
11630
11630
|
__typename: "ResourceAccessLevelsResult";
|
|
11631
11631
|
accessLevels: Array<{
|
|
11632
|
-
__typename
|
|
11632
|
+
__typename?: "ResourceAccessLevel";
|
|
11633
11633
|
accessLevelName: string;
|
|
11634
11634
|
accessLevelRemoteId: string;
|
|
11635
11635
|
}>;
|
|
@@ -11638,6 +11638,23 @@ export type ResourceAccessLevelsQuery = {
|
|
|
11638
11638
|
message: string;
|
|
11639
11639
|
};
|
|
11640
11640
|
};
|
|
11641
|
+
export type GroupAccessLevelsQueryVariables = Exact<{
|
|
11642
|
+
groupId: Scalars["GroupId"]["input"];
|
|
11643
|
+
}>;
|
|
11644
|
+
export type GroupAccessLevelsQuery = {
|
|
11645
|
+
__typename?: "Query";
|
|
11646
|
+
groupAccessLevels: {
|
|
11647
|
+
__typename?: "GroupAccessLevelsResult";
|
|
11648
|
+
groupId: string;
|
|
11649
|
+
accessLevels?: Array<{
|
|
11650
|
+
__typename?: "GroupAccessLevel";
|
|
11651
|
+
accessLevelName: string;
|
|
11652
|
+
accessLevelRemoteId: string;
|
|
11653
|
+
}> | null;
|
|
11654
|
+
} | {
|
|
11655
|
+
__typename?: "GroupNotFoundError";
|
|
11656
|
+
};
|
|
11657
|
+
};
|
|
11641
11658
|
export type RequestDefaultsQueryVariables = Exact<{
|
|
11642
11659
|
requestedResources: Array<RequestConfigurationResourceInput> | RequestConfigurationResourceInput;
|
|
11643
11660
|
requestedGroups: Array<RequestConfigurationGroupInput> | RequestConfigurationGroupInput;
|
|
@@ -11659,6 +11676,82 @@ export type RequestDefaultsQuery = {
|
|
|
11659
11676
|
}>;
|
|
11660
11677
|
};
|
|
11661
11678
|
};
|
|
11679
|
+
export type CreateRequestMutationVariables = Exact<{
|
|
11680
|
+
requestedResources: Array<RequestedResourceInput> | RequestedResourceInput;
|
|
11681
|
+
requestedGroups: Array<RequestedGroupInput> | RequestedGroupInput;
|
|
11682
|
+
reason: Scalars["String"]["input"];
|
|
11683
|
+
durationInMinutes?: InputMaybe<Scalars["Int"]["input"]>;
|
|
11684
|
+
}>;
|
|
11685
|
+
export type CreateRequestMutation = {
|
|
11686
|
+
__typename?: "Mutation";
|
|
11687
|
+
createRequest: {
|
|
11688
|
+
__typename?: "BulkRequestTooLargeError";
|
|
11689
|
+
message: string;
|
|
11690
|
+
} | {
|
|
11691
|
+
__typename?: "CreateRequestResult";
|
|
11692
|
+
request: {
|
|
11693
|
+
__typename?: "Request";
|
|
11694
|
+
id: string;
|
|
11695
|
+
status: RequestStatus;
|
|
11696
|
+
};
|
|
11697
|
+
} | {
|
|
11698
|
+
__typename?: "GroupNestingNotAllowedError";
|
|
11699
|
+
message: string;
|
|
11700
|
+
fromGroupId: string;
|
|
11701
|
+
toGroupId: string;
|
|
11702
|
+
} | {
|
|
11703
|
+
__typename?: "ItemCannotBeRequestedError";
|
|
11704
|
+
message: string;
|
|
11705
|
+
} | {
|
|
11706
|
+
__typename?: "LinkedGroupNotRequestableError";
|
|
11707
|
+
message: string;
|
|
11708
|
+
sourceGroupId: string;
|
|
11709
|
+
groupBindingId: string;
|
|
11710
|
+
} | {
|
|
11711
|
+
__typename?: "MfaInvalidError";
|
|
11712
|
+
message: string;
|
|
11713
|
+
} | {
|
|
11714
|
+
__typename?: "NoManagerSetForRequestingUserError";
|
|
11715
|
+
message: string;
|
|
11716
|
+
} | {
|
|
11717
|
+
__typename?: "NoReviewersSetForGroupError";
|
|
11718
|
+
message: string;
|
|
11719
|
+
groupId: string;
|
|
11720
|
+
} | {
|
|
11721
|
+
__typename?: "NoReviewersSetForOwnerError";
|
|
11722
|
+
message: string;
|
|
11723
|
+
ownerId: string;
|
|
11724
|
+
} | {
|
|
11725
|
+
__typename?: "NoReviewersSetForResourceError";
|
|
11726
|
+
message: string;
|
|
11727
|
+
resourceId: string;
|
|
11728
|
+
} | {
|
|
11729
|
+
__typename?: "RequestDurationTooLargeError";
|
|
11730
|
+
message: string;
|
|
11731
|
+
} | {
|
|
11732
|
+
__typename?: "RequestFieldValueMissingError";
|
|
11733
|
+
message: string;
|
|
11734
|
+
fieldName: string;
|
|
11735
|
+
} | {
|
|
11736
|
+
__typename?: "RequestReasonBelowMinLengthError";
|
|
11737
|
+
message: string;
|
|
11738
|
+
} | {
|
|
11739
|
+
__typename?: "RequestReasonMissingError";
|
|
11740
|
+
message: string;
|
|
11741
|
+
} | {
|
|
11742
|
+
__typename?: "RequestRequiresUserAuthTokenForConnectionError";
|
|
11743
|
+
message: string;
|
|
11744
|
+
} | {
|
|
11745
|
+
__typename?: "TargetUserHasNestedAccessError";
|
|
11746
|
+
message: string;
|
|
11747
|
+
groupIds?: Array<string> | null;
|
|
11748
|
+
} | {
|
|
11749
|
+
__typename?: "UserCannotRequestAccessForTargetGroupError";
|
|
11750
|
+
message: string;
|
|
11751
|
+
groupId: string;
|
|
11752
|
+
userId: string;
|
|
11753
|
+
};
|
|
11754
|
+
};
|
|
11662
11755
|
export declare const GetGroupDocument: DocumentNode<GetGroupQuery, GetGroupQueryVariables>;
|
|
11663
11756
|
export declare const GetRequestDocument: DocumentNode<GetRequestQuery, GetRequestQueryVariables>;
|
|
11664
11757
|
export declare const GetRequestsDocument: DocumentNode<GetRequestsQuery, GetRequestsQueryVariables>;
|
|
@@ -11666,4 +11759,6 @@ export declare const CheckAuthSessionQueryDocument: DocumentNode<CheckAuthSessio
|
|
|
11666
11759
|
export declare const GetRequestableAppsQueryDocument: DocumentNode<GetRequestableAppsQueryQuery, GetRequestableAppsQueryQueryVariables>;
|
|
11667
11760
|
export declare const PaginatedEntityDropdownDocument: DocumentNode<PaginatedEntityDropdownQuery, PaginatedEntityDropdownQueryVariables>;
|
|
11668
11761
|
export declare const ResourceAccessLevelsDocument: DocumentNode<ResourceAccessLevelsQuery, ResourceAccessLevelsQueryVariables>;
|
|
11762
|
+
export declare const GroupAccessLevelsDocument: DocumentNode<GroupAccessLevelsQuery, GroupAccessLevelsQueryVariables>;
|
|
11669
11763
|
export declare const RequestDefaultsDocument: DocumentNode<RequestDefaultsQuery, RequestDefaultsQueryVariables>;
|
|
11764
|
+
export declare const CreateRequestDocument: DocumentNode<CreateRequestMutation, CreateRequestMutationVariables>;
|