Add identity profile

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-12-22 10:52:28 +01:00
parent e0225cbbbc
commit 2f7a3a5f76
23 changed files with 1158 additions and 2697 deletions

View File

@@ -138,6 +138,8 @@ type Identity implements Node {
createdAt: Datetime!
updatedAt: Datetime!
defaultProfile: IdentityProfile @goField(forceResolver: true) @isViewer
memberships(
first: Int
after: CursorKey
@@ -168,27 +170,12 @@ type Identity implements Node {
last: Int
before: CursorKey
): PersonalAPIKeyConnection @goField(forceResolver: true) @isViewer
profileFor(organizationId: ID!): IdentityProfile @isViewer
}
type IdentityProfile implements Node {
id: ID!
displayName: String!
firstName: String
lastName: String
jobTitle: String
department: String
phoneNumber: String
avatarUrl: String
manager: IdentityProfile
timezone: String
locale: String
customAttributes: [CustomAttribute!]!
provisionedBy: ProvisioningSource!
externalId: String
fullName: String!
identity: Identity!
organization: Organization!
createdAt: Datetime!
updatedAt: Datetime!
}
@@ -244,8 +231,8 @@ enum MembershipRole
type Membership implements Node {
id: ID!
createdAt: Datetime!
profile: IdentityProfile!
identity: Identity @goField(forceResolver: true)
profile: IdentityProfile @goField(forceResolver: true) @isViewer
organization: Organization @goField(forceResolver: true)
role: MembershipRole!
permissions: [Permission!]!
@@ -382,12 +369,6 @@ enum SAMLEnforcementPolicy
)
}
enum AuthMethod {
PASSWORD
SAML
RECOVERY_CODE
}
enum TokenScope {
READ_ORGANIZATION
WRITE_ORGANIZATION
@@ -578,14 +559,7 @@ input AssumeOrganizationSessionInput {
input UpdateIdentityProfileInput {
membershipId: ID!
displayName: String
firstName: String
lastName: String
jobTitle: String
department: String
phoneNumber: String
timezone: String
locale: String
fullName: String
}
input RevokeSessionInput {
@@ -750,10 +724,6 @@ type DeactivateAccountPayload {
success: Boolean!
}
type DeleteAccountPayload {
success: Boolean!
}
type UpdateIdentityProfilePayload {
profile: IdentityProfile
}