""""""
directive @tag(name: String!) on SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION

""""""
enum AuditEntryOrderFieldEnum {
  """"""
  createdAt

  """"""
  entityType

  """"""
  operationType

  """"""
  entityId

  """"""
  sessionId

  """"""
  updatedAt

  """"""
  userAgent

  """"""
  actorId

  """"""
  actorType

  """"""
  requestId

  """"""
  onBehalfOf

  """"""
  ipAddress

  """"""
  timestamp
}

""""""
input UserRoleOrderInput {
  """"""
  field: UserRoleOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

"""changeDetail(Connection)"""
type ChangeDetailConnection {
  """"""
  edges: [ChangeDetailEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

""""""
input StringArrayFilter {
  """"""
  len: ArrayLengthFilter

  """"""
  all: StringFilter

  """"""
  has: StringFilter

  """"""
  exists: Boolean
}

"""policyFieldRule(Connection)"""
type PolicyFieldRuleConnection {
  """"""
  total: Int

  """"""
  edges: [PolicyFieldRuleEdge!]!

  """"""
  pageInfo: PageInfo!
}

"""role(Connection)"""
type RoleConnection {
  """"""
  total: Int

  """"""
  edges: [RoleEdge!]!

  """"""
  pageInfo: PageInfo!
}

"""auditEntry(QueryInput)"""
input AuditEntryQueryInput {
  """"""
  actorType: StringFilter

  """"""
  requestId: StringFilter

  """"""
  sessionId: StringFilter

  """"""
  correlationId: UUIDFilter

  """"""
  onBehalfOf: StringFilter

  """"""
  actorId: StringFilter

  """"""
  not: [AuditEntryQueryInput!]

  """"""
  ipAddress: StringFilter

  """"""
  entityId: StringFilter

  """"""
  timestamp: DateFilter

  """"""
  userAgent: StringFilter

  """"""
  or: [AuditEntryQueryInput!]

  """"""
  eventId: UUIDFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  operationType: StringFilter

  """"""
  id: UUIDFilter

  """"""
  companyId: UUIDFilter

  """"""
  entityType: StringFilter

  """"""
  and: [AuditEntryQueryInput!]

  """"""
  createdAt: DatetimeFilter
}

""""""
input DateBetweenFilter {
  """"""
  min: Date

  """"""
  max: Date
}

"""auditableEntity(Edge)"""
type AuditableEntityEdge {
  """"""
  node: AuditableEntity!

  """"""
  cursor: String!
}

""""""
enum OrderDirectionEnum {
  """"""
  Desc

  """"""
  Asc
}

"""permission(Edge)"""
type PermissionEdge {
  """"""
  cursor: String!

  """"""
  node: Permission!
}

""""""
input ArrayLengthFilter {
  """"""
  gte: Int

  """"""
  lt: Int

  """"""
  lte: Int

  """"""
  eq: Int

  """"""
  ne: Int

  """"""
  gt: Int
}

"""user(Edge)"""
type UserEdge {
  """"""
  node: User!

  """"""
  cursor: String!
}

"""policyFieldRule(Edge)"""
type PolicyFieldRuleEdge {
  """"""
  node: PolicyFieldRule!

  """"""
  cursor: String!
}

"""auditPolicy(Connection)"""
type AuditPolicyConnection {
  """"""
  edges: [AuditPolicyEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

"""
A new scalar called FieldSet is a custom scalar type that is used to represent a set of fields.
"""
scalar FieldSet

""""""
type Query {
  """auditEntry(GetList)"""
  auditEntries(query: AuditEntryQueryInput, first: Int, after: String, last: Int, before: String, order: [AuditEntryOrderInput]): AuditEntryConnection!

  """auditPolicy(GetList)"""
  auditPolicies(before: String, order: [AuditPolicyOrderInput], query: AuditPolicyQueryInput, first: Int, after: String, last: Int): AuditPolicyConnection!

  """rolePermission(GetList)"""
  rolePermissions(query: RolePermissionQueryInput, first: Int, after: String, last: Int, before: String, order: [RolePermissionOrderInput]): RolePermissionConnection!

  """permission(GetOne)"""
  permission(id: ID!): Permission

  """auditableEntity(GetList)"""
  auditableEntities(order: [AuditableEntityOrderInput], query: AuditableEntityQueryInput, first: Int, after: String, last: Int, before: String): AuditableEntityConnection!

  """userRole(GetOne)"""
  userRole(id: ID!): UserRole

  """auditableEntityBy(GetOneBy)"""
  auditableEntityBy(
    """"""
    id: ID

    """Unique entity name registered for audit tracking"""
    entityName: String
  ): AuditableEntity

  """roleBy(GetOneBy)"""
  roleBy(
    """"""
    id: ID

    """Role name (unique identifier)"""
    name: String
  ): Role

  """user(GetOne)"""
  user(id: ID!): User

  """auditEntry(GetOne)"""
  auditEntry(id: ID!): AuditEntry

  """userRole(GetList)"""
  userRoles(first: Int, after: String, last: Int, before: String, order: [UserRoleOrderInput], query: UserRoleQueryInput): UserRoleConnection!

  """changeDetail(GetOne)"""
  changeDetail(id: ID!): ChangeDetail

  """changeDetail(GetList)"""
  changeDetails(before: String, order: [ChangeDetailOrderInput], query: ChangeDetailQueryInput, first: Int, after: String, last: Int): ChangeDetailConnection!

  """permission(GetList)"""
  permissions(query: PermissionQueryInput, first: Int, after: String, last: Int, before: String, order: [PermissionOrderInput]): PermissionConnection!

  """user(GetList)"""
  users(last: Int, before: String, order: [UserOrderInput], query: UserQueryInput, first: Int, after: String): UserConnection!

  """policyFieldRule(GetOne)"""
  policyFieldRule(id: ID!): PolicyFieldRule

  """rolePermissionBy(GetOneBy)"""
  rolePermissionBy(id: ID, rolePermissionUniqueIdx: RolePermissionUniqueIdx): RolePermission

  """userBy(GetOneBy)"""
  userBy(
    """"""
    id: ID

    """User email address (unique identifier)"""
    email: String
  ): User

  """permissionBy(GetOneBy)"""
  permissionBy(
    """Permission key in resource:action format (e.g., orders:read)"""
    key: String

    """"""
    id: ID
  ): Permission

  """auditEntryBy(GetOneBy)"""
  auditEntryBy(
    """"""
    id: ID

    """Globally unique event ID for idempotency"""
    eventId: ID
  ): AuditEntry

  """auditPolicy(GetOne)"""
  auditPolicy(id: ID!): AuditPolicy

  """role(GetList)"""
  roles(query: RoleQueryInput, first: Int, after: String, last: Int, before: String, order: [RoleOrderInput]): RoleConnection!

  """userRoleBy(GetOneBy)"""
  userRoleBy(id: ID, userRoleUniqueIdx: UserRoleUniqueIdx): UserRole

  """role(GetOne)"""
  role(id: ID!): Role

  """policyFieldRule(GetList)"""
  policyFieldRules(after: String, last: Int, before: String, order: [PolicyFieldRuleOrderInput], query: PolicyFieldRuleQueryInput, first: Int): PolicyFieldRuleConnection!

  """rolePermission(GetOne)"""
  rolePermission(id: ID!): RolePermission

  """auditableEntity(GetOne)"""
  auditableEntity(id: ID!): AuditableEntity

  """"""
  _users(first: Int, after: String, query: _UserQueryInput): _UserConnection

  """"""
  _user(id: ID!): _User

  """"""
  _userBy(id: ID, name: String): _User

  """
  Get the current user `User`. This field is only available to authorized users.
  """
  me: User
}

""""""
enum ChangeDetailOrderFieldEnum {
  """"""
  oldValue

  """"""
  createdAt

  """"""
  fieldName

  """"""
  updatedAt

  """"""
  newValue
}

"""permission(Connection)"""
type PermissionConnection {
  """"""
  edges: [PermissionEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

"""
The `DateTime` scalar type represents a DateTime. The DateTime is serialized as an RFC 3339 quoted string
"""
scalar DateTime

"""rolePermission(QueryInput)"""
input RolePermissionQueryInput {
  """"""
  or: [RolePermissionQueryInput!]

  """"""
  not: [RolePermissionQueryInput!]

  """"""
  id: UUIDFilter

  """"""
  roleId: UUIDFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  permissionId: UUIDFilter

  """"""
  and: [RolePermissionQueryInput!]
}

""""""
input DatetimeFilter {
  """"""
  in: [DateTime!]

  """"""
  gt: DateTime

  """"""
  lte: DateTime

  """"""
  ne: DateTime

  """"""
  nin: [DateTime!]

  """"""
  between: DatetimeBetweenFilter

  """"""
  eq: DateTime

  """"""
  gte: DateTime

  """"""
  lt: DateTime
}

"""userRole(Edge)"""
type UserRoleEdge {
  """"""
  node: UserRole!

  """"""
  cursor: String!
}

"""auditEntry(Edge)"""
type AuditEntryEdge {
  """"""
  node: AuditEntry!

  """"""
  cursor: String!
}

""""""
type AuditableEntity {
  """updated by"""
  updatedByID: ID @deprecated

  """Document id"""
  id: ID!

  """Record creation timestamp"""
  createdAt: DateTime!

  """Unique entity name registered for audit tracking"""
  entityName: String!

  """Entity scope: COMPANY_BOUND or GLOBAL"""
  entityScope: String!

  """Create time"""
  created: DateTime @deprecated

  """Record last update timestamp"""
  updatedAt: DateTime

  """
  JSON-serialized array of field definitions ({fieldName, fieldType?}) eligible for audit capture
  """
  auditableFields: String!

  """Update time"""
  updated: DateTime @deprecated

  """created by"""
  createdByID: ID @deprecated
}

""""""
input DatetimeBetweenFilter {
  """"""
  max: DateTime

  """"""
  min: DateTime
}

"""rolePermission(Edge)"""
type RolePermissionEdge {
  """"""
  node: RolePermission!

  """"""
  cursor: String!
}

"""userRole(QueryInput)"""
input UserRoleQueryInput {
  """"""
  roleId: UUIDFilter

  """"""
  userId: UUIDFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  and: [UserRoleQueryInput!]

  """"""
  or: [UserRoleQueryInput!]

  """"""
  not: [UserRoleQueryInput!]

  """"""
  id: UUIDFilter
}

""""""
type User {
  """"""
  userRoles(first: Int, after: String, last: Int, before: String, order: [UserRoleOrderInput], query: UserRoleQueryInput): UserRoleConnection!

  """created by"""
  createdByID: ID @deprecated

  """updated by"""
  updatedByID: ID @deprecated

  """User email address (unique identifier)"""
  email: String!

  """Record last update timestamp"""
  updatedAt: DateTime

  """User status"""
  status: UserStatus!

  """Record creation timestamp"""
  createdAt: DateTime!

  """Update time"""
  updated: DateTime @deprecated

  """Create time"""
  created: DateTime @deprecated

  """Flattened permission keys from all assigned roles"""
  permissions: [String!]

  """Document id"""
  id: ID!

  """User display name"""
  name: String!
}

""""""
enum UserRoleOrderFieldEnum {
  """"""
  createdAt

  """"""
  updatedAt
}

"""userRole(Connection)"""
type UserRoleConnection {
  """"""
  total: Int

  """"""
  edges: [UserRoleEdge!]!

  """"""
  pageInfo: PageInfo!
}

""""""
input UserStatusEnumFilter {
  """"""
  eq: UserStatus

  """"""
  ne: UserStatus

  """"""
  in: [UserStatus!]

  """"""
  nin: [UserStatus!]
}

""""""
input RolePermissionUniqueIdx {
  """Foreign key to Role"""
  roleId: ID!

  """Foreign key to Permission"""
  permissionId: ID!
}

"""auditPolicy(Edge)"""
type AuditPolicyEdge {
  """"""
  node: AuditPolicy!

  """"""
  cursor: String!
}

"""auditableEntity(Connection)"""
type AuditableEntityConnection {
  """"""
  edges: [AuditableEntityEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

""""""
enum UserStatus {
  """"""
  PENDING

  """"""
  ACTIVE

  """"""
  INACTIVE
}

"""changeDetail(Edge)"""
type ChangeDetailEdge {
  """"""
  node: ChangeDetail!

  """"""
  cursor: String!
}

"""The `Date` scalar type represents a date in format `YYYY-MM-DD`."""
scalar Date

""""""
input UserOrderInput {
  """"""
  field: UserOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

""""""
enum UserOrderFieldEnum {
  """"""
  email

  """"""
  status

  """"""
  createdAt

  """"""
  updatedAt

  """"""
  name
}

""""""
input AuditableEntityOrderInput {
  """"""
  field: AuditableEntityOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

"""auditableEntity(QueryInput)"""
input AuditableEntityQueryInput {
  """"""
  not: [AuditableEntityQueryInput!]

  """"""
  id: UUIDFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  entityName: StringFilter

  """"""
  entityScope: StringFilter

  """"""
  and: [AuditableEntityQueryInput!]

  """"""
  createdAt: DatetimeFilter

  """"""
  auditableFields: StringFilter

  """"""
  or: [AuditableEntityQueryInput!]
}

"""Information about pagination in a connection"""
type PageInfo {
  """"""
  hasPreviousPage: Boolean!

  """"""
  startCursor: String

  """"""
  endCursor: String

  """"""
  hasNextPage: Boolean!
}

""""""
type AuditEntry {
  """Type name of the audited entity"""
  entityType: String!

  """created by"""
  createdByID: ID @deprecated

  """Actor session ID metadata"""
  sessionId: String

  """Actor identifier"""
  actorId: String!

  """Record last update timestamp"""
  updatedAt: DateTime

  """Optional correlation ID grouping related events"""
  correlationId: ID

  """Actor type: USER, SYSTEM, or SERVICE"""
  actorType: String!

  """Foreign key to Company; null for global entities"""
  companyId: ID

  """System-generated timestamp at ingestion time"""
  timestamp: Date!

  """Actor IP address metadata"""
  ipAddress: String

  """Operation type: CREATE, UPDATE, or DELETE"""
  operationType: String!

  """Globally unique event ID for idempotency"""
  eventId: ID!

  """Delegated user identity when acting on behalf of another"""
  onBehalfOf: String

  """Record creation timestamp"""
  createdAt: DateTime!

  """ID of the audited entity"""
  entityId: String!

  """updated by"""
  updatedByID: ID @deprecated

  """Request ID metadata"""
  requestId: String

  """Document id"""
  id: ID!

  """Update time"""
  updated: DateTime @deprecated

  """"""
  changeDetails(before: String, order: [ChangeDetailOrderInput], query: ChangeDetailQueryInput, first: Int, after: String, last: Int): ChangeDetailConnection!

  """Create time"""
  created: DateTime @deprecated

  """Actor user agent metadata"""
  userAgent: String
}

""""""
type ChangeDetail {
  """Update time"""
  updated: DateTime @deprecated

  """Create time"""
  created: DateTime @deprecated

  """created by"""
  createdByID: ID @deprecated

  """updated by"""
  updatedByID: ID @deprecated

  """Document id"""
  id: ID!

  """"""
  auditEntry: AuditEntry

  """Foreign key to parent AuditEntry"""
  auditEntryId: ID!

  """Name of the field that changed"""
  fieldName: String!

  """Record last update timestamp"""
  updatedAt: DateTime

  """Previous value (serialized string); null for CREATE operations"""
  oldValue: String

  """Record creation timestamp"""
  createdAt: DateTime!

  """New value (serialized string); null for DELETE operations"""
  newValue: String
}

"""user(QueryInput)"""
input UserQueryInput {
  """"""
  id: UUIDFilter

  """"""
  name: StringFilter

  """"""
  email: StringFilter

  """"""
  status: UserStatusEnumFilter

  """"""
  or: [UserQueryInput!]

  """"""
  not: [UserQueryInput!]

  """"""
  createdAt: DatetimeFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  permissions: StringArrayFilter

  """"""
  and: [UserQueryInput!]
}

""""""
enum AuditPolicyOrderFieldEnum {
  """"""
  updatedAt

  """"""
  entityName

  """"""
  operationType

  """"""
  status

  """"""
  createdAt
}

""""""
enum RolePermissionOrderFieldEnum {
  """"""
  createdAt

  """"""
  updatedAt
}

"""role(Edge)"""
type RoleEdge {
  """"""
  cursor: String!

  """"""
  node: Role!
}

"""auditEntry(Connection)"""
type AuditEntryConnection {
  """"""
  edges: [AuditEntryEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

""""""
input RolePermissionOrderInput {
  """"""
  field: RolePermissionOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

""""""
type Permission {
  """Create time"""
  created: DateTime @deprecated

  """Record creation timestamp"""
  createdAt: DateTime!

  """"""
  rolePermissions(first: Int, after: String, last: Int, before: String, order: [RolePermissionOrderInput], query: RolePermissionQueryInput): RolePermissionConnection!

  """created by"""
  createdByID: ID @deprecated

  """updated by"""
  updatedByID: ID @deprecated

  """Optional description of what this permission grants"""
  description: String

  """Permission key in resource:action format (e.g., orders:read)"""
  key: String!

  """Record last update timestamp"""
  updatedAt: DateTime

  """Document id"""
  id: ID!

  """Update time"""
  updated: DateTime @deprecated
}

""""""
input PermissionOrderInput {
  """"""
  field: PermissionOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

"""auditPolicy(QueryInput)"""
input AuditPolicyQueryInput {
  """"""
  companyId: UUIDFilter

  """"""
  operationType: StringFilter

  """"""
  or: [AuditPolicyQueryInput!]

  """"""
  not: [AuditPolicyQueryInput!]

  """"""
  entityName: StringFilter

  """"""
  and: [AuditPolicyQueryInput!]

  """"""
  id: UUIDFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  status: StringFilter
}

""""""
enum PermissionOrderFieldEnum {
  """"""
  updatedAt

  """"""
  description

  """"""
  key

  """"""
  createdAt
}

""""""
enum RoleOrderFieldEnum {
  """"""
  name

  """"""
  createdAt

  """"""
  updatedAt

  """"""
  description
}

""""""
type PolicyFieldRule {
  """Create time"""
  created: DateTime @deprecated

  """updated by"""
  updatedByID: ID @deprecated

  """Record creation timestamp"""
  createdAt: DateTime!

  """"""
  auditPolicy: AuditPolicy

  """Sensitivity mode: CAPTURE, MASK, HASH, or EXCLUDE"""
  sensitivityMode: String!

  """Document id"""
  id: ID!

  """Field name to audit"""
  fieldName: String!

  """Foreign key to parent AuditPolicy"""
  auditPolicyId: ID!

  """Update time"""
  updated: DateTime @deprecated

  """created by"""
  createdByID: ID @deprecated

  """Record last update timestamp"""
  updatedAt: DateTime
}

""""""
type AuditPolicy {
  """Update time"""
  updated: DateTime @deprecated

  """updated by"""
  updatedByID: ID @deprecated

  """"""
  policyFieldRules(query: PolicyFieldRuleQueryInput, first: Int, after: String, last: Int, before: String, order: [PolicyFieldRuleOrderInput]): PolicyFieldRuleConnection!

  """Target entity name for audit tracking"""
  entityName: String!

  """Create time"""
  created: DateTime @deprecated

  """Policy lifecycle status: DRAFT, ACTIVE, INACTIVE"""
  status: String!

  """Record last update timestamp"""
  updatedAt: DateTime

  """Document id"""
  id: ID!

  """Record creation timestamp"""
  createdAt: DateTime!

  """Foreign key to Company; null for global entities"""
  companyId: ID

  """Operation type: CREATE, UPDATE, or DELETE"""
  operationType: String!

  """created by"""
  createdByID: ID @deprecated
}

""""""
type Company {
  """Document id"""
  id: ID!

  """Create time"""
  created: DateTime @deprecated

  """Update time"""
  updated: DateTime @deprecated

  """created by"""
  createdByID: ID @deprecated

  """updated by"""
  updatedByID: ID @deprecated
}

""""""
enum AuditableEntityOrderFieldEnum {
  """"""
  updatedAt

  """"""
  entityName

  """"""
  entityScope

  """"""
  auditableFields

  """"""
  createdAt
}

""""""
type Role {
  """created by"""
  createdByID: ID @deprecated

  """"""
  rolePermissions(last: Int, before: String, order: [RolePermissionOrderInput], query: RolePermissionQueryInput, first: Int, after: String): RolePermissionConnection!

  """Role name (unique identifier)"""
  name: String!

  """Record last update timestamp"""
  updatedAt: DateTime

  """Record creation timestamp"""
  createdAt: DateTime!

  """Optional description of what this role represents"""
  description: String

  """"""
  userRoles(query: UserRoleQueryInput, first: Int, after: String, last: Int, before: String, order: [UserRoleOrderInput]): UserRoleConnection!

  """Document id"""
  id: ID!

  """updated by"""
  updatedByID: ID @deprecated

  """Create time"""
  created: DateTime @deprecated

  """Update time"""
  updated: DateTime @deprecated
}

""""""
input UUIDFilter {
  """"""
  ne: ID

  """"""
  in: [ID!]

  """"""
  nin: [ID!]

  """"""
  eq: ID
}

"""rolePermission(Connection)"""
type RolePermissionConnection {
  """"""
  edges: [RolePermissionEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

""""""
type UserRole {
  """updated by"""
  updatedByID: ID @deprecated

  """Foreign key to User"""
  userId: ID!

  """Create time"""
  created: DateTime @deprecated

  """Foreign key to Role"""
  roleId: ID!

  """Document id"""
  id: ID!

  """"""
  role: Role

  """"""
  user: User

  """Record last update timestamp"""
  updatedAt: DateTime

  """Update time"""
  updated: DateTime @deprecated

  """created by"""
  createdByID: ID @deprecated

  """Record creation timestamp"""
  createdAt: DateTime!
}

"""changeDetail(QueryInput)"""
input ChangeDetailQueryInput {
  """"""
  and: [ChangeDetailQueryInput!]

  """"""
  id: UUIDFilter

  """"""
  auditEntryId: UUIDFilter

  """"""
  oldValue: StringFilter

  """"""
  or: [ChangeDetailQueryInput!]

  """"""
  updatedAt: DatetimeFilter

  """"""
  newValue: StringFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  fieldName: StringFilter

  """"""
  not: [ChangeDetailQueryInput!]
}

""""""
input StringFilter {
  """"""
  notHasSuffix: String

  """"""
  in: [String!]

  """"""
  contains: String

  """"""
  notContains: String

  """"""
  regex: String

  """"""
  eq: String

  """"""
  ne: String

  """"""
  nin: [String!]

  """"""
  hasPrefix: String

  """"""
  hasSuffix: String

  """"""
  notHasPrefix: String
}

""""""
enum PolicyFieldRuleOrderFieldEnum {
  """"""
  updatedAt

  """"""
  sensitivityMode

  """"""
  createdAt

  """"""
  fieldName
}

""""""
input UserRoleUniqueIdx {
  """Foreign key to User"""
  userId: ID!

  """Foreign key to Role"""
  roleId: ID!
}

""""""
type RolePermission {
  """Create time"""
  created: DateTime @deprecated

  """"""
  permission: Permission

  """Update time"""
  updated: DateTime @deprecated

  """updated by"""
  updatedByID: ID @deprecated

  """Record last update timestamp"""
  updatedAt: DateTime

  """Record creation timestamp"""
  createdAt: DateTime!

  """Foreign key to Permission"""
  permissionId: ID!

  """created by"""
  createdByID: ID @deprecated

  """Foreign key to Role"""
  roleId: ID!

  """Document id"""
  id: ID!

  """"""
  role: Role
}

""""""
input ChangeDetailOrderInput {
  """"""
  field: ChangeDetailOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

"""user(Connection)"""
type UserConnection {
  """"""
  edges: [UserEdge!]!

  """"""
  pageInfo: PageInfo!

  """"""
  total: Int
}

"""policyFieldRule(QueryInput)"""
input PolicyFieldRuleQueryInput {
  """"""
  and: [PolicyFieldRuleQueryInput!]

  """"""
  fieldName: StringFilter

  """"""
  id: UUIDFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  or: [PolicyFieldRuleQueryInput!]

  """"""
  not: [PolicyFieldRuleQueryInput!]

  """"""
  sensitivityMode: StringFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  auditPolicyId: UUIDFilter
}

""""""
input AuditPolicyOrderInput {
  """"""
  field: AuditPolicyOrderFieldEnum!

  """"""
  direction: OrderDirectionEnum
}

"""
The Time scalar type represents a Time. The Time is serialized as an `hh:mm` quoted string
"""
scalar Time

"""permission(QueryInput)"""
input PermissionQueryInput {
  """"""
  or: [PermissionQueryInput!]

  """"""
  not: [PermissionQueryInput!]

  """"""
  id: UUIDFilter

  """"""
  key: StringFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  description: StringFilter

  """"""
  and: [PermissionQueryInput!]
}

""""""
input PolicyFieldRuleOrderInput {
  """"""
  direction: OrderDirectionEnum

  """"""
  field: PolicyFieldRuleOrderFieldEnum!
}

"""role(QueryInput)"""
input RoleQueryInput {
  """"""
  name: StringFilter

  """"""
  createdAt: DatetimeFilter

  """"""
  updatedAt: DatetimeFilter

  """"""
  description: StringFilter

  """"""
  and: [RoleQueryInput!]

  """"""
  or: [RoleQueryInput!]

  """"""
  not: [RoleQueryInput!]

  """"""
  id: UUIDFilter
}

""""""
input RoleOrderInput {
  """"""
  direction: OrderDirectionEnum

  """"""
  field: RoleOrderFieldEnum!
}

""""""
input DateFilter {
  """"""
  gt: Date

  """"""
  in: [Date!]

  """"""
  nin: [Date!]

  """"""
  between: DateBetweenFilter

  """"""
  eq: Date

  """"""
  ne: Date

  """"""
  lt: Date

  """"""
  lte: Date

  """"""
  gte: Date
}

""""""
input AuditEntryOrderInput {
  """"""
  direction: OrderDirectionEnum

  """"""
  field: AuditEntryOrderFieldEnum!
}

""""""
input TimeFilter {
  """"""
  gte: Time

  """"""
  gt: Time

  """"""
  lte: Time

  """"""
  lt: Time

  """"""
  eq: Time

  """"""
  ne: Time

  """"""
  in: [Time]

  """"""
  nin: [Time]

  """"""
  between: TimeBetweenFilter
}

""""""
input TimeBetweenFilter {
  """"""
  min: Time

  """"""
  max: Time
}

"""Permission assignment result"""
type AssignPermissionToRoleOutput {
  """Role ID"""
  roleId: String!

  """Assigned permission ID"""
  permissionId: String!
}

"""Role assignment result"""
type AssignRoleToUserOutput {
  """User ID"""
  userId: String!

  """Assigned role ID"""
  roleId: String!
}

"""Created role"""
type CreateRoleOutput {
  """Role ID"""
  id: String!

  """Role name"""
  name: String!

  """Role description"""
  description: String!
}

"""Created user"""
type CreateUserOutput {
  """User ID"""
  id: String!

  """User name"""
  name: String!

  """User email"""
  email: String!

  """User status"""
  status: String!

  """Auto-generated initial password"""
  initialPassword: String!
}

"""Deactivated user"""
type DeactivateUserOutput {
  """User ID"""
  id: String!

  """Updated status"""
  status: String!
}

"""Reactivated user"""
type ReactivateUserOutput {
  """User ID"""
  id: String!

  """Updated status"""
  status: String!
}

"""Permission revocation result"""
type RevokePermissionFromRoleOutput {
  """Role ID"""
  roleId: String!

  """Revoked permission ID"""
  permissionId: String!
}

"""Role revocation result"""
type RevokeRoleFromUserOutput {
  """User ID"""
  userId: String!

  """Revoked role ID"""
  roleId: String!
}

"""Updated profile"""
type UpdateOwnProfileOutput {
  """User ID"""
  id: String!

  """Updated name"""
  name: String!

  """Updated email"""
  email: String!
}

"""Updated user profile"""
type UpdateUserProfileOutput {
  """User ID"""
  id: String!

  """Updated name"""
  name: String!

  """Updated email"""
  email: String!
}

""""""
type Mutation {
  """
  assignPermissionToRole resolver
    
    Returns:
    Permission assignment result
  """
  assignPermissionToRole(
    """Role ID"""
    roleId: String!

    """Permission ID to assign"""
    permissionId: String!
  ): AssignPermissionToRoleOutput!

  """
  assignRoleToUser resolver
    
    Returns:
    Role assignment result
  """
  assignRoleToUser(
    """User ID"""
    userId: String!

    """Role ID to assign"""
    roleId: String!
  ): AssignRoleToUserOutput!

  """
  createRole resolver
    
    Returns:
    Created role
  """
  createRole(
    """Role name"""
    name: String!

    """Role description"""
    description: String
  ): CreateRoleOutput!

  """
  createUser resolver
    
    Returns:
    Created user
  """
  createUser(
    """User name"""
    name: String!

    """User email"""
    email: String!

    """Role IDs to assign"""
    roleIds: [String]
  ): CreateUserOutput!

  """
  deactivateUser resolver
    
    Returns:
    Deactivated user
  """
  deactivateUser(
    """ID of the user to deactivate"""
    userId: String!
  ): DeactivateUserOutput!

  """
  reactivateUser resolver
    
    Returns:
    Reactivated user
  """
  reactivateUser(
    """ID of the user to reactivate"""
    userId: String!
  ): ReactivateUserOutput!

  """
  revokePermissionFromRole resolver
    
    Returns:
    Permission revocation result
  """
  revokePermissionFromRole(
    """Role ID"""
    roleId: String!

    """Permission ID to revoke"""
    permissionId: String!
  ): RevokePermissionFromRoleOutput!

  """
  revokeRoleFromUser resolver
    
    Returns:
    Role revocation result
  """
  revokeRoleFromUser(
    """User ID"""
    userId: String!

    """Role ID to revoke"""
    roleId: String!
  ): RevokeRoleFromUserOutput!

  """
  updateOwnProfile resolver
    
    Returns:
    Updated profile
  """
  updateOwnProfile(
    """New display name"""
    name: String

    """New email address"""
    email: String
  ): UpdateOwnProfileOutput!

  """
  updateUserProfile resolver
    
    Returns:
    Updated user profile
  """
  updateUserProfile(
    """ID of the user to update"""
    userId: String!

    """New display name"""
    name: String

    """New email address"""
    email: String
  ): UpdateUserProfileOutput!

  """Placeholder field (IdP mutation operations are disabled)"""
  _placeholder: Boolean
}

""""""
input _UserQueryInput {
  """"""
  names: [String!]

  """"""
  ids: [ID!]
}

""""""
type _UserConnection {
  """"""
  totalCount: Int

  """"""
  edges: [_UserEdge]

  """"""
  pageInfo: _PageInfo
}

""""""
type _UserEdge {
  """"""
  node: _User

  """"""
  cursor: String
}

""""""
type _User {
  """"""
  createdAt: DateTime!

  """"""
  disabled: Boolean!

  """"""
  id: ID!

  """"""
  name: String!
}

""""""
type _PageInfo {
  """"""
  hasPreviousPage: Boolean!

  """"""
  startCursor: String

  """"""
  endCursor: String

  """"""
  hasNextPage: Boolean!
}