@grantjs/schema 1.1.6 → 1.2.0
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/package.json +1 -1
- package/src/generated/graphql.ts +1617 -126
- package/src/generated/resolvers.ts +495 -0
- package/src/generated/schema-types.ts +258 -0
- package/src/index.ts +2 -0
- package/src/operations/groups/getGroupsList.graphql +38 -0
- package/src/operations/groups/updateGroup.graphql +6 -0
- package/src/operations/me/me.graphql +4 -0
- package/src/operations/permissions/getPermissionsList.graphql +45 -0
- package/src/operations/permissions/updatePermission.graphql +6 -0
- package/src/operations/resources/updateResource.graphql +6 -0
- package/src/operations/role-permissions/role-permissions.graphql +39 -0
- package/src/operations/roles/getRoles.graphql +12 -0
- package/src/operations/roles/getRolesList.graphql +38 -0
- package/src/operations/roles/updateRole.graphql +6 -0
- package/src/operations/user-permissions/user-permissions.graphql +39 -0
- package/src/operations/users/getUsers.graphql +26 -0
- package/src/operations/users/getUsersList.graphql +43 -0
- package/src/operations/users/updateUser.graphql +6 -0
- package/src/schema/auth/inputs/is-authorized.graphql +7 -0
- package/src/schema/auth/queries/is-authorized.graphql +3 -0
- package/src/schema/groups/types/group.graphql +3 -0
- package/src/schema/permissions/types/permission.graphql +2 -0
- package/src/schema/project-role-permissions/types/project-role-permission.graphql +27 -0
- package/src/schema/project-user-groups/types/project-user-group.graphql +27 -0
- package/src/schema/project-user-permissions/types/project-user-permission.graphql +27 -0
- package/src/schema/projects/inputs/sync-project-cdm.graphql +17 -0
- package/src/schema/role-permissions/inputs/assign-role-permission.graphql +5 -0
- package/src/schema/role-permissions/inputs/query-role-permissions.graphql +4 -0
- package/src/schema/role-permissions/inputs/revoke-role-permission.graphql +6 -0
- package/src/schema/role-permissions/mutations/assign-role-permission.graphql +3 -0
- package/src/schema/role-permissions/mutations/revoke-role-permission.graphql +3 -0
- package/src/schema/role-permissions/types/role-permission.graphql +10 -0
- package/src/schema/roles/inputs/create-role.graphql +1 -0
- package/src/schema/roles/types/role.graphql +5 -0
- package/src/schema/user-groups/inputs/add-user-group.graphql +4 -0
- package/src/schema/user-groups/inputs/query-user-groups.graphql +4 -0
- package/src/schema/user-groups/inputs/remove-user-group.graphql +4 -0
- package/src/schema/user-groups/types/user-group.graphql +10 -0
- package/src/schema/user-permissions/inputs/assign-user-permission.graphql +5 -0
- package/src/schema/user-permissions/inputs/query-user-permissions.graphql +4 -0
- package/src/schema/user-permissions/inputs/revoke-user-permission.graphql +6 -0
- package/src/schema/user-permissions/mutations/assign-user-permission.graphql +3 -0
- package/src/schema/user-permissions/mutations/revoke-user-permission.graphql +3 -0
- package/src/schema/user-permissions/types/user-permission.graphql +10 -0
- package/src/schema/users/inputs/create-user.graphql +2 -0
- package/src/schema/users/inputs/update-user.graphql +1 -0
- package/src/schema/users/types/user.graphql +7 -0
|
@@ -260,6 +260,12 @@ export type AddProjectRoleInput = {
|
|
|
260
260
|
roleId: Scalars['ID']['input'];
|
|
261
261
|
};
|
|
262
262
|
|
|
263
|
+
export type AddProjectRolePermissionInput = {
|
|
264
|
+
permissionId: Scalars['ID']['input'];
|
|
265
|
+
projectId: Scalars['ID']['input'];
|
|
266
|
+
roleId: Scalars['ID']['input'];
|
|
267
|
+
};
|
|
268
|
+
|
|
263
269
|
export type AddProjectTagInput = {
|
|
264
270
|
isPrimary?: InputMaybe<Scalars['Boolean']['input']>;
|
|
265
271
|
projectId: Scalars['ID']['input'];
|
|
@@ -274,12 +280,24 @@ export type AddProjectUserApiKeyInput = {
|
|
|
274
280
|
userId: Scalars['ID']['input'];
|
|
275
281
|
};
|
|
276
282
|
|
|
283
|
+
export type AddProjectUserGroupInput = {
|
|
284
|
+
groupId: Scalars['ID']['input'];
|
|
285
|
+
projectId: Scalars['ID']['input'];
|
|
286
|
+
userId: Scalars['ID']['input'];
|
|
287
|
+
};
|
|
288
|
+
|
|
277
289
|
export type AddProjectUserInput = {
|
|
278
290
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
279
291
|
projectId: Scalars['ID']['input'];
|
|
280
292
|
userId: Scalars['ID']['input'];
|
|
281
293
|
};
|
|
282
294
|
|
|
295
|
+
export type AddProjectUserPermissionInput = {
|
|
296
|
+
permissionId: Scalars['ID']['input'];
|
|
297
|
+
projectId: Scalars['ID']['input'];
|
|
298
|
+
userId: Scalars['ID']['input'];
|
|
299
|
+
};
|
|
300
|
+
|
|
283
301
|
export type AddResourceTagInput = {
|
|
284
302
|
isPrimary?: InputMaybe<Scalars['Boolean']['input']>;
|
|
285
303
|
resourceId: Scalars['ID']['input'];
|
|
@@ -297,6 +315,11 @@ export type AddRoleTagInput = {
|
|
|
297
315
|
tagId: Scalars['ID']['input'];
|
|
298
316
|
};
|
|
299
317
|
|
|
318
|
+
export type AddUserGroupInput = {
|
|
319
|
+
groupId: Scalars['ID']['input'];
|
|
320
|
+
userId: Scalars['ID']['input'];
|
|
321
|
+
};
|
|
322
|
+
|
|
300
323
|
export type AddUserRoleInput = {
|
|
301
324
|
roleId: Scalars['ID']['input'];
|
|
302
325
|
userId: Scalars['ID']['input'];
|
|
@@ -354,6 +377,18 @@ export enum ApiKeySortableField {
|
|
|
354
377
|
Name = 'name',
|
|
355
378
|
}
|
|
356
379
|
|
|
380
|
+
export type AssignRolePermissionInput = {
|
|
381
|
+
permissionId: Scalars['ID']['input'];
|
|
382
|
+
roleId: Scalars['ID']['input'];
|
|
383
|
+
scope: Scope;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
export type AssignUserPermissionInput = {
|
|
387
|
+
permissionId: Scalars['ID']['input'];
|
|
388
|
+
scope: Scope;
|
|
389
|
+
userId: Scalars['ID']['input'];
|
|
390
|
+
};
|
|
391
|
+
|
|
357
392
|
export type Auditable = {
|
|
358
393
|
createdAt: Scalars['Date']['output'];
|
|
359
394
|
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
@@ -595,6 +630,7 @@ export type CreateRoleInput = {
|
|
|
595
630
|
groupIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
596
631
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
597
632
|
name: Scalars['String']['input'];
|
|
633
|
+
permissionIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
598
634
|
primaryTagId?: InputMaybe<Scalars['ID']['input']>;
|
|
599
635
|
scope: Scope;
|
|
600
636
|
tagIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
@@ -617,8 +653,10 @@ export type CreateUserAuthenticationMethodInput = {
|
|
|
617
653
|
};
|
|
618
654
|
|
|
619
655
|
export type CreateUserInput = {
|
|
656
|
+
groupIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
620
657
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
621
658
|
name: Scalars['String']['input'];
|
|
659
|
+
permissionIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
622
660
|
pictureUrl?: InputMaybe<Scalars['String']['input']>;
|
|
623
661
|
primaryTagId?: InputMaybe<Scalars['ID']['input']>;
|
|
624
662
|
roleIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
@@ -697,7 +735,10 @@ export type Group = Auditable & {
|
|
|
697
735
|
id: Scalars['ID']['output'];
|
|
698
736
|
metadata: Scalars['JSON']['output'];
|
|
699
737
|
name: Scalars['String']['output'];
|
|
738
|
+
permissionCount: Scalars['Int']['output'];
|
|
700
739
|
permissions?: Maybe<Array<Permission>>;
|
|
740
|
+
primaryTag?: Maybe<Tag>;
|
|
741
|
+
tagCount: Scalars['Int']['output'];
|
|
701
742
|
tags?: Maybe<Array<Tag>>;
|
|
702
743
|
updatedAt: Scalars['Date']['output'];
|
|
703
744
|
};
|
|
@@ -784,6 +825,13 @@ export type IsAuthorizedContextInput = {
|
|
|
784
825
|
resource?: InputMaybe<Scalars['JSON']['input']>;
|
|
785
826
|
};
|
|
786
827
|
|
|
828
|
+
/**
|
|
829
|
+
* Check whether the authenticated principal may perform an action on a resource.
|
|
830
|
+
*
|
|
831
|
+
* Unions Role → Group → Permission, User → Group → Permission, Role → Permission,
|
|
832
|
+
* and User → Permission before matching the requested resource and action.
|
|
833
|
+
* Conditional permissions are evaluated against role/group/user execution context.
|
|
834
|
+
*/
|
|
787
835
|
export type IsAuthorizedInput = {
|
|
788
836
|
context: IsAuthorizedContextInput;
|
|
789
837
|
permission: IsAuthorizedPermissionInput;
|
|
@@ -878,6 +926,8 @@ export type Mutation = {
|
|
|
878
926
|
__typename?: 'Mutation';
|
|
879
927
|
_empty?: Maybe<Scalars['String']['output']>;
|
|
880
928
|
acceptInvitation: AcceptInvitationResult;
|
|
929
|
+
assignRolePermission: RolePermission;
|
|
930
|
+
assignUserPermission: UserPermission;
|
|
881
931
|
/**
|
|
882
932
|
* Cancel a pending or running project CDM sync job. Cancellation is
|
|
883
933
|
* immediate when the job is still PENDING; if the job is already RUNNING, the
|
|
@@ -929,6 +979,8 @@ export type Mutation = {
|
|
|
929
979
|
revokeApiKey: ApiKey;
|
|
930
980
|
revokeInvitation: OrganizationInvitation;
|
|
931
981
|
revokeMyUserSession: RevokeMyUserSessionResult;
|
|
982
|
+
revokeRolePermission: RolePermission;
|
|
983
|
+
revokeUserPermission: UserPermission;
|
|
932
984
|
/**
|
|
933
985
|
* Rotate the signing key for the given scope: create a new active key and mark the previous one as rotated.
|
|
934
986
|
* Allowed scopes: accountProject, organizationProject only.
|
|
@@ -985,6 +1037,14 @@ export type MutationAcceptInvitationArgs = {
|
|
|
985
1037
|
input: AcceptInvitationInput;
|
|
986
1038
|
};
|
|
987
1039
|
|
|
1040
|
+
export type MutationAssignRolePermissionArgs = {
|
|
1041
|
+
input: AssignRolePermissionInput;
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1044
|
+
export type MutationAssignUserPermissionArgs = {
|
|
1045
|
+
input: AssignUserPermissionInput;
|
|
1046
|
+
};
|
|
1047
|
+
|
|
988
1048
|
export type MutationCancelProjectSyncArgs = {
|
|
989
1049
|
id: Scalars['ID']['input'];
|
|
990
1050
|
jobId: Scalars['ID']['input'];
|
|
@@ -1160,6 +1220,14 @@ export type MutationRevokeMyUserSessionArgs = {
|
|
|
1160
1220
|
id: Scalars['ID']['input'];
|
|
1161
1221
|
};
|
|
1162
1222
|
|
|
1223
|
+
export type MutationRevokeRolePermissionArgs = {
|
|
1224
|
+
input: RevokeRolePermissionInput;
|
|
1225
|
+
};
|
|
1226
|
+
|
|
1227
|
+
export type MutationRevokeUserPermissionArgs = {
|
|
1228
|
+
input: RevokeUserPermissionInput;
|
|
1229
|
+
};
|
|
1230
|
+
|
|
1163
1231
|
export type MutationRotateSigningKeyArgs = {
|
|
1164
1232
|
scope: Scope;
|
|
1165
1233
|
};
|
|
@@ -1524,8 +1592,10 @@ export type Permission = Auditable & {
|
|
|
1524
1592
|
id: Scalars['ID']['output'];
|
|
1525
1593
|
metadata: Scalars['JSON']['output'];
|
|
1526
1594
|
name: Scalars['String']['output'];
|
|
1595
|
+
primaryTag?: Maybe<Tag>;
|
|
1527
1596
|
resource?: Maybe<Resource>;
|
|
1528
1597
|
resourceId?: Maybe<Scalars['ID']['output']>;
|
|
1598
|
+
tagCount: Scalars['Int']['output'];
|
|
1529
1599
|
tags?: Maybe<Array<Tag>>;
|
|
1530
1600
|
updatedAt: Scalars['Date']['output'];
|
|
1531
1601
|
};
|
|
@@ -1737,6 +1807,17 @@ export type ProjectRoleProjectArgs = {
|
|
|
1737
1807
|
organizationId: Scalars['ID']['input'];
|
|
1738
1808
|
};
|
|
1739
1809
|
|
|
1810
|
+
export type ProjectRolePermission = Auditable & {
|
|
1811
|
+
__typename?: 'ProjectRolePermission';
|
|
1812
|
+
createdAt: Scalars['Date']['output'];
|
|
1813
|
+
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
1814
|
+
id: Scalars['ID']['output'];
|
|
1815
|
+
permissionId: Scalars['ID']['output'];
|
|
1816
|
+
projectId: Scalars['ID']['output'];
|
|
1817
|
+
roleId: Scalars['ID']['output'];
|
|
1818
|
+
updatedAt: Scalars['Date']['output'];
|
|
1819
|
+
};
|
|
1820
|
+
|
|
1740
1821
|
export enum ProjectSearchableField {
|
|
1741
1822
|
Description = 'description',
|
|
1742
1823
|
Name = 'name',
|
|
@@ -1866,12 +1947,35 @@ export type ProjectUserApiKey = Auditable & {
|
|
|
1866
1947
|
userId: Scalars['ID']['output'];
|
|
1867
1948
|
};
|
|
1868
1949
|
|
|
1950
|
+
export type ProjectUserGroup = Auditable & {
|
|
1951
|
+
__typename?: 'ProjectUserGroup';
|
|
1952
|
+
createdAt: Scalars['Date']['output'];
|
|
1953
|
+
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
1954
|
+
groupId: Scalars['ID']['output'];
|
|
1955
|
+
id: Scalars['ID']['output'];
|
|
1956
|
+
projectId: Scalars['ID']['output'];
|
|
1957
|
+
updatedAt: Scalars['Date']['output'];
|
|
1958
|
+
userId: Scalars['ID']['output'];
|
|
1959
|
+
};
|
|
1960
|
+
|
|
1961
|
+
export type ProjectUserPermission = Auditable & {
|
|
1962
|
+
__typename?: 'ProjectUserPermission';
|
|
1963
|
+
createdAt: Scalars['Date']['output'];
|
|
1964
|
+
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
1965
|
+
id: Scalars['ID']['output'];
|
|
1966
|
+
permissionId: Scalars['ID']['output'];
|
|
1967
|
+
projectId: Scalars['ID']['output'];
|
|
1968
|
+
updatedAt: Scalars['Date']['output'];
|
|
1969
|
+
userId: Scalars['ID']['output'];
|
|
1970
|
+
};
|
|
1971
|
+
|
|
1869
1972
|
export type Query = {
|
|
1870
1973
|
__typename?: 'Query';
|
|
1871
1974
|
_empty?: Maybe<Scalars['String']['output']>;
|
|
1872
1975
|
apiKeys: ApiKeyPage;
|
|
1873
1976
|
groups: GroupPage;
|
|
1874
1977
|
invitation?: Maybe<OrganizationInvitation>;
|
|
1978
|
+
/** Evaluate authorization for the current session or API key token. */
|
|
1875
1979
|
isAuthorized: AuthorizationResult;
|
|
1876
1980
|
me: MeResponse;
|
|
1877
1981
|
myMfaDevices: Array<MfaDevice>;
|
|
@@ -2167,6 +2271,12 @@ export type QueryProjectResourcesInput = {
|
|
|
2167
2271
|
resourceId?: InputMaybe<Scalars['ID']['input']>;
|
|
2168
2272
|
};
|
|
2169
2273
|
|
|
2274
|
+
export type QueryProjectRolePermissionsInput = {
|
|
2275
|
+
permissionId?: InputMaybe<Scalars['ID']['input']>;
|
|
2276
|
+
projectId?: InputMaybe<Scalars['ID']['input']>;
|
|
2277
|
+
roleId?: InputMaybe<Scalars['ID']['input']>;
|
|
2278
|
+
};
|
|
2279
|
+
|
|
2170
2280
|
export type QueryProjectRolesInput = {
|
|
2171
2281
|
projectId: Scalars['ID']['input'];
|
|
2172
2282
|
};
|
|
@@ -2181,6 +2291,18 @@ export type QueryProjectUserApiKeysInput = {
|
|
|
2181
2291
|
userId: Scalars['ID']['input'];
|
|
2182
2292
|
};
|
|
2183
2293
|
|
|
2294
|
+
export type QueryProjectUserGroupsInput = {
|
|
2295
|
+
groupId?: InputMaybe<Scalars['ID']['input']>;
|
|
2296
|
+
projectId?: InputMaybe<Scalars['ID']['input']>;
|
|
2297
|
+
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
2298
|
+
};
|
|
2299
|
+
|
|
2300
|
+
export type QueryProjectUserPermissionsInput = {
|
|
2301
|
+
permissionId?: InputMaybe<Scalars['ID']['input']>;
|
|
2302
|
+
projectId?: InputMaybe<Scalars['ID']['input']>;
|
|
2303
|
+
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
2304
|
+
};
|
|
2305
|
+
|
|
2184
2306
|
export type QueryProjectUsersInput = {
|
|
2185
2307
|
projectId?: InputMaybe<Scalars['ID']['input']>;
|
|
2186
2308
|
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -2196,11 +2318,26 @@ export type QueryRoleGroupsInput = {
|
|
|
2196
2318
|
roleId?: InputMaybe<Scalars['ID']['input']>;
|
|
2197
2319
|
};
|
|
2198
2320
|
|
|
2321
|
+
export type QueryRolePermissionsInput = {
|
|
2322
|
+
permissionId?: InputMaybe<Scalars['ID']['input']>;
|
|
2323
|
+
roleId?: InputMaybe<Scalars['ID']['input']>;
|
|
2324
|
+
};
|
|
2325
|
+
|
|
2199
2326
|
export type QueryRoleTagsInput = {
|
|
2200
2327
|
roleId?: InputMaybe<Scalars['ID']['input']>;
|
|
2201
2328
|
tagId?: InputMaybe<Scalars['ID']['input']>;
|
|
2202
2329
|
};
|
|
2203
2330
|
|
|
2331
|
+
export type QueryUserGroupsInput = {
|
|
2332
|
+
groupId?: InputMaybe<Scalars['ID']['input']>;
|
|
2333
|
+
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
2334
|
+
};
|
|
2335
|
+
|
|
2336
|
+
export type QueryUserPermissionsInput = {
|
|
2337
|
+
permissionId?: InputMaybe<Scalars['ID']['input']>;
|
|
2338
|
+
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
2339
|
+
};
|
|
2340
|
+
|
|
2204
2341
|
export type QueryUserRolesInput = {
|
|
2205
2342
|
roleId?: InputMaybe<Scalars['ID']['input']>;
|
|
2206
2343
|
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -2341,6 +2478,12 @@ export type RemoveProjectRoleInput = {
|
|
|
2341
2478
|
roleId: Scalars['ID']['input'];
|
|
2342
2479
|
};
|
|
2343
2480
|
|
|
2481
|
+
export type RemoveProjectRolePermissionInput = {
|
|
2482
|
+
permissionId: Scalars['ID']['input'];
|
|
2483
|
+
projectId: Scalars['ID']['input'];
|
|
2484
|
+
roleId: Scalars['ID']['input'];
|
|
2485
|
+
};
|
|
2486
|
+
|
|
2344
2487
|
export type RemoveProjectTagInput = {
|
|
2345
2488
|
projectId: Scalars['ID']['input'];
|
|
2346
2489
|
tagId: Scalars['ID']['input'];
|
|
@@ -2352,11 +2495,23 @@ export type RemoveProjectUserApiKeyInput = {
|
|
|
2352
2495
|
userId: Scalars['ID']['input'];
|
|
2353
2496
|
};
|
|
2354
2497
|
|
|
2498
|
+
export type RemoveProjectUserGroupInput = {
|
|
2499
|
+
groupId: Scalars['ID']['input'];
|
|
2500
|
+
projectId: Scalars['ID']['input'];
|
|
2501
|
+
userId: Scalars['ID']['input'];
|
|
2502
|
+
};
|
|
2503
|
+
|
|
2355
2504
|
export type RemoveProjectUserInput = {
|
|
2356
2505
|
projectId: Scalars['ID']['input'];
|
|
2357
2506
|
userId: Scalars['ID']['input'];
|
|
2358
2507
|
};
|
|
2359
2508
|
|
|
2509
|
+
export type RemoveProjectUserPermissionInput = {
|
|
2510
|
+
permissionId: Scalars['ID']['input'];
|
|
2511
|
+
projectId: Scalars['ID']['input'];
|
|
2512
|
+
userId: Scalars['ID']['input'];
|
|
2513
|
+
};
|
|
2514
|
+
|
|
2360
2515
|
export type RemoveResourceTagInput = {
|
|
2361
2516
|
resourceId: Scalars['ID']['input'];
|
|
2362
2517
|
tagId: Scalars['ID']['input'];
|
|
@@ -2372,6 +2527,11 @@ export type RemoveRoleTagInput = {
|
|
|
2372
2527
|
tagId: Scalars['ID']['input'];
|
|
2373
2528
|
};
|
|
2374
2529
|
|
|
2530
|
+
export type RemoveUserGroupInput = {
|
|
2531
|
+
groupId: Scalars['ID']['input'];
|
|
2532
|
+
userId: Scalars['ID']['input'];
|
|
2533
|
+
};
|
|
2534
|
+
|
|
2375
2535
|
export type RemoveUserRoleInput = {
|
|
2376
2536
|
roleId: Scalars['ID']['input'];
|
|
2377
2537
|
userId: Scalars['ID']['input'];
|
|
@@ -2501,25 +2661,52 @@ export type RevokeMyUserSessionResult = {
|
|
|
2501
2661
|
success: Scalars['Boolean']['output'];
|
|
2502
2662
|
};
|
|
2503
2663
|
|
|
2664
|
+
export type RevokeRolePermissionInput = {
|
|
2665
|
+
hardDelete?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2666
|
+
permissionId: Scalars['ID']['input'];
|
|
2667
|
+
roleId: Scalars['ID']['input'];
|
|
2668
|
+
scope: Scope;
|
|
2669
|
+
};
|
|
2670
|
+
|
|
2671
|
+
export type RevokeUserPermissionInput = {
|
|
2672
|
+
hardDelete?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2673
|
+
permissionId: Scalars['ID']['input'];
|
|
2674
|
+
scope: Scope;
|
|
2675
|
+
userId: Scalars['ID']['input'];
|
|
2676
|
+
};
|
|
2677
|
+
|
|
2504
2678
|
export type Role = Auditable & {
|
|
2505
2679
|
__typename?: 'Role';
|
|
2506
2680
|
createdAt: Scalars['Date']['output'];
|
|
2507
2681
|
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
2508
2682
|
description?: Maybe<Scalars['String']['output']>;
|
|
2683
|
+
groupCount: Scalars['Int']['output'];
|
|
2509
2684
|
groups?: Maybe<Array<Group>>;
|
|
2510
2685
|
id: Scalars['ID']['output'];
|
|
2511
2686
|
metadata: Scalars['JSON']['output'];
|
|
2512
2687
|
name: Scalars['String']['output'];
|
|
2688
|
+
permissionCount: Scalars['Int']['output'];
|
|
2689
|
+
primaryTag?: Maybe<Tag>;
|
|
2690
|
+
rolePermissions?: Maybe<Array<RolePermission>>;
|
|
2691
|
+
tagCount: Scalars['Int']['output'];
|
|
2513
2692
|
tags?: Maybe<Array<Tag>>;
|
|
2514
2693
|
updatedAt: Scalars['Date']['output'];
|
|
2515
2694
|
};
|
|
2516
2695
|
|
|
2517
2696
|
export type RoleCdmInput = {
|
|
2518
2697
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
2698
|
+
/**
|
|
2699
|
+
* Group keys from the `groups` section. When set, permissions are linked via
|
|
2700
|
+
* Role → Group → Permission. Omit to use direct `permissions` on the role.
|
|
2701
|
+
*/
|
|
2519
2702
|
groups?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
2520
2703
|
key: Scalars['String']['input'];
|
|
2521
2704
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
2522
2705
|
name: Scalars['String']['input'];
|
|
2706
|
+
/**
|
|
2707
|
+
* Permission document keys or catalog refs (`resourceSlug:action`). Used for
|
|
2708
|
+
* direct Role → Permission when `groups` is empty.
|
|
2709
|
+
*/
|
|
2523
2710
|
permissions?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
2524
2711
|
primaryTag?: InputMaybe<Scalars['String']['input']>;
|
|
2525
2712
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -2552,6 +2739,26 @@ export type RolePage = PaginatedResults & {
|
|
|
2552
2739
|
totalCount: Scalars['Int']['output'];
|
|
2553
2740
|
};
|
|
2554
2741
|
|
|
2742
|
+
export type RolePermission = Auditable & {
|
|
2743
|
+
__typename?: 'RolePermission';
|
|
2744
|
+
createdAt: Scalars['Date']['output'];
|
|
2745
|
+
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
2746
|
+
id: Scalars['ID']['output'];
|
|
2747
|
+
permission?: Maybe<Permission>;
|
|
2748
|
+
permissionId: Scalars['ID']['output'];
|
|
2749
|
+
role?: Maybe<Role>;
|
|
2750
|
+
roleId: Scalars['ID']['output'];
|
|
2751
|
+
updatedAt: Scalars['Date']['output'];
|
|
2752
|
+
};
|
|
2753
|
+
|
|
2754
|
+
export type RolePermissionPermissionArgs = {
|
|
2755
|
+
scope: Scope;
|
|
2756
|
+
};
|
|
2757
|
+
|
|
2758
|
+
export type RolePermissionRoleArgs = {
|
|
2759
|
+
scope: Scope;
|
|
2760
|
+
};
|
|
2761
|
+
|
|
2555
2762
|
export enum RoleSearchableField {
|
|
2556
2763
|
Description = 'description',
|
|
2557
2764
|
Name = 'name',
|
|
@@ -2948,6 +3155,7 @@ export type UpdateUserAuthenticationMethodInput = {
|
|
|
2948
3155
|
};
|
|
2949
3156
|
|
|
2950
3157
|
export type UpdateUserInput = {
|
|
3158
|
+
groupIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
2951
3159
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
2952
3160
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
2953
3161
|
pictureUrl?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -2999,10 +3207,17 @@ export type User = Auditable & {
|
|
|
2999
3207
|
id: Scalars['ID']['output'];
|
|
3000
3208
|
metadata: Scalars['JSON']['output'];
|
|
3001
3209
|
name: Scalars['String']['output'];
|
|
3210
|
+
permissionCount: Scalars['Int']['output'];
|
|
3002
3211
|
pictureUrl?: Maybe<Scalars['String']['output']>;
|
|
3212
|
+
primaryTag?: Maybe<Tag>;
|
|
3213
|
+
projectUserApiKeyCount: Scalars['Int']['output'];
|
|
3214
|
+
roleCount: Scalars['Int']['output'];
|
|
3003
3215
|
roles?: Maybe<Array<Role>>;
|
|
3216
|
+
tagCount: Scalars['Int']['output'];
|
|
3004
3217
|
tags?: Maybe<Array<Tag>>;
|
|
3005
3218
|
updatedAt: Scalars['Date']['output'];
|
|
3219
|
+
userGroups?: Maybe<Array<UserGroup>>;
|
|
3220
|
+
userPermissions?: Maybe<Array<UserPermission>>;
|
|
3006
3221
|
};
|
|
3007
3222
|
|
|
3008
3223
|
export type UserApiKeyCdmInput = {
|
|
@@ -3045,12 +3260,15 @@ export enum UserAuthenticationMethodProvider {
|
|
|
3045
3260
|
|
|
3046
3261
|
export type UserCdmInput = {
|
|
3047
3262
|
apiKeys?: InputMaybe<Array<UserApiKeyCdmInput>>;
|
|
3263
|
+
/** Direct group assignment. Each key must appear in the document `groups` section. */
|
|
3048
3264
|
groups?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
3049
3265
|
key: CdmKeyResolverInput;
|
|
3050
3266
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
3051
3267
|
name: Scalars['String']['input'];
|
|
3268
|
+
/** Direct user → permission grants (document keys or catalog `resourceSlug:action` refs). */
|
|
3052
3269
|
permissions?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
3053
3270
|
primaryTag?: InputMaybe<Scalars['String']['input']>;
|
|
3271
|
+
/** Role template keys from the `roles` section. */
|
|
3054
3272
|
roles?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
3055
3273
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
3056
3274
|
};
|
|
@@ -3075,6 +3293,26 @@ export type UserExportData = {
|
|
|
3075
3293
|
updatedAt: Scalars['Date']['output'];
|
|
3076
3294
|
};
|
|
3077
3295
|
|
|
3296
|
+
export type UserGroup = Auditable & {
|
|
3297
|
+
__typename?: 'UserGroup';
|
|
3298
|
+
createdAt: Scalars['Date']['output'];
|
|
3299
|
+
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
3300
|
+
group?: Maybe<Group>;
|
|
3301
|
+
groupId: Scalars['ID']['output'];
|
|
3302
|
+
id: Scalars['ID']['output'];
|
|
3303
|
+
updatedAt: Scalars['Date']['output'];
|
|
3304
|
+
user?: Maybe<User>;
|
|
3305
|
+
userId: Scalars['ID']['output'];
|
|
3306
|
+
};
|
|
3307
|
+
|
|
3308
|
+
export type UserGroupGroupArgs = {
|
|
3309
|
+
scope: Scope;
|
|
3310
|
+
};
|
|
3311
|
+
|
|
3312
|
+
export type UserGroupUserArgs = {
|
|
3313
|
+
scope: Scope;
|
|
3314
|
+
};
|
|
3315
|
+
|
|
3078
3316
|
export type UserPage = PaginatedResults & {
|
|
3079
3317
|
__typename?: 'UserPage';
|
|
3080
3318
|
hasNextPage: Scalars['Boolean']['output'];
|
|
@@ -3082,6 +3320,26 @@ export type UserPage = PaginatedResults & {
|
|
|
3082
3320
|
users: Array<User>;
|
|
3083
3321
|
};
|
|
3084
3322
|
|
|
3323
|
+
export type UserPermission = Auditable & {
|
|
3324
|
+
__typename?: 'UserPermission';
|
|
3325
|
+
createdAt: Scalars['Date']['output'];
|
|
3326
|
+
deletedAt?: Maybe<Scalars['Date']['output']>;
|
|
3327
|
+
id: Scalars['ID']['output'];
|
|
3328
|
+
permission?: Maybe<Permission>;
|
|
3329
|
+
permissionId: Scalars['ID']['output'];
|
|
3330
|
+
updatedAt: Scalars['Date']['output'];
|
|
3331
|
+
user?: Maybe<User>;
|
|
3332
|
+
userId: Scalars['ID']['output'];
|
|
3333
|
+
};
|
|
3334
|
+
|
|
3335
|
+
export type UserPermissionPermissionArgs = {
|
|
3336
|
+
scope: Scope;
|
|
3337
|
+
};
|
|
3338
|
+
|
|
3339
|
+
export type UserPermissionUserArgs = {
|
|
3340
|
+
scope: Scope;
|
|
3341
|
+
};
|
|
3342
|
+
|
|
3085
3343
|
export type UserRegistrationData = {
|
|
3086
3344
|
name: Scalars['String']['input'];
|
|
3087
3345
|
password: Scalars['String']['input'];
|
package/src/index.ts
CHANGED
|
@@ -18,8 +18,10 @@ export type {
|
|
|
18
18
|
ResolversTypes,
|
|
19
19
|
ResolverTypeWrapper,
|
|
20
20
|
ResourceResolvers,
|
|
21
|
+
RolePermissionResolvers,
|
|
21
22
|
RoleResolvers,
|
|
22
23
|
TagResolvers,
|
|
24
|
+
UserPermissionResolvers,
|
|
23
25
|
UserResolvers,
|
|
24
26
|
} from './generated/resolvers';
|
|
25
27
|
export * from './generated/schema-types';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
query GetGroupsList(
|
|
2
|
+
$scope: Scope!
|
|
3
|
+
$page: Int
|
|
4
|
+
$limit: Int
|
|
5
|
+
$sort: GroupSortInput
|
|
6
|
+
$search: String
|
|
7
|
+
$ids: [ID!]
|
|
8
|
+
$tagIds: [ID!]
|
|
9
|
+
) {
|
|
10
|
+
groups(
|
|
11
|
+
scope: $scope
|
|
12
|
+
page: $page
|
|
13
|
+
limit: $limit
|
|
14
|
+
sort: $sort
|
|
15
|
+
search: $search
|
|
16
|
+
ids: $ids
|
|
17
|
+
tagIds: $tagIds
|
|
18
|
+
) {
|
|
19
|
+
groups {
|
|
20
|
+
id
|
|
21
|
+
name
|
|
22
|
+
description
|
|
23
|
+
metadata
|
|
24
|
+
createdAt
|
|
25
|
+
updatedAt
|
|
26
|
+
primaryTag {
|
|
27
|
+
id
|
|
28
|
+
name
|
|
29
|
+
color
|
|
30
|
+
isPrimary
|
|
31
|
+
}
|
|
32
|
+
permissionCount
|
|
33
|
+
tagCount
|
|
34
|
+
}
|
|
35
|
+
totalCount
|
|
36
|
+
hasNextPage
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
query GetPermissionsList(
|
|
2
|
+
$scope: Scope!
|
|
3
|
+
$page: Int
|
|
4
|
+
$limit: Int
|
|
5
|
+
$sort: PermissionSortInput
|
|
6
|
+
$search: String
|
|
7
|
+
$ids: [ID!]
|
|
8
|
+
$tagIds: [ID!]
|
|
9
|
+
) {
|
|
10
|
+
permissions(
|
|
11
|
+
scope: $scope
|
|
12
|
+
page: $page
|
|
13
|
+
limit: $limit
|
|
14
|
+
sort: $sort
|
|
15
|
+
search: $search
|
|
16
|
+
ids: $ids
|
|
17
|
+
tagIds: $tagIds
|
|
18
|
+
) {
|
|
19
|
+
permissions {
|
|
20
|
+
id
|
|
21
|
+
name
|
|
22
|
+
action
|
|
23
|
+
description
|
|
24
|
+
metadata
|
|
25
|
+
resourceId
|
|
26
|
+
condition
|
|
27
|
+
createdAt
|
|
28
|
+
updatedAt
|
|
29
|
+
primaryTag {
|
|
30
|
+
id
|
|
31
|
+
name
|
|
32
|
+
color
|
|
33
|
+
isPrimary
|
|
34
|
+
}
|
|
35
|
+
resource {
|
|
36
|
+
id
|
|
37
|
+
name
|
|
38
|
+
slug
|
|
39
|
+
}
|
|
40
|
+
tagCount
|
|
41
|
+
}
|
|
42
|
+
totalCount
|
|
43
|
+
hasNextPage
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
mutation AssignRolePermission($input: AssignRolePermissionInput!) {
|
|
2
|
+
assignRolePermission(input: $input) {
|
|
3
|
+
id
|
|
4
|
+
roleId
|
|
5
|
+
permissionId
|
|
6
|
+
createdAt
|
|
7
|
+
updatedAt
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
mutation RevokeRolePermission($input: RevokeRolePermissionInput!) {
|
|
12
|
+
revokeRolePermission(input: $input) {
|
|
13
|
+
id
|
|
14
|
+
roleId
|
|
15
|
+
permissionId
|
|
16
|
+
deletedAt
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
query GetRoleDirectPermissions($scope: Scope!, $roleId: ID!) {
|
|
21
|
+
roles(scope: $scope, ids: [$roleId], limit: 1) {
|
|
22
|
+
roles {
|
|
23
|
+
id
|
|
24
|
+
permissionCount
|
|
25
|
+
rolePermissions {
|
|
26
|
+
id
|
|
27
|
+
permissionId
|
|
28
|
+
permission(scope: $scope) {
|
|
29
|
+
id
|
|
30
|
+
name
|
|
31
|
+
action
|
|
32
|
+
resource {
|
|
33
|
+
slug
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|