@fmsim/fmsim 3.0.0-beta.1 → 3.0.0-beta.3
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-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/viewparts/board-info.js +4 -1
- package/dist-client/viewparts/board-info.js.map +1 -1
- package/dist-client/viewparts/group-info.js +3 -0
- package/dist-client/viewparts/group-info.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/schema.graphql +572 -177
package/schema.graphql
CHANGED
|
@@ -99,6 +99,11 @@ type AccessRequest {
|
|
|
99
99
|
"""Where the request stands."""
|
|
100
100
|
state: AccessRequestStatus!
|
|
101
101
|
|
|
102
|
+
"""
|
|
103
|
+
The task the requester asked for - one that holds the refused privilege (`<module>.<work>`).
|
|
104
|
+
"""
|
|
105
|
+
taskId: String
|
|
106
|
+
|
|
102
107
|
"""When it last changed."""
|
|
103
108
|
updatedAt: DateTimeISO!
|
|
104
109
|
}
|
|
@@ -125,6 +130,11 @@ enum AccessRequestStatus {
|
|
|
125
130
|
|
|
126
131
|
"""A role this domain can assign that grants the asked privilege."""
|
|
127
132
|
type AccessRoleCandidate {
|
|
133
|
+
"""
|
|
134
|
+
Whether the role holds every privilege of the task asked for. False when no task was asked.
|
|
135
|
+
"""
|
|
136
|
+
holdsTask: Boolean!
|
|
137
|
+
|
|
128
138
|
"""The role id."""
|
|
129
139
|
id: String!
|
|
130
140
|
|
|
@@ -137,6 +147,22 @@ type AccessRoleCandidate {
|
|
|
137
147
|
privilegeCount: Int!
|
|
138
148
|
}
|
|
139
149
|
|
|
150
|
+
"""
|
|
151
|
+
A task that holds a refused privilege - what a person refused may ask for. Words are task.<id>.name and .description.
|
|
152
|
+
"""
|
|
153
|
+
type AccessTaskChoice {
|
|
154
|
+
"""The module or application that declares the task."""
|
|
155
|
+
module: String!
|
|
156
|
+
|
|
157
|
+
"""
|
|
158
|
+
How many privileges the task holds - fewer is closer to what was refused.
|
|
159
|
+
"""
|
|
160
|
+
privilegeCount: Int!
|
|
161
|
+
|
|
162
|
+
"""The task id, `<module>.<work>`."""
|
|
163
|
+
taskId: String!
|
|
164
|
+
}
|
|
165
|
+
|
|
140
166
|
"""Represents a pair of access and refresh tokens."""
|
|
141
167
|
type AccessToken {
|
|
142
168
|
"""The access token for API authentication."""
|
|
@@ -647,6 +673,230 @@ input AttributeSetPatch {
|
|
|
647
673
|
items: [AttributeSetItemPatch!]
|
|
648
674
|
}
|
|
649
675
|
|
|
676
|
+
"""One thing done, as the audit keeps it."""
|
|
677
|
+
type AuditAction {
|
|
678
|
+
"""
|
|
679
|
+
Who did it. Empty when nobody is known - a sign-in to an account that does not exist.
|
|
680
|
+
"""
|
|
681
|
+
actor: User
|
|
682
|
+
|
|
683
|
+
"""
|
|
684
|
+
Why: role, domain-owner, superuser when granted; role, address, license, ownership, unknown when denied.
|
|
685
|
+
"""
|
|
686
|
+
basis: String
|
|
687
|
+
|
|
688
|
+
"""A fixed code for an error or a refusal. Never a message."""
|
|
689
|
+
code: String
|
|
690
|
+
|
|
691
|
+
"""
|
|
692
|
+
How many times this happened in the request - equal checks are kept as one row.
|
|
693
|
+
"""
|
|
694
|
+
count: Int!
|
|
695
|
+
|
|
696
|
+
"""When it was written."""
|
|
697
|
+
createdAt: DateTimeISO!
|
|
698
|
+
|
|
699
|
+
"""granted or denied - for a door check."""
|
|
700
|
+
decision: String
|
|
701
|
+
|
|
702
|
+
"""Further facts, only the keys the kind registered."""
|
|
703
|
+
detail: Object
|
|
704
|
+
|
|
705
|
+
"""The domain it was done in."""
|
|
706
|
+
domain: Domain
|
|
707
|
+
|
|
708
|
+
"""
|
|
709
|
+
The door, as category:privilege, or owner / super for a door that asks ownership only.
|
|
710
|
+
"""
|
|
711
|
+
door: String
|
|
712
|
+
|
|
713
|
+
"""Unique identifier."""
|
|
714
|
+
id: ID!
|
|
715
|
+
|
|
716
|
+
"""
|
|
717
|
+
What kind of action: door.check, door.result, role.grant, auth.signin, ...
|
|
718
|
+
"""
|
|
719
|
+
kind: String!
|
|
720
|
+
|
|
721
|
+
"""Id or name of the second object."""
|
|
722
|
+
objectId: String
|
|
723
|
+
|
|
724
|
+
"""Kind of the second object - the Role granted, the Privilege added."""
|
|
725
|
+
objectKind: String
|
|
726
|
+
|
|
727
|
+
"""ok or error - what was done after the door, or how an event ended."""
|
|
728
|
+
outcome: String
|
|
729
|
+
request: AuditRequest
|
|
730
|
+
|
|
731
|
+
"""The request this was done in. Empty for work outside any request."""
|
|
732
|
+
requestId: String
|
|
733
|
+
|
|
734
|
+
"""How many items a list returned, summed over the request."""
|
|
735
|
+
returned: Int
|
|
736
|
+
|
|
737
|
+
"""Target ids, up to 100."""
|
|
738
|
+
targetIds: [String!]
|
|
739
|
+
|
|
740
|
+
"""Kind of the target - User, Role, ..."""
|
|
741
|
+
targetKind: String
|
|
742
|
+
|
|
743
|
+
"""requested - named by the caller; handled - confirmed by the service."""
|
|
744
|
+
targetRole: String
|
|
745
|
+
|
|
746
|
+
"""Whether more targets than were kept."""
|
|
747
|
+
truncated: Boolean!
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
"""One door's audit summary over a period."""
|
|
751
|
+
type AuditDoor {
|
|
752
|
+
"""The category, when the door names a privilege."""
|
|
753
|
+
category: String
|
|
754
|
+
|
|
755
|
+
"""Checks refused in the period."""
|
|
756
|
+
denied: Int!
|
|
757
|
+
|
|
758
|
+
"""The door, as category:privilege - or owner / super."""
|
|
759
|
+
door: String!
|
|
760
|
+
|
|
761
|
+
"""Checks passed in the period."""
|
|
762
|
+
granted: Int!
|
|
763
|
+
|
|
764
|
+
"""People who passed or were refused here in the period."""
|
|
765
|
+
people: Int!
|
|
766
|
+
|
|
767
|
+
"""The privilege, when the door names one."""
|
|
768
|
+
privilege: String
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
"""
|
|
772
|
+
Audit writes this server process failed, counted apart from the audit store.
|
|
773
|
+
"""
|
|
774
|
+
type AuditHealth {
|
|
775
|
+
"""Writes that failed since then. Writes never attempted are not counted."""
|
|
776
|
+
failures: Int!
|
|
777
|
+
|
|
778
|
+
"""The first failure."""
|
|
779
|
+
firstFailedAt: DateTimeISO
|
|
780
|
+
|
|
781
|
+
"""The last failure."""
|
|
782
|
+
lastFailedAt: DateTimeISO
|
|
783
|
+
|
|
784
|
+
"""When this process started counting."""
|
|
785
|
+
since: DateTimeISO!
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
"""One member's audit summary over a period."""
|
|
789
|
+
type AuditPerson {
|
|
790
|
+
"""Check-ins in the period."""
|
|
791
|
+
checkins: Int!
|
|
792
|
+
|
|
793
|
+
"""Door checks refused in the period."""
|
|
794
|
+
denied: Int!
|
|
795
|
+
|
|
796
|
+
"""Failed sign-ins in the period."""
|
|
797
|
+
failedSignins: Int!
|
|
798
|
+
|
|
799
|
+
"""Door checks passed in the period, audit reads left out."""
|
|
800
|
+
granted: Int!
|
|
801
|
+
|
|
802
|
+
"""The last check-in to this domain, at any time."""
|
|
803
|
+
lastCheckinAt: DateTimeISO
|
|
804
|
+
|
|
805
|
+
"""Names of the roles held in this domain."""
|
|
806
|
+
roles: [String!]!
|
|
807
|
+
|
|
808
|
+
"""The member."""
|
|
809
|
+
user: User!
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
"""A request with what was done in it."""
|
|
813
|
+
type AuditRecord {
|
|
814
|
+
"""Its actions in this domain."""
|
|
815
|
+
actions: [AuditAction!]!
|
|
816
|
+
|
|
817
|
+
"""The request."""
|
|
818
|
+
request: AuditRequest!
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
"""What to narrow the audit records to."""
|
|
822
|
+
input AuditRecordFilter {
|
|
823
|
+
"""Only requests by this user."""
|
|
824
|
+
actorId: String
|
|
825
|
+
|
|
826
|
+
"""Only requests that passed through this door (category:privilege)."""
|
|
827
|
+
door: String
|
|
828
|
+
|
|
829
|
+
"""From this moment."""
|
|
830
|
+
from: DateTimeISO!
|
|
831
|
+
|
|
832
|
+
"""Only requests with an action of this kind."""
|
|
833
|
+
kind: String
|
|
834
|
+
|
|
835
|
+
"""Rows per page, up to 200."""
|
|
836
|
+
limit: Int
|
|
837
|
+
|
|
838
|
+
"""denied, error or failed - only requests where that happened."""
|
|
839
|
+
outcome: String
|
|
840
|
+
|
|
841
|
+
"""Page, from 1."""
|
|
842
|
+
page: Int
|
|
843
|
+
|
|
844
|
+
"""Up to this moment."""
|
|
845
|
+
to: DateTimeISO!
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
"""A page of audit records."""
|
|
849
|
+
type AuditRecordList {
|
|
850
|
+
"""The records on this page."""
|
|
851
|
+
items: [AuditRecord!]!
|
|
852
|
+
|
|
853
|
+
"""How many requests match."""
|
|
854
|
+
total: Int!
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
"""A request that reached the server, as the audit keeps it."""
|
|
858
|
+
type AuditRequest {
|
|
859
|
+
"""Who made the request. Empty when nobody was signed in."""
|
|
860
|
+
actor: User
|
|
861
|
+
|
|
862
|
+
"""graphql, or http for any other request."""
|
|
863
|
+
channel: String!
|
|
864
|
+
|
|
865
|
+
"""When the server finished the request."""
|
|
866
|
+
createdAt: DateTimeISO!
|
|
867
|
+
|
|
868
|
+
"""The domain the request was made in."""
|
|
869
|
+
domain: Domain
|
|
870
|
+
|
|
871
|
+
"""Milliseconds the server spent on the request."""
|
|
872
|
+
durationMs: Int
|
|
873
|
+
|
|
874
|
+
"""
|
|
875
|
+
The root fields a GraphQL request asked, by their schema names - never an argument.
|
|
876
|
+
"""
|
|
877
|
+
fields: String
|
|
878
|
+
|
|
879
|
+
"""Request id, shared by the actions of this request."""
|
|
880
|
+
id: ID!
|
|
881
|
+
|
|
882
|
+
"""Address the request came from."""
|
|
883
|
+
ip: String
|
|
884
|
+
|
|
885
|
+
"""
|
|
886
|
+
The operation name the client gave. For reference only - the client chooses it.
|
|
887
|
+
"""
|
|
888
|
+
operationName: String
|
|
889
|
+
|
|
890
|
+
"""query, mutation or subscription - for a GraphQL request."""
|
|
891
|
+
operationType: String
|
|
892
|
+
|
|
893
|
+
"""The route pattern of a request outside GraphQL. Never the path itself."""
|
|
894
|
+
route: String
|
|
895
|
+
|
|
896
|
+
"""User-Agent header, cut at 256 characters."""
|
|
897
|
+
userAgent: String
|
|
898
|
+
}
|
|
899
|
+
|
|
650
900
|
"""
|
|
651
901
|
Represents a configured instance of an authentication provider for a specific domain.
|
|
652
902
|
"""
|
|
@@ -1640,7 +1890,7 @@ type Counterparty {
|
|
|
1640
1890
|
aliases: String
|
|
1641
1891
|
|
|
1642
1892
|
"""How many accounts it is paid into are registered"""
|
|
1643
|
-
bankAccountCount: Int
|
|
1893
|
+
bankAccountCount: Int
|
|
1644
1894
|
|
|
1645
1895
|
"""Address bills are sent to, when not the address"""
|
|
1646
1896
|
billingAddress: String
|
|
@@ -1696,13 +1946,30 @@ type Counterparty {
|
|
|
1696
1946
|
updater: User
|
|
1697
1947
|
|
|
1698
1948
|
"""Whether its sales to it are zero-rated for VAT"""
|
|
1699
|
-
zeroRated: Boolean
|
|
1949
|
+
zeroRated: Boolean
|
|
1950
|
+
}
|
|
1951
|
+
|
|
1952
|
+
"""
|
|
1953
|
+
An account a counterparty is paid into, as one picks it: the bank and the number's last four digits
|
|
1954
|
+
"""
|
|
1955
|
+
type CounterpartyAccountChoice {
|
|
1956
|
+
"""The account number's last four digits"""
|
|
1957
|
+
accountTail: String
|
|
1958
|
+
|
|
1959
|
+
"""The bank"""
|
|
1960
|
+
bankName: String
|
|
1961
|
+
id: ID!
|
|
1700
1962
|
}
|
|
1701
1963
|
|
|
1702
1964
|
"""An account a counterparty is paid into"""
|
|
1703
1965
|
type CounterpartyBankAccount {
|
|
1704
1966
|
"""The account number, its digits - one counterparty's in the domain"""
|
|
1705
|
-
accountNumber: String
|
|
1967
|
+
accountNumber: String
|
|
1968
|
+
|
|
1969
|
+
"""
|
|
1970
|
+
The account number's last four digits - what one sees without the keeper's privilege
|
|
1971
|
+
"""
|
|
1972
|
+
accountTail: String
|
|
1706
1973
|
|
|
1707
1974
|
"""The bank"""
|
|
1708
1975
|
bankName: String
|
|
@@ -1767,6 +2034,27 @@ input CounterpartyBankAccountPatch {
|
|
|
1767
2034
|
notes: String
|
|
1768
2035
|
}
|
|
1769
2036
|
|
|
2037
|
+
"""A counterparty as one picks it: which one, and nothing about it"""
|
|
2038
|
+
type CounterpartyChoice {
|
|
2039
|
+
"""
|
|
2040
|
+
Business registration number - tells apart two counterparties of one name (ADR-0132)
|
|
2041
|
+
"""
|
|
2042
|
+
businessNumber: String
|
|
2043
|
+
id: ID!
|
|
2044
|
+
|
|
2045
|
+
"""A company or a person"""
|
|
2046
|
+
kind: CounterpartyKind!
|
|
2047
|
+
|
|
2048
|
+
"""The name the business knows it by"""
|
|
2049
|
+
name: String!
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
"""A page of counterparties to pick from"""
|
|
2053
|
+
type CounterpartyChoiceList {
|
|
2054
|
+
items: [CounterpartyChoice!]!
|
|
2055
|
+
total: Int!
|
|
2056
|
+
}
|
|
2057
|
+
|
|
1770
2058
|
"""Whether a counterparty is a company or a person"""
|
|
1771
2059
|
enum CounterpartyKind {
|
|
1772
2060
|
COMPANY
|
|
@@ -2792,6 +3080,17 @@ type FigureTypeMapEntry {
|
|
|
2792
3080
|
updater: User
|
|
2793
3081
|
}
|
|
2794
3082
|
|
|
3083
|
+
"""
|
|
3084
|
+
The limits the server enforces on an upload, so a file picker can refuse before uploading.
|
|
3085
|
+
"""
|
|
3086
|
+
type FileUploadLimits {
|
|
3087
|
+
"""Largest file taken, in bytes."""
|
|
3088
|
+
maxFileSize: Float!
|
|
3089
|
+
|
|
3090
|
+
"""Most files taken in one request."""
|
|
3091
|
+
maxFiles: Int!
|
|
3092
|
+
}
|
|
3093
|
+
|
|
2795
3094
|
"""Input type for specifying a filter condition in a list query."""
|
|
2796
3095
|
input Filter {
|
|
2797
3096
|
"""The field name to apply the filter on."""
|
|
@@ -2906,62 +3205,6 @@ enum InheritedValueType {
|
|
|
2906
3205
|
Only
|
|
2907
3206
|
}
|
|
2908
3207
|
|
|
2909
|
-
"""
|
|
2910
|
-
Represents an invitation for a user to join a system or a specific resource.
|
|
2911
|
-
"""
|
|
2912
|
-
type Invitation {
|
|
2913
|
-
"""When the invitation was accepted."""
|
|
2914
|
-
acceptedAt: DateTimeISO
|
|
2915
|
-
|
|
2916
|
-
"""The timestamp when the invitation was created."""
|
|
2917
|
-
createdAt: DateTimeISO
|
|
2918
|
-
|
|
2919
|
-
"""The user who created the invitation."""
|
|
2920
|
-
creator: User
|
|
2921
|
-
|
|
2922
|
-
"""The domain the user is invited to join."""
|
|
2923
|
-
domain: Domain!
|
|
2924
|
-
|
|
2925
|
-
"""The email address to which the invitation is sent."""
|
|
2926
|
-
email: EmailAddress!
|
|
2927
|
-
|
|
2928
|
-
"""When this invitation stops being acceptable."""
|
|
2929
|
-
expiresAt: DateTimeISO
|
|
2930
|
-
|
|
2931
|
-
"""Unique identifier for the invitation."""
|
|
2932
|
-
id: ID!
|
|
2933
|
-
|
|
2934
|
-
"""Deprecated. The domain the invitation is to is `domain`."""
|
|
2935
|
-
reference: String
|
|
2936
|
-
|
|
2937
|
-
"""Roles to grant when the invitation is accepted."""
|
|
2938
|
-
roles: [Role!]
|
|
2939
|
-
|
|
2940
|
-
"""pending, accepted, cancelled or expired — read as of now."""
|
|
2941
|
-
state: String
|
|
2942
|
-
|
|
2943
|
-
"""pending, accepted, cancelled or expired."""
|
|
2944
|
-
status: String!
|
|
2945
|
-
|
|
2946
|
-
"""Deprecated. See `reference`."""
|
|
2947
|
-
type: String
|
|
2948
|
-
|
|
2949
|
-
"""The timestamp when the invitation was last updated."""
|
|
2950
|
-
updatedAt: DateTimeISO
|
|
2951
|
-
|
|
2952
|
-
"""The user who last updated the invitation."""
|
|
2953
|
-
updater: User
|
|
2954
|
-
}
|
|
2955
|
-
|
|
2956
|
-
"""A paginated list of invitations."""
|
|
2957
|
-
type InvitationList {
|
|
2958
|
-
"""The list of invitation items."""
|
|
2959
|
-
items: [Invitation!]
|
|
2960
|
-
|
|
2961
|
-
"""The total number of invitations."""
|
|
2962
|
-
total: Int
|
|
2963
|
-
}
|
|
2964
|
-
|
|
2965
3208
|
"""
|
|
2966
3209
|
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
2967
3210
|
"""
|
|
@@ -2989,33 +3232,6 @@ type Log {
|
|
|
2989
3232
|
timestamp: String!
|
|
2990
3233
|
}
|
|
2991
3234
|
|
|
2992
|
-
"""Records user login attempts."""
|
|
2993
|
-
type LoginHistory {
|
|
2994
|
-
"""The domain the user logged into."""
|
|
2995
|
-
accessDomain: Domain!
|
|
2996
|
-
|
|
2997
|
-
"""The user who logged in."""
|
|
2998
|
-
accessUser: User!
|
|
2999
|
-
|
|
3000
|
-
"""The timestamp of the login attempt."""
|
|
3001
|
-
accessedAt: DateTimeISO
|
|
3002
|
-
|
|
3003
|
-
"""The IP address from which the login attempt was made."""
|
|
3004
|
-
accessorIp: String
|
|
3005
|
-
|
|
3006
|
-
"""Unique identifier for the login history record."""
|
|
3007
|
-
id: ID!
|
|
3008
|
-
}
|
|
3009
|
-
|
|
3010
|
-
"""A paginated list of login history records."""
|
|
3011
|
-
type LoginHistoryList {
|
|
3012
|
-
"""The list of login history items."""
|
|
3013
|
-
items: [LoginHistory!]!
|
|
3014
|
-
|
|
3015
|
-
"""The total number of login history records."""
|
|
3016
|
-
total: Int!
|
|
3017
|
-
}
|
|
3018
|
-
|
|
3019
3235
|
"""Entity for Menu"""
|
|
3020
3236
|
type Menu {
|
|
3021
3237
|
buttons: [MenuButton!]!
|
|
@@ -3425,9 +3641,6 @@ type Mutation {
|
|
|
3425
3641
|
"""
|
|
3426
3642
|
backfillAttachmentThumbnails(limit: Int = 20): ThumbnailBackfillResult!
|
|
3427
3643
|
|
|
3428
|
-
"""To withdraw a pending invitation"""
|
|
3429
|
-
cancelInvitation(id: String!): Boolean!
|
|
3430
|
-
|
|
3431
3644
|
"""Chooses the imported release a full figure name draws with."""
|
|
3432
3645
|
chooseFigureRelease(
|
|
3433
3646
|
"""Full figure name {namespace}/{type}."""
|
|
@@ -3697,9 +3910,7 @@ type Mutation {
|
|
|
3697
3910
|
"""To delete multiple Contacts"""
|
|
3698
3911
|
deleteContacts(ids: [String!]!): Boolean!
|
|
3699
3912
|
|
|
3700
|
-
"""
|
|
3701
|
-
To delete counterparties - the rows that name them keep the name and lose the link
|
|
3702
|
-
"""
|
|
3913
|
+
"""To delete counterparties - refused while another row still names one"""
|
|
3703
3914
|
deleteCounterparties(ids: [String!]!): Boolean!
|
|
3704
3915
|
|
|
3705
3916
|
"""To delete Department"""
|
|
@@ -3823,6 +4034,9 @@ type Mutation {
|
|
|
3823
4034
|
"""To delete my preference"""
|
|
3824
4035
|
deleteMyUserPreference(element: String!, key: String!): Boolean!
|
|
3825
4036
|
|
|
4037
|
+
"""To remove one of the caller's own passkeys. It can no longer sign in."""
|
|
4038
|
+
deleteMyWebAuthCredential(id: String!): Boolean!
|
|
4039
|
+
|
|
3826
4040
|
"""To delete Notification"""
|
|
3827
4041
|
deleteNotification(id: String!): Boolean!
|
|
3828
4042
|
|
|
@@ -4041,6 +4255,17 @@ type Mutation {
|
|
|
4041
4255
|
username: String!
|
|
4042
4256
|
): Boolean!
|
|
4043
4257
|
|
|
4258
|
+
"""
|
|
4259
|
+
Puts the user waiting for a password they set themselves and issues the one-time link to it. The current password stops working and open sessions end. Mailed, or returned once for the administrator to hand over.
|
|
4260
|
+
"""
|
|
4261
|
+
issuePasswordSetupLink(
|
|
4262
|
+
"""True mails the link to the user's address; false returns it once."""
|
|
4263
|
+
mail: Boolean!
|
|
4264
|
+
|
|
4265
|
+
"""The username or email of the user."""
|
|
4266
|
+
username: String!
|
|
4267
|
+
): PasswordSetupLink!
|
|
4268
|
+
|
|
4044
4269
|
"""Assigns one or more boards to a group."""
|
|
4045
4270
|
joinGroup(boardIds: [String!]!, id: String!): Group!
|
|
4046
4271
|
|
|
@@ -4100,17 +4325,6 @@ type Mutation {
|
|
|
4100
4325
|
"""
|
|
4101
4326
|
requestAccess(request: NewAccessRequest!): AccessRequest!
|
|
4102
4327
|
|
|
4103
|
-
"""To send a pending invitation again"""
|
|
4104
|
-
resendInvitation(id: String!): Boolean!
|
|
4105
|
-
|
|
4106
|
-
"""
|
|
4107
|
-
Resets a user's password to the default value. Use this mutation to restore access to a user who has forgotten their password.
|
|
4108
|
-
"""
|
|
4109
|
-
resetPasswordToDefault(
|
|
4110
|
-
"""The username or email of the user whose password to reset."""
|
|
4111
|
-
username: String!
|
|
4112
|
-
): Boolean!
|
|
4113
|
-
|
|
4114
4328
|
"""Reverts a board to a specific historical version."""
|
|
4115
4329
|
revertBoardVersion(id: String!, version: Float!): Board!
|
|
4116
4330
|
|
|
@@ -4136,9 +4350,6 @@ type Mutation {
|
|
|
4136
4350
|
scenarioName: String!
|
|
4137
4351
|
variables: Object
|
|
4138
4352
|
): ScenarioInstanceRunResult!
|
|
4139
|
-
|
|
4140
|
-
"""To invite someone into this domain by email"""
|
|
4141
|
-
sendInvitation(email: String!, roleIds: [String!]): Invitation!
|
|
4142
4353
|
singleUpload(file: Upload!): Attachment!
|
|
4143
4354
|
|
|
4144
4355
|
"""Starts a new scenario instance, which will run in the background."""
|
|
@@ -4250,6 +4461,11 @@ type Mutation {
|
|
|
4250
4461
|
"""
|
|
4251
4462
|
updateEmployee(id: String!, patch: EmployeePatch!): Employee!
|
|
4252
4463
|
|
|
4464
|
+
"""
|
|
4465
|
+
Sets an employee's pay account - the bank and the account number their pay goes to
|
|
4466
|
+
"""
|
|
4467
|
+
updateEmployeePayAccount(bankAccount: String, bankName: String, id: String!): Employee!
|
|
4468
|
+
|
|
4253
4469
|
"""To modify Entity' information"""
|
|
4254
4470
|
updateEntity(id: String!, patch: EntityPatch!): Entity!
|
|
4255
4471
|
|
|
@@ -4379,14 +4595,6 @@ type Mutation {
|
|
|
4379
4595
|
Updates multiple themes at once. Can create or update themes based on the cuFlag.
|
|
4380
4596
|
"""
|
|
4381
4597
|
updateMultipleTheme(patches: [ThemePatch!]!): [Theme!]!
|
|
4382
|
-
|
|
4383
|
-
"""
|
|
4384
|
-
Updates or creates multiple users in a single operation. Use this mutation for batch processing of user records.
|
|
4385
|
-
"""
|
|
4386
|
-
updateMultipleUser(
|
|
4387
|
-
"""An array of patch objects for batch update or creation."""
|
|
4388
|
-
patches: [UserPatch!]!
|
|
4389
|
-
): [User!]!
|
|
4390
4598
|
updateMultipleWorker(patches: [WorkerPatch!]!): [Worker!]!
|
|
4391
4599
|
|
|
4392
4600
|
"""To modify ApprovalLine information for current user"""
|
|
@@ -4398,6 +4606,12 @@ type Mutation {
|
|
|
4398
4606
|
"""To create or update my preference"""
|
|
4399
4607
|
updateMyUserPreference(key: String!, preference: Object!): UserPreference!
|
|
4400
4608
|
|
|
4609
|
+
"""To rename one of the caller's own passkeys."""
|
|
4610
|
+
updateMyWebAuthCredential(id: String!, name: String!): WebAuthCredential!
|
|
4611
|
+
|
|
4612
|
+
"""To change the notice channels of this domain."""
|
|
4613
|
+
updateNoticeChannelSetting(patch: NoticeChannelSettingPatch!): NoticeChannelSetting!
|
|
4614
|
+
|
|
4401
4615
|
"""To modify Notification information"""
|
|
4402
4616
|
updateNotification(id: String!, patch: NotificationPatch!): Notification!
|
|
4403
4617
|
|
|
@@ -4498,6 +4712,11 @@ input NewAccessRequest {
|
|
|
4498
4712
|
|
|
4499
4713
|
"""The requester's reason."""
|
|
4500
4714
|
reason: String
|
|
4715
|
+
|
|
4716
|
+
"""
|
|
4717
|
+
The task asked for - one of the tasks that hold the refused privilege (tasksGranting).
|
|
4718
|
+
"""
|
|
4719
|
+
taskId: String
|
|
4501
4720
|
}
|
|
4502
4721
|
|
|
4503
4722
|
"""Input for creating a new appliance."""
|
|
@@ -5289,9 +5508,6 @@ input NewUser {
|
|
|
5289
5508
|
"""Full name of the user."""
|
|
5290
5509
|
name: String!
|
|
5291
5510
|
|
|
5292
|
-
"""Password for the user account."""
|
|
5293
|
-
password: String
|
|
5294
|
-
|
|
5295
5511
|
"""Roles assigned to the user."""
|
|
5296
5512
|
roles: [ObjectRef!]
|
|
5297
5513
|
|
|
@@ -5340,6 +5556,41 @@ input NewWorker {
|
|
|
5340
5556
|
type: String!
|
|
5341
5557
|
}
|
|
5342
5558
|
|
|
5559
|
+
"""
|
|
5560
|
+
The channels notices take beyond the app and web push in this domain (ADR-0164).
|
|
5561
|
+
"""
|
|
5562
|
+
type NoticeChannelSetting {
|
|
5563
|
+
"""Whether notices also go by mail."""
|
|
5564
|
+
email: Boolean!
|
|
5565
|
+
|
|
5566
|
+
"""
|
|
5567
|
+
The Teams channel webhook - where a notice to everyone in the domain is posted.
|
|
5568
|
+
"""
|
|
5569
|
+
teamsChannel: NoticeSecretState!
|
|
5570
|
+
}
|
|
5571
|
+
|
|
5572
|
+
"""
|
|
5573
|
+
A change to the notice channels. A field left out stays as it is; an empty webhook clears it.
|
|
5574
|
+
"""
|
|
5575
|
+
input NoticeChannelSettingPatch {
|
|
5576
|
+
"""Whether notices also go by mail."""
|
|
5577
|
+
email: Boolean
|
|
5578
|
+
|
|
5579
|
+
"""The Teams channel webhook address (https), or empty to clear it."""
|
|
5580
|
+
teamsChannelWebhook: String
|
|
5581
|
+
}
|
|
5582
|
+
|
|
5583
|
+
"""
|
|
5584
|
+
Whether a secret is set, and the host it points at - never the secret itself.
|
|
5585
|
+
"""
|
|
5586
|
+
type NoticeSecretState {
|
|
5587
|
+
"""The host of the address, to tell which flow it is."""
|
|
5588
|
+
host: String
|
|
5589
|
+
|
|
5590
|
+
"""Whether it is set for this domain."""
|
|
5591
|
+
set: Boolean!
|
|
5592
|
+
}
|
|
5593
|
+
|
|
5343
5594
|
"""Entity for Notification"""
|
|
5344
5595
|
type Notification {
|
|
5345
5596
|
body: String
|
|
@@ -5727,6 +5978,22 @@ type PasswordRule {
|
|
|
5727
5978
|
useTightPattern: Boolean
|
|
5728
5979
|
}
|
|
5729
5980
|
|
|
5981
|
+
"""
|
|
5982
|
+
The password setup link just issued: mailed, or returned once to be handed over.
|
|
5983
|
+
"""
|
|
5984
|
+
type PasswordSetupLink {
|
|
5985
|
+
"""When the link stops working."""
|
|
5986
|
+
expiresAt: DateTimeISO!
|
|
5987
|
+
|
|
5988
|
+
"""
|
|
5989
|
+
The link, when it was not mailed. It is not kept and cannot be read again.
|
|
5990
|
+
"""
|
|
5991
|
+
link: String
|
|
5992
|
+
|
|
5993
|
+
"""The address the link was mailed to, when it was mailed."""
|
|
5994
|
+
mailedTo: String
|
|
5995
|
+
}
|
|
5996
|
+
|
|
5730
5997
|
"""Logs the request and response payloads for API interactions."""
|
|
5731
5998
|
type PayloadLog {
|
|
5732
5999
|
"""The timestamp when the log entry was created."""
|
|
@@ -6209,6 +6476,20 @@ type Query {
|
|
|
6209
6476
|
sortings: [Sorting!]
|
|
6210
6477
|
): AttributeSetList!
|
|
6211
6478
|
|
|
6479
|
+
"""
|
|
6480
|
+
Each door over a period, in this domain - every declared privilege, a door with no record in the period too.
|
|
6481
|
+
"""
|
|
6482
|
+
auditDoors(from: DateTimeISO!, to: DateTimeISO!): [AuditDoor!]!
|
|
6483
|
+
|
|
6484
|
+
"""Audit writes this server process failed to store."""
|
|
6485
|
+
auditHealth: AuditHealth!
|
|
6486
|
+
|
|
6487
|
+
"""Each member's audit summary over a period, in this domain."""
|
|
6488
|
+
auditPeople(from: DateTimeISO!, to: DateTimeISO!): [AuditPerson!]!
|
|
6489
|
+
|
|
6490
|
+
"""This domain's audit records - requests and what was done in them."""
|
|
6491
|
+
auditRecords(filter: AuditRecordFilter!): AuditRecordList!
|
|
6492
|
+
|
|
6212
6493
|
"""To fetch a AuthProvider"""
|
|
6213
6494
|
authProvider(id: String!): AuthProvider
|
|
6214
6495
|
|
|
@@ -6427,16 +6708,6 @@ type Query {
|
|
|
6427
6708
|
"""Carrier 위치 이력 조회 (목업). 영구추적 fallback 용."""
|
|
6428
6709
|
carrierLocationHistory(carrierName: String!, endTime: String!, startTime: String!): CarrierLocationHistoryResponse!
|
|
6429
6710
|
|
|
6430
|
-
"""
|
|
6431
|
-
Checks if the system is configured to provide a default password for new users.
|
|
6432
|
-
"""
|
|
6433
|
-
checkDefaultPassword: Boolean!
|
|
6434
|
-
|
|
6435
|
-
"""
|
|
6436
|
-
Determines whether the system provides a default password when creating a new user.
|
|
6437
|
-
"""
|
|
6438
|
-
checkResettablePasswordToDefault: Boolean!
|
|
6439
|
-
|
|
6440
6711
|
"""
|
|
6441
6712
|
Checks if the current authenticated user belongs to the current domain.
|
|
6442
6713
|
"""
|
|
@@ -6615,8 +6886,35 @@ type Query {
|
|
|
6615
6886
|
"""To fetch a counterparty of the domain"""
|
|
6616
6887
|
counterparty(id: String!): Counterparty
|
|
6617
6888
|
|
|
6889
|
+
"""
|
|
6890
|
+
The accounts a counterparty is paid into, to pick one - the bank and the number's last four digits
|
|
6891
|
+
"""
|
|
6892
|
+
counterpartyAccountChoices(counterpartyId: String!): [CounterpartyAccountChoice!]!
|
|
6893
|
+
|
|
6618
6894
|
"""The accounts a counterparty of the domain is paid into"""
|
|
6619
6895
|
counterpartyBankAccounts(counterpartyId: String!): [CounterpartyBankAccount!]!
|
|
6896
|
+
|
|
6897
|
+
"""
|
|
6898
|
+
Counterparties to pick from - which one, nothing about it; a capped page at a time
|
|
6899
|
+
"""
|
|
6900
|
+
counterpartyChoices(
|
|
6901
|
+
"""An array of filter conditions to apply to the list query."""
|
|
6902
|
+
filters: [Filter!]
|
|
6903
|
+
|
|
6904
|
+
"""Inherited value type for the list query."""
|
|
6905
|
+
inherited: InheritedValueType
|
|
6906
|
+
|
|
6907
|
+
"""Pagination options for the list query."""
|
|
6908
|
+
pagination: Pagination
|
|
6909
|
+
|
|
6910
|
+
"""
|
|
6911
|
+
A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
|
|
6912
|
+
"""
|
|
6913
|
+
search: String
|
|
6914
|
+
|
|
6915
|
+
"""Sorting options for the list query."""
|
|
6916
|
+
sortings: [Sorting!]
|
|
6917
|
+
): CounterpartyChoiceList!
|
|
6620
6918
|
customerBizplaces: [Bizplace!]!
|
|
6621
6919
|
customers: [Domain!]!
|
|
6622
6920
|
|
|
@@ -6750,7 +7048,7 @@ type Query {
|
|
|
6750
7048
|
employee(id: String!): Employee
|
|
6751
7049
|
|
|
6752
7050
|
"""
|
|
6753
|
-
Fetches a list of employees based on provided query parameters. Supports searching by name, control number, and
|
|
7051
|
+
Fetches a list of employees based on provided query parameters. Supports searching by name, control number, alias, position, responsibility and department name.
|
|
6754
7052
|
"""
|
|
6755
7053
|
employees(
|
|
6756
7054
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -6964,6 +7262,9 @@ type Query {
|
|
|
6964
7262
|
"""
|
|
6965
7263
|
figureTypeMap: [FigureTypeMapEntry!]!
|
|
6966
7264
|
|
|
7265
|
+
"""The upload limits the server enforces."""
|
|
7266
|
+
fileUploadLimits: FileUploadLimits!
|
|
7267
|
+
|
|
6967
7268
|
"""To fetch a Font"""
|
|
6968
7269
|
font(id: String!): Font!
|
|
6969
7270
|
|
|
@@ -7018,57 +7319,22 @@ type Query {
|
|
|
7018
7319
|
"""To fetch integration Analyses"""
|
|
7019
7320
|
integrationAnalysis: Object!
|
|
7020
7321
|
|
|
7021
|
-
"""To fetch an invitation of this domain"""
|
|
7022
|
-
invitation(id: String!): Invitation
|
|
7023
|
-
|
|
7024
|
-
"""To fetch this domain's invitations"""
|
|
7025
|
-
invitations(
|
|
7026
|
-
"""An array of filter conditions to apply to the list query."""
|
|
7027
|
-
filters: [Filter!]
|
|
7028
|
-
|
|
7029
|
-
"""Inherited value type for the list query."""
|
|
7030
|
-
inherited: InheritedValueType
|
|
7031
|
-
|
|
7032
|
-
"""Pagination options for the list query."""
|
|
7033
|
-
pagination: Pagination
|
|
7034
|
-
|
|
7035
|
-
"""
|
|
7036
|
-
A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
|
|
7037
|
-
"""
|
|
7038
|
-
search: String
|
|
7039
|
-
|
|
7040
|
-
"""Sorting options for the list query."""
|
|
7041
|
-
sortings: [Sorting!]
|
|
7042
|
-
): InvitationList!
|
|
7043
|
-
|
|
7044
7322
|
"""Check if a user is an owner of the current domain."""
|
|
7045
7323
|
isDomainOwner(username: String!): Boolean!
|
|
7046
7324
|
|
|
7047
|
-
"""To fetch multiple LoginHistories"""
|
|
7048
|
-
loginHistories(
|
|
7049
|
-
"""An array of filter conditions to apply to the list query."""
|
|
7050
|
-
filters: [Filter!]
|
|
7051
|
-
|
|
7052
|
-
"""Inherited value type for the list query."""
|
|
7053
|
-
inherited: InheritedValueType
|
|
7054
|
-
|
|
7055
|
-
"""Pagination options for the list query."""
|
|
7056
|
-
pagination: Pagination
|
|
7057
|
-
|
|
7058
|
-
"""
|
|
7059
|
-
A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
|
|
7060
|
-
"""
|
|
7061
|
-
search: String
|
|
7062
|
-
|
|
7063
|
-
"""Sorting options for the list query."""
|
|
7064
|
-
sortings: [Sorting!]
|
|
7065
|
-
): LoginHistoryList!
|
|
7066
|
-
|
|
7067
7325
|
"""
|
|
7068
7326
|
Whether the caller may give or take the parent domain's roles from this domain.
|
|
7069
7327
|
"""
|
|
7070
7328
|
mayChangeParentRoles: Boolean!
|
|
7071
7329
|
|
|
7330
|
+
"""
|
|
7331
|
+
Whether this domain may issue the user a password setup link: the user works in no other domain, owns no domain and is not an administrator.
|
|
7332
|
+
"""
|
|
7333
|
+
mayIssuePasswordSetupLink(
|
|
7334
|
+
"""The id of the user who would be issued the link."""
|
|
7335
|
+
id: String!
|
|
7336
|
+
): Boolean!
|
|
7337
|
+
|
|
7072
7338
|
"""To fetch a Menu"""
|
|
7073
7339
|
menu(id: String!): Menu!
|
|
7074
7340
|
|
|
@@ -7235,6 +7501,9 @@ type Query {
|
|
|
7235
7501
|
sortings: [Sorting!]
|
|
7236
7502
|
): ApprovalLineList!
|
|
7237
7503
|
|
|
7504
|
+
"""What I did - in this domain, and my sign-ins."""
|
|
7505
|
+
myAuditActions(kind: String, limit: Int): [AuditAction!]!
|
|
7506
|
+
|
|
7238
7507
|
"""
|
|
7239
7508
|
Fetches the caller's own employee records in this domain. Empty when the caller is not an employee.
|
|
7240
7509
|
"""
|
|
@@ -7242,7 +7511,6 @@ type Query {
|
|
|
7242
7511
|
|
|
7243
7512
|
"""To fetch current user's Favorites"""
|
|
7244
7513
|
myFavorites: [Favorite!]!
|
|
7245
|
-
myLoginHistories(limit: Float!): [LoginHistory!]!
|
|
7246
7514
|
|
|
7247
7515
|
"""To fetch my own Menus"""
|
|
7248
7516
|
myMenus(
|
|
@@ -7336,6 +7604,14 @@ type Query {
|
|
|
7336
7604
|
sortings: [Sorting!]
|
|
7337
7605
|
): UserPreferenceList!
|
|
7338
7606
|
|
|
7607
|
+
"""To list the caller's own passkeys, newest first."""
|
|
7608
|
+
myWebAuthCredentials: [WebAuthCredential!]!
|
|
7609
|
+
|
|
7610
|
+
"""
|
|
7611
|
+
The notice channels of this domain - set or not, never the webhook addresses.
|
|
7612
|
+
"""
|
|
7613
|
+
noticeChannelSetting: NoticeChannelSetting!
|
|
7614
|
+
|
|
7339
7615
|
"""To fetch a Notification"""
|
|
7340
7616
|
notification(id: String!): Notification
|
|
7341
7617
|
|
|
@@ -7597,7 +7873,13 @@ type Query {
|
|
|
7597
7873
|
"""
|
|
7598
7874
|
To list the roles this domain can assign that grant a privilege, fewest privileges first.
|
|
7599
7875
|
"""
|
|
7600
|
-
rolesGranting(
|
|
7876
|
+
rolesGranting(
|
|
7877
|
+
category: String!
|
|
7878
|
+
privilege: String!
|
|
7879
|
+
|
|
7880
|
+
"""The task asked for - roles holding all of it come first."""
|
|
7881
|
+
taskId: String
|
|
7882
|
+
): [AccessRoleCandidate!]!
|
|
7601
7883
|
|
|
7602
7884
|
"""Fetches a single scenario by its ID."""
|
|
7603
7885
|
scenario(id: String!): Scenario!
|
|
@@ -7769,6 +8051,11 @@ type Query {
|
|
|
7769
8051
|
"""
|
|
7770
8052
|
taskTypesByConnection(connectionName: String!): TaskTypeList!
|
|
7771
8053
|
|
|
8054
|
+
"""
|
|
8055
|
+
To list the tasks that hold a privilege, fewest privileges first - what a person refused may ask for.
|
|
8056
|
+
"""
|
|
8057
|
+
tasksGranting(category: String!, privilege: String!): [AccessTaskChoice!]!
|
|
8058
|
+
|
|
7772
8059
|
"""To fetch multiple Terminologies"""
|
|
7773
8060
|
terminologies(
|
|
7774
8061
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -7904,10 +8191,20 @@ type Role {
|
|
|
7904
8191
|
privileges: [Privilege!]
|
|
7905
8192
|
|
|
7906
8193
|
"""
|
|
7907
|
-
|
|
8194
|
+
The role's privileges laid against every registered task, and those no task names.
|
|
8195
|
+
"""
|
|
8196
|
+
taskCoverage: RoleTaskCoverageListView!
|
|
8197
|
+
|
|
8198
|
+
"""
|
|
8199
|
+
What the role's base template grants here that the role does not hold, and what the role holds beyond it. Null when the role has no base template, or its base is not declared in this installation.
|
|
7908
8200
|
"""
|
|
7909
8201
|
templateGap: RoleTemplateGapView
|
|
7910
8202
|
|
|
8203
|
+
"""
|
|
8204
|
+
The id of the role template this role is based on; null when it is based on none.
|
|
8205
|
+
"""
|
|
8206
|
+
templateId: String
|
|
8207
|
+
|
|
7911
8208
|
"""The timestamp when the role was last updated."""
|
|
7912
8209
|
updatedAt: DateTimeISO
|
|
7913
8210
|
|
|
@@ -7958,6 +8255,11 @@ input RolePatch {
|
|
|
7958
8255
|
"""Stand this role even though the domain inherits one of the same name."""
|
|
7959
8256
|
separately: Boolean
|
|
7960
8257
|
|
|
8258
|
+
"""
|
|
8259
|
+
The id of the role template this role is based on; null to base it on none.
|
|
8260
|
+
"""
|
|
8261
|
+
templateId: String
|
|
8262
|
+
|
|
7961
8263
|
"""A new list of users to be assigned to the role."""
|
|
7962
8264
|
users: [ObjectRef!]
|
|
7963
8265
|
}
|
|
@@ -7985,6 +8287,42 @@ type RolePrivilege {
|
|
|
7985
8287
|
name: String
|
|
7986
8288
|
}
|
|
7987
8289
|
|
|
8290
|
+
"""A role's privileges laid against every registered task."""
|
|
8291
|
+
type RoleTaskCoverageListView {
|
|
8292
|
+
"""Every registered task, with what the role holds of it."""
|
|
8293
|
+
tasks: [RoleTaskCoverageView!]!
|
|
8294
|
+
|
|
8295
|
+
"""Declared privileges the role holds that no task names."""
|
|
8296
|
+
unclassified: [RoleTemplateGapGrant!]!
|
|
8297
|
+
}
|
|
8298
|
+
|
|
8299
|
+
"""One task laid against a role's privileges."""
|
|
8300
|
+
type RoleTaskCoverageView {
|
|
8301
|
+
"""The task's privileges the role holds."""
|
|
8302
|
+
held: [RoleTemplateGapGrant!]!
|
|
8303
|
+
|
|
8304
|
+
"""The task's declared privileges the role does not hold."""
|
|
8305
|
+
missing: [RoleTemplateGapGrant!]!
|
|
8306
|
+
|
|
8307
|
+
"""
|
|
8308
|
+
The module or application that declares the task - the first part of its id.
|
|
8309
|
+
"""
|
|
8310
|
+
module: String!
|
|
8311
|
+
|
|
8312
|
+
"""
|
|
8313
|
+
all, some, none or broken. Says which of the task's privileges the role holds - not whether the work can be done. broken: the task names a privilege this installation does not declare.
|
|
8314
|
+
"""
|
|
8315
|
+
status: String!
|
|
8316
|
+
|
|
8317
|
+
"""
|
|
8318
|
+
The task id, `<module>.<work>`. Its words are the translation keys task.<id>.name and task.<id>.description.
|
|
8319
|
+
"""
|
|
8320
|
+
taskId: String!
|
|
8321
|
+
|
|
8322
|
+
"""Privileges the task names that this installation does not declare."""
|
|
8323
|
+
undeclared: [RoleTemplateGapGrant!]!
|
|
8324
|
+
}
|
|
8325
|
+
|
|
7988
8326
|
"""Privileges on one category that a role lacks against its template."""
|
|
7989
8327
|
type RoleTemplateGapGrant {
|
|
7990
8328
|
"""The axes the template grants here and the role does not hold."""
|
|
@@ -7998,6 +8336,14 @@ type RoleTemplateGapGrant {
|
|
|
7998
8336
|
What the template of a role's name grants in this installation that the role does not hold.
|
|
7999
8337
|
"""
|
|
8000
8338
|
type RoleTemplateGapView {
|
|
8339
|
+
"""
|
|
8340
|
+
Declared privileges the role holds that the template does not grant, by category.
|
|
8341
|
+
"""
|
|
8342
|
+
extra: [RoleTemplateGapGrant!]!
|
|
8343
|
+
|
|
8344
|
+
"""How many privileges the role holds beyond the template."""
|
|
8345
|
+
extraCount: Int!
|
|
8346
|
+
|
|
8001
8347
|
"""The privileges missing from the role, by category."""
|
|
8002
8348
|
missing: [RoleTemplateGapGrant!]!
|
|
8003
8349
|
|
|
@@ -8032,6 +8378,11 @@ type RoleTemplateView {
|
|
|
8032
8378
|
"""
|
|
8033
8379
|
defaultNameTaken: Boolean!
|
|
8034
8380
|
|
|
8381
|
+
"""
|
|
8382
|
+
Definition errors that refuse this template when applied: unregistered tasks, or tasks naming undeclared privileges.
|
|
8383
|
+
"""
|
|
8384
|
+
definitionErrors: [String!]!
|
|
8385
|
+
|
|
8035
8386
|
"""A description of the seat this template creates."""
|
|
8036
8387
|
description: String
|
|
8037
8388
|
|
|
@@ -8056,6 +8407,11 @@ type RoleTemplateView {
|
|
|
8056
8407
|
|
|
8057
8408
|
"""How many privileges this template would actually grant here."""
|
|
8058
8409
|
privilegeCount: Int!
|
|
8410
|
+
|
|
8411
|
+
"""
|
|
8412
|
+
The tasks this template is built from, by id - each a piece of work a module or application names.
|
|
8413
|
+
"""
|
|
8414
|
+
tasks: [String!]!
|
|
8059
8415
|
}
|
|
8060
8416
|
|
|
8061
8417
|
"""Represents a sequence of steps designed to automate a task or process."""
|
|
@@ -9002,9 +9358,6 @@ input UserPatch {
|
|
|
9002
9358
|
"""Full name of the user."""
|
|
9003
9359
|
name: String
|
|
9004
9360
|
|
|
9005
|
-
"""Password for the user account."""
|
|
9006
|
-
password: String
|
|
9007
|
-
|
|
9008
9361
|
"""Roles assigned to the user."""
|
|
9009
9362
|
roles: [ObjectRef!]
|
|
9010
9363
|
|
|
@@ -9084,6 +9437,48 @@ type UsersAuthProviders {
|
|
|
9084
9437
|
user: User
|
|
9085
9438
|
}
|
|
9086
9439
|
|
|
9440
|
+
"""Represents a WebAuthn credential for passwordless authentication."""
|
|
9441
|
+
type WebAuthCredential {
|
|
9442
|
+
"""The signature counter, used to prevent replay attacks."""
|
|
9443
|
+
counter: Float
|
|
9444
|
+
|
|
9445
|
+
"""The timestamp when the credential was created."""
|
|
9446
|
+
createdAt: DateTimeISO
|
|
9447
|
+
|
|
9448
|
+
"""The user who created the credential."""
|
|
9449
|
+
creator: User
|
|
9450
|
+
|
|
9451
|
+
"""The unique ID for this credential, provided by the authenticator."""
|
|
9452
|
+
credentialId: String
|
|
9453
|
+
|
|
9454
|
+
"""When the credential was removed."""
|
|
9455
|
+
deletedAt: DateTimeISO
|
|
9456
|
+
|
|
9457
|
+
"""Unique identifier for the credential."""
|
|
9458
|
+
id: ID!
|
|
9459
|
+
|
|
9460
|
+
"""When this passkey was last used to sign in."""
|
|
9461
|
+
lastUsedAt: DateTimeISO
|
|
9462
|
+
|
|
9463
|
+
"""The owner's label for this passkey, such as the device it was made on."""
|
|
9464
|
+
name: String
|
|
9465
|
+
|
|
9466
|
+
"""The public key of the credential."""
|
|
9467
|
+
publicKey: String
|
|
9468
|
+
|
|
9469
|
+
"""How the authenticator can be reached: usb, nfc, ble, hybrid, internal."""
|
|
9470
|
+
transports: [String!]
|
|
9471
|
+
|
|
9472
|
+
"""The timestamp when the credential was last updated."""
|
|
9473
|
+
updatedAt: DateTimeISO
|
|
9474
|
+
|
|
9475
|
+
"""The user who last updated the credential."""
|
|
9476
|
+
updater: User
|
|
9477
|
+
|
|
9478
|
+
"""The user associated with this credential."""
|
|
9479
|
+
user: User
|
|
9480
|
+
}
|
|
9481
|
+
|
|
9087
9482
|
type Worker {
|
|
9088
9483
|
bizplace: Bizplace!
|
|
9089
9484
|
createdAt: DateTimeISO
|