@reqquest/ui 1.1.9 → 1.1.11
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/dist/api.d.ts +48 -0
- package/dist/components/FieldCardCheckbox.svelte.d.ts +109 -0
- package/dist/components/FieldCardRadio.svelte.d.ts +125 -0
- package/dist/components/QuestionnairePrompt.svelte +17 -4
- package/dist/components/QuestionnairePrompt.svelte.d.ts +52 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/index.d.ts +5 -0
- package/dist/registry.d.ts +216 -0
- package/dist/typed-client/index.d.ts +25 -0
- package/dist/typed-client/runtime/batcher.d.ts +105 -0
- package/dist/typed-client/runtime/createClient.d.ts +17 -0
- package/dist/typed-client/runtime/error.d.ts +18 -0
- package/dist/typed-client/runtime/fetcher.d.ts +10 -0
- package/dist/typed-client/runtime/generateGraphqlOperation.d.ts +30 -0
- package/dist/typed-client/runtime/index.d.ts +11 -0
- package/dist/typed-client/runtime/linkTypeMap.d.ts +9 -0
- package/dist/typed-client/runtime/typeSelection.d.ts +28 -0
- package/dist/typed-client/runtime/types.d.ts +55 -0
- package/dist/typed-client/schema.d.ts +2033 -0
- package/dist/typed-client/schema.graphql +49 -1
- package/dist/typed-client/schema.js +7 -0
- package/dist/typed-client/types.d.ts +732 -0
- package/dist/typed-client/types.js +501 -482
- package/dist/types.d.ts +56 -0
- package/package.json +2 -4
|
@@ -0,0 +1,2033 @@
|
|
|
1
|
+
export type Scalars = {
|
|
2
|
+
Boolean: boolean;
|
|
3
|
+
DateTime: string;
|
|
4
|
+
Float: number;
|
|
5
|
+
ID: string;
|
|
6
|
+
Int: number;
|
|
7
|
+
JsonData: Record<string, any>;
|
|
8
|
+
String: string;
|
|
9
|
+
};
|
|
10
|
+
export interface Access {
|
|
11
|
+
/** Current user may create a new app request on behalf of another user and should be shown the Create App Request button on the reviewer dashboard or main app request list. */
|
|
12
|
+
createAppRequestOther: Scalars['Boolean'];
|
|
13
|
+
/** Current user may create a new app request for themselves and should be shown the Create App Request button. */
|
|
14
|
+
createAppRequestSelf: Scalars['Boolean'];
|
|
15
|
+
/** Current user is permitted to create new periods in the period management UI. */
|
|
16
|
+
createPeriod: Scalars['Boolean'];
|
|
17
|
+
/** Current user is permitted to create new roles in the role management UI. */
|
|
18
|
+
createRole: Scalars['Boolean'];
|
|
19
|
+
/** The current user, if any. */
|
|
20
|
+
user: (AccessUser | null);
|
|
21
|
+
/** Current user is permitted to view the app request list. */
|
|
22
|
+
viewAppRequestList: Scalars['Boolean'];
|
|
23
|
+
/** Current user is permitted to view the applicant dashboard. */
|
|
24
|
+
viewApplicantDashboard: Scalars['Boolean'];
|
|
25
|
+
/** Current user is permitted to view the period management UI. */
|
|
26
|
+
viewPeriodManagement: Scalars['Boolean'];
|
|
27
|
+
/** Current user is permitted to view the reviewer dashboard. */
|
|
28
|
+
viewReviewerInterface: Scalars['Boolean'];
|
|
29
|
+
/** Current user is permitted to view the role management UI. */
|
|
30
|
+
viewRoleManagement: Scalars['Boolean'];
|
|
31
|
+
__typename: 'Access';
|
|
32
|
+
}
|
|
33
|
+
export interface AccessControl {
|
|
34
|
+
description: Scalars['String'];
|
|
35
|
+
name: Scalars['String'];
|
|
36
|
+
__typename: 'AccessControl';
|
|
37
|
+
}
|
|
38
|
+
export interface AccessControlGroup {
|
|
39
|
+
/** A list of all possible controls for this controlGroup. Use this to populate the control dropdown when creating a grant. */
|
|
40
|
+
controls: AccessControl[];
|
|
41
|
+
/** A longer explanation of the control group for display in the role management interface. */
|
|
42
|
+
description: (Scalars['String'] | null);
|
|
43
|
+
name: Scalars['String'];
|
|
44
|
+
tags: AccessTagCategory[];
|
|
45
|
+
/** A slightly longer version of the control group's name, for display in the role management interface. */
|
|
46
|
+
title: Scalars['String'];
|
|
47
|
+
__typename: 'AccessControlGroup';
|
|
48
|
+
}
|
|
49
|
+
export interface AccessGrantTag {
|
|
50
|
+
category: Scalars['String'];
|
|
51
|
+
categoryLabel: Scalars['String'];
|
|
52
|
+
label: Scalars['String'];
|
|
53
|
+
tag: Scalars['String'];
|
|
54
|
+
__typename: 'AccessGrantTag';
|
|
55
|
+
}
|
|
56
|
+
export interface AccessRole {
|
|
57
|
+
actions: RoleActions;
|
|
58
|
+
/** A description of the grant. This is not used for anything, but can be useful for admins to understand what the grant was trying to do. */
|
|
59
|
+
description: (Scalars['String'] | null);
|
|
60
|
+
grants: AccessRoleGrant[];
|
|
61
|
+
groups: AccessRoleGroup[];
|
|
62
|
+
id: Scalars['ID'];
|
|
63
|
+
name: Scalars['String'];
|
|
64
|
+
scope: (Scalars['String'] | null);
|
|
65
|
+
__typename: 'AccessRole';
|
|
66
|
+
}
|
|
67
|
+
export interface AccessRoleGrant {
|
|
68
|
+
actions: AccessRoleGrantActions;
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* If true, this grant allows the action specified by the selected controls. If false, it removes
|
|
72
|
+
* the controls.
|
|
73
|
+
*
|
|
74
|
+
* Removing a control only happens within the context of a single role. If another role grants the
|
|
75
|
+
* same control, the action is allowed. This is more of an exception system than a denial
|
|
76
|
+
* system. So you can do something like add the "view" control to the "movie" control group in one
|
|
77
|
+
* grant, and then in a second grant in the same role, remove it from "The Princess Bride". Now you
|
|
78
|
+
* have a role that grants "view" on all movies _except_ The Princess Bride. If the user has another role
|
|
79
|
+
* that grants "view" on The Princess Bride (or on all movies), they can view it based on that other role.
|
|
80
|
+
*
|
|
81
|
+
*/
|
|
82
|
+
allow: Scalars['Boolean'];
|
|
83
|
+
/** The group this control belongs to. e.g. Reviewer - Review Phase */
|
|
84
|
+
controlGroup: AccessControlGroup;
|
|
85
|
+
controls: Scalars['String'][];
|
|
86
|
+
id: Scalars['ID'];
|
|
87
|
+
tags: AccessGrantTag[];
|
|
88
|
+
__typename: 'AccessRoleGrant';
|
|
89
|
+
}
|
|
90
|
+
export interface AccessRoleGrantActions {
|
|
91
|
+
delete: Scalars['Boolean'];
|
|
92
|
+
update: Scalars['Boolean'];
|
|
93
|
+
__typename: 'AccessRoleGrantActions';
|
|
94
|
+
}
|
|
95
|
+
export interface AccessRoleGroup {
|
|
96
|
+
/** The date the group was added to a role. */
|
|
97
|
+
dateAdded: Scalars['DateTime'];
|
|
98
|
+
dateCreated: (Scalars['DateTime'] | null);
|
|
99
|
+
/** The name of the group. This should be unique even among all roleIds. */
|
|
100
|
+
groupName: Scalars['String'];
|
|
101
|
+
managers: AccessRoleGroupManager[];
|
|
102
|
+
roleId: Scalars['ID'];
|
|
103
|
+
__typename: 'AccessRoleGroup';
|
|
104
|
+
}
|
|
105
|
+
export interface AccessRoleGroupManager {
|
|
106
|
+
/** The date the group was added to a role. */
|
|
107
|
+
email: (Scalars['String'] | null);
|
|
108
|
+
/** The date the group was added to a role. */
|
|
109
|
+
fullname: Scalars['String'];
|
|
110
|
+
__typename: 'AccessRoleGroupManager';
|
|
111
|
+
}
|
|
112
|
+
export interface AccessRoleValidatedResponse {
|
|
113
|
+
accessRole: (AccessRole | null);
|
|
114
|
+
messages: MutationMessage[];
|
|
115
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
116
|
+
success: Scalars['Boolean'];
|
|
117
|
+
__typename: 'AccessRoleValidatedResponse';
|
|
118
|
+
}
|
|
119
|
+
export interface AccessTag {
|
|
120
|
+
label: Scalars['String'];
|
|
121
|
+
value: Scalars['String'];
|
|
122
|
+
__typename: 'AccessTag';
|
|
123
|
+
}
|
|
124
|
+
export interface AccessTagCategory {
|
|
125
|
+
category: Scalars['String'];
|
|
126
|
+
description: (Scalars['String'] | null);
|
|
127
|
+
label: Scalars['String'];
|
|
128
|
+
listable: Scalars['Boolean'];
|
|
129
|
+
/** A list of all possible tags for this category. Use this to populate the tag dropdown when creating a grant. */
|
|
130
|
+
tags: AccessTag[];
|
|
131
|
+
__typename: 'AccessTagCategory';
|
|
132
|
+
}
|
|
133
|
+
/** A user that has or once had access to the system. */
|
|
134
|
+
export interface AccessUser {
|
|
135
|
+
fullname: Scalars['String'];
|
|
136
|
+
groups: Scalars['String'][];
|
|
137
|
+
login: Scalars['ID'];
|
|
138
|
+
otherIdentifiers: AccessUserIdentifier[];
|
|
139
|
+
/** A JSON object containing any information about the user that the implementing application wants to store. Could be useful for constructing personalized UI. */
|
|
140
|
+
otherInfo: (Scalars['JsonData'] | null);
|
|
141
|
+
roles: AccessRole[];
|
|
142
|
+
/** True as long as the lookupUser.byLogins function still returns this user. False otherwise. Likely this user has been deactivated. */
|
|
143
|
+
stillValid: Scalars['Boolean'];
|
|
144
|
+
__typename: 'AccessUser';
|
|
145
|
+
}
|
|
146
|
+
/** A label and ID pair for an external user unique ID. For example, { label: "Student ID", id: "123456" } */
|
|
147
|
+
export interface AccessUserIdentifier {
|
|
148
|
+
/** The unique ID for this identifier, e.g. "123456". */
|
|
149
|
+
id: Scalars['ID'];
|
|
150
|
+
/** The label for this identifier, e.g. "Student ID". */
|
|
151
|
+
label: Scalars['String'];
|
|
152
|
+
__typename: 'AccessUserIdentifier';
|
|
153
|
+
}
|
|
154
|
+
/** Represents a group of applications all being applied for at the same time. As part of the request, multiple applications will be created and either eliminated as ineligible or submitted for approval. */
|
|
155
|
+
export interface AppRequest {
|
|
156
|
+
/** Actions the user can take on this app request. */
|
|
157
|
+
actions: AppRequestActions;
|
|
158
|
+
applicant: AccessUser;
|
|
159
|
+
applications: Application[];
|
|
160
|
+
/** Date that this request was considered closed and no longer editable. If active or re-opened, will be null. If closed again, will be the second closure date. */
|
|
161
|
+
closedAt: (Scalars['DateTime'] | null);
|
|
162
|
+
createdAt: Scalars['DateTime'];
|
|
163
|
+
/** All data that has been gathered from the user for this request. It is a Record whose properties are the prompt keys and values are the data gathered by the corresponding prompt dialog. */
|
|
164
|
+
data: Scalars['JsonData'];
|
|
165
|
+
/** The version of the data for this app request. This is incremented every time the data is updated. If you provide it with your update requests, the API will perform an optimistic concurrency check and fail the update if someone else has updated the data in the meantime. */
|
|
166
|
+
dataVersion: Scalars['Int'];
|
|
167
|
+
id: Scalars['ID'];
|
|
168
|
+
/** Indexes associated with the App Request. These are pieces of data extracted from the App Request by individual prompts in the ReqQuest project. They have several uses such as filtering App Requests and enriching list views. */
|
|
169
|
+
indexCategories: AppRequestIndexCategory[];
|
|
170
|
+
/** Notes attached to this app request. Notes are internal only and only visible to reviewers. They are not visible to applicants. */
|
|
171
|
+
notes: Note[];
|
|
172
|
+
/** Notes attached to other app requests from this same applicant. Useful for providing context information from previous applications. */
|
|
173
|
+
otherNotes: Note[];
|
|
174
|
+
/** The period this appRequest is associated with. */
|
|
175
|
+
period: Period;
|
|
176
|
+
/** The current phase of the app request. The phase generally only changes when control of the app request shifts between the applicant and reviewer. */
|
|
177
|
+
phase: AppRequestPhase;
|
|
178
|
+
/** Retrieve a specific prompt by its ID. This is useful for the UI to get the full prompt data and configuration when trying to edit an individual prompt. We don't want to be downloading all the config data for everything up front. */
|
|
179
|
+
prompt: RequirementPrompt;
|
|
180
|
+
status: AppRequestStatus;
|
|
181
|
+
/** The most pertinent status reason for this app request. The logic is complicated and depends on the AppRequest's status. */
|
|
182
|
+
statusReason: (Scalars['String'] | null);
|
|
183
|
+
/** The date that the applicant submitted their request. If the applicant has not yet submitted, this will be null. */
|
|
184
|
+
submittedAt: (Scalars['DateTime'] | null);
|
|
185
|
+
updatedAt: Scalars['DateTime'];
|
|
186
|
+
__typename: 'AppRequest';
|
|
187
|
+
}
|
|
188
|
+
export interface AppRequestActions {
|
|
189
|
+
/** User may finalize the acceptance or denial of the offer. Sends the app request to non-blocking workflow (or completion). */
|
|
190
|
+
acceptOffer: Scalars['Boolean'];
|
|
191
|
+
/** User may cancel this app request as the owner. Separate from closing as a reviewer/admin. */
|
|
192
|
+
cancel: Scalars['Boolean'];
|
|
193
|
+
/** User may close this app request as a reviewer/admin. Separate from cancelling as the app request owner. */
|
|
194
|
+
close: Scalars['Boolean'];
|
|
195
|
+
/** User may complete the app request. All non-blocking workflow must be complete. */
|
|
196
|
+
completeRequest: Scalars['Boolean'];
|
|
197
|
+
/** User may complete the review app request. Sends the app request to the acceptance phase, or if there is no acceptance phase, to the non-blocking workflow or completion. */
|
|
198
|
+
completeReview: Scalars['Boolean'];
|
|
199
|
+
/** User may reopen this app request, whether as the owner or as a reviewer/admin. */
|
|
200
|
+
reopen: Scalars['Boolean'];
|
|
201
|
+
/** User may return this app request to the applicant phase. */
|
|
202
|
+
returnToApplicant: Scalars['Boolean'];
|
|
203
|
+
/** User may return to the non-blocking workflow phase from completion. */
|
|
204
|
+
returnToNonBlocking: Scalars['Boolean'];
|
|
205
|
+
/** User may return the app request to the acceptance phase from non-blocking workflow or completion. */
|
|
206
|
+
returnToOffer: Scalars['Boolean'];
|
|
207
|
+
/** User may return the app request to the review phase from non-blocking workflow or completion. This does not cover reclaiming an offer - see reverseOffer for that. It also does not cover returning from completion to acceptance - see returnToOffer for that. */
|
|
208
|
+
returnToReview: Scalars['Boolean'];
|
|
209
|
+
/** Whether the user can view this app request as a reviewer. */
|
|
210
|
+
review: Scalars['Boolean'];
|
|
211
|
+
/** User may submit this app request either as or on behalf of the owner. */
|
|
212
|
+
submit: Scalars['Boolean'];
|
|
213
|
+
/** User is able to see the acceptance UI. i.e. they are the applicant and the request is in the appropriate phase. */
|
|
214
|
+
viewAcceptUI: Scalars['Boolean'];
|
|
215
|
+
/** User is able to see the applicant UI. i.e. they are the applicant and the request is in the appropriate phase. */
|
|
216
|
+
viewApplyUI: Scalars['Boolean'];
|
|
217
|
+
__typename: 'AppRequestActions';
|
|
218
|
+
}
|
|
219
|
+
export interface AppRequestActivity {
|
|
220
|
+
action: Scalars['String'];
|
|
221
|
+
/** The app request this activity is associated with. */
|
|
222
|
+
appRequest: AppRequest;
|
|
223
|
+
/** The date and time when the action occurred. */
|
|
224
|
+
createdAt: Scalars['DateTime'];
|
|
225
|
+
/** A JSON object containing additional data about the activity. This could be filtered but different actions would place different data here so it is not strongly typed. */
|
|
226
|
+
data: (Scalars['JsonData'] | null);
|
|
227
|
+
/** A detailed description of the activity. This is not meant to be filtered and could contain specific details about the action. */
|
|
228
|
+
description: (Scalars['String'] | null);
|
|
229
|
+
id: Scalars['ID'];
|
|
230
|
+
/** If this activity was performed by an impersonated user, this will be the user that did the impersonation. */
|
|
231
|
+
impersonatedBy: (AccessUser | null);
|
|
232
|
+
/** The user that performed the activity. */
|
|
233
|
+
user: AccessUser;
|
|
234
|
+
__typename: 'AppRequestActivity';
|
|
235
|
+
}
|
|
236
|
+
/** This represents an index category attached to an app request. Its tagStrings property contains the tag values that have been extracted from the app request data. */
|
|
237
|
+
export interface AppRequestIndexCategory {
|
|
238
|
+
/** If this is > 0, the index values should be shown on the main app request list page, sorted by this priority in descending order. */
|
|
239
|
+
appRequestListPriority: (Scalars['Float'] | null);
|
|
240
|
+
/** If this is > 0, the index values should be shown on the applicant dashboard, sorted by this priority in descending order. */
|
|
241
|
+
applicantDashboardPriority: (Scalars['Float'] | null);
|
|
242
|
+
/** The internal category name for this index. Use this with any GraphQL filters. */
|
|
243
|
+
category: Scalars['String'];
|
|
244
|
+
/** A human-friendly label for this category that can be shown in the UI. */
|
|
245
|
+
categoryLabel: Scalars['String'];
|
|
246
|
+
/** If this is > 0, the index values should be shown on the list filters, sorted by this priority in descending order. */
|
|
247
|
+
listFiltersPriority: (Scalars['Float'] | null);
|
|
248
|
+
/** If true, this category has few enough values that it is reasonable to list them all in a dropdown or similar UI control. If false, the list of values is likely to get very long and it would be better to use an autofill combobox or something. */
|
|
249
|
+
listable: Scalars['Boolean'];
|
|
250
|
+
/** If this is > 0, the index values should be shown on the reviewer dashboard, sorted by this priority in descending order. */
|
|
251
|
+
reviewerDashboardPriority: (Scalars['Float'] | null);
|
|
252
|
+
values: IndexValue[];
|
|
253
|
+
__typename: 'AppRequestIndexCategory';
|
|
254
|
+
}
|
|
255
|
+
/** This is used to indicate where the index values should be displayed. */
|
|
256
|
+
export type AppRequestIndexDestination = 'APPLICANT_DASHBOARD' | 'APP_REQUEST_LIST' | 'LIST_FILTERS' | 'REVIEWER_DASHBOARD';
|
|
257
|
+
/** The current phase of the app request. The phase generally only changes when control of the app request shifts between the applicant and reviewer. */
|
|
258
|
+
export type AppRequestPhase = 'ACCEPTANCE' | 'COMPLETE' | 'STARTED' | 'SUBMITTED' | 'WORKFLOW_NONBLOCKING';
|
|
259
|
+
/**
|
|
260
|
+
*
|
|
261
|
+
* The status of an appRequest. This status is computed based on the "dbStatus" recorded in
|
|
262
|
+
* the database and the status of each application.
|
|
263
|
+
*
|
|
264
|
+
*/
|
|
265
|
+
export type AppRequestStatus = 'ACCEPTANCE' | 'ACCEPTED' | 'APPROVAL' | 'APPROVED' | 'CANCELLED' | 'DISQUALIFIED' | 'NOT_ACCEPTED' | 'NOT_APPROVED' | 'PREAPPROVAL' | 'READY_TO_ACCEPT' | 'READY_TO_SUBMIT' | 'REVIEW_COMPLETE' | 'STARTED' | 'WITHDRAWN';
|
|
266
|
+
/** An application represents the applicant applying to a specific program. Each appRequest has multiple applications - one per program defined in the system. Some applications are mutually exclusive and/or will be eliminated early based on PREQUAL requirements, but they all technically exist in the data model - there is no concept of picking one application over another, just two applications where one dies and the other survives. */
|
|
267
|
+
export interface Application {
|
|
268
|
+
actions: ApplicationActions;
|
|
269
|
+
id: Scalars['ID'];
|
|
270
|
+
/** The phase in which this application became ineligible for benefits. Useful for reporting / filtering. Null if the application is not (yet) ineligible. */
|
|
271
|
+
ineligiblePhase: (IneligiblePhases | null);
|
|
272
|
+
/** The navigation title of the program this application is for. */
|
|
273
|
+
navTitle: Scalars['String'];
|
|
274
|
+
/** The next workflow stage for this application that would be active after activating the advanceWorkflow mutation. Null if the application or current user is not allowed to advance. */
|
|
275
|
+
nextWorkflowStage: (PeriodWorkflowStage | null);
|
|
276
|
+
/** The phase of the application. This is usually a computed field, not stored in the database. */
|
|
277
|
+
phase: ApplicationPhase;
|
|
278
|
+
/** The previous workflow stage for this application that would be active after activating the reverseWorkflow mutation. Null if the application or current user is not allowed to reverse. */
|
|
279
|
+
previousWorkflowStage: (PeriodWorkflowStage | null);
|
|
280
|
+
/** The program key this application corresponds to. */
|
|
281
|
+
programKey: Scalars['String'];
|
|
282
|
+
requirements: ApplicationRequirement[];
|
|
283
|
+
status: ApplicationStatus;
|
|
284
|
+
/** When one of the application's requirements is failing or throwing a warning, its reason will be copied here for convenience. If there is a warning and then later a failure, the failure reason will win. */
|
|
285
|
+
statusReason: (Scalars['String'] | null);
|
|
286
|
+
/** The title of the program this application is for. */
|
|
287
|
+
title: Scalars['String'];
|
|
288
|
+
/** If the program has workflow, it may be divided into multiple stages of audit, each with their own requirements/prompts. This indicates which stage we are currently evaluating, or null if we are not in the workflow phase. An application with no workflow defined will never be in the workflow phase. Starts at 1. */
|
|
289
|
+
workflowStage: (PeriodWorkflowStage | null);
|
|
290
|
+
/** All workflow stages defined for the program/period of this application, in evaluation order. */
|
|
291
|
+
workflowStages: PeriodWorkflowStage[];
|
|
292
|
+
__typename: 'Application';
|
|
293
|
+
}
|
|
294
|
+
export interface ApplicationActions {
|
|
295
|
+
advanceWorkflow: Scalars['Boolean'];
|
|
296
|
+
reverseWorkflow: Scalars['Boolean'];
|
|
297
|
+
viewAsReviewer: Scalars['Boolean'];
|
|
298
|
+
__typename: 'ApplicationActions';
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
*
|
|
302
|
+
* The phase of the application. This is usually a computed field, not stored in the database. The phase
|
|
303
|
+
* is computed based on the status of the appRequest and of the requirements for the program.
|
|
304
|
+
*
|
|
305
|
+
*/
|
|
306
|
+
export type ApplicationPhase = 'ACCEPTANCE' | 'APPROVAL' | 'COMPLETE' | 'PREAPPROVAL' | 'PREQUAL' | 'QUALIFICATION' | 'READY_FOR_WORKFLOW' | 'READY_TO_ACCEPT' | 'READY_TO_COMPLETE' | 'READY_TO_SUBMIT' | 'REVIEW_COMPLETE' | 'WORKFLOW_BLOCKING' | 'WORKFLOW_NONBLOCKING';
|
|
307
|
+
/** The specific instance of a requirement on a particular application. Stores the status of the requirement, e.g. being satisfied or not. */
|
|
308
|
+
export interface ApplicationRequirement {
|
|
309
|
+
application: Application;
|
|
310
|
+
/** The configuration data for this requirement in the app request's period. */
|
|
311
|
+
configurationData: (Scalars['JsonData'] | null);
|
|
312
|
+
/** An internal description of the requirement. Probably not shown to users. */
|
|
313
|
+
description: Scalars['String'];
|
|
314
|
+
id: Scalars['ID'];
|
|
315
|
+
/** A human and machine readable unique and stable identifier that we can use to add javascript logic to the evaluation of whether a requirement is satisfied. For example: "gi_ch33_must_be_post911" */
|
|
316
|
+
key: Scalars['String'];
|
|
317
|
+
/** A human readable title for the requirement in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
318
|
+
navTitle: Scalars['String'];
|
|
319
|
+
prompts: RequirementPrompt[];
|
|
320
|
+
/** The smart title for this requirement in the app request's period. For instance, might be "Applicant must have GPA over 3.4" instead of the regular title "Applicant must meet GPA requirement". Will fall back to the regular title for any requirement that does not provide a smart title. */
|
|
321
|
+
smartTitle: Scalars['String'];
|
|
322
|
+
/** The status of the requirement. This is what will be shown to users. */
|
|
323
|
+
status: RequirementStatus;
|
|
324
|
+
/** The reason why the requirement is in the status it is in. This will be shown to the applicant. */
|
|
325
|
+
statusReason: (Scalars['String'] | null);
|
|
326
|
+
/** A human readable title for the requirement. This is what will be shown to users. */
|
|
327
|
+
title: Scalars['String'];
|
|
328
|
+
/** The type of requirement. This determines when the requirement is evaluated and who can see the requirement. */
|
|
329
|
+
type: RequirementType;
|
|
330
|
+
/** The stage of the workflow for this requirement. Null if not part of a workflow stage */
|
|
331
|
+
workflowStage: (PeriodWorkflowStage | null);
|
|
332
|
+
__typename: 'ApplicationRequirement';
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
*
|
|
336
|
+
* The status of an application. This is usually a computed field, not stored in the database. The status
|
|
337
|
+
* is computed based on the status of the appRequest and of the requirements for the program. If
|
|
338
|
+
* the appRequest is CLOSED or CANCELLED, this status will remain frozen wherever it was before the
|
|
339
|
+
* closure / cancellation.
|
|
340
|
+
*
|
|
341
|
+
*/
|
|
342
|
+
export type ApplicationStatus = 'ACCEPTED' | 'ELIGIBLE' | 'INELIGIBLE' | 'PENDING' | 'REJECTED';
|
|
343
|
+
export interface Category {
|
|
344
|
+
/** This is indexed name of the category. Categories are indexed to allow for quick filtering of a list of items. e.g. institutionalRoles */
|
|
345
|
+
category: Scalars['String'];
|
|
346
|
+
/** Displayed Label of the category. e.g. Institutional Roles */
|
|
347
|
+
label: (Scalars['String'] | null);
|
|
348
|
+
/** IDs are the unique values that may be used to group an items. Multiple IDs may be assigned to an item. i.e. ["Staff", "Faculty", "Student"] */
|
|
349
|
+
tags: CategoryTag[];
|
|
350
|
+
/** Set this to true should be available as a filter in the User list view. */
|
|
351
|
+
useInFilters: (Scalars['Boolean'] | null);
|
|
352
|
+
/** Set this to true should be displayed as a column in the User list view. */
|
|
353
|
+
useInList: (Scalars['Boolean'] | null);
|
|
354
|
+
__typename: 'Category';
|
|
355
|
+
}
|
|
356
|
+
export interface CategoryTag {
|
|
357
|
+
/** Displayed Label of the tag in the UI Filter. This value should be unique enough to be distinguishable between other tags within a category type. */
|
|
358
|
+
label: (Scalars['String'] | null);
|
|
359
|
+
/** This is the indexed name of the tagged instance within a category type and is what is stored/searched for in the database. */
|
|
360
|
+
tag: Scalars['String'];
|
|
361
|
+
__typename: 'CategoryTag';
|
|
362
|
+
}
|
|
363
|
+
export interface Configuration {
|
|
364
|
+
actions: ConfigurationAccess;
|
|
365
|
+
data: Scalars['JsonData'];
|
|
366
|
+
fetchedData: (Scalars['JsonData'] | null);
|
|
367
|
+
/** The key being configured. Could be a requirement or prompt key. */
|
|
368
|
+
key: Scalars['String'];
|
|
369
|
+
__typename: 'Configuration';
|
|
370
|
+
}
|
|
371
|
+
export interface ConfigurationAccess {
|
|
372
|
+
update: Scalars['Boolean'];
|
|
373
|
+
view: Scalars['Boolean'];
|
|
374
|
+
__typename: 'ConfigurationAccess';
|
|
375
|
+
}
|
|
376
|
+
/** This represents an index as registered by one of the project's prompt definitions. */
|
|
377
|
+
export interface IndexCategory {
|
|
378
|
+
/** If this is > 0, the index values should be shown on the main app request list page, sorted by this priority in descending order. */
|
|
379
|
+
appRequestListPriority: (Scalars['Float'] | null);
|
|
380
|
+
/** If this is > 0, the index values should be shown on the applicant dashboard, sorted by this priority in descending order. */
|
|
381
|
+
applicantDashboardPriority: (Scalars['Float'] | null);
|
|
382
|
+
/** The internal category name for this index. Use this with any GraphQL filters. */
|
|
383
|
+
category: Scalars['String'];
|
|
384
|
+
/** A human-friendly label for this category that can be shown in the UI. */
|
|
385
|
+
categoryLabel: Scalars['String'];
|
|
386
|
+
/** If this is > 0, the index values should be shown on the list filters, sorted by this priority in descending order. */
|
|
387
|
+
listFiltersPriority: (Scalars['Float'] | null);
|
|
388
|
+
/** If true, this category has few enough values that it is reasonable to list them all in a dropdown or similar UI control. If false, the list of values is likely to get very long and it would be better to use an autofill combobox or something. */
|
|
389
|
+
listable: Scalars['Boolean'];
|
|
390
|
+
/** If this is > 0, the index values should be shown on the reviewer dashboard, sorted by this priority in descending order. */
|
|
391
|
+
reviewerDashboardPriority: (Scalars['Float'] | null);
|
|
392
|
+
values: IndexValue[];
|
|
393
|
+
__typename: 'IndexCategory';
|
|
394
|
+
}
|
|
395
|
+
export interface IndexValue {
|
|
396
|
+
label: Scalars['String'];
|
|
397
|
+
value: Scalars['String'];
|
|
398
|
+
__typename: 'IndexValue';
|
|
399
|
+
}
|
|
400
|
+
export type IneligiblePhases = 'ACCEPTANCE' | 'APPROVAL' | 'PREAPPROVAL' | 'PREQUAL' | 'QUALIFICATION' | 'WORKFLOW';
|
|
401
|
+
export interface Mutation {
|
|
402
|
+
/** This is for the applicant to accept or reject the offer that was made based on their app request. The difference between accept and reject is determined by the status of the acceptance requirements. They will still "accept offer" after they answer that they do not want the offer. If there is non-blocking workflow on any applications, the first one in each will begin. Applications without non-blocking workflow will be advanced to the COMPLETE phase. If all applications are complete, the app request will be closed. */
|
|
403
|
+
acceptOffer: ValidatedAppRequestResponse;
|
|
404
|
+
/** Add a note to the app request. */
|
|
405
|
+
addNote: ValidatedAppRequestResponse;
|
|
406
|
+
/** Moves the application to the next workflow stage. If phase is READY_FOR_WORKFLOW, moves to the first or next blocking workflow stage. If on the last blocking workflow, moves to REVIEW_COMPLETE. If on the last non-blocking workflow, moves the application to COMPLETE. If all applications are COMPLETE, automatically triggers the app request close mutation. */
|
|
407
|
+
advanceWorkflow: ValidatedAppRequestResponse;
|
|
408
|
+
/** Cancel or withdraw the app request, depending on its current phase. This is only available if the app request is in a cancellable state. */
|
|
409
|
+
cancelAppRequest: ValidatedAppRequestResponse;
|
|
410
|
+
/** Close the app request. Generally this is always available and will freeze the request/applications in their current phase/status. */
|
|
411
|
+
closeAppRequest: ValidatedAppRequestResponse;
|
|
412
|
+
/** Complete the app request. This is generally only available if request is in non-blocking workflow and all applications are complete. */
|
|
413
|
+
completeRequest: ValidatedAppRequestResponse;
|
|
414
|
+
/** Make an offer on the app request. If all applications are ineligible, or if there are no acceptance requirements, the applications will advance to the non-blocking workflow, or absent that, be marked complete. */
|
|
415
|
+
completeReview: ValidatedAppRequestResponse;
|
|
416
|
+
/** Create a new app request. */
|
|
417
|
+
createAppRequest: ValidatedAppRequestResponse;
|
|
418
|
+
createPeriod: ValidatedPeriodResponse;
|
|
419
|
+
/** Delete an existing note. */
|
|
420
|
+
deleteNote: Scalars['Boolean'];
|
|
421
|
+
deletePeriod: ValidatedResponse;
|
|
422
|
+
markPeriodReviewed: ValidatedPeriodResponse;
|
|
423
|
+
/** Reopen the app request. This is only available if the app request is in a state that allows reopening. */
|
|
424
|
+
reopenAppRequest: ValidatedAppRequestResponse;
|
|
425
|
+
/** Return the app request to the applicant phase. This is only available if the app request is in a state that allows returning. */
|
|
426
|
+
returnToApplicant: ValidatedAppRequestResponse;
|
|
427
|
+
/** If request is complete, undo and return to non-blocking workflow. */
|
|
428
|
+
returnToNonBlocking: ValidatedAppRequestResponse;
|
|
429
|
+
/** Return the app request to the acceptance phase from non-blocking workflow or completion. */
|
|
430
|
+
returnToOffer: ValidatedAppRequestResponse;
|
|
431
|
+
/** Return the app request to the review phase from acceptance, non-blocking workflow, or completion. */
|
|
432
|
+
returnToReview: ValidatedAppRequestResponse;
|
|
433
|
+
/** Moves the application back to the previous workflow stage. If on the first blocking workflow stage, moves back to APPROVAL. If on the first non-blocking workflow, throws an error. */
|
|
434
|
+
reverseWorkflow: ValidatedAppRequestResponse;
|
|
435
|
+
roleAddGrant: AccessRoleValidatedResponse;
|
|
436
|
+
roleCreate: AccessRoleValidatedResponse;
|
|
437
|
+
roleDelete: ValidatedResponse;
|
|
438
|
+
roleDeleteGrant: AccessRoleValidatedResponse;
|
|
439
|
+
roleUpdate: AccessRoleValidatedResponse;
|
|
440
|
+
roleUpdateGrant: AccessRoleValidatedResponse;
|
|
441
|
+
/** Submit the app request. */
|
|
442
|
+
submitAppRequest: ValidatedAppRequestResponse;
|
|
443
|
+
updateConfiguration: ValidatedConfigurationResponse;
|
|
444
|
+
/** Update the content of an existing note. */
|
|
445
|
+
updateNote: Note;
|
|
446
|
+
updatePeriod: ValidatedPeriodResponse;
|
|
447
|
+
updatePeriodRequirement: ValidatedResponse;
|
|
448
|
+
/** Update the data for a prompt in this app request. */
|
|
449
|
+
updatePrompt: ValidatedAppRequestResponse;
|
|
450
|
+
__typename: 'Mutation';
|
|
451
|
+
}
|
|
452
|
+
export interface MutationMessage {
|
|
453
|
+
/** The path to the arg that produced the error. Dot-separated (lodash.get compatible) if it is deep inside an input type. Null if no particular arg can be blamed for the error. */
|
|
454
|
+
arg: (Scalars['String'] | null);
|
|
455
|
+
/** An error message to be shown to the end user, with the context of the given arg. */
|
|
456
|
+
message: Scalars['String'];
|
|
457
|
+
/** The type of error message. See the enum descriptions for more detail. */
|
|
458
|
+
type: MutationMessageType;
|
|
459
|
+
__typename: 'MutationMessage';
|
|
460
|
+
}
|
|
461
|
+
export type MutationMessageType = 'error' | 'success' | 'warning';
|
|
462
|
+
/** An internal note attached to an application request. Notes are always written by reviewers and never visible to applicants. "Messages" are for reviewers and applicants communicating with one another. */
|
|
463
|
+
export interface Note {
|
|
464
|
+
actions: NoteActions;
|
|
465
|
+
/** The app request this note is attached to. */
|
|
466
|
+
appRequest: AppRequest;
|
|
467
|
+
/** The author of the note. */
|
|
468
|
+
author: AccessUser;
|
|
469
|
+
/** The content of the note in HTML. */
|
|
470
|
+
content: Scalars['String'];
|
|
471
|
+
createdAt: Scalars['DateTime'];
|
|
472
|
+
id: Scalars['ID'];
|
|
473
|
+
updatedAt: Scalars['DateTime'];
|
|
474
|
+
__typename: 'Note';
|
|
475
|
+
}
|
|
476
|
+
/** Actions that can be performed on a note. */
|
|
477
|
+
export interface NoteActions {
|
|
478
|
+
delete: Scalars['Boolean'];
|
|
479
|
+
update: Scalars['Boolean'];
|
|
480
|
+
__typename: 'NoteActions';
|
|
481
|
+
}
|
|
482
|
+
export interface PaginationInfoWithTotalItems {
|
|
483
|
+
/** List of indexed category data related to items within a page. Often used for filtering items. */
|
|
484
|
+
categories: (Category[] | null);
|
|
485
|
+
/** The current page number, starting at 1. This is always provided - if pagination was not requested, will return 1. */
|
|
486
|
+
currentPage: Scalars['Float'];
|
|
487
|
+
/** Indicates whether requesting the next page would provide more results. Especially useful for models that cannot provide total item count for practical reasons. Note that over time, more results can appear and make this answer wrong, so in some circumstances it makes sense to request another page anyway. */
|
|
488
|
+
hasNextPage: Scalars['Boolean'];
|
|
489
|
+
/** The number of items per page. Null if pagination was not requested/forced because results per page is unlimited. */
|
|
490
|
+
perPage: (Scalars['Float'] | null);
|
|
491
|
+
/** If possible, the total number of results will be provided. The API may return null if calculating the total is impractical. If pagination was not requested/forced, will equal the result count. */
|
|
492
|
+
totalItems: (Scalars['Float'] | null);
|
|
493
|
+
__typename: 'PaginationInfoWithTotalItems';
|
|
494
|
+
}
|
|
495
|
+
export interface PaginationResponse {
|
|
496
|
+
accessUsers: (PaginationInfoWithTotalItems | null);
|
|
497
|
+
appRequests: (PaginationInfoWithTotalItems | null);
|
|
498
|
+
appRequestsActivity: (PaginationInfoWithTotalItems | null);
|
|
499
|
+
__typename: 'PaginationResponse';
|
|
500
|
+
}
|
|
501
|
+
export interface Period {
|
|
502
|
+
actions: PeriodActions;
|
|
503
|
+
/** This is useful for filtering out periods that are no longer useful. For instance, a window might close applications after 2 weeks but the reviewers could be working. */
|
|
504
|
+
archiveDate: (Scalars['DateTime'] | null);
|
|
505
|
+
/** Date that this period closes for applications. Some periods do not set a close date. */
|
|
506
|
+
closeDate: (Scalars['DateTime'] | null);
|
|
507
|
+
/** Unique identifier for this period that references an external system. Ideally human readable. */
|
|
508
|
+
code: (Scalars['String'] | null);
|
|
509
|
+
configurations: Configuration[];
|
|
510
|
+
id: Scalars['ID'];
|
|
511
|
+
/** Name for this period. Will be displayed to applicants if they create an App Request while two periods are simultaneously open. */
|
|
512
|
+
name: Scalars['String'];
|
|
513
|
+
/** Date that this period opens for applications. */
|
|
514
|
+
openDate: Scalars['DateTime'];
|
|
515
|
+
programs: PeriodProgram[];
|
|
516
|
+
prompts: PeriodPrompt[];
|
|
517
|
+
requirements: PeriodProgramRequirement[];
|
|
518
|
+
/** Whether this period's configurations have been reviewed by an administrator. Newly created periods must be reviewed before they will accept new app requests, even if the open date has passed. */
|
|
519
|
+
reviewed: Scalars['Boolean'];
|
|
520
|
+
__typename: 'Period';
|
|
521
|
+
}
|
|
522
|
+
export interface PeriodActions {
|
|
523
|
+
createAppRequest: Scalars['Boolean'];
|
|
524
|
+
delete: Scalars['Boolean'];
|
|
525
|
+
update: Scalars['Boolean'];
|
|
526
|
+
__typename: 'PeriodActions';
|
|
527
|
+
}
|
|
528
|
+
export interface PeriodProgram {
|
|
529
|
+
actions: PeriodProgramActions;
|
|
530
|
+
/** Whether the program is enabled in this period. This is set by the system administrator. */
|
|
531
|
+
enabled: Scalars['Boolean'];
|
|
532
|
+
key: Scalars['ID'];
|
|
533
|
+
navTitle: Scalars['String'];
|
|
534
|
+
period: Period;
|
|
535
|
+
requirements: PeriodProgramRequirement[];
|
|
536
|
+
title: Scalars['String'];
|
|
537
|
+
__typename: 'PeriodProgram';
|
|
538
|
+
}
|
|
539
|
+
export interface PeriodProgramActions {
|
|
540
|
+
configure: Scalars['Boolean'];
|
|
541
|
+
__typename: 'PeriodProgramActions';
|
|
542
|
+
}
|
|
543
|
+
export interface PeriodProgramRequirement {
|
|
544
|
+
/** The configuration for this requirement in the period. */
|
|
545
|
+
configuration: Configuration;
|
|
546
|
+
/** An internal description of the requirement. Probably not shown to users. */
|
|
547
|
+
description: Scalars['String'];
|
|
548
|
+
/** Whether the requirement is enabled in this period. This is set by the system administrator. */
|
|
549
|
+
enabled: Scalars['Boolean'];
|
|
550
|
+
/** A human and machine readable unique and stable identifier that we can use to add javascript logic to the evaluation of whether a requirement is satisfied. For example: "gi_ch33_must_be_post911" */
|
|
551
|
+
key: Scalars['String'];
|
|
552
|
+
/** A human readable title for the requirement in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
553
|
+
navTitle: Scalars['String'];
|
|
554
|
+
prompts: PeriodPrompt[];
|
|
555
|
+
/** A human readable title for the requirement. This is what will be shown to users. */
|
|
556
|
+
title: Scalars['String'];
|
|
557
|
+
/** The type of requirement. This determines when the requirement is evaluated and who can see the requirement. */
|
|
558
|
+
type: RequirementType;
|
|
559
|
+
__typename: 'PeriodProgramRequirement';
|
|
560
|
+
}
|
|
561
|
+
export interface PeriodPrompt {
|
|
562
|
+
/** The configuration for this prompt in the given period. */
|
|
563
|
+
configuration: Configuration;
|
|
564
|
+
/** A brief description of the prompt. This should be shown to administrators to help explain the full meaning of the prompt while assigning permissions or editing its configuration. */
|
|
565
|
+
description: (Scalars['String'] | null);
|
|
566
|
+
/** A human and machine readable identifier for the prompt. Will be used to match prompt data with UI and API code that handles it. */
|
|
567
|
+
key: Scalars['String'];
|
|
568
|
+
/** A human readable title for the prompt in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
569
|
+
navTitle: Scalars['String'];
|
|
570
|
+
periodId: Scalars['String'];
|
|
571
|
+
/** A human readable title for the prompt. This is what will be shown to users. */
|
|
572
|
+
title: Scalars['String'];
|
|
573
|
+
__typename: 'PeriodPrompt';
|
|
574
|
+
}
|
|
575
|
+
export interface PeriodWorkflowStage {
|
|
576
|
+
/** Whether this stage is blocking. If true, the application cannot be completed and shown to the applicant until all requirements in this stage are satisfied. */
|
|
577
|
+
blocking: Scalars['Boolean'];
|
|
578
|
+
/** Globally unique key for this workflow stage. Use lowercase snake_case, alphanumeric and underscore only. */
|
|
579
|
+
key: Scalars['String'];
|
|
580
|
+
/** A human readable title for the workflow stage. */
|
|
581
|
+
title: Scalars['String'];
|
|
582
|
+
__typename: 'PeriodWorkflowStage';
|
|
583
|
+
}
|
|
584
|
+
export interface Program {
|
|
585
|
+
key: Scalars['ID'];
|
|
586
|
+
navTitle: Scalars['String'];
|
|
587
|
+
title: Scalars['String'];
|
|
588
|
+
__typename: 'Program';
|
|
589
|
+
}
|
|
590
|
+
/** The visibility of a prompt on a request. This is used to determine whether the prompt should be shown to the user in the UI. */
|
|
591
|
+
export type PromptVisibility = 'APPLICATION_DUPE' | 'AVAILABLE' | 'REQUEST_DUPE' | 'UNREACHABLE';
|
|
592
|
+
export interface Query {
|
|
593
|
+
/**
|
|
594
|
+
*
|
|
595
|
+
* This is the global access object. Each field represents a global permission
|
|
596
|
+
* like the ability to view the role management interface.
|
|
597
|
+
*
|
|
598
|
+
*/
|
|
599
|
+
access: Access;
|
|
600
|
+
accessUsers: AccessUser[];
|
|
601
|
+
/** The activity log for this app request. This is a list of actions taken on the app request, such as submission, updating prompts, make an offer, add a note, etc. It will be sorted by the date of the activity in descending order. */
|
|
602
|
+
appRequestActivity: AppRequestActivity[];
|
|
603
|
+
appRequestIndexes: IndexCategory[];
|
|
604
|
+
appRequests: AppRequest[];
|
|
605
|
+
/** This is where you get information about the authorization system. Each grant will be associated with one of these controlGroups, one or more controls in the group, and an optional set of tags. The tags are used to limit the scope of the grant. */
|
|
606
|
+
controlGroups: AccessControlGroup[];
|
|
607
|
+
countAppRequests: Scalars['Int'];
|
|
608
|
+
pageInfo: PaginationResponse;
|
|
609
|
+
periods: Period[];
|
|
610
|
+
programs: Program[];
|
|
611
|
+
roles: AccessRole[];
|
|
612
|
+
/** A list of all possible scopes. Scopes are used to limit users when they are accessing the system through an alternate UI or login method. For instance, if you generate an authentication token to give to a third party, it may have a scope identifying that third party and limiting their access even though they are acting as you. Roles must match the token scope in order to apply permissions. */
|
|
613
|
+
scopes: Scalars['String'][];
|
|
614
|
+
userIndexes: IndexCategory[];
|
|
615
|
+
__typename: 'Query';
|
|
616
|
+
}
|
|
617
|
+
/** A RequestPrompt is an instance of a Prompt on a particular request. Once the user has answered the prompt, it contains the answer and the prompt status on that request. */
|
|
618
|
+
export interface RequirementPrompt {
|
|
619
|
+
/** Actions that the user can take on this prompt. */
|
|
620
|
+
actions: RequirementPromptActions;
|
|
621
|
+
/** Whether the prompt has been answered on this request. Note that the answer may be marked invalidated, which means that even though it has been answered, the current answer can't be used and the user needs to answer it again. */
|
|
622
|
+
answered: Scalars['Boolean'];
|
|
623
|
+
/** The configuration data for this prompt in the app request's period. */
|
|
624
|
+
configurationData: Scalars['JsonData'];
|
|
625
|
+
/** The data that has been gathered from the user in response to this prompt. The schema is controlled by the question's implementation. */
|
|
626
|
+
data: (Scalars['JsonData'] | null);
|
|
627
|
+
/** A brief description of the prompt. This should be shown to administrators to help explain the full meaning of the prompt while assigning permissions or editing its configuration. */
|
|
628
|
+
description: (Scalars['String'] | null);
|
|
629
|
+
/** Any data that the API needs to provide to the UI to build the prompt form properly. For instance, it could pull reference information from an external system, e.g. a student's course schedule, for display in the prompt dialog. Null if the user is not currently allowed to update the prompt. */
|
|
630
|
+
fetchedData: (Scalars['JsonData'] | null);
|
|
631
|
+
/** Extra configuration data that is relevant for this prompt. This configuration is explicitly gathered from related requirements and prompts by the gatherConfig function in the prompt definition. */
|
|
632
|
+
gatheredConfigData: Scalars['JsonData'];
|
|
633
|
+
id: Scalars['ID'];
|
|
634
|
+
/** When true, this prompt has been invalidated by the answer to another prompt. The `answered` field will remain true so be sure to check this field as well when determining whether the prompt is complete. */
|
|
635
|
+
invalidated: Scalars['Boolean'];
|
|
636
|
+
/** If the prompt has been invalidated, this may contain a reason why. It should be displayed to the user. */
|
|
637
|
+
invalidatedReason: (Scalars['String'] | null);
|
|
638
|
+
/** A human and machine readable identifier for the prompt. Will be used to match prompt data with UI and API code that handles it. */
|
|
639
|
+
key: Scalars['String'];
|
|
640
|
+
/** This prompt's requirement follows a requirement that has already marked the application as ineligible. The prompt still has visibility of AVAILABLE OR REQUEST_DUPE OR APPLICATION_DUPE as normal, but should probably be shown to the user as disabled or not shown at all. */
|
|
641
|
+
moot: Scalars['Boolean'];
|
|
642
|
+
/** A human readable title for the prompt in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
643
|
+
navTitle: Scalars['String'];
|
|
644
|
+
/** Preload data that has been generated according to the prompt definition. For example, a prompt might query the database for answers given in previous requests or query an external API to learn facts about the user. */
|
|
645
|
+
preloadData: (Scalars['JsonData'] | null);
|
|
646
|
+
/** The requirement that this prompt is associated with. */
|
|
647
|
+
requirement: ApplicationRequirement;
|
|
648
|
+
/** A human readable title for the prompt. This is what will be shown to users. */
|
|
649
|
+
title: Scalars['String'];
|
|
650
|
+
/** The visibility of the prompt on the request. This is used to determine whether the prompt should be shown to the user in the UI. */
|
|
651
|
+
visibility: PromptVisibility;
|
|
652
|
+
__typename: 'RequirementPrompt';
|
|
653
|
+
}
|
|
654
|
+
export interface RequirementPromptActions {
|
|
655
|
+
update: Scalars['Boolean'];
|
|
656
|
+
__typename: 'RequirementPromptActions';
|
|
657
|
+
}
|
|
658
|
+
export type RequirementStatus = 'DISQUALIFYING' | 'MET' | 'NOT_APPLICABLE' | 'PENDING' | 'WARNING';
|
|
659
|
+
export type RequirementType = 'ACCEPTANCE' | 'APPROVAL' | 'POSTQUAL' | 'PREAPPROVAL' | 'PREQUAL' | 'QUALIFICATION' | 'WORKFLOW';
|
|
660
|
+
export interface RoleActions {
|
|
661
|
+
delete: Scalars['Boolean'];
|
|
662
|
+
update: Scalars['Boolean'];
|
|
663
|
+
__typename: 'RoleActions';
|
|
664
|
+
}
|
|
665
|
+
export interface ValidatedAppRequestResponse {
|
|
666
|
+
appRequest: (AppRequest | null);
|
|
667
|
+
messages: MutationMessage[];
|
|
668
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
669
|
+
success: Scalars['Boolean'];
|
|
670
|
+
__typename: 'ValidatedAppRequestResponse';
|
|
671
|
+
}
|
|
672
|
+
export interface ValidatedConfigurationResponse {
|
|
673
|
+
configuration: (Configuration | null);
|
|
674
|
+
messages: MutationMessage[];
|
|
675
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
676
|
+
success: Scalars['Boolean'];
|
|
677
|
+
__typename: 'ValidatedConfigurationResponse';
|
|
678
|
+
}
|
|
679
|
+
export interface ValidatedPeriodResponse {
|
|
680
|
+
messages: MutationMessage[];
|
|
681
|
+
period: (Period | null);
|
|
682
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
683
|
+
success: Scalars['Boolean'];
|
|
684
|
+
__typename: 'ValidatedPeriodResponse';
|
|
685
|
+
}
|
|
686
|
+
export interface ValidatedResponse {
|
|
687
|
+
messages: MutationMessage[];
|
|
688
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
689
|
+
success: Scalars['Boolean'];
|
|
690
|
+
__typename: 'ValidatedResponse';
|
|
691
|
+
}
|
|
692
|
+
export interface AccessGenqlSelection {
|
|
693
|
+
/** Current user may create a new app request on behalf of another user and should be shown the Create App Request button on the reviewer dashboard or main app request list. */
|
|
694
|
+
createAppRequestOther?: boolean | number;
|
|
695
|
+
/** Current user may create a new app request for themselves and should be shown the Create App Request button. */
|
|
696
|
+
createAppRequestSelf?: boolean | number;
|
|
697
|
+
/** Current user is permitted to create new periods in the period management UI. */
|
|
698
|
+
createPeriod?: boolean | number;
|
|
699
|
+
/** Current user is permitted to create new roles in the role management UI. */
|
|
700
|
+
createRole?: boolean | number;
|
|
701
|
+
/** The current user, if any. */
|
|
702
|
+
user?: AccessUserGenqlSelection;
|
|
703
|
+
/** Current user is permitted to view the app request list. */
|
|
704
|
+
viewAppRequestList?: boolean | number;
|
|
705
|
+
/** Current user is permitted to view the applicant dashboard. */
|
|
706
|
+
viewApplicantDashboard?: boolean | number;
|
|
707
|
+
/** Current user is permitted to view the period management UI. */
|
|
708
|
+
viewPeriodManagement?: boolean | number;
|
|
709
|
+
/** Current user is permitted to view the reviewer dashboard. */
|
|
710
|
+
viewReviewerInterface?: boolean | number;
|
|
711
|
+
/** Current user is permitted to view the role management UI. */
|
|
712
|
+
viewRoleManagement?: boolean | number;
|
|
713
|
+
__typename?: boolean | number;
|
|
714
|
+
__scalar?: boolean | number;
|
|
715
|
+
}
|
|
716
|
+
export interface AccessControlGenqlSelection {
|
|
717
|
+
description?: boolean | number;
|
|
718
|
+
name?: boolean | number;
|
|
719
|
+
__typename?: boolean | number;
|
|
720
|
+
__scalar?: boolean | number;
|
|
721
|
+
}
|
|
722
|
+
export interface AccessControlGroupGenqlSelection {
|
|
723
|
+
/** A list of all possible controls for this controlGroup. Use this to populate the control dropdown when creating a grant. */
|
|
724
|
+
controls?: AccessControlGenqlSelection;
|
|
725
|
+
/** A longer explanation of the control group for display in the role management interface. */
|
|
726
|
+
description?: boolean | number;
|
|
727
|
+
name?: boolean | number;
|
|
728
|
+
tags?: AccessTagCategoryGenqlSelection;
|
|
729
|
+
/** A slightly longer version of the control group's name, for display in the role management interface. */
|
|
730
|
+
title?: boolean | number;
|
|
731
|
+
__typename?: boolean | number;
|
|
732
|
+
__scalar?: boolean | number;
|
|
733
|
+
}
|
|
734
|
+
export interface AccessGrantTagGenqlSelection {
|
|
735
|
+
category?: boolean | number;
|
|
736
|
+
categoryLabel?: boolean | number;
|
|
737
|
+
label?: boolean | number;
|
|
738
|
+
tag?: boolean | number;
|
|
739
|
+
__typename?: boolean | number;
|
|
740
|
+
__scalar?: boolean | number;
|
|
741
|
+
}
|
|
742
|
+
export interface AccessRoleGenqlSelection {
|
|
743
|
+
actions?: RoleActionsGenqlSelection;
|
|
744
|
+
/** A description of the grant. This is not used for anything, but can be useful for admins to understand what the grant was trying to do. */
|
|
745
|
+
description?: boolean | number;
|
|
746
|
+
grants?: AccessRoleGrantGenqlSelection;
|
|
747
|
+
groups?: AccessRoleGroupGenqlSelection;
|
|
748
|
+
id?: boolean | number;
|
|
749
|
+
name?: boolean | number;
|
|
750
|
+
scope?: boolean | number;
|
|
751
|
+
__typename?: boolean | number;
|
|
752
|
+
__scalar?: boolean | number;
|
|
753
|
+
}
|
|
754
|
+
export interface AccessRoleFilter {
|
|
755
|
+
groups?: (Scalars['String'][] | null);
|
|
756
|
+
ids?: (Scalars['ID'][] | null);
|
|
757
|
+
names?: (Scalars['String'][] | null);
|
|
758
|
+
scopes?: (Scalars['String'][] | null);
|
|
759
|
+
}
|
|
760
|
+
export interface AccessRoleGrantGenqlSelection {
|
|
761
|
+
actions?: AccessRoleGrantActionsGenqlSelection;
|
|
762
|
+
/**
|
|
763
|
+
*
|
|
764
|
+
* If true, this grant allows the action specified by the selected controls. If false, it removes
|
|
765
|
+
* the controls.
|
|
766
|
+
*
|
|
767
|
+
* Removing a control only happens within the context of a single role. If another role grants the
|
|
768
|
+
* same control, the action is allowed. This is more of an exception system than a denial
|
|
769
|
+
* system. So you can do something like add the "view" control to the "movie" control group in one
|
|
770
|
+
* grant, and then in a second grant in the same role, remove it from "The Princess Bride". Now you
|
|
771
|
+
* have a role that grants "view" on all movies _except_ The Princess Bride. If the user has another role
|
|
772
|
+
* that grants "view" on The Princess Bride (or on all movies), they can view it based on that other role.
|
|
773
|
+
*
|
|
774
|
+
*/
|
|
775
|
+
allow?: boolean | number;
|
|
776
|
+
/** The group this control belongs to. e.g. Reviewer - Review Phase */
|
|
777
|
+
controlGroup?: AccessControlGroupGenqlSelection;
|
|
778
|
+
controls?: boolean | number;
|
|
779
|
+
id?: boolean | number;
|
|
780
|
+
tags?: AccessGrantTagGenqlSelection;
|
|
781
|
+
__typename?: boolean | number;
|
|
782
|
+
__scalar?: boolean | number;
|
|
783
|
+
}
|
|
784
|
+
export interface AccessRoleGrantActionsGenqlSelection {
|
|
785
|
+
delete?: boolean | number;
|
|
786
|
+
update?: boolean | number;
|
|
787
|
+
__typename?: boolean | number;
|
|
788
|
+
__scalar?: boolean | number;
|
|
789
|
+
}
|
|
790
|
+
export interface AccessRoleGrantCreate {
|
|
791
|
+
allow: Scalars['Boolean'];
|
|
792
|
+
controlGroup?: (Scalars['String'] | null);
|
|
793
|
+
/** A list of controls that are allowed or denied by this grant. Each controlGroup has a list of available controls, available under Query.controlGroups. */
|
|
794
|
+
controls?: (Scalars['String'][] | null);
|
|
795
|
+
/** A list of tags to restrict a grant. For instance, if this is added to a grant on PromptAnswer-update, each tag refers to a subset of App Requests. */
|
|
796
|
+
tags?: (AccessTagInput[] | null);
|
|
797
|
+
}
|
|
798
|
+
export interface AccessRoleGrantUpdate {
|
|
799
|
+
allow: Scalars['Boolean'];
|
|
800
|
+
controlGroup?: (Scalars['String'] | null);
|
|
801
|
+
/** A list of controls that are allowed or denied by this grant. Each controlGroup has a list of available controls, available under Query.controlGroups. */
|
|
802
|
+
controls?: (Scalars['String'][] | null);
|
|
803
|
+
/** A list of tags to restrict a grant. For instance, if this is added to a grant on PromptAnswer-update, each tag refers to a subset of App Requests. */
|
|
804
|
+
tags?: (AccessTagInput[] | null);
|
|
805
|
+
}
|
|
806
|
+
export interface AccessRoleGroupGenqlSelection {
|
|
807
|
+
/** The date the group was added to a role. */
|
|
808
|
+
dateAdded?: boolean | number;
|
|
809
|
+
dateCreated?: boolean | number;
|
|
810
|
+
/** The name of the group. This should be unique even among all roleIds. */
|
|
811
|
+
groupName?: boolean | number;
|
|
812
|
+
managers?: AccessRoleGroupManagerGenqlSelection;
|
|
813
|
+
roleId?: boolean | number;
|
|
814
|
+
__typename?: boolean | number;
|
|
815
|
+
__scalar?: boolean | number;
|
|
816
|
+
}
|
|
817
|
+
export interface AccessRoleGroupManagerGenqlSelection {
|
|
818
|
+
/** The date the group was added to a role. */
|
|
819
|
+
email?: boolean | number;
|
|
820
|
+
/** The date the group was added to a role. */
|
|
821
|
+
fullname?: boolean | number;
|
|
822
|
+
__typename?: boolean | number;
|
|
823
|
+
__scalar?: boolean | number;
|
|
824
|
+
}
|
|
825
|
+
export interface AccessRoleInput {
|
|
826
|
+
/** A description of the role. This is not used for anything, but can be useful for admins to understand what the role is trying to do. */
|
|
827
|
+
description?: (Scalars['String'] | null);
|
|
828
|
+
/** A list of groups this role is associated with. */
|
|
829
|
+
groups: Scalars['String'][];
|
|
830
|
+
name: Scalars['String'];
|
|
831
|
+
/** Attach this role to a specific authentication scope, e.g. "parent". */
|
|
832
|
+
scope?: (Scalars['String'] | null);
|
|
833
|
+
}
|
|
834
|
+
export interface AccessRoleValidatedResponseGenqlSelection {
|
|
835
|
+
accessRole?: AccessRoleGenqlSelection;
|
|
836
|
+
messages?: MutationMessageGenqlSelection;
|
|
837
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
838
|
+
success?: boolean | number;
|
|
839
|
+
__typename?: boolean | number;
|
|
840
|
+
__scalar?: boolean | number;
|
|
841
|
+
}
|
|
842
|
+
export interface AccessTagGenqlSelection {
|
|
843
|
+
label?: boolean | number;
|
|
844
|
+
value?: boolean | number;
|
|
845
|
+
__typename?: boolean | number;
|
|
846
|
+
__scalar?: boolean | number;
|
|
847
|
+
}
|
|
848
|
+
export interface AccessTagCategoryGenqlSelection {
|
|
849
|
+
category?: boolean | number;
|
|
850
|
+
description?: boolean | number;
|
|
851
|
+
label?: boolean | number;
|
|
852
|
+
listable?: boolean | number;
|
|
853
|
+
/** A list of all possible tags for this category. Use this to populate the tag dropdown when creating a grant. */
|
|
854
|
+
tags?: AccessTagGenqlSelection;
|
|
855
|
+
__typename?: boolean | number;
|
|
856
|
+
__scalar?: boolean | number;
|
|
857
|
+
}
|
|
858
|
+
export interface AccessTagInput {
|
|
859
|
+
/** The category this tag belongs to, e.g. "State". */
|
|
860
|
+
category: Scalars['String'];
|
|
861
|
+
/** The tag value, e.g. "TX". */
|
|
862
|
+
tag: Scalars['String'];
|
|
863
|
+
}
|
|
864
|
+
/** A user that has or once had access to the system. */
|
|
865
|
+
export interface AccessUserGenqlSelection {
|
|
866
|
+
fullname?: boolean | number;
|
|
867
|
+
groups?: boolean | number;
|
|
868
|
+
login?: boolean | number;
|
|
869
|
+
otherIdentifiers?: AccessUserIdentifierGenqlSelection;
|
|
870
|
+
/** A JSON object containing any information about the user that the implementing application wants to store. Could be useful for constructing personalized UI. */
|
|
871
|
+
otherInfo?: boolean | number;
|
|
872
|
+
roles?: AccessRoleGenqlSelection;
|
|
873
|
+
/** True as long as the lookupUser.byLogins function still returns this user. False otherwise. Likely this user has been deactivated. */
|
|
874
|
+
stillValid?: boolean | number;
|
|
875
|
+
__typename?: boolean | number;
|
|
876
|
+
__scalar?: boolean | number;
|
|
877
|
+
}
|
|
878
|
+
/** A category and tag pair for an internal and external user related attributes. For example, [{ category: "institutionalRole", tags: ["STAFF", "STUDENT"] }, { category: "lastLogin", tags: ["2025-09-01T10:20:04"] }] */
|
|
879
|
+
export interface AccessUserCategoryInput {
|
|
880
|
+
category: Scalars['ID'];
|
|
881
|
+
tags: Scalars['ID'][];
|
|
882
|
+
}
|
|
883
|
+
export interface AccessUserFilter {
|
|
884
|
+
logins?: (Scalars['ID'][] | null);
|
|
885
|
+
/** One to Many categories Filter, like a institutional role people may belong to. */
|
|
886
|
+
otherCategoriesByLabel?: (AccessUserCategoryInput[] | null);
|
|
887
|
+
/** Filter by identifiers aside from username, like an Employee ID. */
|
|
888
|
+
otherIdentifiers?: (Scalars['String'][] | null);
|
|
889
|
+
otherIdentifiersByLabel?: (AccessUserIdentifierInput[] | null);
|
|
890
|
+
/** Filter users by associated Application Roles */
|
|
891
|
+
roles?: (Scalars['String'][] | null);
|
|
892
|
+
search?: (Scalars['String'] | null);
|
|
893
|
+
/** If true, only return the user that is currently logged in. */
|
|
894
|
+
self?: (Scalars['Boolean'] | null);
|
|
895
|
+
}
|
|
896
|
+
/** A label and ID pair for an external user unique ID. For example, { label: "Student ID", id: "123456" } */
|
|
897
|
+
export interface AccessUserIdentifierGenqlSelection {
|
|
898
|
+
/** The unique ID for this identifier, e.g. "123456". */
|
|
899
|
+
id?: boolean | number;
|
|
900
|
+
/** The label for this identifier, e.g. "Student ID". */
|
|
901
|
+
label?: boolean | number;
|
|
902
|
+
__typename?: boolean | number;
|
|
903
|
+
__scalar?: boolean | number;
|
|
904
|
+
}
|
|
905
|
+
/** A label and ID pair for an external user unique ID. For example, { label: "Student ID", id: "123456" } */
|
|
906
|
+
export interface AccessUserIdentifierInput {
|
|
907
|
+
id: Scalars['ID'];
|
|
908
|
+
label: Scalars['String'];
|
|
909
|
+
}
|
|
910
|
+
/** Represents a group of applications all being applied for at the same time. As part of the request, multiple applications will be created and either eliminated as ineligible or submitted for approval. */
|
|
911
|
+
export interface AppRequestGenqlSelection {
|
|
912
|
+
/** Actions the user can take on this app request. */
|
|
913
|
+
actions?: AppRequestActionsGenqlSelection;
|
|
914
|
+
applicant?: AccessUserGenqlSelection;
|
|
915
|
+
applications?: ApplicationGenqlSelection;
|
|
916
|
+
/** Date that this request was considered closed and no longer editable. If active or re-opened, will be null. If closed again, will be the second closure date. */
|
|
917
|
+
closedAt?: boolean | number;
|
|
918
|
+
createdAt?: boolean | number;
|
|
919
|
+
/** All data that has been gathered from the user for this request. It is a Record whose properties are the prompt keys and values are the data gathered by the corresponding prompt dialog. */
|
|
920
|
+
data?: {
|
|
921
|
+
__args: {
|
|
922
|
+
/** Provide the schemaVersion at the time the UI was built. Will throw an error if the client is too old, so it knows to refresh. */
|
|
923
|
+
schemaVersion?: (Scalars['String'] | null);
|
|
924
|
+
};
|
|
925
|
+
} | boolean | number;
|
|
926
|
+
/** The version of the data for this app request. This is incremented every time the data is updated. If you provide it with your update requests, the API will perform an optimistic concurrency check and fail the update if someone else has updated the data in the meantime. */
|
|
927
|
+
dataVersion?: boolean | number;
|
|
928
|
+
id?: boolean | number;
|
|
929
|
+
/** Indexes associated with the App Request. These are pieces of data extracted from the App Request by individual prompts in the ReqQuest project. They have several uses such as filtering App Requests and enriching list views. */
|
|
930
|
+
indexCategories?: (AppRequestIndexCategoryGenqlSelection & {
|
|
931
|
+
__args?: {
|
|
932
|
+
/** Returns indexes that are flagged to appear in this destination. Also sorts for this destination. */
|
|
933
|
+
for?: (AppRequestIndexDestination | null);
|
|
934
|
+
};
|
|
935
|
+
});
|
|
936
|
+
/** Notes attached to this app request. Notes are internal only and only visible to reviewers. They are not visible to applicants. */
|
|
937
|
+
notes?: (NoteGenqlSelection & {
|
|
938
|
+
__args?: {
|
|
939
|
+
filter?: (AppRequestNoteFilters | null);
|
|
940
|
+
};
|
|
941
|
+
});
|
|
942
|
+
/** Notes attached to other app requests from this same applicant. Useful for providing context information from previous applications. */
|
|
943
|
+
otherNotes?: (NoteGenqlSelection & {
|
|
944
|
+
__args?: {
|
|
945
|
+
filter?: (AppRequestNoteFilters | null);
|
|
946
|
+
};
|
|
947
|
+
});
|
|
948
|
+
/** The period this appRequest is associated with. */
|
|
949
|
+
period?: PeriodGenqlSelection;
|
|
950
|
+
/** The current phase of the app request. The phase generally only changes when control of the app request shifts between the applicant and reviewer. */
|
|
951
|
+
phase?: boolean | number;
|
|
952
|
+
/** Retrieve a specific prompt by its ID. This is useful for the UI to get the full prompt data and configuration when trying to edit an individual prompt. We don't want to be downloading all the config data for everything up front. */
|
|
953
|
+
prompt?: (RequirementPromptGenqlSelection & {
|
|
954
|
+
__args: {
|
|
955
|
+
promptId: Scalars['ID'];
|
|
956
|
+
};
|
|
957
|
+
});
|
|
958
|
+
status?: boolean | number;
|
|
959
|
+
/** The most pertinent status reason for this app request. The logic is complicated and depends on the AppRequest's status. */
|
|
960
|
+
statusReason?: boolean | number;
|
|
961
|
+
/** The date that the applicant submitted their request. If the applicant has not yet submitted, this will be null. */
|
|
962
|
+
submittedAt?: boolean | number;
|
|
963
|
+
updatedAt?: boolean | number;
|
|
964
|
+
__typename?: boolean | number;
|
|
965
|
+
__scalar?: boolean | number;
|
|
966
|
+
}
|
|
967
|
+
export interface AppRequestActionsGenqlSelection {
|
|
968
|
+
/** User may finalize the acceptance or denial of the offer. Sends the app request to non-blocking workflow (or completion). */
|
|
969
|
+
acceptOffer?: boolean | number;
|
|
970
|
+
/** User may cancel this app request as the owner. Separate from closing as a reviewer/admin. */
|
|
971
|
+
cancel?: boolean | number;
|
|
972
|
+
/** User may close this app request as a reviewer/admin. Separate from cancelling as the app request owner. */
|
|
973
|
+
close?: boolean | number;
|
|
974
|
+
/** User may complete the app request. All non-blocking workflow must be complete. */
|
|
975
|
+
completeRequest?: boolean | number;
|
|
976
|
+
/** User may complete the review app request. Sends the app request to the acceptance phase, or if there is no acceptance phase, to the non-blocking workflow or completion. */
|
|
977
|
+
completeReview?: boolean | number;
|
|
978
|
+
/** User may reopen this app request, whether as the owner or as a reviewer/admin. */
|
|
979
|
+
reopen?: boolean | number;
|
|
980
|
+
/** User may return this app request to the applicant phase. */
|
|
981
|
+
returnToApplicant?: boolean | number;
|
|
982
|
+
/** User may return to the non-blocking workflow phase from completion. */
|
|
983
|
+
returnToNonBlocking?: boolean | number;
|
|
984
|
+
/** User may return the app request to the acceptance phase from non-blocking workflow or completion. */
|
|
985
|
+
returnToOffer?: boolean | number;
|
|
986
|
+
/** User may return the app request to the review phase from non-blocking workflow or completion. This does not cover reclaiming an offer - see reverseOffer for that. It also does not cover returning from completion to acceptance - see returnToOffer for that. */
|
|
987
|
+
returnToReview?: boolean | number;
|
|
988
|
+
/** Whether the user can view this app request as a reviewer. */
|
|
989
|
+
review?: boolean | number;
|
|
990
|
+
/** User may submit this app request either as or on behalf of the owner. */
|
|
991
|
+
submit?: boolean | number;
|
|
992
|
+
/** User is able to see the acceptance UI. i.e. they are the applicant and the request is in the appropriate phase. */
|
|
993
|
+
viewAcceptUI?: boolean | number;
|
|
994
|
+
/** User is able to see the applicant UI. i.e. they are the applicant and the request is in the appropriate phase. */
|
|
995
|
+
viewApplyUI?: boolean | number;
|
|
996
|
+
__typename?: boolean | number;
|
|
997
|
+
__scalar?: boolean | number;
|
|
998
|
+
}
|
|
999
|
+
export interface AppRequestActivityGenqlSelection {
|
|
1000
|
+
action?: boolean | number;
|
|
1001
|
+
/** The app request this activity is associated with. */
|
|
1002
|
+
appRequest?: AppRequestGenqlSelection;
|
|
1003
|
+
/** The date and time when the action occurred. */
|
|
1004
|
+
createdAt?: boolean | number;
|
|
1005
|
+
/** A JSON object containing additional data about the activity. This could be filtered but different actions would place different data here so it is not strongly typed. */
|
|
1006
|
+
data?: boolean | number;
|
|
1007
|
+
/** A detailed description of the activity. This is not meant to be filtered and could contain specific details about the action. */
|
|
1008
|
+
description?: boolean | number;
|
|
1009
|
+
id?: boolean | number;
|
|
1010
|
+
/** If this activity was performed by an impersonated user, this will be the user that did the impersonation. */
|
|
1011
|
+
impersonatedBy?: AccessUserGenqlSelection;
|
|
1012
|
+
/** The user that performed the activity. */
|
|
1013
|
+
user?: AccessUserGenqlSelection;
|
|
1014
|
+
__typename?: boolean | number;
|
|
1015
|
+
__scalar?: boolean | number;
|
|
1016
|
+
}
|
|
1017
|
+
/** This is used to filter a list of activities. */
|
|
1018
|
+
export interface AppRequestActivityFilters {
|
|
1019
|
+
/** Filter activities by action. This is a list of action names that should be matched. There are many potential action names, they are untyped. */
|
|
1020
|
+
actions?: (Scalars['String'][] | null);
|
|
1021
|
+
appRequestIds?: (Scalars['ID'][] | null);
|
|
1022
|
+
/** Return activities that happened after this date. */
|
|
1023
|
+
happenedAfter?: (Scalars['DateTime'] | null);
|
|
1024
|
+
/** Return activities that happened before this date. */
|
|
1025
|
+
happenedBefore?: (Scalars['DateTime'] | null);
|
|
1026
|
+
/** true -> Return activities that were performed while a user was impersonating another user. false -> Return activities that were not impersonated. */
|
|
1027
|
+
impersonated?: (Scalars['Boolean'] | null);
|
|
1028
|
+
/** Return activities that were performed while one of the given logins was impersonating another user. */
|
|
1029
|
+
impersonatedBy?: (Scalars['ID'][] | null);
|
|
1030
|
+
/** Return activities that were performed while one of the given logins was being impersonated by someone else. */
|
|
1031
|
+
impersonatedUsers?: (Scalars['ID'][] | null);
|
|
1032
|
+
/** Return activities that were performed by one of the given logins. Also returns activities that were performed while one of the given logins was impersonating someone else. */
|
|
1033
|
+
users?: (Scalars['ID'][] | null);
|
|
1034
|
+
}
|
|
1035
|
+
export interface AppRequestFilter {
|
|
1036
|
+
/** true -> only return appRequests that are closed. false -> only return appRequests that are open. null -> return all appRequests. */
|
|
1037
|
+
closed?: (Scalars['Boolean'] | null);
|
|
1038
|
+
/** Only return appRequests that were closed after this date. Open appRequests will be filtered out. */
|
|
1039
|
+
closedAfter?: (Scalars['DateTime'] | null);
|
|
1040
|
+
/** Only return appRequests that were closed before this date. Open appRequests will be filtered out. */
|
|
1041
|
+
closedBefore?: (Scalars['DateTime'] | null);
|
|
1042
|
+
/** true -> only return appRequests that are complete (i.e. no more work to do, everything including nonblocking workflow is done). false -> only return appRequests that are not complete. null -> return all appRequests. Complete does not necessarily mean closed. */
|
|
1043
|
+
complete?: (Scalars['Boolean'] | null);
|
|
1044
|
+
/** Only return appRequests that were created after this date. */
|
|
1045
|
+
createdAfter?: (Scalars['DateTime'] | null);
|
|
1046
|
+
/** Only return appRequests that were created before this date. */
|
|
1047
|
+
createdBefore?: (Scalars['DateTime'] | null);
|
|
1048
|
+
ids?: (Scalars['ID'][] | null);
|
|
1049
|
+
/** Only return appRequests that match one of the given indexes. */
|
|
1050
|
+
indexes?: (AppRequestIndexFilter[] | null);
|
|
1051
|
+
/** Only return appRequests that are owned by one the given logins. */
|
|
1052
|
+
logins?: (Scalars['ID'][] | null);
|
|
1053
|
+
/** Only return appRequests that are owned by the current user. */
|
|
1054
|
+
own?: (Scalars['Boolean'] | null);
|
|
1055
|
+
periodIds?: (Scalars['ID'][] | null);
|
|
1056
|
+
/** Only return appRequests that have had their review started. true -> return review started, false -> return not started. Note that this is NOT mutually exclusive with complete or closed, it very simply means that a non-applicant has taken an action on it. */
|
|
1057
|
+
reviewStarted?: (Scalars['Boolean'] | null);
|
|
1058
|
+
/** Search for appRequests that match this search term. This will do a prefix search across all fields that are indexed. */
|
|
1059
|
+
search?: (Scalars['String'] | null);
|
|
1060
|
+
status?: (AppRequestStatus[] | null);
|
|
1061
|
+
/** Only return appRequests that were submitted after this date. App Requests that have not been submitted will be filtered out. */
|
|
1062
|
+
submittedAfter?: (Scalars['DateTime'] | null);
|
|
1063
|
+
/** Only return appRequests that were submitted before this date. App Requests that have not been submitted will be filtered out. */
|
|
1064
|
+
submittedBefore?: (Scalars['DateTime'] | null);
|
|
1065
|
+
/** Only return appRequests that were updated after this date. */
|
|
1066
|
+
updatedAfter?: (Scalars['DateTime'] | null);
|
|
1067
|
+
/** Only return appRequests that were updated before this date. */
|
|
1068
|
+
updatedBefore?: (Scalars['DateTime'] | null);
|
|
1069
|
+
}
|
|
1070
|
+
/** This represents an index category attached to an app request. Its tagStrings property contains the tag values that have been extracted from the app request data. */
|
|
1071
|
+
export interface AppRequestIndexCategoryGenqlSelection {
|
|
1072
|
+
/** If this is > 0, the index values should be shown on the main app request list page, sorted by this priority in descending order. */
|
|
1073
|
+
appRequestListPriority?: boolean | number;
|
|
1074
|
+
/** If this is > 0, the index values should be shown on the applicant dashboard, sorted by this priority in descending order. */
|
|
1075
|
+
applicantDashboardPriority?: boolean | number;
|
|
1076
|
+
/** The internal category name for this index. Use this with any GraphQL filters. */
|
|
1077
|
+
category?: boolean | number;
|
|
1078
|
+
/** A human-friendly label for this category that can be shown in the UI. */
|
|
1079
|
+
categoryLabel?: boolean | number;
|
|
1080
|
+
/** If this is > 0, the index values should be shown on the list filters, sorted by this priority in descending order. */
|
|
1081
|
+
listFiltersPriority?: boolean | number;
|
|
1082
|
+
/** If true, this category has few enough values that it is reasonable to list them all in a dropdown or similar UI control. If false, the list of values is likely to get very long and it would be better to use an autofill combobox or something. */
|
|
1083
|
+
listable?: boolean | number;
|
|
1084
|
+
/** If this is > 0, the index values should be shown on the reviewer dashboard, sorted by this priority in descending order. */
|
|
1085
|
+
reviewerDashboardPriority?: boolean | number;
|
|
1086
|
+
values?: IndexValueGenqlSelection;
|
|
1087
|
+
__typename?: boolean | number;
|
|
1088
|
+
__scalar?: boolean | number;
|
|
1089
|
+
}
|
|
1090
|
+
export interface AppRequestIndexFilter {
|
|
1091
|
+
category: Scalars['String'];
|
|
1092
|
+
tags: Scalars['String'][];
|
|
1093
|
+
}
|
|
1094
|
+
export interface AppRequestNoteFilters {
|
|
1095
|
+
/** Filter notes to those attached to the specified application requests. */
|
|
1096
|
+
appRequestIds?: (Scalars['ID'][] | null);
|
|
1097
|
+
/** Filter notes to those attached to application requests from the specified applicants (by login name). */
|
|
1098
|
+
applicants?: (Scalars['String'][] | null);
|
|
1099
|
+
/** Filter to the specified note IDs. */
|
|
1100
|
+
ids?: (Scalars['ID'][] | null);
|
|
1101
|
+
}
|
|
1102
|
+
/** An application represents the applicant applying to a specific program. Each appRequest has multiple applications - one per program defined in the system. Some applications are mutually exclusive and/or will be eliminated early based on PREQUAL requirements, but they all technically exist in the data model - there is no concept of picking one application over another, just two applications where one dies and the other survives. */
|
|
1103
|
+
export interface ApplicationGenqlSelection {
|
|
1104
|
+
actions?: ApplicationActionsGenqlSelection;
|
|
1105
|
+
id?: boolean | number;
|
|
1106
|
+
/** The phase in which this application became ineligible for benefits. Useful for reporting / filtering. Null if the application is not (yet) ineligible. */
|
|
1107
|
+
ineligiblePhase?: boolean | number;
|
|
1108
|
+
/** The navigation title of the program this application is for. */
|
|
1109
|
+
navTitle?: boolean | number;
|
|
1110
|
+
/** The next workflow stage for this application that would be active after activating the advanceWorkflow mutation. Null if the application or current user is not allowed to advance. */
|
|
1111
|
+
nextWorkflowStage?: PeriodWorkflowStageGenqlSelection;
|
|
1112
|
+
/** The phase of the application. This is usually a computed field, not stored in the database. */
|
|
1113
|
+
phase?: boolean | number;
|
|
1114
|
+
/** The previous workflow stage for this application that would be active after activating the reverseWorkflow mutation. Null if the application or current user is not allowed to reverse. */
|
|
1115
|
+
previousWorkflowStage?: PeriodWorkflowStageGenqlSelection;
|
|
1116
|
+
/** The program key this application corresponds to. */
|
|
1117
|
+
programKey?: boolean | number;
|
|
1118
|
+
requirements?: ApplicationRequirementGenqlSelection;
|
|
1119
|
+
status?: boolean | number;
|
|
1120
|
+
/** When one of the application's requirements is failing or throwing a warning, its reason will be copied here for convenience. If there is a warning and then later a failure, the failure reason will win. */
|
|
1121
|
+
statusReason?: boolean | number;
|
|
1122
|
+
/** The title of the program this application is for. */
|
|
1123
|
+
title?: boolean | number;
|
|
1124
|
+
/** If the program has workflow, it may be divided into multiple stages of audit, each with their own requirements/prompts. This indicates which stage we are currently evaluating, or null if we are not in the workflow phase. An application with no workflow defined will never be in the workflow phase. Starts at 1. */
|
|
1125
|
+
workflowStage?: PeriodWorkflowStageGenqlSelection;
|
|
1126
|
+
/** All workflow stages defined for the program/period of this application, in evaluation order. */
|
|
1127
|
+
workflowStages?: PeriodWorkflowStageGenqlSelection;
|
|
1128
|
+
__typename?: boolean | number;
|
|
1129
|
+
__scalar?: boolean | number;
|
|
1130
|
+
}
|
|
1131
|
+
export interface ApplicationActionsGenqlSelection {
|
|
1132
|
+
advanceWorkflow?: boolean | number;
|
|
1133
|
+
reverseWorkflow?: boolean | number;
|
|
1134
|
+
viewAsReviewer?: boolean | number;
|
|
1135
|
+
__typename?: boolean | number;
|
|
1136
|
+
__scalar?: boolean | number;
|
|
1137
|
+
}
|
|
1138
|
+
/** The specific instance of a requirement on a particular application. Stores the status of the requirement, e.g. being satisfied or not. */
|
|
1139
|
+
export interface ApplicationRequirementGenqlSelection {
|
|
1140
|
+
application?: ApplicationGenqlSelection;
|
|
1141
|
+
/** The configuration data for this requirement in the app request's period. */
|
|
1142
|
+
configurationData?: boolean | number;
|
|
1143
|
+
/** An internal description of the requirement. Probably not shown to users. */
|
|
1144
|
+
description?: boolean | number;
|
|
1145
|
+
id?: boolean | number;
|
|
1146
|
+
/** A human and machine readable unique and stable identifier that we can use to add javascript logic to the evaluation of whether a requirement is satisfied. For example: "gi_ch33_must_be_post911" */
|
|
1147
|
+
key?: boolean | number;
|
|
1148
|
+
/** A human readable title for the requirement in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
1149
|
+
navTitle?: boolean | number;
|
|
1150
|
+
prompts?: RequirementPromptGenqlSelection;
|
|
1151
|
+
/** The smart title for this requirement in the app request's period. For instance, might be "Applicant must have GPA over 3.4" instead of the regular title "Applicant must meet GPA requirement". Will fall back to the regular title for any requirement that does not provide a smart title. */
|
|
1152
|
+
smartTitle?: boolean | number;
|
|
1153
|
+
/** The status of the requirement. This is what will be shown to users. */
|
|
1154
|
+
status?: boolean | number;
|
|
1155
|
+
/** The reason why the requirement is in the status it is in. This will be shown to the applicant. */
|
|
1156
|
+
statusReason?: boolean | number;
|
|
1157
|
+
/** A human readable title for the requirement. This is what will be shown to users. */
|
|
1158
|
+
title?: boolean | number;
|
|
1159
|
+
/** The type of requirement. This determines when the requirement is evaluated and who can see the requirement. */
|
|
1160
|
+
type?: boolean | number;
|
|
1161
|
+
/** The stage of the workflow for this requirement. Null if not part of a workflow stage */
|
|
1162
|
+
workflowStage?: PeriodWorkflowStageGenqlSelection;
|
|
1163
|
+
__typename?: boolean | number;
|
|
1164
|
+
__scalar?: boolean | number;
|
|
1165
|
+
}
|
|
1166
|
+
export interface CategoryGenqlSelection {
|
|
1167
|
+
/** This is indexed name of the category. Categories are indexed to allow for quick filtering of a list of items. e.g. institutionalRoles */
|
|
1168
|
+
category?: boolean | number;
|
|
1169
|
+
/** Displayed Label of the category. e.g. Institutional Roles */
|
|
1170
|
+
label?: boolean | number;
|
|
1171
|
+
/** IDs are the unique values that may be used to group an items. Multiple IDs may be assigned to an item. i.e. ["Staff", "Faculty", "Student"] */
|
|
1172
|
+
tags?: CategoryTagGenqlSelection;
|
|
1173
|
+
/** Set this to true should be available as a filter in the User list view. */
|
|
1174
|
+
useInFilters?: boolean | number;
|
|
1175
|
+
/** Set this to true should be displayed as a column in the User list view. */
|
|
1176
|
+
useInList?: boolean | number;
|
|
1177
|
+
__typename?: boolean | number;
|
|
1178
|
+
__scalar?: boolean | number;
|
|
1179
|
+
}
|
|
1180
|
+
export interface CategoryTagGenqlSelection {
|
|
1181
|
+
/** Displayed Label of the tag in the UI Filter. This value should be unique enough to be distinguishable between other tags within a category type. */
|
|
1182
|
+
label?: boolean | number;
|
|
1183
|
+
/** This is the indexed name of the tagged instance within a category type and is what is stored/searched for in the database. */
|
|
1184
|
+
tag?: boolean | number;
|
|
1185
|
+
__typename?: boolean | number;
|
|
1186
|
+
__scalar?: boolean | number;
|
|
1187
|
+
}
|
|
1188
|
+
export interface ConfigurationGenqlSelection {
|
|
1189
|
+
actions?: ConfigurationAccessGenqlSelection;
|
|
1190
|
+
data?: boolean | number;
|
|
1191
|
+
fetchedData?: boolean | number;
|
|
1192
|
+
/** The key being configured. Could be a requirement or prompt key. */
|
|
1193
|
+
key?: boolean | number;
|
|
1194
|
+
__typename?: boolean | number;
|
|
1195
|
+
__scalar?: boolean | number;
|
|
1196
|
+
}
|
|
1197
|
+
export interface ConfigurationAccessGenqlSelection {
|
|
1198
|
+
update?: boolean | number;
|
|
1199
|
+
view?: boolean | number;
|
|
1200
|
+
__typename?: boolean | number;
|
|
1201
|
+
__scalar?: boolean | number;
|
|
1202
|
+
}
|
|
1203
|
+
export interface ConfigurationFilters {
|
|
1204
|
+
/** Return specific configurations. */
|
|
1205
|
+
ids?: (Scalars['ID'][] | null);
|
|
1206
|
+
/** Return configurations for these keys. */
|
|
1207
|
+
keys?: (Scalars['String'][] | null);
|
|
1208
|
+
/** Return configurations for these period codes. */
|
|
1209
|
+
periodCodes?: (Scalars['String'][] | null);
|
|
1210
|
+
/** Return configurations for these period IDs. */
|
|
1211
|
+
periodIds?: (Scalars['ID'][] | null);
|
|
1212
|
+
}
|
|
1213
|
+
/** This represents an index as registered by one of the project's prompt definitions. */
|
|
1214
|
+
export interface IndexCategoryGenqlSelection {
|
|
1215
|
+
/** If this is > 0, the index values should be shown on the main app request list page, sorted by this priority in descending order. */
|
|
1216
|
+
appRequestListPriority?: boolean | number;
|
|
1217
|
+
/** If this is > 0, the index values should be shown on the applicant dashboard, sorted by this priority in descending order. */
|
|
1218
|
+
applicantDashboardPriority?: boolean | number;
|
|
1219
|
+
/** The internal category name for this index. Use this with any GraphQL filters. */
|
|
1220
|
+
category?: boolean | number;
|
|
1221
|
+
/** A human-friendly label for this category that can be shown in the UI. */
|
|
1222
|
+
categoryLabel?: boolean | number;
|
|
1223
|
+
/** If this is > 0, the index values should be shown on the list filters, sorted by this priority in descending order. */
|
|
1224
|
+
listFiltersPriority?: boolean | number;
|
|
1225
|
+
/** If true, this category has few enough values that it is reasonable to list them all in a dropdown or similar UI control. If false, the list of values is likely to get very long and it would be better to use an autofill combobox or something. */
|
|
1226
|
+
listable?: boolean | number;
|
|
1227
|
+
/** If this is > 0, the index values should be shown on the reviewer dashboard, sorted by this priority in descending order. */
|
|
1228
|
+
reviewerDashboardPriority?: boolean | number;
|
|
1229
|
+
values?: (IndexValueGenqlSelection & {
|
|
1230
|
+
__args?: {
|
|
1231
|
+
/** If true, only return tags that are currently in use by app requests. This is useful for only presenting useful filters. */
|
|
1232
|
+
inUse?: (Scalars['Boolean'] | null);
|
|
1233
|
+
search?: (Scalars['String'] | null);
|
|
1234
|
+
};
|
|
1235
|
+
});
|
|
1236
|
+
__typename?: boolean | number;
|
|
1237
|
+
__scalar?: boolean | number;
|
|
1238
|
+
}
|
|
1239
|
+
export interface IndexValueGenqlSelection {
|
|
1240
|
+
label?: boolean | number;
|
|
1241
|
+
value?: boolean | number;
|
|
1242
|
+
__typename?: boolean | number;
|
|
1243
|
+
__scalar?: boolean | number;
|
|
1244
|
+
}
|
|
1245
|
+
export interface MutationGenqlSelection {
|
|
1246
|
+
/** This is for the applicant to accept or reject the offer that was made based on their app request. The difference between accept and reject is determined by the status of the acceptance requirements. They will still "accept offer" after they answer that they do not want the offer. If there is non-blocking workflow on any applications, the first one in each will begin. Applications without non-blocking workflow will be advanced to the COMPLETE phase. If all applications are complete, the app request will be closed. */
|
|
1247
|
+
acceptOffer?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1248
|
+
__args: {
|
|
1249
|
+
appRequestId: Scalars['ID'];
|
|
1250
|
+
};
|
|
1251
|
+
});
|
|
1252
|
+
/** Add a note to the app request. */
|
|
1253
|
+
addNote?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1254
|
+
__args: {
|
|
1255
|
+
/** The content of the note. HTML is expected. */
|
|
1256
|
+
content: Scalars['String'];
|
|
1257
|
+
};
|
|
1258
|
+
});
|
|
1259
|
+
/** Moves the application to the next workflow stage. If phase is READY_FOR_WORKFLOW, moves to the first or next blocking workflow stage. If on the last blocking workflow, moves to REVIEW_COMPLETE. If on the last non-blocking workflow, moves the application to COMPLETE. If all applications are COMPLETE, automatically triggers the app request close mutation. */
|
|
1260
|
+
advanceWorkflow?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1261
|
+
__args: {
|
|
1262
|
+
applicationId: Scalars['ID'];
|
|
1263
|
+
};
|
|
1264
|
+
});
|
|
1265
|
+
/** Cancel or withdraw the app request, depending on its current phase. This is only available if the app request is in a cancellable state. */
|
|
1266
|
+
cancelAppRequest?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1267
|
+
__args: {
|
|
1268
|
+
appRequestId: Scalars['ID'];
|
|
1269
|
+
/** If the user is currently viewing some of the app request details, include the dataVersion here to make the cancellation fail when the app request has been updated by another user. */
|
|
1270
|
+
dataVersion?: (Scalars['Int'] | null);
|
|
1271
|
+
};
|
|
1272
|
+
});
|
|
1273
|
+
/** Close the app request. Generally this is always available and will freeze the request/applications in their current phase/status. */
|
|
1274
|
+
closeAppRequest?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1275
|
+
__args: {
|
|
1276
|
+
appRequestId: Scalars['ID'];
|
|
1277
|
+
};
|
|
1278
|
+
});
|
|
1279
|
+
/** Complete the app request. This is generally only available if request is in non-blocking workflow and all applications are complete. */
|
|
1280
|
+
completeRequest?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1281
|
+
__args: {
|
|
1282
|
+
appRequestId: Scalars['ID'];
|
|
1283
|
+
};
|
|
1284
|
+
});
|
|
1285
|
+
/** Make an offer on the app request. If all applications are ineligible, or if there are no acceptance requirements, the applications will advance to the non-blocking workflow, or absent that, be marked complete. */
|
|
1286
|
+
completeReview?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1287
|
+
__args: {
|
|
1288
|
+
appRequestId: Scalars['ID'];
|
|
1289
|
+
};
|
|
1290
|
+
});
|
|
1291
|
+
/** Create a new app request. */
|
|
1292
|
+
createAppRequest?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1293
|
+
__args: {
|
|
1294
|
+
login: Scalars['String'];
|
|
1295
|
+
periodId: Scalars['ID'];
|
|
1296
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1297
|
+
};
|
|
1298
|
+
});
|
|
1299
|
+
createPeriod?: (ValidatedPeriodResponseGenqlSelection & {
|
|
1300
|
+
__args: {
|
|
1301
|
+
copyPeriodId?: (Scalars['String'] | null);
|
|
1302
|
+
period: PeriodUpdate;
|
|
1303
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1304
|
+
};
|
|
1305
|
+
});
|
|
1306
|
+
/** Delete an existing note. */
|
|
1307
|
+
deleteNote?: {
|
|
1308
|
+
__args: {
|
|
1309
|
+
noteId: Scalars['String'];
|
|
1310
|
+
};
|
|
1311
|
+
};
|
|
1312
|
+
deletePeriod?: (ValidatedResponseGenqlSelection & {
|
|
1313
|
+
__args: {
|
|
1314
|
+
periodId: Scalars['ID'];
|
|
1315
|
+
};
|
|
1316
|
+
});
|
|
1317
|
+
markPeriodReviewed?: (ValidatedPeriodResponseGenqlSelection & {
|
|
1318
|
+
__args: {
|
|
1319
|
+
periodId: Scalars['ID'];
|
|
1320
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1321
|
+
};
|
|
1322
|
+
});
|
|
1323
|
+
/** Reopen the app request. This is only available if the app request is in a state that allows reopening. */
|
|
1324
|
+
reopenAppRequest?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1325
|
+
__args: {
|
|
1326
|
+
appRequestId: Scalars['ID'];
|
|
1327
|
+
};
|
|
1328
|
+
});
|
|
1329
|
+
/** Return the app request to the applicant phase. This is only available if the app request is in a state that allows returning. */
|
|
1330
|
+
returnToApplicant?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1331
|
+
__args: {
|
|
1332
|
+
appRequestId: Scalars['ID'];
|
|
1333
|
+
};
|
|
1334
|
+
});
|
|
1335
|
+
/** If request is complete, undo and return to non-blocking workflow. */
|
|
1336
|
+
returnToNonBlocking?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1337
|
+
__args: {
|
|
1338
|
+
appRequestId: Scalars['ID'];
|
|
1339
|
+
};
|
|
1340
|
+
});
|
|
1341
|
+
/** Return the app request to the acceptance phase from non-blocking workflow or completion. */
|
|
1342
|
+
returnToOffer?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1343
|
+
__args: {
|
|
1344
|
+
appRequestId: Scalars['ID'];
|
|
1345
|
+
};
|
|
1346
|
+
});
|
|
1347
|
+
/** Return the app request to the review phase from acceptance, non-blocking workflow, or completion. */
|
|
1348
|
+
returnToReview?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1349
|
+
__args: {
|
|
1350
|
+
appRequestId: Scalars['ID'];
|
|
1351
|
+
};
|
|
1352
|
+
});
|
|
1353
|
+
/** Moves the application back to the previous workflow stage. If on the first blocking workflow stage, moves back to APPROVAL. If on the first non-blocking workflow, throws an error. */
|
|
1354
|
+
reverseWorkflow?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1355
|
+
__args: {
|
|
1356
|
+
applicationId: Scalars['ID'];
|
|
1357
|
+
};
|
|
1358
|
+
});
|
|
1359
|
+
roleAddGrant?: (AccessRoleValidatedResponseGenqlSelection & {
|
|
1360
|
+
__args: {
|
|
1361
|
+
grant: AccessRoleGrantCreate;
|
|
1362
|
+
roleId: Scalars['ID'];
|
|
1363
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1364
|
+
};
|
|
1365
|
+
});
|
|
1366
|
+
roleCreate?: (AccessRoleValidatedResponseGenqlSelection & {
|
|
1367
|
+
__args: {
|
|
1368
|
+
copyRoleId?: (Scalars['ID'] | null);
|
|
1369
|
+
role: AccessRoleInput;
|
|
1370
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1371
|
+
};
|
|
1372
|
+
});
|
|
1373
|
+
roleDelete?: (ValidatedResponseGenqlSelection & {
|
|
1374
|
+
__args: {
|
|
1375
|
+
roleId: Scalars['ID'];
|
|
1376
|
+
};
|
|
1377
|
+
});
|
|
1378
|
+
roleDeleteGrant?: (AccessRoleValidatedResponseGenqlSelection & {
|
|
1379
|
+
__args: {
|
|
1380
|
+
grantId: Scalars['ID'];
|
|
1381
|
+
};
|
|
1382
|
+
});
|
|
1383
|
+
roleUpdate?: (AccessRoleValidatedResponseGenqlSelection & {
|
|
1384
|
+
__args: {
|
|
1385
|
+
role: AccessRoleInput;
|
|
1386
|
+
roleId: Scalars['ID'];
|
|
1387
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1388
|
+
};
|
|
1389
|
+
});
|
|
1390
|
+
roleUpdateGrant?: (AccessRoleValidatedResponseGenqlSelection & {
|
|
1391
|
+
__args: {
|
|
1392
|
+
grant: AccessRoleGrantUpdate;
|
|
1393
|
+
grantId: Scalars['ID'];
|
|
1394
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1395
|
+
};
|
|
1396
|
+
});
|
|
1397
|
+
/** Submit the app request. */
|
|
1398
|
+
submitAppRequest?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1399
|
+
__args: {
|
|
1400
|
+
appRequestId: Scalars['ID'];
|
|
1401
|
+
};
|
|
1402
|
+
});
|
|
1403
|
+
updateConfiguration?: (ValidatedConfigurationResponseGenqlSelection & {
|
|
1404
|
+
__args: {
|
|
1405
|
+
data: Scalars['JsonData'];
|
|
1406
|
+
key: Scalars['String'];
|
|
1407
|
+
periodId: Scalars['ID'];
|
|
1408
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1409
|
+
};
|
|
1410
|
+
});
|
|
1411
|
+
/** Update the content of an existing note. */
|
|
1412
|
+
updateNote?: (NoteGenqlSelection & {
|
|
1413
|
+
__args: {
|
|
1414
|
+
content: Scalars['String'];
|
|
1415
|
+
noteId: Scalars['String'];
|
|
1416
|
+
};
|
|
1417
|
+
});
|
|
1418
|
+
updatePeriod?: (ValidatedPeriodResponseGenqlSelection & {
|
|
1419
|
+
__args: {
|
|
1420
|
+
periodId: Scalars['ID'];
|
|
1421
|
+
update: PeriodUpdate;
|
|
1422
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1423
|
+
};
|
|
1424
|
+
});
|
|
1425
|
+
updatePeriodRequirement?: (ValidatedResponseGenqlSelection & {
|
|
1426
|
+
__args: {
|
|
1427
|
+
disabled: Scalars['Boolean'];
|
|
1428
|
+
periodId: Scalars['String'];
|
|
1429
|
+
requirementKey: Scalars['String'];
|
|
1430
|
+
};
|
|
1431
|
+
});
|
|
1432
|
+
/** Update the data for a prompt in this app request. */
|
|
1433
|
+
updatePrompt?: (ValidatedAppRequestResponseGenqlSelection & {
|
|
1434
|
+
__args: {
|
|
1435
|
+
data: Scalars['JsonData'];
|
|
1436
|
+
/** The data version of the app request at the time this prompt was loaded. If provided, the API will perform an optimistic concurrency check and fail the update if someone else has updated the data in the meantime. */
|
|
1437
|
+
dataVersion?: (Scalars['Int'] | null);
|
|
1438
|
+
promptId: Scalars['ID'];
|
|
1439
|
+
validateOnly?: (Scalars['Boolean'] | null);
|
|
1440
|
+
};
|
|
1441
|
+
});
|
|
1442
|
+
__typename?: boolean | number;
|
|
1443
|
+
__scalar?: boolean | number;
|
|
1444
|
+
}
|
|
1445
|
+
export interface MutationMessageGenqlSelection {
|
|
1446
|
+
/** The path to the arg that produced the error. Dot-separated (lodash.get compatible) if it is deep inside an input type. Null if no particular arg can be blamed for the error. */
|
|
1447
|
+
arg?: boolean | number;
|
|
1448
|
+
/** An error message to be shown to the end user, with the context of the given arg. */
|
|
1449
|
+
message?: boolean | number;
|
|
1450
|
+
/** The type of error message. See the enum descriptions for more detail. */
|
|
1451
|
+
type?: boolean | number;
|
|
1452
|
+
__typename?: boolean | number;
|
|
1453
|
+
__scalar?: boolean | number;
|
|
1454
|
+
}
|
|
1455
|
+
/** An internal note attached to an application request. Notes are always written by reviewers and never visible to applicants. "Messages" are for reviewers and applicants communicating with one another. */
|
|
1456
|
+
export interface NoteGenqlSelection {
|
|
1457
|
+
actions?: NoteActionsGenqlSelection;
|
|
1458
|
+
/** The app request this note is attached to. */
|
|
1459
|
+
appRequest?: AppRequestGenqlSelection;
|
|
1460
|
+
/** The author of the note. */
|
|
1461
|
+
author?: AccessUserGenqlSelection;
|
|
1462
|
+
/** The content of the note in HTML. */
|
|
1463
|
+
content?: boolean | number;
|
|
1464
|
+
createdAt?: boolean | number;
|
|
1465
|
+
id?: boolean | number;
|
|
1466
|
+
updatedAt?: boolean | number;
|
|
1467
|
+
__typename?: boolean | number;
|
|
1468
|
+
__scalar?: boolean | number;
|
|
1469
|
+
}
|
|
1470
|
+
/** Actions that can be performed on a note. */
|
|
1471
|
+
export interface NoteActionsGenqlSelection {
|
|
1472
|
+
delete?: boolean | number;
|
|
1473
|
+
update?: boolean | number;
|
|
1474
|
+
__typename?: boolean | number;
|
|
1475
|
+
__scalar?: boolean | number;
|
|
1476
|
+
}
|
|
1477
|
+
export interface Pagination {
|
|
1478
|
+
/** The page number to retrieve. If not provided, will default to 1. */
|
|
1479
|
+
page?: (Scalars['Int'] | null);
|
|
1480
|
+
perPage?: (Scalars['Int'] | null);
|
|
1481
|
+
}
|
|
1482
|
+
export interface PaginationInfoWithTotalItemsGenqlSelection {
|
|
1483
|
+
/** List of indexed category data related to items within a page. Often used for filtering items. */
|
|
1484
|
+
categories?: CategoryGenqlSelection;
|
|
1485
|
+
/** The current page number, starting at 1. This is always provided - if pagination was not requested, will return 1. */
|
|
1486
|
+
currentPage?: boolean | number;
|
|
1487
|
+
/** Indicates whether requesting the next page would provide more results. Especially useful for models that cannot provide total item count for practical reasons. Note that over time, more results can appear and make this answer wrong, so in some circumstances it makes sense to request another page anyway. */
|
|
1488
|
+
hasNextPage?: boolean | number;
|
|
1489
|
+
/** The number of items per page. Null if pagination was not requested/forced because results per page is unlimited. */
|
|
1490
|
+
perPage?: boolean | number;
|
|
1491
|
+
/** If possible, the total number of results will be provided. The API may return null if calculating the total is impractical. If pagination was not requested/forced, will equal the result count. */
|
|
1492
|
+
totalItems?: boolean | number;
|
|
1493
|
+
__typename?: boolean | number;
|
|
1494
|
+
__scalar?: boolean | number;
|
|
1495
|
+
}
|
|
1496
|
+
export interface PaginationResponseGenqlSelection {
|
|
1497
|
+
accessUsers?: PaginationInfoWithTotalItemsGenqlSelection;
|
|
1498
|
+
appRequests?: PaginationInfoWithTotalItemsGenqlSelection;
|
|
1499
|
+
appRequestsActivity?: PaginationInfoWithTotalItemsGenqlSelection;
|
|
1500
|
+
__typename?: boolean | number;
|
|
1501
|
+
__scalar?: boolean | number;
|
|
1502
|
+
}
|
|
1503
|
+
export interface PeriodGenqlSelection {
|
|
1504
|
+
actions?: PeriodActionsGenqlSelection;
|
|
1505
|
+
/** This is useful for filtering out periods that are no longer useful. For instance, a window might close applications after 2 weeks but the reviewers could be working. */
|
|
1506
|
+
archiveDate?: boolean | number;
|
|
1507
|
+
/** Date that this period closes for applications. Some periods do not set a close date. */
|
|
1508
|
+
closeDate?: boolean | number;
|
|
1509
|
+
/** Unique identifier for this period that references an external system. Ideally human readable. */
|
|
1510
|
+
code?: boolean | number;
|
|
1511
|
+
configurations?: (ConfigurationGenqlSelection & {
|
|
1512
|
+
__args?: {
|
|
1513
|
+
filter?: (ConfigurationFilters | null);
|
|
1514
|
+
};
|
|
1515
|
+
});
|
|
1516
|
+
id?: boolean | number;
|
|
1517
|
+
/** Name for this period. Will be displayed to applicants if they create an App Request while two periods are simultaneously open. */
|
|
1518
|
+
name?: boolean | number;
|
|
1519
|
+
/** Date that this period opens for applications. */
|
|
1520
|
+
openDate?: boolean | number;
|
|
1521
|
+
programs?: PeriodProgramGenqlSelection;
|
|
1522
|
+
prompts?: PeriodPromptGenqlSelection;
|
|
1523
|
+
requirements?: PeriodProgramRequirementGenqlSelection;
|
|
1524
|
+
/** Whether this period's configurations have been reviewed by an administrator. Newly created periods must be reviewed before they will accept new app requests, even if the open date has passed. */
|
|
1525
|
+
reviewed?: boolean | number;
|
|
1526
|
+
__typename?: boolean | number;
|
|
1527
|
+
__scalar?: boolean | number;
|
|
1528
|
+
}
|
|
1529
|
+
export interface PeriodActionsGenqlSelection {
|
|
1530
|
+
createAppRequest?: boolean | number;
|
|
1531
|
+
delete?: boolean | number;
|
|
1532
|
+
update?: boolean | number;
|
|
1533
|
+
__typename?: boolean | number;
|
|
1534
|
+
__scalar?: boolean | number;
|
|
1535
|
+
}
|
|
1536
|
+
export interface PeriodFilters {
|
|
1537
|
+
/** Return periods that will be archived after this date. */
|
|
1538
|
+
archiveAfter?: (Scalars['DateTime'] | null);
|
|
1539
|
+
/** Return periods that were archived before this date. */
|
|
1540
|
+
archiveBefore?: (Scalars['DateTime'] | null);
|
|
1541
|
+
/** Return periods that are open at this date or will be open after it. */
|
|
1542
|
+
closesAfter?: (Scalars['DateTime'] | null);
|
|
1543
|
+
/** Return periods that closed before this date, not including that date's active period(s). */
|
|
1544
|
+
closesBefore?: (Scalars['DateTime'] | null);
|
|
1545
|
+
/** Return periods that have any of these codes. */
|
|
1546
|
+
codes?: (Scalars['String'][] | null);
|
|
1547
|
+
/** Return periods that have any of these IDs. */
|
|
1548
|
+
ids?: (Scalars['ID'][] | null);
|
|
1549
|
+
/** Return periods that have any of these names. */
|
|
1550
|
+
names?: (Scalars['String'][] | null);
|
|
1551
|
+
/** true -> open periods. false -> closed periods. null -> all periods. */
|
|
1552
|
+
openNow?: (Scalars['Boolean'] | null);
|
|
1553
|
+
/** Return periods that open after this date, not including that date's active period(s). */
|
|
1554
|
+
opensAfter?: (Scalars['DateTime'] | null);
|
|
1555
|
+
/** Return periods that are open at this date or have been open before it. */
|
|
1556
|
+
opensBefore?: (Scalars['DateTime'] | null);
|
|
1557
|
+
}
|
|
1558
|
+
export interface PeriodProgramGenqlSelection {
|
|
1559
|
+
actions?: PeriodProgramActionsGenqlSelection;
|
|
1560
|
+
/** Whether the program is enabled in this period. This is set by the system administrator. */
|
|
1561
|
+
enabled?: boolean | number;
|
|
1562
|
+
key?: boolean | number;
|
|
1563
|
+
navTitle?: boolean | number;
|
|
1564
|
+
period?: PeriodGenqlSelection;
|
|
1565
|
+
requirements?: PeriodProgramRequirementGenqlSelection;
|
|
1566
|
+
title?: boolean | number;
|
|
1567
|
+
__typename?: boolean | number;
|
|
1568
|
+
__scalar?: boolean | number;
|
|
1569
|
+
}
|
|
1570
|
+
export interface PeriodProgramActionsGenqlSelection {
|
|
1571
|
+
configure?: boolean | number;
|
|
1572
|
+
__typename?: boolean | number;
|
|
1573
|
+
__scalar?: boolean | number;
|
|
1574
|
+
}
|
|
1575
|
+
export interface PeriodProgramRequirementGenqlSelection {
|
|
1576
|
+
/** The configuration for this requirement in the period. */
|
|
1577
|
+
configuration?: ConfigurationGenqlSelection;
|
|
1578
|
+
/** An internal description of the requirement. Probably not shown to users. */
|
|
1579
|
+
description?: boolean | number;
|
|
1580
|
+
/** Whether the requirement is enabled in this period. This is set by the system administrator. */
|
|
1581
|
+
enabled?: boolean | number;
|
|
1582
|
+
/** A human and machine readable unique and stable identifier that we can use to add javascript logic to the evaluation of whether a requirement is satisfied. For example: "gi_ch33_must_be_post911" */
|
|
1583
|
+
key?: boolean | number;
|
|
1584
|
+
/** A human readable title for the requirement in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
1585
|
+
navTitle?: boolean | number;
|
|
1586
|
+
prompts?: PeriodPromptGenqlSelection;
|
|
1587
|
+
/** A human readable title for the requirement. This is what will be shown to users. */
|
|
1588
|
+
title?: boolean | number;
|
|
1589
|
+
/** The type of requirement. This determines when the requirement is evaluated and who can see the requirement. */
|
|
1590
|
+
type?: boolean | number;
|
|
1591
|
+
__typename?: boolean | number;
|
|
1592
|
+
__scalar?: boolean | number;
|
|
1593
|
+
}
|
|
1594
|
+
export interface PeriodPromptGenqlSelection {
|
|
1595
|
+
/** The configuration for this prompt in the given period. */
|
|
1596
|
+
configuration?: ConfigurationGenqlSelection;
|
|
1597
|
+
/** A brief description of the prompt. This should be shown to administrators to help explain the full meaning of the prompt while assigning permissions or editing its configuration. */
|
|
1598
|
+
description?: boolean | number;
|
|
1599
|
+
/** A human and machine readable identifier for the prompt. Will be used to match prompt data with UI and API code that handles it. */
|
|
1600
|
+
key?: boolean | number;
|
|
1601
|
+
/** A human readable title for the prompt in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
1602
|
+
navTitle?: boolean | number;
|
|
1603
|
+
periodId?: boolean | number;
|
|
1604
|
+
/** A human readable title for the prompt. This is what will be shown to users. */
|
|
1605
|
+
title?: boolean | number;
|
|
1606
|
+
__typename?: boolean | number;
|
|
1607
|
+
__scalar?: boolean | number;
|
|
1608
|
+
}
|
|
1609
|
+
export interface PeriodUpdate {
|
|
1610
|
+
archiveDate?: (Scalars['DateTime'] | null);
|
|
1611
|
+
closeDate?: (Scalars['DateTime'] | null);
|
|
1612
|
+
code?: (Scalars['String'] | null);
|
|
1613
|
+
name: Scalars['String'];
|
|
1614
|
+
openDate: Scalars['DateTime'];
|
|
1615
|
+
}
|
|
1616
|
+
export interface PeriodWorkflowStageGenqlSelection {
|
|
1617
|
+
/** Whether this stage is blocking. If true, the application cannot be completed and shown to the applicant until all requirements in this stage are satisfied. */
|
|
1618
|
+
blocking?: boolean | number;
|
|
1619
|
+
/** Globally unique key for this workflow stage. Use lowercase snake_case, alphanumeric and underscore only. */
|
|
1620
|
+
key?: boolean | number;
|
|
1621
|
+
/** A human readable title for the workflow stage. */
|
|
1622
|
+
title?: boolean | number;
|
|
1623
|
+
__typename?: boolean | number;
|
|
1624
|
+
__scalar?: boolean | number;
|
|
1625
|
+
}
|
|
1626
|
+
export interface ProgramGenqlSelection {
|
|
1627
|
+
key?: boolean | number;
|
|
1628
|
+
navTitle?: boolean | number;
|
|
1629
|
+
title?: boolean | number;
|
|
1630
|
+
__typename?: boolean | number;
|
|
1631
|
+
__scalar?: boolean | number;
|
|
1632
|
+
}
|
|
1633
|
+
export interface ProgramFilters {
|
|
1634
|
+
keys?: (Scalars['String'][] | null);
|
|
1635
|
+
}
|
|
1636
|
+
export interface QueryGenqlSelection {
|
|
1637
|
+
/**
|
|
1638
|
+
*
|
|
1639
|
+
* This is the global access object. Each field represents a global permission
|
|
1640
|
+
* like the ability to view the role management interface.
|
|
1641
|
+
*
|
|
1642
|
+
*/
|
|
1643
|
+
access?: AccessGenqlSelection;
|
|
1644
|
+
accessUsers?: (AccessUserGenqlSelection & {
|
|
1645
|
+
__args?: {
|
|
1646
|
+
filter?: (AccessUserFilter | null);
|
|
1647
|
+
paged?: (Pagination | null);
|
|
1648
|
+
};
|
|
1649
|
+
});
|
|
1650
|
+
/** The activity log for this app request. This is a list of actions taken on the app request, such as submission, updating prompts, make an offer, add a note, etc. It will be sorted by the date of the activity in descending order. */
|
|
1651
|
+
appRequestActivity?: (AppRequestActivityGenqlSelection & {
|
|
1652
|
+
__args: {
|
|
1653
|
+
/** Filters to apply to the activity log. This can be used to filter by action type, date range, etc. */
|
|
1654
|
+
filters?: (AppRequestActivityFilters | null);
|
|
1655
|
+
id: Scalars['String'];
|
|
1656
|
+
paged?: (Pagination | null);
|
|
1657
|
+
};
|
|
1658
|
+
});
|
|
1659
|
+
appRequestIndexes?: (IndexCategoryGenqlSelection & {
|
|
1660
|
+
__args?: {
|
|
1661
|
+
categories?: (Scalars['String'][] | null);
|
|
1662
|
+
/** Returns indexes that are flagged to appear in this destination. Also sorts for this destination. */
|
|
1663
|
+
for?: (AppRequestIndexDestination | null);
|
|
1664
|
+
};
|
|
1665
|
+
});
|
|
1666
|
+
appRequests?: (AppRequestGenqlSelection & {
|
|
1667
|
+
__args?: {
|
|
1668
|
+
filter?: (AppRequestFilter | null);
|
|
1669
|
+
paged?: (Pagination | null);
|
|
1670
|
+
};
|
|
1671
|
+
});
|
|
1672
|
+
/** This is where you get information about the authorization system. Each grant will be associated with one of these controlGroups, one or more controls in the group, and an optional set of tags. The tags are used to limit the scope of the grant. */
|
|
1673
|
+
controlGroups?: AccessControlGroupGenqlSelection;
|
|
1674
|
+
countAppRequests?: {
|
|
1675
|
+
__args: {
|
|
1676
|
+
filter?: (AppRequestFilter | null);
|
|
1677
|
+
};
|
|
1678
|
+
} | boolean | number;
|
|
1679
|
+
pageInfo?: PaginationResponseGenqlSelection;
|
|
1680
|
+
periods?: (PeriodGenqlSelection & {
|
|
1681
|
+
__args?: {
|
|
1682
|
+
filter?: (PeriodFilters | null);
|
|
1683
|
+
};
|
|
1684
|
+
});
|
|
1685
|
+
programs?: (ProgramGenqlSelection & {
|
|
1686
|
+
__args?: {
|
|
1687
|
+
filter?: (ProgramFilters | null);
|
|
1688
|
+
};
|
|
1689
|
+
});
|
|
1690
|
+
roles?: (AccessRoleGenqlSelection & {
|
|
1691
|
+
__args?: {
|
|
1692
|
+
filter?: (AccessRoleFilter | null);
|
|
1693
|
+
};
|
|
1694
|
+
});
|
|
1695
|
+
/** A list of all possible scopes. Scopes are used to limit users when they are accessing the system through an alternate UI or login method. For instance, if you generate an authentication token to give to a third party, it may have a scope identifying that third party and limiting their access even though they are acting as you. Roles must match the token scope in order to apply permissions. */
|
|
1696
|
+
scopes?: boolean | number;
|
|
1697
|
+
userIndexes?: (IndexCategoryGenqlSelection & {
|
|
1698
|
+
__args?: {
|
|
1699
|
+
/** Returns indexes that are flagged to appear in this destination. Also sorts for this destination. */
|
|
1700
|
+
for?: (AppRequestIndexDestination | null);
|
|
1701
|
+
};
|
|
1702
|
+
});
|
|
1703
|
+
__typename?: boolean | number;
|
|
1704
|
+
__scalar?: boolean | number;
|
|
1705
|
+
}
|
|
1706
|
+
/** A RequestPrompt is an instance of a Prompt on a particular request. Once the user has answered the prompt, it contains the answer and the prompt status on that request. */
|
|
1707
|
+
export interface RequirementPromptGenqlSelection {
|
|
1708
|
+
/** Actions that the user can take on this prompt. */
|
|
1709
|
+
actions?: RequirementPromptActionsGenqlSelection;
|
|
1710
|
+
/** Whether the prompt has been answered on this request. Note that the answer may be marked invalidated, which means that even though it has been answered, the current answer can't be used and the user needs to answer it again. */
|
|
1711
|
+
answered?: boolean | number;
|
|
1712
|
+
/** The configuration data for this prompt in the app request's period. */
|
|
1713
|
+
configurationData?: boolean | number;
|
|
1714
|
+
/** The data that has been gathered from the user in response to this prompt. The schema is controlled by the question's implementation. */
|
|
1715
|
+
data?: {
|
|
1716
|
+
__args: {
|
|
1717
|
+
/** Provide the schemaVersion at the time the UI was built. Will throw an error if the client is too old, so it knows to refresh. */
|
|
1718
|
+
schemaVersion?: (Scalars['String'] | null);
|
|
1719
|
+
};
|
|
1720
|
+
} | boolean | number;
|
|
1721
|
+
/** A brief description of the prompt. This should be shown to administrators to help explain the full meaning of the prompt while assigning permissions or editing its configuration. */
|
|
1722
|
+
description?: boolean | number;
|
|
1723
|
+
/** Any data that the API needs to provide to the UI to build the prompt form properly. For instance, it could pull reference information from an external system, e.g. a student's course schedule, for display in the prompt dialog. Null if the user is not currently allowed to update the prompt. */
|
|
1724
|
+
fetchedData?: {
|
|
1725
|
+
__args: {
|
|
1726
|
+
/** Provide the schemaVersion at the time the UI was built. Will throw an error if the client is too old, so it knows to refresh. */
|
|
1727
|
+
schemaVersion?: (Scalars['String'] | null);
|
|
1728
|
+
};
|
|
1729
|
+
} | boolean | number;
|
|
1730
|
+
/** Extra configuration data that is relevant for this prompt. This configuration is explicitly gathered from related requirements and prompts by the gatherConfig function in the prompt definition. */
|
|
1731
|
+
gatheredConfigData?: boolean | number;
|
|
1732
|
+
id?: boolean | number;
|
|
1733
|
+
/** When true, this prompt has been invalidated by the answer to another prompt. The `answered` field will remain true so be sure to check this field as well when determining whether the prompt is complete. */
|
|
1734
|
+
invalidated?: boolean | number;
|
|
1735
|
+
/** If the prompt has been invalidated, this may contain a reason why. It should be displayed to the user. */
|
|
1736
|
+
invalidatedReason?: boolean | number;
|
|
1737
|
+
/** A human and machine readable identifier for the prompt. Will be used to match prompt data with UI and API code that handles it. */
|
|
1738
|
+
key?: boolean | number;
|
|
1739
|
+
/** This prompt's requirement follows a requirement that has already marked the application as ineligible. The prompt still has visibility of AVAILABLE OR REQUEST_DUPE OR APPLICATION_DUPE as normal, but should probably be shown to the user as disabled or not shown at all. */
|
|
1740
|
+
moot?: boolean | number;
|
|
1741
|
+
/** A human readable title for the prompt in the navigation. You probably want it to be shorter than the full title. If not provided, the title will be used. */
|
|
1742
|
+
navTitle?: boolean | number;
|
|
1743
|
+
/** Preload data that has been generated according to the prompt definition. For example, a prompt might query the database for answers given in previous requests or query an external API to learn facts about the user. */
|
|
1744
|
+
preloadData?: {
|
|
1745
|
+
__args: {
|
|
1746
|
+
/** Provide the schemaVersion at the time the UI was built. Will throw an error if the client is too old, so it knows to refresh. */
|
|
1747
|
+
schemaVersion?: (Scalars['String'] | null);
|
|
1748
|
+
};
|
|
1749
|
+
} | boolean | number;
|
|
1750
|
+
/** The requirement that this prompt is associated with. */
|
|
1751
|
+
requirement?: ApplicationRequirementGenqlSelection;
|
|
1752
|
+
/** A human readable title for the prompt. This is what will be shown to users. */
|
|
1753
|
+
title?: boolean | number;
|
|
1754
|
+
/** The visibility of the prompt on the request. This is used to determine whether the prompt should be shown to the user in the UI. */
|
|
1755
|
+
visibility?: boolean | number;
|
|
1756
|
+
__typename?: boolean | number;
|
|
1757
|
+
__scalar?: boolean | number;
|
|
1758
|
+
}
|
|
1759
|
+
export interface RequirementPromptActionsGenqlSelection {
|
|
1760
|
+
update?: boolean | number;
|
|
1761
|
+
__typename?: boolean | number;
|
|
1762
|
+
__scalar?: boolean | number;
|
|
1763
|
+
}
|
|
1764
|
+
export interface RoleActionsGenqlSelection {
|
|
1765
|
+
delete?: boolean | number;
|
|
1766
|
+
update?: boolean | number;
|
|
1767
|
+
__typename?: boolean | number;
|
|
1768
|
+
__scalar?: boolean | number;
|
|
1769
|
+
}
|
|
1770
|
+
export interface ValidatedAppRequestResponseGenqlSelection {
|
|
1771
|
+
appRequest?: AppRequestGenqlSelection;
|
|
1772
|
+
messages?: MutationMessageGenqlSelection;
|
|
1773
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
1774
|
+
success?: boolean | number;
|
|
1775
|
+
__typename?: boolean | number;
|
|
1776
|
+
__scalar?: boolean | number;
|
|
1777
|
+
}
|
|
1778
|
+
export interface ValidatedConfigurationResponseGenqlSelection {
|
|
1779
|
+
configuration?: ConfigurationGenqlSelection;
|
|
1780
|
+
messages?: MutationMessageGenqlSelection;
|
|
1781
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
1782
|
+
success?: boolean | number;
|
|
1783
|
+
__typename?: boolean | number;
|
|
1784
|
+
__scalar?: boolean | number;
|
|
1785
|
+
}
|
|
1786
|
+
export interface ValidatedPeriodResponseGenqlSelection {
|
|
1787
|
+
messages?: MutationMessageGenqlSelection;
|
|
1788
|
+
period?: PeriodGenqlSelection;
|
|
1789
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
1790
|
+
success?: boolean | number;
|
|
1791
|
+
__typename?: boolean | number;
|
|
1792
|
+
__scalar?: boolean | number;
|
|
1793
|
+
}
|
|
1794
|
+
export interface ValidatedResponseGenqlSelection {
|
|
1795
|
+
messages?: MutationMessageGenqlSelection;
|
|
1796
|
+
/** True if the mutation succeeded (e.g. saved data or passed validation), even if there were warnings. */
|
|
1797
|
+
success?: boolean | number;
|
|
1798
|
+
__typename?: boolean | number;
|
|
1799
|
+
__scalar?: boolean | number;
|
|
1800
|
+
}
|
|
1801
|
+
export declare const isAccess: (obj?: {
|
|
1802
|
+
__typename?: any;
|
|
1803
|
+
} | null) => obj is Access;
|
|
1804
|
+
export declare const isAccessControl: (obj?: {
|
|
1805
|
+
__typename?: any;
|
|
1806
|
+
} | null) => obj is AccessControl;
|
|
1807
|
+
export declare const isAccessControlGroup: (obj?: {
|
|
1808
|
+
__typename?: any;
|
|
1809
|
+
} | null) => obj is AccessControlGroup;
|
|
1810
|
+
export declare const isAccessGrantTag: (obj?: {
|
|
1811
|
+
__typename?: any;
|
|
1812
|
+
} | null) => obj is AccessGrantTag;
|
|
1813
|
+
export declare const isAccessRole: (obj?: {
|
|
1814
|
+
__typename?: any;
|
|
1815
|
+
} | null) => obj is AccessRole;
|
|
1816
|
+
export declare const isAccessRoleGrant: (obj?: {
|
|
1817
|
+
__typename?: any;
|
|
1818
|
+
} | null) => obj is AccessRoleGrant;
|
|
1819
|
+
export declare const isAccessRoleGrantActions: (obj?: {
|
|
1820
|
+
__typename?: any;
|
|
1821
|
+
} | null) => obj is AccessRoleGrantActions;
|
|
1822
|
+
export declare const isAccessRoleGroup: (obj?: {
|
|
1823
|
+
__typename?: any;
|
|
1824
|
+
} | null) => obj is AccessRoleGroup;
|
|
1825
|
+
export declare const isAccessRoleGroupManager: (obj?: {
|
|
1826
|
+
__typename?: any;
|
|
1827
|
+
} | null) => obj is AccessRoleGroupManager;
|
|
1828
|
+
export declare const isAccessRoleValidatedResponse: (obj?: {
|
|
1829
|
+
__typename?: any;
|
|
1830
|
+
} | null) => obj is AccessRoleValidatedResponse;
|
|
1831
|
+
export declare const isAccessTag: (obj?: {
|
|
1832
|
+
__typename?: any;
|
|
1833
|
+
} | null) => obj is AccessTag;
|
|
1834
|
+
export declare const isAccessTagCategory: (obj?: {
|
|
1835
|
+
__typename?: any;
|
|
1836
|
+
} | null) => obj is AccessTagCategory;
|
|
1837
|
+
export declare const isAccessUser: (obj?: {
|
|
1838
|
+
__typename?: any;
|
|
1839
|
+
} | null) => obj is AccessUser;
|
|
1840
|
+
export declare const isAccessUserIdentifier: (obj?: {
|
|
1841
|
+
__typename?: any;
|
|
1842
|
+
} | null) => obj is AccessUserIdentifier;
|
|
1843
|
+
export declare const isAppRequest: (obj?: {
|
|
1844
|
+
__typename?: any;
|
|
1845
|
+
} | null) => obj is AppRequest;
|
|
1846
|
+
export declare const isAppRequestActions: (obj?: {
|
|
1847
|
+
__typename?: any;
|
|
1848
|
+
} | null) => obj is AppRequestActions;
|
|
1849
|
+
export declare const isAppRequestActivity: (obj?: {
|
|
1850
|
+
__typename?: any;
|
|
1851
|
+
} | null) => obj is AppRequestActivity;
|
|
1852
|
+
export declare const isAppRequestIndexCategory: (obj?: {
|
|
1853
|
+
__typename?: any;
|
|
1854
|
+
} | null) => obj is AppRequestIndexCategory;
|
|
1855
|
+
export declare const isApplication: (obj?: {
|
|
1856
|
+
__typename?: any;
|
|
1857
|
+
} | null) => obj is Application;
|
|
1858
|
+
export declare const isApplicationActions: (obj?: {
|
|
1859
|
+
__typename?: any;
|
|
1860
|
+
} | null) => obj is ApplicationActions;
|
|
1861
|
+
export declare const isApplicationRequirement: (obj?: {
|
|
1862
|
+
__typename?: any;
|
|
1863
|
+
} | null) => obj is ApplicationRequirement;
|
|
1864
|
+
export declare const isCategory: (obj?: {
|
|
1865
|
+
__typename?: any;
|
|
1866
|
+
} | null) => obj is Category;
|
|
1867
|
+
export declare const isCategoryTag: (obj?: {
|
|
1868
|
+
__typename?: any;
|
|
1869
|
+
} | null) => obj is CategoryTag;
|
|
1870
|
+
export declare const isConfiguration: (obj?: {
|
|
1871
|
+
__typename?: any;
|
|
1872
|
+
} | null) => obj is Configuration;
|
|
1873
|
+
export declare const isConfigurationAccess: (obj?: {
|
|
1874
|
+
__typename?: any;
|
|
1875
|
+
} | null) => obj is ConfigurationAccess;
|
|
1876
|
+
export declare const isIndexCategory: (obj?: {
|
|
1877
|
+
__typename?: any;
|
|
1878
|
+
} | null) => obj is IndexCategory;
|
|
1879
|
+
export declare const isIndexValue: (obj?: {
|
|
1880
|
+
__typename?: any;
|
|
1881
|
+
} | null) => obj is IndexValue;
|
|
1882
|
+
export declare const isMutation: (obj?: {
|
|
1883
|
+
__typename?: any;
|
|
1884
|
+
} | null) => obj is Mutation;
|
|
1885
|
+
export declare const isMutationMessage: (obj?: {
|
|
1886
|
+
__typename?: any;
|
|
1887
|
+
} | null) => obj is MutationMessage;
|
|
1888
|
+
export declare const isNote: (obj?: {
|
|
1889
|
+
__typename?: any;
|
|
1890
|
+
} | null) => obj is Note;
|
|
1891
|
+
export declare const isNoteActions: (obj?: {
|
|
1892
|
+
__typename?: any;
|
|
1893
|
+
} | null) => obj is NoteActions;
|
|
1894
|
+
export declare const isPaginationInfoWithTotalItems: (obj?: {
|
|
1895
|
+
__typename?: any;
|
|
1896
|
+
} | null) => obj is PaginationInfoWithTotalItems;
|
|
1897
|
+
export declare const isPaginationResponse: (obj?: {
|
|
1898
|
+
__typename?: any;
|
|
1899
|
+
} | null) => obj is PaginationResponse;
|
|
1900
|
+
export declare const isPeriod: (obj?: {
|
|
1901
|
+
__typename?: any;
|
|
1902
|
+
} | null) => obj is Period;
|
|
1903
|
+
export declare const isPeriodActions: (obj?: {
|
|
1904
|
+
__typename?: any;
|
|
1905
|
+
} | null) => obj is PeriodActions;
|
|
1906
|
+
export declare const isPeriodProgram: (obj?: {
|
|
1907
|
+
__typename?: any;
|
|
1908
|
+
} | null) => obj is PeriodProgram;
|
|
1909
|
+
export declare const isPeriodProgramActions: (obj?: {
|
|
1910
|
+
__typename?: any;
|
|
1911
|
+
} | null) => obj is PeriodProgramActions;
|
|
1912
|
+
export declare const isPeriodProgramRequirement: (obj?: {
|
|
1913
|
+
__typename?: any;
|
|
1914
|
+
} | null) => obj is PeriodProgramRequirement;
|
|
1915
|
+
export declare const isPeriodPrompt: (obj?: {
|
|
1916
|
+
__typename?: any;
|
|
1917
|
+
} | null) => obj is PeriodPrompt;
|
|
1918
|
+
export declare const isPeriodWorkflowStage: (obj?: {
|
|
1919
|
+
__typename?: any;
|
|
1920
|
+
} | null) => obj is PeriodWorkflowStage;
|
|
1921
|
+
export declare const isProgram: (obj?: {
|
|
1922
|
+
__typename?: any;
|
|
1923
|
+
} | null) => obj is Program;
|
|
1924
|
+
export declare const isQuery: (obj?: {
|
|
1925
|
+
__typename?: any;
|
|
1926
|
+
} | null) => obj is Query;
|
|
1927
|
+
export declare const isRequirementPrompt: (obj?: {
|
|
1928
|
+
__typename?: any;
|
|
1929
|
+
} | null) => obj is RequirementPrompt;
|
|
1930
|
+
export declare const isRequirementPromptActions: (obj?: {
|
|
1931
|
+
__typename?: any;
|
|
1932
|
+
} | null) => obj is RequirementPromptActions;
|
|
1933
|
+
export declare const isRoleActions: (obj?: {
|
|
1934
|
+
__typename?: any;
|
|
1935
|
+
} | null) => obj is RoleActions;
|
|
1936
|
+
export declare const isValidatedAppRequestResponse: (obj?: {
|
|
1937
|
+
__typename?: any;
|
|
1938
|
+
} | null) => obj is ValidatedAppRequestResponse;
|
|
1939
|
+
export declare const isValidatedConfigurationResponse: (obj?: {
|
|
1940
|
+
__typename?: any;
|
|
1941
|
+
} | null) => obj is ValidatedConfigurationResponse;
|
|
1942
|
+
export declare const isValidatedPeriodResponse: (obj?: {
|
|
1943
|
+
__typename?: any;
|
|
1944
|
+
} | null) => obj is ValidatedPeriodResponse;
|
|
1945
|
+
export declare const isValidatedResponse: (obj?: {
|
|
1946
|
+
__typename?: any;
|
|
1947
|
+
} | null) => obj is ValidatedResponse;
|
|
1948
|
+
export declare const enumAppRequestIndexDestination: {
|
|
1949
|
+
APPLICANT_DASHBOARD: "APPLICANT_DASHBOARD";
|
|
1950
|
+
APP_REQUEST_LIST: "APP_REQUEST_LIST";
|
|
1951
|
+
LIST_FILTERS: "LIST_FILTERS";
|
|
1952
|
+
REVIEWER_DASHBOARD: "REVIEWER_DASHBOARD";
|
|
1953
|
+
};
|
|
1954
|
+
export declare const enumAppRequestPhase: {
|
|
1955
|
+
ACCEPTANCE: "ACCEPTANCE";
|
|
1956
|
+
COMPLETE: "COMPLETE";
|
|
1957
|
+
STARTED: "STARTED";
|
|
1958
|
+
SUBMITTED: "SUBMITTED";
|
|
1959
|
+
WORKFLOW_NONBLOCKING: "WORKFLOW_NONBLOCKING";
|
|
1960
|
+
};
|
|
1961
|
+
export declare const enumAppRequestStatus: {
|
|
1962
|
+
ACCEPTANCE: "ACCEPTANCE";
|
|
1963
|
+
ACCEPTED: "ACCEPTED";
|
|
1964
|
+
APPROVAL: "APPROVAL";
|
|
1965
|
+
APPROVED: "APPROVED";
|
|
1966
|
+
CANCELLED: "CANCELLED";
|
|
1967
|
+
DISQUALIFIED: "DISQUALIFIED";
|
|
1968
|
+
NOT_ACCEPTED: "NOT_ACCEPTED";
|
|
1969
|
+
NOT_APPROVED: "NOT_APPROVED";
|
|
1970
|
+
PREAPPROVAL: "PREAPPROVAL";
|
|
1971
|
+
READY_TO_ACCEPT: "READY_TO_ACCEPT";
|
|
1972
|
+
READY_TO_SUBMIT: "READY_TO_SUBMIT";
|
|
1973
|
+
REVIEW_COMPLETE: "REVIEW_COMPLETE";
|
|
1974
|
+
STARTED: "STARTED";
|
|
1975
|
+
WITHDRAWN: "WITHDRAWN";
|
|
1976
|
+
};
|
|
1977
|
+
export declare const enumApplicationPhase: {
|
|
1978
|
+
ACCEPTANCE: "ACCEPTANCE";
|
|
1979
|
+
APPROVAL: "APPROVAL";
|
|
1980
|
+
COMPLETE: "COMPLETE";
|
|
1981
|
+
PREAPPROVAL: "PREAPPROVAL";
|
|
1982
|
+
PREQUAL: "PREQUAL";
|
|
1983
|
+
QUALIFICATION: "QUALIFICATION";
|
|
1984
|
+
READY_FOR_WORKFLOW: "READY_FOR_WORKFLOW";
|
|
1985
|
+
READY_TO_ACCEPT: "READY_TO_ACCEPT";
|
|
1986
|
+
READY_TO_COMPLETE: "READY_TO_COMPLETE";
|
|
1987
|
+
READY_TO_SUBMIT: "READY_TO_SUBMIT";
|
|
1988
|
+
REVIEW_COMPLETE: "REVIEW_COMPLETE";
|
|
1989
|
+
WORKFLOW_BLOCKING: "WORKFLOW_BLOCKING";
|
|
1990
|
+
WORKFLOW_NONBLOCKING: "WORKFLOW_NONBLOCKING";
|
|
1991
|
+
};
|
|
1992
|
+
export declare const enumApplicationStatus: {
|
|
1993
|
+
ACCEPTED: "ACCEPTED";
|
|
1994
|
+
ELIGIBLE: "ELIGIBLE";
|
|
1995
|
+
INELIGIBLE: "INELIGIBLE";
|
|
1996
|
+
PENDING: "PENDING";
|
|
1997
|
+
REJECTED: "REJECTED";
|
|
1998
|
+
};
|
|
1999
|
+
export declare const enumIneligiblePhases: {
|
|
2000
|
+
ACCEPTANCE: "ACCEPTANCE";
|
|
2001
|
+
APPROVAL: "APPROVAL";
|
|
2002
|
+
PREAPPROVAL: "PREAPPROVAL";
|
|
2003
|
+
PREQUAL: "PREQUAL";
|
|
2004
|
+
QUALIFICATION: "QUALIFICATION";
|
|
2005
|
+
WORKFLOW: "WORKFLOW";
|
|
2006
|
+
};
|
|
2007
|
+
export declare const enumMutationMessageType: {
|
|
2008
|
+
error: "error";
|
|
2009
|
+
success: "success";
|
|
2010
|
+
warning: "warning";
|
|
2011
|
+
};
|
|
2012
|
+
export declare const enumPromptVisibility: {
|
|
2013
|
+
APPLICATION_DUPE: "APPLICATION_DUPE";
|
|
2014
|
+
AVAILABLE: "AVAILABLE";
|
|
2015
|
+
REQUEST_DUPE: "REQUEST_DUPE";
|
|
2016
|
+
UNREACHABLE: "UNREACHABLE";
|
|
2017
|
+
};
|
|
2018
|
+
export declare const enumRequirementStatus: {
|
|
2019
|
+
DISQUALIFYING: "DISQUALIFYING";
|
|
2020
|
+
MET: "MET";
|
|
2021
|
+
NOT_APPLICABLE: "NOT_APPLICABLE";
|
|
2022
|
+
PENDING: "PENDING";
|
|
2023
|
+
WARNING: "WARNING";
|
|
2024
|
+
};
|
|
2025
|
+
export declare const enumRequirementType: {
|
|
2026
|
+
ACCEPTANCE: "ACCEPTANCE";
|
|
2027
|
+
APPROVAL: "APPROVAL";
|
|
2028
|
+
POSTQUAL: "POSTQUAL";
|
|
2029
|
+
PREAPPROVAL: "PREAPPROVAL";
|
|
2030
|
+
PREQUAL: "PREQUAL";
|
|
2031
|
+
QUALIFICATION: "QUALIFICATION";
|
|
2032
|
+
WORKFLOW: "WORKFLOW";
|
|
2033
|
+
};
|