@@ -43,17 +43,34 @@ export type AccessUrlInput = {
4343 type : URL_TYPE ;
4444} ;
4545
46+ export type AddPermissionInput = {
47+ action : Scalars [ 'String' ] [ 'input' ] ;
48+ possession : Scalars [ 'String' ] [ 'input' ] ;
49+ resource : Resource ;
50+ role : Role ;
51+ } ;
52+
53+ export type AddRoleForApiKeyInput = {
54+ apiKeyId : Scalars [ 'ID' ] [ 'input' ] ;
55+ role : Role ;
56+ } ;
57+
58+ export type AddRoleForUserInput = {
59+ role : Role ;
60+ userId : Scalars [ 'ID' ] [ 'input' ] ;
61+ } ;
62+
4663export type AllowedOriginInput = {
4764 origins : Array < Scalars [ 'String' ] [ 'input' ] > ;
4865} ;
4966
5067export type ApiKey = {
5168 __typename ?: 'ApiKey' ;
69+ createdAt : Scalars [ 'DateTime' ] [ 'output' ] ;
5270 description ?: Maybe < Scalars [ 'String' ] [ 'output' ] > ;
53- expiresAt : Scalars [ 'Long' ] [ 'output' ] ;
54- key : Scalars [ 'String' ] [ 'output' ] ;
71+ id : Scalars [ 'ID' ] [ 'output' ] ;
5572 name : Scalars [ 'String' ] [ 'output' ] ;
56- scopes : Scalars [ 'JSON' ] [ 'output' ] ;
73+ roles : Array < Role > ;
5774} ;
5875
5976export type ApiKeyResponse = {
@@ -62,6 +79,16 @@ export type ApiKeyResponse = {
6279 valid : Scalars [ 'Boolean' ] [ 'output' ] ;
6380} ;
6481
82+ export type ApiKeyWithSecret = {
83+ __typename ?: 'ApiKeyWithSecret' ;
84+ createdAt : Scalars [ 'DateTime' ] [ 'output' ] ;
85+ description ?: Maybe < Scalars [ 'String' ] [ 'output' ] > ;
86+ id : Scalars [ 'ID' ] [ 'output' ] ;
87+ key : Scalars [ 'String' ] [ 'output' ] ;
88+ name : Scalars [ 'String' ] [ 'output' ] ;
89+ roles : Array < Role > ;
90+ } ;
91+
6592export type ArrayType = Node & {
6693 __typename ?: 'Array' ;
6794 /** Current boot disk */
@@ -322,6 +349,12 @@ export enum ContainerState {
322349 Running = 'RUNNING'
323350}
324351
352+ export type CreateApiKeyInput = {
353+ description ?: InputMaybe < Scalars [ 'String' ] [ 'input' ] > ;
354+ name : Scalars [ 'String' ] [ 'input' ] ;
355+ roles : Array < Role > ;
356+ } ;
357+
325358export type Devices = {
326359 __typename ?: 'Devices' ;
327360 gpu ?: Maybe < Array < Maybe < Gpu > > > ;
@@ -567,7 +600,7 @@ export type Me = UserAccount & {
567600 id : Scalars [ 'ID' ] [ 'output' ] ;
568601 name : Scalars [ 'String' ] [ 'output' ] ;
569602 permissions ?: Maybe < Scalars [ 'JSON' ] [ 'output' ] > ;
570- roles : Scalars [ 'String' ] [ 'output' ] ;
603+ roles : Array < Role > ;
571604} ;
572605
573606export enum MemoryFormFactor {
@@ -620,10 +653,11 @@ export type Mount = {
620653
621654export type Mutation = {
622655 __typename ?: 'Mutation' ;
623- /** Create a new API key */
624- addApikey ?: Maybe < ApiKey > ;
625656 /** Add new disk to array */
626657 addDiskToArray ?: Maybe < ArrayType > ;
658+ addPermission : Scalars [ 'Boolean' ] [ 'output' ] ;
659+ addRoleForApiKey : Scalars [ 'Boolean' ] [ 'output' ] ;
660+ addRoleForUser : Scalars [ 'Boolean' ] [ 'output' ] ;
627661 /** Add a new user */
628662 addUser ?: Maybe < User > ;
629663 archiveAll : NotificationOverview ;
@@ -635,15 +669,14 @@ export type Mutation = {
635669 clearArrayDiskStatistics ?: Maybe < Scalars [ 'JSON' ] [ 'output' ] > ;
636670 connectSignIn : Scalars [ 'Boolean' ] [ 'output' ] ;
637671 connectSignOut : Scalars [ 'Boolean' ] [ 'output' ] ;
672+ createApiKey : ApiKeyWithSecret ;
638673 createNotification : Notification ;
639674 /** Deletes all archived notifications on server. */
640675 deleteArchivedNotifications : NotificationOverview ;
641676 deleteNotification : NotificationOverview ;
642677 /** Delete a user */
643678 deleteUser ?: Maybe < User > ;
644679 enableDynamicRemoteAccess : Scalars [ 'Boolean' ] [ 'output' ] ;
645- /** Get an existing API key */
646- getApiKey ?: Maybe < ApiKey > ;
647680 login ?: Maybe < Scalars [ 'String' ] [ 'output' ] > ;
648681 mountArrayDisk ?: Maybe < Disk > ;
649682 /** Pause parity check */
@@ -653,6 +686,7 @@ export type Mutation = {
653686 recalculateOverview : NotificationOverview ;
654687 /** Remove existing disk from array. NOTE: The array must be stopped before running this otherwise it'll throw an error. */
655688 removeDiskFromArray ?: Maybe < ArrayType > ;
689+ removeRoleFromApiKey : Scalars [ 'Boolean' ] [ 'output' ] ;
656690 /** Resume parity check */
657691 resumeParityCheck ?: Maybe < Scalars [ 'JSON' ] [ 'output' ] > ;
658692 setAdditionalAllowedOrigins : Array < Scalars [ 'String' ] [ 'output' ] > ;
@@ -669,19 +703,26 @@ export type Mutation = {
669703 unmountArrayDisk ?: Maybe < Disk > ;
670704 /** Marks a notification as unread. */
671705 unreadNotification : Notification ;
672- /** Update an existing API key */
673- updateApikey ?: Maybe < ApiKey > ;
674706} ;
675707
676708
677- export type MutationaddApikeyArgs = {
678- input ?: InputMaybe < updateApikeyInput > ;
679- name : Scalars [ 'String' ] [ 'input' ] ;
709+ export type MutationaddDiskToArrayArgs = {
710+ input ?: InputMaybe < arrayDiskInput > ;
680711} ;
681712
682713
683- export type MutationaddDiskToArrayArgs = {
684- input ?: InputMaybe < arrayDiskInput > ;
714+ export type MutationaddPermissionArgs = {
715+ input : AddPermissionInput ;
716+ } ;
717+
718+
719+ export type MutationaddRoleForApiKeyArgs = {
720+ input : AddRoleForApiKeyInput ;
721+ } ;
722+
723+
724+ export type MutationaddRoleForUserArgs = {
725+ input : AddRoleForUserInput ;
685726} ;
686727
687728
@@ -715,6 +756,11 @@ export type MutationconnectSignInArgs = {
715756} ;
716757
717758
759+ export type MutationcreateApiKeyArgs = {
760+ input : CreateApiKeyInput ;
761+ } ;
762+
763+
718764export type MutationcreateNotificationArgs = {
719765 input : NotificationData ;
720766} ;
@@ -736,12 +782,6 @@ export type MutationenableDynamicRemoteAccessArgs = {
736782} ;
737783
738784
739- export type MutationgetApiKeyArgs = {
740- input ?: InputMaybe < authenticateInput > ;
741- name : Scalars [ 'String' ] [ 'input' ] ;
742- } ;
743-
744-
745785export type MutationloginArgs = {
746786 password : Scalars [ 'String' ] [ 'input' ] ;
747787 username : Scalars [ 'String' ] [ 'input' ] ;
@@ -758,6 +798,11 @@ export type MutationremoveDiskFromArrayArgs = {
758798} ;
759799
760800
801+ export type MutationremoveRoleFromApiKeyArgs = {
802+ input : RemoveRoleFromApiKeyInput ;
803+ } ;
804+
805+
761806export type MutationsetAdditionalAllowedOriginsArgs = {
762807 input : AllowedOriginInput ;
763808} ;
@@ -792,12 +837,6 @@ export type MutationunreadNotificationArgs = {
792837 id : Scalars [ 'String' ] [ 'input' ] ;
793838} ;
794839
795-
796- export type MutationupdateApikeyArgs = {
797- input ?: InputMaybe < updateApikeyInput > ;
798- name : Scalars [ 'String' ] [ 'input' ] ;
799- } ;
800-
801840export type Network = Node & {
802841 __typename ?: 'Network' ;
803842 accessUrls ?: Maybe < Array < AccessUrl > > ;
@@ -999,8 +1038,8 @@ export type ProfileModel = {
9991038
10001039export type Query = {
10011040 __typename ?: 'Query' ;
1002- /** Get all API keys */
1003- apiKeys ?: Maybe < Array < Maybe < ApiKey > > > ;
1041+ apiKey ?: Maybe < ApiKey > ;
1042+ apiKeys : Array < ApiKey > ;
10041043 /** An Unraid array consisting of 1 or 2 Parity disks and a number of Data disks. */
10051044 array : ArrayType ;
10061045 cloud ?: Maybe < Cloud > ;
@@ -1046,6 +1085,11 @@ export type Query = {
10461085} ;
10471086
10481087
1088+ export type QueryapiKeyArgs = {
1089+ id : Scalars [ 'ID' ] [ 'input' ] ;
1090+ } ;
1091+
1092+
10491093export type QuerydiskArgs = {
10501094 id : Scalars [ 'ID' ] [ 'input' ] ;
10511095} ;
@@ -1140,6 +1184,52 @@ export type RemoteAccess = {
11401184 port ?: Maybe < Scalars [ 'Port' ] [ 'output' ] > ;
11411185} ;
11421186
1187+ export type RemoveRoleFromApiKeyInput = {
1188+ apiKeyId : Scalars [ 'ID' ] [ 'input' ] ;
1189+ role : Role ;
1190+ } ;
1191+
1192+ /** Available resources for permissions */
1193+ export enum Resource {
1194+ ApiKey = 'api_key' ,
1195+ Array = 'array' ,
1196+ Cloud = 'cloud' ,
1197+ Config = 'config' ,
1198+ Connect = 'connect' ,
1199+ CrashReportingEnabled = 'crash_reporting_enabled' ,
1200+ Customizations = 'customizations' ,
1201+ Dashboard = 'dashboard' ,
1202+ Disk = 'disk' ,
1203+ Display = 'display' ,
1204+ Docker = 'docker' ,
1205+ Flash = 'flash' ,
1206+ Info = 'info' ,
1207+ Logs = 'logs' ,
1208+ Me = 'me' ,
1209+ Network = 'network' ,
1210+ Notifications = 'notifications' ,
1211+ Online = 'online' ,
1212+ Os = 'os' ,
1213+ Owner = 'owner' ,
1214+ Permission = 'permission' ,
1215+ Registration = 'registration' ,
1216+ Servers = 'servers' ,
1217+ Services = 'services' ,
1218+ Share = 'share' ,
1219+ Vars = 'vars' ,
1220+ Vms = 'vms' ,
1221+ Welcome = 'welcome'
1222+ }
1223+
1224+ /** Available roles for API keys and users */
1225+ export enum Role {
1226+ Admin = 'admin' ,
1227+ Guest = 'guest' ,
1228+ MyServers = 'my_servers' ,
1229+ Notifier = 'notifier' ,
1230+ Upc = 'upc'
1231+ }
1232+
11431233export type Server = {
11441234 __typename ?: 'Server' ;
11451235 apikey : Scalars [ 'String' ] [ 'output' ] ;
@@ -1203,7 +1293,6 @@ export type Share = {
12031293
12041294export type Subscription = {
12051295 __typename ?: 'Subscription' ;
1206- apikeys ?: Maybe < Array < Maybe < ApiKey > > > ;
12071296 array : ArrayType ;
12081297 config : Config ;
12091298 display ?: Maybe < Display > ;
@@ -1361,14 +1450,14 @@ export type User = UserAccount & {
13611450 name : Scalars [ 'String' ] [ 'output' ] ;
13621451 /** If the account has a password set */
13631452 password ?: Maybe < Scalars [ 'Boolean' ] [ 'output' ] > ;
1364- roles : Scalars [ 'String' ] [ 'output' ] ;
1453+ roles : Array < Role > ;
13651454} ;
13661455
13671456export type UserAccount = {
13681457 description : Scalars [ 'String' ] [ 'output' ] ;
13691458 id : Scalars [ 'ID' ] [ 'output' ] ;
13701459 name : Scalars [ 'String' ] [ 'output' ] ;
1371- roles : Scalars [ 'String' ] [ 'output' ] ;
1460+ roles : Array < Role > ;
13721461} ;
13731462
13741463export type Vars = Node & {
@@ -1607,12 +1696,6 @@ export type Welcome = {
16071696 message : Scalars [ 'String' ] [ 'output' ] ;
16081697} ;
16091698
1610- export type addApiKeyInput = {
1611- key ?: InputMaybe < Scalars [ 'String' ] [ 'input' ] > ;
1612- name ?: InputMaybe < Scalars [ 'String' ] [ 'input' ] > ;
1613- userId ?: InputMaybe < Scalars [ 'String' ] [ 'input' ] > ;
1614- } ;
1615-
16161699export type addUserInput = {
16171700 description ?: InputMaybe < Scalars [ 'String' ] [ 'input' ] > ;
16181701 name : Scalars [ 'String' ] [ 'input' ] ;
@@ -1626,10 +1709,6 @@ export type arrayDiskInput = {
16261709 slot ?: InputMaybe < Scalars [ 'Int' ] [ 'input' ] > ;
16271710} ;
16281711
1629- export type authenticateInput = {
1630- password : Scalars [ 'String' ] [ 'input' ] ;
1631- } ;
1632-
16331712export type deleteUserInput = {
16341713 name : Scalars [ 'String' ] [ 'input' ] ;
16351714} ;
@@ -1650,11 +1729,6 @@ export enum registrationType {
16501729 Unleashed = 'UNLEASHED'
16511730}
16521731
1653- export type updateApikeyInput = {
1654- description ?: InputMaybe < Scalars [ 'String' ] [ 'input' ] > ;
1655- expiresAt : Scalars [ 'Long' ] [ 'input' ] ;
1656- } ;
1657-
16581732export type usersInput = {
16591733 slim ?: InputMaybe < Scalars [ 'Boolean' ] [ 'input' ] > ;
16601734} ;
0 commit comments