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.
@@ -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 utils_1 = require("../../utils/utils");
5
- class RequestList extends core_1.Command {
6
- // static aliases = ["request:ls"];
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, utils_1.restrictToDev)(); //TODO: Remove after development is complete
9
- this.log("Running the list command");
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
- RequestList.hidden = true;
13
- RequestList.description = "Lists access requests";
14
- exports.default = RequestList;
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,8 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class WhoAmI extends Command {
3
+ static description: string;
4
+ static flags: {
5
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
6
+ };
7
+ run(): Promise<void>;
8
+ }
@@ -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;
@@ -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 __typename\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n": typeof types.ResourceAccessLevelsDocument;
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 __typename\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 __typename\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\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 {};
@@ -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 __typename\n ... on ResourceAccessLevel {\n accessLevelName\n accessLevelRemoteId\n }\n }\n }\n ... on ResourceNotFoundError {\n message\n }\n }\n }\n": types.ResourceAccessLevelsDocument,
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;