opal-security 3.1.1-beta.778ef29 → 3.1.1-beta.7e1cc21
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 +122 -26
- package/lib/commands/login.js +6 -2
- package/lib/commands/request/create.d.ts +6 -1
- package/lib/commands/request/create.js +63 -19
- package/lib/commands/request/get.d.ts +7 -2
- package/lib/commands/request/get.js +105 -7
- package/lib/commands/request/list.d.ts +8 -2
- package/lib/commands/request/list.js +112 -8
- package/lib/commands/whoami.d.ts +8 -0
- package/lib/commands/whoami.js +34 -0
- package/lib/graphql/gql.d.ts +37 -2
- package/lib/graphql/gql.js +8 -1
- package/lib/graphql/graphql.d.ts +426 -118
- package/lib/graphql/graphql.js +2057 -208
- package/lib/lib/apollo.js +3 -4
- package/lib/lib/credentials/index.d.ts +2 -1
- package/lib/lib/credentials/index.js +2 -1
- package/lib/lib/flags.js +1 -1
- package/lib/lib/requests.d.ts +45 -14
- package/lib/lib/requests.js +919 -115
- package/lib/utils/displays.d.ts +8 -3
- package/lib/utils/displays.js +199 -45
- package/oclif.manifest.json +167 -46
- package/package.json +4 -1
|
@@ -1,14 +1,118 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@oclif/core");
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const graphql_1 = require("../../graphql");
|
|
5
|
+
const apollo_1 = require("../../lib/apollo");
|
|
6
|
+
const cmd_1 = require("../../lib/cmd");
|
|
7
|
+
const flags_1 = require("../../lib/flags");
|
|
8
|
+
const displays_1 = require("../../utils/displays");
|
|
9
|
+
// Add date filters, search query,
|
|
10
|
+
const GET_REQUESTS = (0, graphql_1.graphql)(`
|
|
11
|
+
query GetRequests($pageSize: Int, $showPendingOnly: Boolean!) {
|
|
12
|
+
requests(input: {
|
|
13
|
+
requestType: OUTGOING
|
|
14
|
+
maxNumEntries: $pageSize
|
|
15
|
+
filters: {
|
|
16
|
+
showPendingOnly: $showPendingOnly
|
|
17
|
+
}
|
|
18
|
+
}) {
|
|
19
|
+
__typename
|
|
20
|
+
... on RequestsResult {
|
|
21
|
+
requestType
|
|
22
|
+
requests {
|
|
23
|
+
durationInMinutes
|
|
24
|
+
id
|
|
25
|
+
requester {
|
|
26
|
+
displayName
|
|
27
|
+
}
|
|
28
|
+
targetUser {
|
|
29
|
+
displayName
|
|
30
|
+
}
|
|
31
|
+
reason
|
|
32
|
+
requestedResources {
|
|
33
|
+
resource {
|
|
34
|
+
displayName
|
|
35
|
+
id
|
|
36
|
+
}
|
|
37
|
+
accessLevel {
|
|
38
|
+
accessLevelName
|
|
39
|
+
accessLevelRemoteId
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
requestedGroups {
|
|
43
|
+
group {
|
|
44
|
+
name
|
|
45
|
+
id
|
|
46
|
+
}
|
|
47
|
+
accessLevel {
|
|
48
|
+
accessLevelName
|
|
49
|
+
accessLevelRemoteId
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
status
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
}`);
|
|
59
|
+
class ListRequests extends core_1.Command {
|
|
7
60
|
async run() {
|
|
8
|
-
(0,
|
|
9
|
-
|
|
61
|
+
(0, cmd_1.setMostRecentCommand)(this);
|
|
62
|
+
const client = await (0, apollo_1.getClient)(this, true);
|
|
63
|
+
let pageSize = 10;
|
|
64
|
+
let showPendingOnly = false;
|
|
65
|
+
const { flags } = await this.parse(ListRequests);
|
|
66
|
+
if (flags.n) {
|
|
67
|
+
pageSize = flags.n;
|
|
68
|
+
}
|
|
69
|
+
if (flags.showPendingOnly) {
|
|
70
|
+
showPendingOnly = flags.showPendingOnly;
|
|
71
|
+
}
|
|
72
|
+
const resp = await client.query({
|
|
73
|
+
query: GET_REQUESTS,
|
|
74
|
+
variables: {
|
|
75
|
+
pageSize: pageSize,
|
|
76
|
+
showPendingOnly: showPendingOnly,
|
|
77
|
+
},
|
|
78
|
+
fetchPolicy: "network-only", // to avoid caching
|
|
79
|
+
});
|
|
80
|
+
//TODO: Make this pretty
|
|
81
|
+
if (flags.verbose) {
|
|
82
|
+
(0, apollo_1.printResponse)(this, resp);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
(0, displays_1.displayRequestListTable)(this, resp);
|
|
86
|
+
}
|
|
10
87
|
}
|
|
11
88
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
89
|
+
ListRequests.description = "Lists your n recent outgoing access requests";
|
|
90
|
+
ListRequests.examples = [
|
|
91
|
+
"opal request list --n 5",
|
|
92
|
+
"opal request list --n 5 --pending",
|
|
93
|
+
"opal request list --n 5 --verbose",
|
|
94
|
+
"opal request list --n 5 --pending --verbose",
|
|
95
|
+
];
|
|
96
|
+
// static aliases = ["request:ls"]; // uncomment when ready for release
|
|
97
|
+
ListRequests.flags = {
|
|
98
|
+
help: flags_1.SHARED_FLAGS.help,
|
|
99
|
+
n: core_1.Flags.integer({
|
|
100
|
+
char: "n",
|
|
101
|
+
multiple: false,
|
|
102
|
+
description: "Defines number of requests to be returned. 1 <= n <= 100.",
|
|
103
|
+
default: 10,
|
|
104
|
+
min: 1,
|
|
105
|
+
max: 100,
|
|
106
|
+
}),
|
|
107
|
+
pending: core_1.Flags.boolean({
|
|
108
|
+
char: "p",
|
|
109
|
+
description: "Show only pending requests. Defaults to false.",
|
|
110
|
+
default: false,
|
|
111
|
+
}),
|
|
112
|
+
verbose: core_1.Flags.boolean({
|
|
113
|
+
char: "v",
|
|
114
|
+
description: "Enable verbose output, prints full response in JSON format. Defaults to false.",
|
|
115
|
+
default: false,
|
|
116
|
+
}),
|
|
117
|
+
};
|
|
118
|
+
exports.default = ListRequests;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const config_1 = require("../lib/config");
|
|
5
|
+
const credentials_1 = require("../lib/credentials");
|
|
6
|
+
const flags_1 = require("../lib/flags");
|
|
7
|
+
class WhoAmI extends core_1.Command {
|
|
8
|
+
async run() {
|
|
9
|
+
const opalCreds = await (0, credentials_1.getOpalCredentials)(this, false);
|
|
10
|
+
const organizationName = opalCreds === null || opalCreds === void 0 ? void 0 : opalCreds.organizationName;
|
|
11
|
+
const email = opalCreds === null || opalCreds === void 0 ? void 0 : opalCreds.email;
|
|
12
|
+
const configData = (0, config_1.getOrCreateConfigData)(this.config.configDir);
|
|
13
|
+
const url = configData[config_1.urlKey];
|
|
14
|
+
if (email) {
|
|
15
|
+
this.log(`User: ${email}`);
|
|
16
|
+
}
|
|
17
|
+
if (organizationName) {
|
|
18
|
+
if (organizationName === "unset-org-id") {
|
|
19
|
+
this.log("Authenticated with Opal API Token.");
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.log(`Organization: ${organizationName}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (url) {
|
|
26
|
+
this.log(`Server: ${url}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
WhoAmI.description = "Describes current url set, organization name, and logged in user if applicabled.";
|
|
31
|
+
WhoAmI.flags = {
|
|
32
|
+
help: flags_1.SHARED_FLAGS.help,
|
|
33
|
+
};
|
|
34
|
+
exports.default = WhoAmI;
|
package/lib/graphql/gql.d.ts
CHANGED
|
@@ -13,10 +13,17 @@ import * as types from "./graphql";
|
|
|
13
13
|
*/
|
|
14
14
|
type Documents = {
|
|
15
15
|
"\nquery GetGroup($id: GroupId!) {\n group(input: { id: $id }) {\n __typename\n ... on GroupResult {\n group {\n name\n id\n description\n groupType\n adminOwnerId\n groupLeaders {\n fullName\n email\n id\n }\n connection {\n name\n id\n connectionType\n }\n paginatedGroupUsers {\n totalNumGroupUsers\n groupUsers {\n user {\n fullName\n email\n id\n }\n }\n }\n }\n }\n ... on GroupNotFoundError {\n message\n }\n }\n}": typeof types.GetGroupDocument;
|
|
16
|
+
"\n query GetRequest(\n $id: RequestId!\n) {\n request(input: {id: $id}) {\n __typename\n ... on RequestResult {\n request {\n id\n createdAt\n status\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n durationInMinutes\n requestedGroups {\n group {\n id\n name\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n reason\n }\n }\n ... on RequestNotFoundError {\n message\n }\n }\n}\n": typeof types.GetRequestDocument;
|
|
17
|
+
"\n query GetRequests($pageSize: Int, $showPendingOnly: Boolean!) {\n requests(input: {\n requestType: OUTGOING\n maxNumEntries: $pageSize\n filters: {\n showPendingOnly: $showPendingOnly\n }\n }) {\n __typename\n ... on RequestsResult {\n requestType\n requests {\n durationInMinutes\n id\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n reason\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n requestedGroups {\n group {\n name\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n status\n }\n \n }\n \n }\n}": typeof types.GetRequestsDocument;
|
|
16
18
|
"\nquery CheckAuthSessionQuery {\n organizationSettings {\n ... on OrganizationSettingsResult {\n settings {\n id\n }\n }\n }\n}\n": typeof types.CheckAuthSessionQueryDocument;
|
|
17
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;
|
|
18
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;
|
|
19
|
-
"\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n
|
|
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;
|
|
25
|
+
"\n query GetCatalogItem($uuid: UUID!) {\n catalogItem(id: $uuid) {\n __typename\n ... on Connection {\n id\n displayName\n }\n ... on Resource {\n id\n displayName\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ...on Group {\n id\n name\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ... on UserFacingError {\n message\n }\n }\n }\n ": typeof types.GetCatalogItemDocument;
|
|
26
|
+
"\n query GetAssociatedItems($resourceId: ResourceId!, $searchQuery: String) {\n resource(input: {\n id: $resourceId\n }) {\n __typename\n ... on ResourceResult {\n __typename\n resource {\n associatedItems(\n first: 200\n filters: {\n searchQuery: {\n contains: $searchQuery\n }\n access: REQUESTABLE\n endUserVisible: true\n entityType: {\n in: [GROUP, RESOURCE]\n }\n }\n ) {\n edges {\n __typename\n ... on ResourceAssociatedItemEdge {\n alias\n node {\n __typename\n id\n name\n ... on Resource {\n accessLevels(\n filters: {\n skipRemoteAccessLevels: false # azure app roles are remote\n }\n ) {\n __typename\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n }\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n": typeof types.GetAssociatedItemsDocument;
|
|
20
27
|
};
|
|
21
28
|
declare const documents: Documents;
|
|
22
29
|
/**
|
|
@@ -36,6 +43,14 @@ export declare function graphql(source: string): unknown;
|
|
|
36
43
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
37
44
|
*/
|
|
38
45
|
export declare function graphql(source: "\nquery GetGroup($id: GroupId!) {\n group(input: { id: $id }) {\n __typename\n ... on GroupResult {\n group {\n name\n id\n description\n groupType\n adminOwnerId\n groupLeaders {\n fullName\n email\n id\n }\n connection {\n name\n id\n connectionType\n }\n paginatedGroupUsers {\n totalNumGroupUsers\n groupUsers {\n user {\n fullName\n email\n id\n }\n }\n }\n }\n }\n ... on GroupNotFoundError {\n message\n }\n }\n}"): (typeof documents)["\nquery GetGroup($id: GroupId!) {\n group(input: { id: $id }) {\n __typename\n ... on GroupResult {\n group {\n name\n id\n description\n groupType\n adminOwnerId\n groupLeaders {\n fullName\n email\n id\n }\n connection {\n name\n id\n connectionType\n }\n paginatedGroupUsers {\n totalNumGroupUsers\n groupUsers {\n user {\n fullName\n email\n id\n }\n }\n }\n }\n }\n ... on GroupNotFoundError {\n message\n }\n }\n}"];
|
|
46
|
+
/**
|
|
47
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
48
|
+
*/
|
|
49
|
+
export declare function graphql(source: "\n query GetRequest(\n $id: RequestId!\n) {\n request(input: {id: $id}) {\n __typename\n ... on RequestResult {\n request {\n id\n createdAt\n status\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n durationInMinutes\n requestedGroups {\n group {\n id\n name\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n reason\n }\n }\n ... on RequestNotFoundError {\n message\n }\n }\n}\n"): (typeof documents)["\n query GetRequest(\n $id: RequestId!\n) {\n request(input: {id: $id}) {\n __typename\n ... on RequestResult {\n request {\n id\n createdAt\n status\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n durationInMinutes\n requestedGroups {\n group {\n id\n name\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n reason\n }\n }\n ... on RequestNotFoundError {\n message\n }\n }\n}\n"];
|
|
50
|
+
/**
|
|
51
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
52
|
+
*/
|
|
53
|
+
export declare function graphql(source: "\n query GetRequests($pageSize: Int, $showPendingOnly: Boolean!) {\n requests(input: {\n requestType: OUTGOING\n maxNumEntries: $pageSize\n filters: {\n showPendingOnly: $showPendingOnly\n }\n }) {\n __typename\n ... on RequestsResult {\n requestType\n requests {\n durationInMinutes\n id\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n reason\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n requestedGroups {\n group {\n name\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n status\n }\n \n }\n \n }\n}"): (typeof documents)["\n query GetRequests($pageSize: Int, $showPendingOnly: Boolean!) {\n requests(input: {\n requestType: OUTGOING\n maxNumEntries: $pageSize\n filters: {\n showPendingOnly: $showPendingOnly\n }\n }) {\n __typename\n ... on RequestsResult {\n requestType\n requests {\n durationInMinutes\n id\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n reason\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n requestedGroups {\n group {\n name\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n status\n }\n \n }\n \n }\n}"];
|
|
39
54
|
/**
|
|
40
55
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
41
56
|
*/
|
|
@@ -51,6 +66,26 @@ export declare function graphql(source: "\n query PaginatedEntityDropdown(\n $
|
|
|
51
66
|
/**
|
|
52
67
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
53
68
|
*/
|
|
54
|
-
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
|
|
69
|
+
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"];
|
|
70
|
+
/**
|
|
71
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
72
|
+
*/
|
|
73
|
+
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"];
|
|
74
|
+
/**
|
|
75
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
76
|
+
*/
|
|
77
|
+
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 }"];
|
|
78
|
+
/**
|
|
79
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
80
|
+
*/
|
|
81
|
+
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"];
|
|
82
|
+
/**
|
|
83
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
84
|
+
*/
|
|
85
|
+
export declare function graphql(source: "\n query GetCatalogItem($uuid: UUID!) {\n catalogItem(id: $uuid) {\n __typename\n ... on Connection {\n id\n displayName\n }\n ... on Resource {\n id\n displayName\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ...on Group {\n id\n name\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ... on UserFacingError {\n message\n }\n }\n }\n "): (typeof documents)["\n query GetCatalogItem($uuid: UUID!) {\n catalogItem(id: $uuid) {\n __typename\n ... on Connection {\n id\n displayName\n }\n ... on Resource {\n id\n displayName\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ...on Group {\n id\n name\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ... on UserFacingError {\n message\n }\n }\n }\n "];
|
|
86
|
+
/**
|
|
87
|
+
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
88
|
+
*/
|
|
89
|
+
export declare function graphql(source: "\n query GetAssociatedItems($resourceId: ResourceId!, $searchQuery: String) {\n resource(input: {\n id: $resourceId\n }) {\n __typename\n ... on ResourceResult {\n __typename\n resource {\n associatedItems(\n first: 200\n filters: {\n searchQuery: {\n contains: $searchQuery\n }\n access: REQUESTABLE\n endUserVisible: true\n entityType: {\n in: [GROUP, RESOURCE]\n }\n }\n ) {\n edges {\n __typename\n ... on ResourceAssociatedItemEdge {\n alias\n node {\n __typename\n id\n name\n ... on Resource {\n accessLevels(\n filters: {\n skipRemoteAccessLevels: false # azure app roles are remote\n }\n ) {\n __typename\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n }\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n"): (typeof documents)["\n query GetAssociatedItems($resourceId: ResourceId!, $searchQuery: String) {\n resource(input: {\n id: $resourceId\n }) {\n __typename\n ... on ResourceResult {\n __typename\n resource {\n associatedItems(\n first: 200\n filters: {\n searchQuery: {\n contains: $searchQuery\n }\n access: REQUESTABLE\n endUserVisible: true\n entityType: {\n in: [GROUP, RESOURCE]\n }\n }\n ) {\n edges {\n __typename\n ... on ResourceAssociatedItemEdge {\n alias\n node {\n __typename\n id\n name\n ... on Resource {\n accessLevels(\n filters: {\n skipRemoteAccessLevels: false # azure app roles are remote\n }\n ) {\n __typename\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n }\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n"];
|
|
55
90
|
export type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;
|
|
56
91
|
export {};
|
package/lib/graphql/gql.js
CHANGED
|
@@ -5,10 +5,17 @@ exports.graphql = graphql;
|
|
|
5
5
|
const types = require("./graphql");
|
|
6
6
|
const documents = {
|
|
7
7
|
"\nquery GetGroup($id: GroupId!) {\n group(input: { id: $id }) {\n __typename\n ... on GroupResult {\n group {\n name\n id\n description\n groupType\n adminOwnerId\n groupLeaders {\n fullName\n email\n id\n }\n connection {\n name\n id\n connectionType\n }\n paginatedGroupUsers {\n totalNumGroupUsers\n groupUsers {\n user {\n fullName\n email\n id\n }\n }\n }\n }\n }\n ... on GroupNotFoundError {\n message\n }\n }\n}": types.GetGroupDocument,
|
|
8
|
+
"\n query GetRequest(\n $id: RequestId!\n) {\n request(input: {id: $id}) {\n __typename\n ... on RequestResult {\n request {\n id\n createdAt\n status\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n durationInMinutes\n requestedGroups {\n group {\n id\n name\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n reason\n }\n }\n ... on RequestNotFoundError {\n message\n }\n }\n}\n": types.GetRequestDocument,
|
|
9
|
+
"\n query GetRequests($pageSize: Int, $showPendingOnly: Boolean!) {\n requests(input: {\n requestType: OUTGOING\n maxNumEntries: $pageSize\n filters: {\n showPendingOnly: $showPendingOnly\n }\n }) {\n __typename\n ... on RequestsResult {\n requestType\n requests {\n durationInMinutes\n id\n requester {\n displayName\n }\n targetUser {\n displayName\n }\n reason\n requestedResources {\n resource {\n displayName\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n requestedGroups {\n group {\n name\n id\n }\n accessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n status\n }\n \n }\n \n }\n}": types.GetRequestsDocument,
|
|
8
10
|
"\nquery CheckAuthSessionQuery {\n organizationSettings {\n ... on OrganizationSettingsResult {\n settings {\n id\n }\n }\n }\n}\n": types.CheckAuthSessionQueryDocument,
|
|
9
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,
|
|
10
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,
|
|
11
|
-
"\n query ResourceAccessLevels($resourceId: ResourceId!) {\n accessLevels(input: {\n resourceId: $resourceId,\n onlyMine: false,\n }) {\n __typename\n ... on ResourceAccessLevelsResult {\n accessLevels {\n
|
|
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,
|
|
17
|
+
"\n query GetCatalogItem($uuid: UUID!) {\n catalogItem(id: $uuid) {\n __typename\n ... on Connection {\n id\n displayName\n }\n ... on Resource {\n id\n displayName\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ...on Group {\n id\n name\n connection {\n id\n displayName\n }\n accessLevels{\n accessLevelName\n accessLevelRemoteId\n }\n }\n ... on UserFacingError {\n message\n }\n }\n }\n ": types.GetCatalogItemDocument,
|
|
18
|
+
"\n query GetAssociatedItems($resourceId: ResourceId!, $searchQuery: String) {\n resource(input: {\n id: $resourceId\n }) {\n __typename\n ... on ResourceResult {\n __typename\n resource {\n associatedItems(\n first: 200\n filters: {\n searchQuery: {\n contains: $searchQuery\n }\n access: REQUESTABLE\n endUserVisible: true\n entityType: {\n in: [GROUP, RESOURCE]\n }\n }\n ) {\n edges {\n __typename\n ... on ResourceAssociatedItemEdge {\n alias\n node {\n __typename\n id\n name\n ... on Resource {\n accessLevels(\n filters: {\n skipRemoteAccessLevels: false # azure app roles are remote\n }\n ) {\n __typename\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n }\n }\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n": types.GetAssociatedItemsDocument,
|
|
12
19
|
};
|
|
13
20
|
function graphql(source) {
|
|
14
21
|
var _a;
|