# -----------------------------------------------
# !!! THIS FILE WAS GENERATED BY TYPE-GRAPHQL !!!
# !!!   DO NOT MODIFY THIS FILE BY YOURSELF   !!!
# -----------------------------------------------

input APIDocCompletionInput {
  code: String!
  language: String
}

type APIDocCompletionOutput {
  message: String
}

"""Represents a pair of access and refresh tokens."""
type AccessToken {
  """The access token for API authentication."""
  accesToken: String!

  """The refresh token to obtain a new access token."""
  refreshToken: String!
}

"""Entity for ActionPlan"""
type ActionPlan {
  active: Boolean
  content: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain
  id: ID!
  issue: Issue!
  name: String
  params: String
  state: String
  thumbnail: String
  updatedAt: DateTimeISO
  updater: User
}

type ActionPlanList {
  items: [ActionPlan!]!
  total: Int!
}

input ActionPlanPatch {
  active: Boolean
  cuFlag: String
  description: String
  id: ID
  name: String
  state: ActionPlanStatus
  thumbnail: Upload
}

"""state enumeration of a actionPlan"""
enum ActionPlanStatus {
  STATUS_A
  STATUS_B
}

"""
A flexible scalar type that can represent any GraphQL value, including String, Boolean, Int, Float, Object, or List. Use this type for fields or arguments that may accept or return various data types.
"""
scalar Any

"""
Represents a user that is bound to a specific application, with an associated scope and refresh token.
"""
type AppBinding {
  """The application to which the user is bound."""
  application: Application

  """Timestamp when the user account was created."""
  createdAt: DateTimeISO
  creator: User!

  """Optional description or note about the user."""
  description: String

  """Domains (organizations, companies, etc.) the user belongs to."""
  domains: [Domain!]!

  """Email address of the user."""
  email: EmailAddress!

  """Unique identifier for the user."""
  id: ID!

  """Locale or language preference for the user."""
  locale: String

  """Full name of the user."""
  name: String

  """Whether the user is the owner of the domain (not persisted in DB)."""
  owner: Boolean

  """Reference information for the user (external system, etc.)."""
  reference: String

  """The refresh token for the application."""
  refreshToken: String

  """Roles assigned to the user."""
  roles: [Role!]!

  """The scope of access granted to the application."""
  scope: String

  """Single sign-on (SSO) identifier for federated authentication."""
  ssoId: String

  """Current status of the user account."""
  status: String!

  """Timestamp when the user account was last updated."""
  updatedAt: DateTimeISO
  updater: User!

  """Type or category of the user (e.g., user, application, appliance)."""
  userType: String

  """Unique username for the user."""
  username: String

  """External authentication providers linked to the user."""
  usersAuthProviders: [UsersAuthProviders!]
}

"""A paginated list of application bindings."""
type AppBindingList {
  """The list of application binding items."""
  items: [AppBinding!]

  """The total number of application bindings."""
  total: Int
}

"""
Represents a physical or virtual appliance that can be managed by the system.
"""
type Appliance {
  """The access token for the appliance."""
  accessToken: String

  """The brand or manufacturer of the appliance."""
  brand: String

  """The timestamp when the appliance was created."""
  createdAt: DateTimeISO

  """The user who created the appliance."""
  creator: User

  """A description of the appliance."""
  description: String

  """The domain to which the appliance belongs."""
  domain: Domain!

  """Unique identifier for the appliance."""
  id: ID!

  """The model of the appliance."""
  model: String

  """The name of the appliance."""
  name: String!

  """The network mask of the appliance."""
  netmask: String

  """The serial number of the appliance."""
  serialNo: String

  """The timestamp when the appliance was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the appliance."""
  updater: User
}

"""A paginated list of appliances."""
type ApplianceList {
  """The list of appliance items."""
  items: [Appliance!]

  """The total number of appliances."""
  total: Int
}

"""Input for updating (patching) an existing appliance."""
input AppliancePatch {
  """The new brand for the appliance."""
  brand: String

  """The new description for the appliance."""
  description: String

  """The unique identifier of the appliance to update."""
  id: ID

  """The new model for the appliance."""
  model: String

  """The new name for the appliance."""
  name: String

  """The new network mask for the appliance."""
  netmask: String

  """The new serial number for the appliance."""
  serialNo: String
}

"""
Represents a third-party application that can be integrated with the system.
"""
type Application {
  accessTokenUrl: String!

  """The unique key for the application (client ID)."""
  appKey: String

  """The secret key for the application (client secret)."""
  appSecret: String
  authUrl: String!
  availableScopes: String!

  """The timestamp when the application was created."""
  createdAt: DateTimeISO

  """The user who created the application."""
  creator: User

  """A description of the application."""
  description: String

  """The domain to which the application belongs."""
  domain: Domain!

  """The contact email for the application."""
  email: EmailAddress!

  """A URL to the icon for the application."""
  icon: String

  """Unique identifier for the application."""
  id: ID!

  """The name of the application."""
  name: String!

  """The redirect URL for OAuth2 flows."""
  redirectUrl: String!

  """The status of the application (e.g., DRAFT, ACTIVATED)."""
  status: String!

  """The type of the application."""
  type: String!

  """The timestamp when the application was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the application."""
  updater: User

  """The URL of the application."""
  url: String!

  """The webhook URL for the application to receive events."""
  webhook: String
}

"""A paginated list of applications."""
type ApplicationList {
  """The list of application items."""
  items: [Application!]

  """The total number of applications."""
  total: Int
}

"""Input for updating (patching) an existing application."""
input ApplicationPatch {
  """The new description for the application."""
  description: String

  """The new contact email for the application."""
  email: EmailAddress

  """The new icon URL for the application."""
  icon: String

  """The new name for the application."""
  name: String

  """The new redirect URL for the application."""
  redirectUrl: String

  """The new type for the application."""
  type: ApplicationType

  """The new URL for the application."""
  url: String

  """The new webhook URL for the application."""
  webhook: String
}

"""The type of an application."""
enum ApplicationType {
  MMS
  OTHERS
  SELLERCRAFT
  SFTP
  XERO
  XILNEX
}

"""Entity for ApprovalLine"""
type ApprovalLine {
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  model: [ApprovalLineItem!]
  name: String
  owner: ApprovalLineOwner
  ownerEmployee: Employee
  ownerType: String
  ownerValue: String
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for approval line item"""
type ApprovalLineItem {
  approver: OrgMemberTarget
  type: String
  value: String
}

type ApprovalLineList {
  items: [ApprovalLine!]!
  total: Int!
}

type ApprovalLineOwner {
  controlNo: String

  """Field description"""
  description: String

  """Field id"""
  id: ID!

  """Field name"""
  name: String
}

"""type enumeration of a approvalLineOwner"""
enum ApprovalLineOwnerType {
  Common
  Employee
}

input ApprovalLinePatch {
  cuFlag: String
  description: String
  id: ID
  model: Object
  name: String
  owner: ObjectRefApprovalLineOwnerType
  ownerType: ApprovalLineOwnerType
}

type Attachment {
  category: String
  createdAt: DateTimeISO!
  creator: User
  description: String
  domain: Domain!
  encoding: String!
  fullpath: String!
  id: ID!
  mimetype: String!
  name: String!
  path: String!
  refBy: String
  refType: String
  size: String!
  tags: Object
  updatedAt: DateTimeISO!
  updater: User
}

type AttachmentList {
  items: [Attachment!]!
  total: Int!
}

input AttachmentPatch {
  category: String
  description: String
  encoding: String
  file: Upload
  mimetype: String
  name: String
  refBy: String
  refType: String
  tags: Object
}

"""
Represents an AttributeSet entity, which defines a set of attributes for a specific entity type.
"""
type AttributeSet {
  """The date and time when this AttributeSet was created."""
  createdAt: DateTimeISO

  """A description of the AttributeSet."""
  description: String

  """The name of the entity this AttributeSet is associated with."""
  entity: String

  """The unique identifier of the AttributeSet."""
  id: ID!

  """A list of items (attributes) included in this AttributeSet."""
  items: [AttributeSetItem!]

  """The date and time when this AttributeSet was last updated."""
  updatedAt: DateTimeISO
}

"""
Represents an item (attribute) within an AttributeSet, including its type, options, and metadata.
"""
type AttributeSetItem {
  """Whether the attribute item is active."""
  active: Boolean

  """A description of the attribute item."""
  description: String

  """Whether the attribute item is hidden."""
  hidden: Boolean

  """The name of the attribute item."""
  name: String!

  """Options or additional settings for the attribute item."""
  options: Object

  """A tag for categorizing or identifying the attribute item."""
  tag: String

  """The type of the attribute item (e.g., number, text, boolean)."""
  type: AttributeSetItemType
}

"""Input type for creating or updating an AttributeSetItem."""
input AttributeSetItemPatch {
  """Whether the attribute item is active."""
  active: Boolean

  """A description of the attribute item."""
  description: String

  """Whether the attribute item is hidden."""
  hidden: Boolean

  """The name of the attribute item."""
  name: String

  """Options or additional settings for the attribute item."""
  options: Object

  """A tag for categorizing or identifying the attribute item."""
  tag: String

  """The type of the attribute item (e.g., number, text, boolean)."""
  type: AttributeSetItemType
}

"""
Enumeration of possible types for an attribute set item, such as number, text, boolean, select, date, datetime, or file.
"""
enum AttributeSetItemType {
  boolean
  date
  datetime
  file
  number
  secret
  select
  text
}

"""A paginated list of AttributeSet entities."""
type AttributeSetList {
  """The list of AttributeSet entities."""
  items: [AttributeSet!]!

  """The total number of AttributeSet entities."""
  total: Int!
}

"""Input type for updating an existing AttributeSet entity."""
input AttributeSetPatch {
  """A flag indicating create/update operation."""
  cuFlag: String

  """A description of the AttributeSet."""
  description: String

  """The name of the entity this AttributeSet is associated with."""
  entity: String

  """The unique identifier of the AttributeSet."""
  id: ID

  """A list of items (attributes) to update in this AttributeSet."""
  items: [AttributeSetItemPatch!]
}

"""
Represents a configured instance of an authentication provider for a specific domain.
"""
type AuthProvider {
  """Indicates whether this authentication provider is currently active."""
  active: Boolean

  """Client ID for OAuth/OIDC providers."""
  clientId: String

  """Client secret for OAuth/OIDC providers (stored encrypted)."""
  clientSecret: String

  """The timestamp when this provider instance was created."""
  createdAt: DateTimeISO

  """The user who created this provider instance."""
  creator: User

  """The domain to which this authentication provider belongs."""
  domain: Domain!

  """Unique identifier for the configured authentication provider."""
  id: ID!

  """A key-value map for additional provider-specific parameters."""
  params: Object

  """Private key, used by some authentication providers (stored encrypted)."""
  privateKey: String

  """Tenant ID, used by some multi-tenant authentication providers."""
  tenantId: String

  """The type of the authentication provider (e.g., keycloak, google)."""
  type: String

  """The timestamp when this provider instance was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated this provider instance."""
  updater: User

  """A list of user-provider associations for this provider."""
  usersAuthProviders: [UsersAuthProviders!]
}

"""A paginated list of configured authentication provider instances."""
type AuthProviderList {
  """The list of authentication provider items."""
  items: [AuthProvider!]!

  """The total number of authentication providers."""
  total: Int!
}

"""
Describes a single configuration parameter for an authentication provider.
"""
type AuthProviderParameterSpec {
  """The human-readable label for the parameter, shown in UI."""
  label: String!

  """The name of the parameter, used as the key in the params object."""
  name: String!

  """Placeholder text for the input field."""
  placeholder: String

  """Additional properties for the parameter (e.g., min, max)."""
  property: Object

  """CSS styles for the input field."""
  styles: Object

  """The data type of the parameter (e.g., text, number, boolean)."""
  type: String!
}

"""
Input for updating (patching) an existing authentication provider instance.
"""
input AuthProviderPatch {
  """The new active status for the provider."""
  active: Boolean

  """The new client ID for the provider."""
  clientId: String

  """The new client secret for the provider."""
  clientSecret: String

  """
  A flag indicating whether the provider is being created, updated, or deleted.
  """
  cuFlag: String

  """The unique identifier of the provider instance to update."""
  id: ID

  """The new provider-specific parameters."""
  params: Object

  """The new private key for the provider."""
  privateKey: String

  """The new tenant ID for the provider."""
  tenantId: String

  """The new type for the provider."""
  type: String
}

"""Describes a type of authentication provider available in the system."""
type AuthProviderType {
  """A brief description of the authentication provider."""
  description: String

  """Helpful information or a link to documentation for the provider."""
  help: String

  """
  A list of parameters required to configure this authentication provider.
  """
  parameterSpec: [AuthProviderParameterSpec!]

  """
  The unique type name of the authentication provider (e.g., keycloak, google).
  """
  type: String!
}

"""A list of available authentication provider types."""
type AuthProviderTypeList {
  """The list of authentication provider type items."""
  items: [AuthProviderType!]!

  """The total number of authentication provider types."""
  total: Int!
}

"""Represents a visual dashboard or display board."""
type Board {
  """The timestamp when the board was created."""
  createdAt: DateTimeISO

  """The user who created the board."""
  creator: User

  """The timestamp when the board was soft-deleted."""
  deletedAt: DateTimeISO

  """A detailed description of the board."""
  description: String

  """The domain to which this board belongs."""
  domain: Domain

  """The group to which this board belongs."""
  group: Group

  """Unique identifier for the board."""
  id: ID

  """The JSON model defining the layout and components of the board."""
  model: String

  """The name of the board."""
  name: String!

  """A list of play groups that this board is a part of."""
  playGroups: [PlayGroup!]

  """The state of the board, can be 'draft' or 'released'."""
  state: String

  """A base64 encoded thumbnail image of the board."""
  thumbnail: String

  """The type of the board, can be 'main', 'sub', or 'popup'."""
  type: String

  """The timestamp when the board was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the board."""
  updater: User

  """The version of the board model."""
  version: Float
}

"""Represents a board that a user has marked as a favorite."""
type BoardFavorite {
  """The timestamp when the board was created."""
  createdAt: DateTimeISO

  """The user who created the board."""
  creator: User

  """The timestamp when the board was soft-deleted."""
  deletedAt: DateTimeISO

  """A detailed description of the board."""
  description: String

  """The domain to which this board belongs."""
  domain: Domain

  """The unique identifier for the favorite marking itself."""
  favoriteId: String

  """The group to which this board belongs."""
  group: Group

  """Unique identifier for the board."""
  id: ID

  """The JSON model defining the layout and components of the board."""
  model: String

  """The name of the board."""
  name: String!

  """A list of play groups that this board is a part of."""
  playGroups: [PlayGroup!]

  """The state of the board, can be 'draft' or 'released'."""
  state: String

  """A base64 encoded thumbnail image of the board."""
  thumbnail: String

  """The type of the board, can be 'main', 'sub', or 'popup'."""
  type: String

  """The timestamp when the board was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the board."""
  updater: User

  """The version of the board model."""
  version: Float
}

"""A paginated list of favorite boards."""
type BoardFavoriteList {
  """The list of favorite board items."""
  items: [BoardFavorite!]!

  """The total number of favorite boards."""
  total: Int!
}

"""Stores historical versions of board entities."""
type BoardHistory {
  """
  The action that created this history record (e.g., created, updated, deleted).
  """
  action: String!

  """The creation timestamp of the original board."""
  createdAt: DateTimeISO

  """The user who created the original board."""
  creator: User

  """The deletion timestamp of the board, if applicable."""
  deletedAt: DateTimeISO

  """The description of the board at this point in history."""
  description: String

  """The domain this board belonged to."""
  domain: Domain

  """The group the board belonged to at this point in history."""
  group: Group

  """Unique identifier for the board history record."""
  id: ID!

  """The JSON model of the board at this point in history."""
  model: String

  """The name of the board at this point in history."""
  name: String!

  """The ID of the original board entity this history record belongs to."""
  originalId: String!

  """The play groups the board was part of at this point in history."""
  playGroups: [PlayGroup!]

  """
  The base64 encoded thumbnail image of the board at this point in history.
  """
  thumbnail: String

  """
  The type of the board at this point in history, can be 'main', 'sub', or 'popup'.
  """
  type: String

  """The last update timestamp of the board at this point in history."""
  updatedAt: DateTimeISO

  """The user who made the changes recorded in this history entry."""
  updater: User

  """The version number of this board history record."""
  version: Float
}

"""A paginated list of boards."""
type BoardList {
  """The list of board items."""
  items: [Board!]!

  """The total number of boards."""
  total: Int!
}

"""Input for updating (patching) an existing board."""
input BoardPatch {
  """The new description for the board."""
  description: String

  """The new group ID for the board."""
  groupId: String

  """The new JSON model for the board."""
  model: String

  """The new name for the board."""
  name: String

  """The new base64 encoded thumbnail image for the board."""
  thumbnail: String

  """The new type for the board, can be 'main', 'sub', or 'popup'."""
  type: String
}

type BoardSetting {
  board: Board!
  id: ID!
  name: String!
  value: String!
}

"""A reusable template for creating new boards."""
type BoardTemplate {
  """The timestamp when the template was created."""
  createdAt: DateTimeISO

  """The user who created the template."""
  creator: User

  """A detailed description of the board template."""
  description: String

  """The domain to which this template belongs."""
  domain: Domain!

  """Unique identifier for the board template."""
  id: ID!
  mine: Boolean!

  """The JSON model that defines the layout and components of the template."""
  model: String

  """The name of the board template."""
  name: String

  """A list of tags for categorizing the template."""
  tags: [String!]

  """A base64 encoded thumbnail image of the template."""
  thumbnail: String

  """The timestamp when the template was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the template."""
  updater: User

  """The visibility of the template: 'private', 'public', or 'domain'."""
  visibility: String
}

"""A paginated list of board templates."""
type BoardTemplateList {
  """The list of board template items."""
  items: [BoardTemplate!]!

  """The total number of board templates."""
  total: Int!
}

"""Input for updating (patching) an existing board template."""
input BoardTemplatePatch {
  """
  A flag indicating whether the template is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the board template."""
  description: String

  """The unique identifier of the board template to update."""
  id: ID

  """The new JSON model for the board template."""
  model: String

  """The new name for the board template."""
  name: String

  """The new base64 encoded thumbnail image for the board template."""
  thumbnail: String

  """The new visibility for the board template: 'private' or 'public'."""
  visibility: String
}

"""동 정보"""
type Building {
  basementFloorCount: Float
  buildingComplex: BuildingComplex
  buildingLevels: [BuildingLevel!]
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  drawing: Attachment
  floorCount: Float
  hasBasement: Boolean
  id: ID!
  name: String
  updatedAt: DateTimeISO
  updater: User
}

"""단지 정보"""
type BuildingComplex {
  address: String
  area: Float
  buildingCount: Float
  buildings: [Building!]
  clientCompany: String
  constructionCompany: String
  constructionCost: Float
  constructionType: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  designCompany: String
  domain: Domain
  drawing: Attachment
  etc: String
  householdCount: Float
  id: ID!
  latitude: Float
  longitude: Float
  notice: String
  overallConstructorEmails: [String!]
  overallSupervisoryEmails: [String!]
  planXScale: Float
  planYScale: Float
  supervisoryCompany: String
  taskConstructorEmails: [String!]
  taskSupervisoryEmails: [String!]
  updatedAt: DateTimeISO
  updater: User
  virtualTourLink: String
}

input BuildingComplexPatch {
  address: String
  area: Float
  buildingCount: Float
  buildings: [BuildingPatch!]
  clientCompany: String
  constructionCompany: String
  constructionCost: Float
  constructionType: String
  designCompany: String
  drawingUpload: Upload
  etc: String
  householdCount: Float
  id: String
  latitude: Float
  longitude: Float
  notice: String
  overallConstructorEmails: [String!]
  overallSupervisoryEmails: [String!]
  planXScale: Float
  planYScale: Float
  supervisoryCompany: String
  taskConstructorEmails: [String!]
  taskSupervisoryEmails: [String!]
  virtualTourLink: String
}

type BuildingInspection {
  attachments: [Attachment!]!
  buildingInspectionSummary: BuildingInspectionSummary!
  buildingLevel: BuildingLevel
  cellX: Float
  cellY: Float
  checklist: Checklist
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  drawingMarker: String
  id: ID!
  manager: ProjectManagerOutput
  memo: String
  projectType: String
  requestDate: String
  status: String
  updatedAt: DateTimeISO
  updater: User
  worklog: BuildingInspectionDailyWorklog
}

"""Entity for BuildingInspectionDailyWorklog"""
type BuildingInspectionDailyWorklog {
  buildingInspections: [BuildingInspection!]
  createdAt: DateTimeISO
  creator: User
  date: String
  deletedAt: DateTimeISO
  directiveMemo: String
  documentNo: String
  domain: Domain
  id: ID
  memo: String
  projectId: String!
  updatedAt: DateTimeISO
  updater: User
  worklogs: Object
}

input BuildingInspectionDailyWorklogNew {
  buildingInspectionIds: [String!]
  date: String!
  directiveMemo: String
  memo: String
  projectId: String!
  worklogs: Object
}

input BuildingInspectionDailyWorklogPatch {
  directiveMemo: String
  id: ID!
  memo: String
  worklogs: Object
}

type BuildingInspectionList {
  items: [BuildingInspection!]!
  total: Int!
}

type BuildingInspectionSummary {
  """검측 실패 수"""
  fail: Int!

  """검측 통과 수"""
  pass: Int!

  """검측 요청 수"""
  request: Int!

  """요청일자"""
  requestDate: String

  """검측 대기 수"""
  wait: Int!
}

type BuildingInspectionSummaryOfLevel {
  """검측 실패 수"""
  fail: Int!

  """검측 통과 수"""
  pass: Int!

  """검측 요청 수"""
  request: Int!

  """검측 대기 수"""
  wait: Int!
}

input BuildingInspectionsOfBuildingLevel {
  buildingLevelId: String!
  endDate: String
  limit: Float
  startDate: String
}

input BuildingInspectionsOfProject {
  limit: Float
  projectId: String!
}

"""층 정보"""
type BuildingLevel {
  building: Building!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  elevationDrawing: Attachment
  elevationDrawingThumbnail: String
  etcDrawings: [Attachment!]
  floor: Float!

  """층 표시명 (예: 1층 = 1, 지하 1층 = 지하 1)"""
  floorDisplayName: String
  id: ID!
  inspectionSummary: BuildingInspectionSummaryOfLevel!
  mainDrawing: Attachment
  mainDrawingImage: String
  mainDrawingThumbnail: String
  noticeCount: Float!
  rebarDistributionDrawing: Attachment
  rebarDistributionDrawingThumbnail: String
  updatedAt: DateTimeISO
  updater: User
}

input BuildingLevelPatch {
  elevationDrawingUpload: Upload
  etcDrawingIds: [String!]
  etcDrawingsUpload: [Upload!]
  floor: Float!
  id: ID
  mainDrawingUpload: Upload
  rebarDistributionDrawingUpload: Upload
}

input BuildingPatch {
  basementFloorCount: Float
  buildingLevels: [BuildingLevelPatch!]
  drawingUpload: Upload
  floorCount: Float
  hasBasement: Boolean
  id: ID
  name: String
}

input ChatCompletionInput {
  content: String!
}

type ChatCompletionOutput {
  message: String
}

type Checklist {
  buildingInspection: BuildingInspection!
  checklistItems: [ChecklistItem!]!
  checklistReferenceType: String
  constructionDetailType: String
  constructionInspectionDate: DateTimeISO
  constructionType: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  documentNo: String
  id: ID!
  inspectionDrawingType: String
  inspectionParts: [String!]
  inspectionRequestDocumentNo: String
  inspectionRequestMemo: String
  inspectionRequestUpdatedAt: DateTimeISO
  inspectionResultDocumentNo: String
  inspectionResultMemo: String
  inspectionResultStatus: String
  inspectionResultType: String
  inspectionResultUpdatedAt: DateTimeISO
  location: String
  name: String
  nameListAttachment: Attachment

  """총괄 시공 책임자"""
  overallConstructor: User
  overallConstructorSignature: String

  """총괄 감리 책임자"""
  overallSupervisory: User
  overallSupervisorySignature: String
  projectType: String
  supervisorInspectionDate: DateTimeISO

  """공종별 시공 관리자"""
  taskConstructor: User
  taskConstructorSignature: String

  """건축사보 (공종별 감리 관리자)"""
  taskSupervisory: User
  taskSupervisorySignature: String
  updatedAt: DateTimeISO
  updater: User
}

input ChecklistInputType {
  constructionDetailType: String
  constructionType: String
  inspectionDrawingType: String
  inspectionParts: [String!]
  location: String
  name: String!
}

type ChecklistItem {
  checklist: Checklist
  checklistItemAttachmentCount: Float!
  checklistItemAttachments(description: String): [Attachment!]!
  checklistItemCommentCount: Float!
  checklistItemComments: [ChecklistItemComment!]!
  constructionConfirmStatus: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  detailType: String!
  id: ID!
  inspctionCriteria: String
  mainType: String!
  name: String
  sequence: Int
  supervisoryConfirmStatus: String
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for ChecklistItemComment"""
type ChecklistItemComment {
  checklistItem: ChecklistItem
  comment: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  id: ID!
}

input ChecklistItemCommentPatch {
  checklistItemId: String
  comment: String
  id: ID
}

input ChecklistItemInputType {
  detailType: String!
  inspctionCriteria: String
  mainType: String!
  name: String!
}

type ChecklistItemList {
  items: [ChecklistItem!]!
  total: Int!
}

input ChecklistItemSubmitInputType {
  constructionConfirmStatus: String
  id: String!
  supervisoryConfirmStatus: String
}

type ChecklistList {
  items: [Checklist!]!
  total: Int!
}

input ChecklistSubmitInputType {
  id: String!
  inspectionRequestMemo: String
  inspectionResultMemo: String
  inspectionResultStatus: String
  inspectionResultType: String
  overallConstructorSignature: String
  overallSupervisorySignature: String
  taskConstructorSignature: String
  taskSupervisorySignature: String
}

type ChecklistTemplate {
  checklistTemplateItems: [ChecklistTemplateItem!]!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  domain: Domain
  id: ID!
  name: String
  updatedAt: DateTimeISO
  updater: User
}

type ChecklistTemplateItem {
  checklistTemplate: ChecklistTemplate
  createdAt: DateTimeISO
  creator: User
  detailType: String!
  detailTypeName: String!
  id: ID!
  inspctionCriteria: String
  mainType: String!
  name: String!
  sequence: Int
  updatedAt: DateTimeISO
  updater: User
}

type ChecklistTemplateItemList {
  items: [ChecklistTemplateItem!]!
  total: Int!
}

input ChecklistTemplateItemPatch {
  checklistTemplateId: String
  cuFlag: String
  detailType: String
  id: ID
  inspctionCriteria: String
  mainType: String
  name: String
  sequence: Int
}

type ChecklistTemplateList {
  items: [ChecklistTemplate!]!
  total: Int!
}

input ChecklistTemplatePatch {
  cuFlag: String
  id: ID
  name: String
}

type ChecklistType {
  createdAt: DateTimeISO
  creator: User
  detailType: String!
  domain: Domain
  id: ID!
  mainType: String!
  updatedAt: DateTimeISO
  updater: User
}

type ChecklistTypeList {
  items: [ChecklistType!]!
  total: Int!
}

input ChecklistTypePatch {
  cuFlag: String
  detailType: String
  id: ID
  mainType: String
}

input CodeDecipherInput {
  code: String!
  language: String
  system: String
}

type CodeDecipherOutput {
  message: String
}

"""Entity for CommonCode"""
type CommonCode {
  createdAt: DateTimeISO
  creator: User
  description: String
  details: [CommonCodeDetail!]!
  domain: Domain!
  id: ID!
  name: String!
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for CommonCodeDetail"""
type CommonCodeDetail {
  commonCode: CommonCode
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  labels: Object
  name: String!
  rank: Float
  updatedAt: DateTimeISO
  updater: User
}

type CommonCodeDetailList {
  items: [CommonCodeDetail!]!
  total: Int!
}

input CommonCodeDetailPatch {
  commonCode: ObjectRef!
  cuFlag: String
  description: String
  id: ID
  labels: Object
  name: String
  rank: Float
}

type CommonCodeList {
  items: [CommonCode!]!
  total: Int!
}

input CommonCodePatch {
  cuFlag: String
  description: String
  details: [String!]
  id: ID
  name: String
}

"""Represents a configured connection to an external system or service."""
type Connection {
  """Whether to automatically connect when the application starts"""
  active: Boolean

  """The timestamp when the connection was created."""
  createdAt: DateTimeISO

  """The user who created the connection."""
  creator: User

  """A detailed description of the connection."""
  description: String

  """The domain to which this connection belongs."""
  domain: Domain

  """The edge appliance that delegates this connection, if any."""
  edge: Appliance

  """The endpoint URL or address for the connection."""
  endpoint: String

  """Unique identifier for the connection."""
  id: ID!

  """The name of the connection."""
  name: String!

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """A key-value map of parameters for the connection."""
  params: Object

  """The current status of the connection (e.g., CONNECTED, DISCONNECTED)."""
  state: String

  """The type of the connection (e.g., tcp, http, mqtt)."""
  type: String

  """The timestamp when the connection was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the connection."""
  updater: User
}

"""A paginated list of connections."""
type ConnectionList {
  """The list of connection items."""
  items: [Connection!]!

  """The total number of connections."""
  total: Int!
}

"""Input for updating (patching) an existing connection."""
input ConnectionPatch {
  """Whether to automatically connect when the application starts"""
  active: Boolean

  """
  A flag indicating whether the connection is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the connection."""
  description: String

  """The new edge appliance for the connection."""
  edge: ObjectRef

  """The new endpoint for the connection."""
  endpoint: String

  """The unique identifier of the connection to update."""
  id: ID

  """The new name for the connection."""
  name: String

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """The new parameters for the connection."""
  params: Object

  """The new type for the connection."""
  type: String
}

"""Represents the state of a connection at a point in time."""
type ConnectionState {
  """The description of the connection."""
  description: String

  """The domain of the connection."""
  domain: Domain!

  """The edge appliance associated with the connection."""
  edge: Appliance

  """The unique identifier of the connection."""
  id: String

  """The name of the connection."""
  name: String

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """The current status of the connection."""
  state: String

  """The timestamp when this state was recorded."""
  timestamp: DateTimeISO

  """The type of the connection."""
  type: String
}

"""A paginated list of connector types."""
type ConnectorList {
  """The list of connector type items."""
  items: [ConnectorType!]!

  """The total number of connector types."""
  total: Int!
}

"""
Describes a type of connector, which handles communication for a specific protocol.
"""
type ConnectorType {
  """A brief description of the connector."""
  description: String

  """A URL or text providing more detailed help information."""
  help: String

  """The unique name of the connector type."""
  name: String!

  """A list of parameters required to configure this connector type."""
  parameterSpec: [PropertySpec!]

  """A list of task prefixes that this connector can handle."""
  taskPrefixes: [String!]
}

"""세부 공종 타입"""
type ConstructionDetailType {
  constructionType: ConstructionType
  createdAt: DateTimeISO
  creator: User
  id: ID!
  name: String
  sequence: Int
  updatedAt: DateTimeISO
  updater: User
}

type ConstructionDetailTypeList {
  items: [ConstructionDetailType!]!
  total: Int!
}

input ConstructionDetailTypePatch {
  cuFlag: String
  id: ID
  name: String
  sequence: Int
}

"""공종 타입"""
type ConstructionType {
  constructionDetailTypes: [ConstructionDetailType!]
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain
  id: ID!
  name: String
  updatedAt: DateTimeISO
  updater: User
}

type ConstructionTypeList {
  items: [ConstructionType!]!
  total: Int!
}

input ConstructionTypePatch {
  cuFlag: String
  description: String
  id: ID
  name: String
}

"""Entity for Contact"""
type Contact {
  address: String
  company: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  department: String
  domain: Domain!
  email: EmailAddress
  id: ID!
  items: [ContactItem!]
  name: String
  note: String
  phone: String
  profile: Profile
  updatedAt: DateTimeISO
  updater: User
}

type ContactItem {
  label: String!
  type: String!
  value: String!
}

input ContactItemPatch {
  label: String!
  type: String!
  value: String!
}

type ContactList {
  items: [Contact!]!
  total: Int!
}

input ContactPatch {
  address: String
  company: String
  cuFlag: String
  department: String
  email: EmailAddress
  id: ID
  items: [ContactItemPatch!]
  name: String
  note: String
  phone: String
  profile: ProfileInput
}

"""
Represents a data payload delivered via subscription, including its domain, tag, and content.
"""
type Data {
  """The actual data content delivered by the subscription."""
  data: Object

  """The domain where the data originated."""
  domain: Domain

  """
  The tag name attached to the data, used for filtering and identification.
  """
  tag: String!
}

"""
A custom scalar type for representing date values. Accepts and serializes dates as either timestamps (milliseconds since epoch) or ISO date strings. Use this type for fields or arguments that require date-only values without time components.
"""
scalar Date

"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.This scalar is serialized to a string in ISO 8601 format and parsed from a string in ISO 8601 format.
"""
scalar DateTimeISO

"""Entity for Department"""
type Department {
  active: Boolean
  children(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): [Department!]!
  controlNo: String!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain!
  extension: String
  id: ID!
  manager: Employee
  members: [Employee!]!
  name: String
  parent: Department
  picture: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
}

type DepartmentList {
  items: [Department!]!
  total: Int!
}

input DepartmentPatch {
  active: Boolean
  controlNo: String
  cuFlag: String
  description: String
  id: ID
  manager: ObjectRefForEmployee
  name: String
  parent: ObjectRef
  picture: Upload
}

type DigestedResource {
  """할당량"""
  allocated: Float

  """자원 유형"""
  type: String
}

"""
Represents a domain entity, which is a logical grouping of users, roles, and resources within the system.
"""
type Domain {
  """Additional attributes associated with the domain."""
  attributes: Object

  """The brand image URL associated with the domain, if any."""
  brandImage: String

  """The brand name associated with the domain, if any."""
  brandName: String

  """The child domains, if any, under this domain."""
  children: Domain

  """The content image URL associated with the domain, if any."""
  contentImage: String

  """The date and time when the domain was created."""
  createdAt: DateTimeISO

  """The date and time when the domain was deleted, if applicable."""
  deletedAt: DateTimeISO

  """A description of the domain."""
  description: String

  """The environment variables associated with the domain."""
  envVars: [EnvVar!]

  """The external type of the domain, if applicable."""
  extType: String

  """The unique identifier of the domain."""
  id: ID!

  """A list of IPs and their associated access levels for the domain."""
  iplist: Object

  """The name of the domain."""
  name: String!

  """The owner of the domain, if applicable."""
  owner: String
  ownerUser: User

  """The parent domain, if this domain is a subdomain."""
  parent: Domain

  """The subdomain of the domain, if applicable."""
  subdomain: String

  """
  A flag indicating if the domain is a system domain. Deprecated, use `parent` instead.
  """
  systemFlag: Boolean

  """The theme associated with the domain, if any."""
  theme: String

  """The timezone of the domain, if applicable."""
  timezone: String

  """The date and time when the domain was last updated."""
  updatedAt: DateTimeISO
}

"""Input for generating a new domain."""
input DomainGeneratorInput {
  """A description for the new domain."""
  description: String

  """The name of the new domain."""
  name: String!
}

"""
Input type for creating a new domain entity, including name, description, and extended entity type.
"""
input DomainInput {
  """A description of the domain."""
  description: String

  """
  The 'extType' field stands for 'extended entity type' and specifies the business or organizational category this domain represents, such as company, department, factory, or project.
  """
  extType: String

  """The name of the domain."""
  name: String!
}

"""Represents a typed relationship between two domains."""
type DomainLink {
  """The timestamp when the domain link was created."""
  createdAt: DateTimeISO!

  """The user who created the domain link."""
  creator: User

  """Unique identifier for the domain link."""
  id: ID!

  """The source domain in the relationship."""
  sourceDomain: Domain!

  """The target domain in the relationship."""
  targetDomain: Domain!

  """The type of the relationship (e.g., has, maintains, owns)."""
  type: String!

  """The timestamp when the domain link was last updated."""
  updatedAt: DateTimeISO!

  """The user who last updated the domain link."""
  updater: User
}

"""A paginated list of domain links."""
type DomainLinkList {
  """The list of domain link items."""
  items: [DomainLink!]!

  """The total number of domain links."""
  total: Int!
}

"""Input for updating (patching) an existing domain link."""
input DomainLinkPatch {
  """
  A flag indicating whether the link is being created, updated, or deleted.
  """
  cuFlag: String

  """The unique identifier of the domain link to update."""
  id: ID!

  """The new source domain for the relationship."""
  sourceDomain: ObjectRef

  """The new target domain for the relationship."""
  targetDomain: ObjectRef

  """The new type for the relationship."""
  type: String
}

type DomainList {
  items: [Domain!]
  total: Int
}

"""Input type for updating an existing domain entity."""
input DomainPatch {
  """Additional attributes for the domain in key-value pairs."""
  attributes: Object

  """The brand image URL for the domain."""
  brandImage: String

  """The brand name associated with the domain."""
  brandName: String

  """The content image URL for the domain."""
  contentImage: String

  """A description of the domain."""
  description: String

  """
  The 'extType' field stands for 'extended entity type' and specifies the business or organizational category this domain represents, such as company, department, factory, or project.
  """
  extType: String

  """The unique identifier of the domain."""
  id: String

  """The name of the domain."""
  name: String

  """The unique identifier of the domain owner."""
  owner: String

  """A reference to the parent domain, if any."""
  parent: ObjectRef

  """The subdomain associated with the domain."""
  subdomain: String

  """A flag indicating if the domain is a system domain."""
  systemFlag: Boolean

  """The theme associated with the domain."""
  theme: String

  """The timezone setting for the domain."""
  timezone: String
}

"""
Input for the domain creation wizard, including domain, users, and roles.
"""
input DomainUserRoleInput {
  """The details of the new domain to be created."""
  domain: DomainInput!

  """A list of new roles to be created within the domain."""
  roles: [NewRole!]!

  """A list of new users to be created within the domain."""
  users: [NewUserByDomainWizardInput!]!
}

"""
A field whose value conforms to the standard internet email address format as specified in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address.
"""
scalar EmailAddress @specifiedBy(url: "https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address")

"""Entity for Employee"""
type Employee {
  active: Boolean
  address: String
  alias: String
  approvalLines: [ApprovalLine!]!
  bankAccount: String
  bankName: String
  contact: Contact
  controlNo: String!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  department: Department
  domain: Domain!
  email: EmailAddress
  emergencyContact: String
  emergencyContactPhone: String
  extension: String
  hiredOn: DateTimeISO
  id: ID!
  jobPosition: String
  jobResponsibility: String
  manages: [Department!]!
  name: String
  note: String
  phone: String
  photo: String
  profile: Profile
  retiredOn: DateTimeISO
  supervises: [Employee!]!
  supervisor: Employee
  type: String
  updatedAt: DateTimeISO
  updater: User
  user: User
  version: Float
}

type EmployeeList {
  items: [Employee!]!
  total: Int!
}

input EmployeePatch {
  active: Boolean
  alias: String
  bankAccount: String
  bankName: String
  contact: ObjectRefForContact
  controlNo: String
  cuFlag: String
  department: ObjectRefForDepartment
  emergencyContact: String
  emergencyContactPhone: String
  hiredOn: DateTimeISO
  id: ID
  jobPosition: String
  jobResponsibility: String
  name: String
  note: String
  photo: Upload
  retiredOn: DateTimeISO
  supervisor: ObjectRefForEmployee
  type: EmployeeType
  user: ObjectRefForUser
}

"""type enumeration of a employee"""
enum EmployeeType {
  FULLTIME
  PARTTIME
  TEMPORARY
}

"""Entity for Entity"""
type Entity {
  active: Boolean
  association: String
  bundle: String!
  children: [Entity!]
  columns: [EntityColumn!]
  createdAt: DateTimeISO
  creator: User
  dataProp: String
  delStrategy: String
  description: String
  domain: Domain!
  extEntity: Boolean
  fixedColumns: Float
  id: ID!
  idField: String
  idType: String
  master: Entity
  multiSaveUrl: String
  name: String!
  refField: String
  searchUrl: String
  tableName: String!
  titleField: String
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for EntityColumn"""
type EntityColumn {
  colSize: Float
  colType: String!
  createdAt: DateTimeISO
  creator: User
  defVal: String
  description: String
  domain: Domain!
  entity: Entity!
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Float
  gridValidator: String
  gridWidth: Float
  id: ID!
  ignoreOnSav: Boolean
  name: String!
  nullable: Boolean
  rangeVal: String
  rank: Float
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Float
  sortRank: Float
  term: String
  uniqRank: Float
  updatedAt: DateTimeISO
  updater: User
  virtualField: Boolean
}

type EntityColumnList {
  items: [EntityColumn!]!
  total: Int!
}

"""EntityColumn of Entity"""
type EntityColumnMetadata {
  enum: [Any!]
  generatedType: String
  isArray: Boolean
  isNullable: Boolean!
  isPrimary: Boolean
  isReadonly: Boolean
  isUpdateDate: Boolean
  isVersion: Boolean
  length: Float
  propertyName: String!
  referenceColumn: Any
  relationMetadata: EntityRelationMetadata
  target: Any
  type: Any!
  width: Int
}

input EntityColumnPatch {
  colSize: Int
  colType: String
  cuFlag: String
  defVal: String
  description: String
  entity: ObjectRef
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Int
  gridValidator: String
  gridWidth: Int
  id: ID
  ignoreOnSav: Boolean
  name: String
  nullable: Boolean
  rangeVal: String
  rank: Int
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Int
  sortRank: Float
  term: String
  uniqRank: Int
  virtualField: Boolean
}

type EntityList {
  items: [Entity!]!
  total: Int!
}

"""Entity for EntityMetadata"""
type EntityMetadata {
  columns: [EntityColumnMetadata!]
  name: String!
}

input EntityPatch {
  active: Boolean
  association: String
  bundle: String
  children: [String!]
  columns: [String!]
  cuFlag: String
  dataProp: String
  delStrategy: String
  description: String
  extEntity: Boolean
  fixedColumns: Int
  id: ID
  idField: String
  idType: String
  master: String
  multiSaveUrl: String
  name: String
  refField: String
  searchUrl: String
  tableName: String
  titleField: String
}

"""RelationType of EntityColumn"""
type EntityRelationMetadata {
  isManyToOne: Boolean
  isOneToMany: Boolean
  isOneToOne: Boolean
  joinColumns: [EntityColumnMetadata!]
  joinTableName: String
  relationType: Boolean
}

"""Environment variable entity for storing key-value pairs."""
type EnvVar {
  """Indicates whether this environment variable is currently active."""
  active: Boolean!

  """The timestamp when the environment variable was created."""
  createdAt: DateTimeISO

  """A detailed description of the environment variable."""
  description: String

  """The domain to which this environment variable belongs."""
  domain: Domain

  """The domain ID to which this environment variable belongs."""
  domainId: String!

  """Unique identifier for the environment variable."""
  id: ID!

  """The name of the environment variable."""
  name: String!

  """The timestamp when the environment variable was last updated."""
  updatedAt: DateTimeISO

  """The value of the environment variable (encrypted)."""
  value: String
}

"""List of environment variables."""
type EnvVarList {
  """The list of environment variable items."""
  items: [EnvVar!]!

  """The total number of environment variables."""
  total: Int!
}

"""Input type for updating an existing environment variable."""
input EnvVarPatch {
  """The new active status for the environment variable."""
  active: Boolean

  """
  A flag indicating whether the environment variable is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the environment variable."""
  description: String

  """The unique identifier of the environment variable to update."""
  id: ID

  """The new name for the environment variable."""
  name: String

  """The new value for the environment variable."""
  value: String
}

"""Entity for Favorite"""
type Favorite {
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  id: ID!
  routing: String!
  updatedAt: DateTimeISO
  updater: User
  user: User!
}

type FavoriteList {
  items: [Favorite!]!
  total: Int!
}

"""Input type for specifying a filter condition in a list query."""
input Filter {
  """The field name to apply the filter on."""
  name: String!

  """The operator to use for filtering (e.g., eq, ne, gt, lt, in, etc.)."""
  operator: String!

  """Set to true if the filter applies to a relation field."""
  relation: Boolean

  """The value to compare the field against."""
  value: Any
}

"""Entity for Font"""
type Font {
  active: Boolean!
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  files: [Attachment!]
  id: ID!
  name: String!
  path: String
  provider: String!
  updatedAt: DateTimeISO
  updater: User
  uri: String
}

type FontList {
  items: [Font!]!
  total: Int!
}

input FontPatch {
  active: Boolean
  files: [Upload!]
  name: String
  path: String
  provider: String
  uri: String
}

"""Represents a role that is granted to a specific domain."""
type GrantedRole {
  """The domain to which the role is granted."""
  domain: Domain!

  """Unique identifier for the granted role."""
  id: ID!

  """The role being granted."""
  role: Role!
}

"""A group used to organize and manage boards."""
type Group {
  """The list of boards belonging to this group."""
  boards: [Board!]

  """The timestamp when the group was created."""
  createdAt: DateTimeISO

  """The user who created the group."""
  creator: User

  """A detailed description of the group."""
  description: String

  """The domain to which this group belongs."""
  domain: Domain

  """Unique identifier for the group."""
  id: ID!

  """The name of the group."""
  name: String!

  """The timestamp when the group was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the group."""
  updater: User
}

"""A paginated list of board groups."""
type GroupList {
  """The list of group items."""
  items: [Group!]!

  """The total number of groups."""
  total: Int!
}

"""Input for updating (patching) an existing board group."""
input GroupPatch {
  """The new description for the group."""
  description: String

  """The new name for the group."""
  name: String
}

input ImageCompletionInput {
  count: Float!
  description: String!
  size: String!
}

type ImageCompletionOutput {
  images: String
}

"""
Enumeration for inherited value types: None, Only, or Include. Used to specify how values are inherited in queries or filters.
"""
enum InheritedValueType {
  Include
  None
  Only
}

"""Entity for InspectionDrawingType"""
type InspectionDrawingType {
  createdAt: DateTimeISO
  creator: User
  domain: Domain
  id: ID!
  inspectionParts: [InspectionPart!]
  name: String
  updatedAt: DateTimeISO
  updater: User
}

type InspectionDrawingTypeList {
  items: [InspectionDrawingType!]!
  total: Int!
}

input InspectionDrawingTypePatch {
  cuFlag: String
  id: ID
  name: String
}

"""Entity for InspectionPart"""
type InspectionPart {
  createdAt: DateTimeISO
  creator: User
  id: ID!
  inspectionDrawingType: InspectionDrawingType
  name: String
  sequence: Int
  updatedAt: DateTimeISO
  updater: User
}

type InspectionPartList {
  items: [InspectionPart!]!
  total: Int!
}

input InspectionPartPatch {
  cuFlag: String
  id: ID
  name: String
  sequence: Int
}

"""
Represents an invitation for a user to join a system or a specific resource.
"""
type Invitation {
  """The timestamp when the invitation was created."""
  createdAt: DateTimeISO

  """The user who created the invitation."""
  creator: User

  """The email address to which the invitation is sent."""
  email: EmailAddress!

  """Unique identifier for the invitation."""
  id: ID!

  """
  A reference to the resource the user is invited to (e.g., company ID, bizplace ID).
  """
  reference: String!

  """The unique token used to accept the invitation."""
  token: String!

  """The type of resource the invitation is for (e.g., company, bizplace)."""
  type: String!

  """The timestamp when the invitation was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the invitation."""
  updater: User
}

"""A paginated list of invitations."""
type InvitationList {
  """The list of invitation items."""
  items: [Invitation!]

  """The total number of invitations."""
  total: Int
}

"""Entity for Issue"""
type Issue {
  actionPlans: [ActionPlan!]!
  active: Boolean
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain
  id: ID!
  name: String
  params: String
  state: String
  thumbnail: String
  updatedAt: DateTimeISO
  updater: User
}

type IssueList {
  items: [Issue!]!
  total: Int!
}

input IssuePatch {
  active: Boolean
  cuFlag: String
  description: String
  id: ID
  name: String
  state: IssueStatus
  thumbnail: Upload
}

"""state enumeration of a issue"""
enum IssueStatus {
  STATUS_A
  STATUS_B
}

"""
A field whose value is a JSON Web Token (JWT): https://jwt.io/introduction.
"""
scalar JWT

"""Entity for LiteMenu"""
type LiteMenu {
  active: Boolean
  appName: String
  board: Board

  """Settings for help contents"""
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  help: String
  icon: String
  id: ID!
  label: String!

  """Settings for multilingual titles"""
  labels: Object
  name: String!
  parent: String
  rank: Int
  role: Role
  type: String
  updatedAt: DateTimeISO
  updater: User
  value: String
}

type LiteMenuList {
  items: [LiteMenu!]!
  total: Int!
}

input LiteMenuPatch {
  active: Boolean
  appName: String
  description: String
  help: String
  icon: String
  labels: Object
  name: String
  parent: String
  rank: Int
  role: ObjectRef
  type: String
  value: String
}

"""
Represents a log entry, including its source, level, message, and timestamp.
"""
type Log {
  """The severity level of the log entry (e.g., error, warning, info)."""
  level: String!

  """The main message or content of the log entry."""
  message: String!

  """The source object or context from which the log originated."""
  source: Object!

  """The timestamp indicating when the log entry was created."""
  timestamp: String!
}

"""Records user login attempts."""
type LoginHistory {
  """The domain the user logged into."""
  accessDomain: Domain!

  """The user who logged in."""
  accessUser: User!

  """The timestamp of the login attempt."""
  accessedAt: DateTimeISO

  """The IP address from which the login attempt was made."""
  accessorIp: String

  """Unique identifier for the login history record."""
  id: ID!
}

"""A paginated list of login history records."""
type LoginHistoryList {
  """The list of login history items."""
  items: [LoginHistory!]!

  """The total number of login history records."""
  total: Int!
}

"""담당자 관리"""
type Manager {
  id: ID!
  phone: String
  position: String
  user: User
}

type ManagerOutput {
  id: ID
  name: String
  phone: String
  position: String
  updatedAt: String
  userId: ID!
}

input ManagerPatch {
  id: ID
  name: String
  phone: String
  position: String
  userId: ID
}

"""Entity for Menu"""
type Menu {
  buttons: [MenuButton!]!
  category: String
  children(permittedOnly: Boolean! = false): [Menu!]!
  columns: [MenuColumn!]!
  createdAt: DateTimeISO
  creator: User
  description: String
  detailFormId: String
  detailLayout: String
  domain: Domain!
  fixedColumns: Float
  gridSaveUrl: String
  hiddenFlag: Boolean
  iconPath: String
  id: ID!
  idField: String
  itemsProp: String
  menuType: String
  name: String
  pagination: Boolean
  parent: Menu
  rank: Float
  resourceId: String
  resourceName: String
  resourceType: String
  resourceUrl: String
  role: Role
  roles: [Role!]
  routing: String
  routingType: String
  template: String
  titleField: String
  totalProp: String
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for MenuButton"""
type MenuButton {
  auth: String
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  icon: String
  id: ID!
  logic: String
  menu: Menu
  rank: Float
  style: String
  text: String
  updatedAt: DateTimeISO
  updater: User
}

type MenuButtonList {
  items: [MenuButton!]!
  total: Int!
}

input MenuButtonPatch {
  auth: String
  icon: String
  logic: String
  menu: String
  rank: Int
  style: String
  text: String
}

"""Entity for MenuColumn"""
type MenuColumn {
  colSize: Float
  colType: String
  createdAt: DateTimeISO
  creator: User
  defVal: String
  description: String
  domain: Domain!
  extField: Boolean
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Float
  gridValidator: String
  gridWidth: Float
  id: ID!
  ignoreOnSave: Boolean
  menu: Menu
  name: String!
  nullable: Boolean
  rangeVal: String
  rank: Float
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Float
  sortRank: Float
  term: String
  uniqRank: Float
  updatedAt: DateTimeISO
  updater: User
  virtualField: Boolean
}

type MenuColumnList {
  items: [MenuColumn!]!
  total: Int!
}

input MenuColumnPatch {
  colSize: Int
  colType: String
  defVal: String
  description: String
  extField: Boolean
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Int
  gridValidator: String
  gridWidth: Int
  ignoreOnSave: Boolean
  menu: String
  name: String
  nullable: Boolean
  rangeVal: String
  rank: Int
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Int
  sortRank: Int
  term: String
  uniqRank: Int
  virtualField: Boolean
}

"""Entity for MenuDetail"""
type MenuDetail {
  association: String
  buttons: [MenuDetailButton!]
  columns: [MenuDetailColumn!]
  createdAt: DateTimeISO
  creator: User
  customView: String
  dataProp: String
  domain: Domain!
  entityId: String
  id: ID!
  masterField: String
  menu: Menu
  name: String!
  saveUrl: String
  searchUrl: String
  updatedAt: DateTimeISO
  updater: User
  viewSection: String
}

"""Entity for MenuDetailButton"""
type MenuDetailButton {
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  icon: String
  id: ID!
  logic: String
  menuDetail: MenuDetail
  rank: Float
  style: String
  text: String
  updatedAt: DateTimeISO
  updater: User
}

type MenuDetailButtonList {
  items: [MenuDetailButton!]!
  total: Int!
}

input MenuDetailButtonPatch {
  icon: String
  logic: String
  menuDetail: String
  rank: Int
  style: String
  text: String
}

"""Entity for MenuDetailColumn"""
type MenuDetailColumn {
  colSize: Float
  colType: String
  createdAt: DateTimeISO
  creator: User
  defVal: String
  description: String
  domain: Domain!
  extField: Boolean
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Float
  gridValidator: String
  gridWidth: Float
  id: ID!
  ignoreOnSave: Boolean
  menuDetail: MenuDetail
  name: String
  nullable: Boolean
  rangeVal: String
  rank: Float
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Float
  sortRank: Float
  term: String
  uniqRank: Float
  updatedAt: DateTimeISO
  updater: User
  virtualField: Boolean
}

type MenuDetailColumnList {
  items: [MenuDetailColumn!]!
  total: Int!
}

input MenuDetailColumnPatch {
  colSize: Int
  colType: String!
  defVal: String
  description: String
  extField: Boolean
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Int
  gridValidator: String
  gridWidth: Int
  ignoreOnSave: Boolean
  menuDetail: String!
  name: String!
  nullable: Boolean
  rangeVal: String
  rank: Int
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Int
  sortRank: Int
  term: String
  uniqRank: Int
  virtualField: Boolean
}

type MenuDetailList {
  items: [MenuDetail!]!
  total: Int!
}

input MenuDetailPatch {
  association: String
  buttons: [String!]
  columns: [String!]
  customView: String
  dataProp: String
  entityId: String
  masterField: String
  menu: String
  name: String
  saveUrl: String
  searchUrl: String
  viewSection: String
}

type MenuList {
  items: [Menu!]!
  total: Int!
}

input MenuPatch {
  buttons: [ObjectRef!]
  category: String
  children: [ObjectRef!]
  columns: [ObjectRef!]
  cuFlag: String
  description: String
  detailFormId: String
  detailLayout: String
  fixedColumns: Int
  gridSaveUrl: String
  hiddenFlag: Boolean
  iconPath: String
  id: ID
  idField: String
  itemsProp: String
  menuType: String
  name: String
  pagination: Boolean
  parent: ObjectRef
  rank: Int
  resourceId: String
  resourceName: String
  resourceType: String
  resourceUrl: String
  role: ObjectRef
  routing: String
  routingType: String
  template: String
  titleField: String
  totalProp: String
}

type Mutation {
  """
  Activates a user account in the current domain. Use this mutation to enable a user who was previously inactive.
  """
  activateUser(
    """The username or email of the user to activate."""
    username: String!
  ): Boolean!

  """To apply to all building inspection"""
  applyToAllBuildingInspection(buildingInspectionId: String!): Boolean!

  """
  Attaches an existing contact to an employee. The contact is identified by its ID and the employee is identified by their ID.
  """
  attachContact(contactId: String!, id: String!): Employee!
  cancelInvitation(email: EmailAddress!, reference: String!, type: String!): Boolean!

  """To clear translations cache"""
  clearTranslationsCache: Boolean!

  """
  Clones a board from an existing one, potentially into a different domain.
  """
  cloneBoard(id: String!, patch: BoardPatch!, targetGroupId: String, targetSubdomain: String!): Board!

  """Establishes a live connection to a configured endpoint."""
  connectConnection(name: String!): Connection!

  """
  Copies multiple existing scenarios within the same domain, creating new scenarios with new IDs.
  """
  copyScenarios(ids: [String!]!): [Scenario!]!

  """To create new ActionPlan"""
  createActionPlan(actionPlan: NewActionPlan!): ActionPlan!

  """To create new appliance"""
  createAppliance(appliance: NewAppliance!): Appliance!

  """To create new application"""
  createApplication(application: NewApplication!): Application!

  """To create new ApprovalLine"""
  createApprovalLine(approvalLine: NewApprovalLine!): ApprovalLine!
  createAttachment(attachment: NewAttachment!): Attachment!
  createAttachments(attachments: [NewAttachment!]!): [Attachment!]!

  """
  Creates a new AttributeSet entity. Use this mutation to define a new set of attributes for a specific entity type.
  """
  createAttributeSet(
    """The input object containing the new AttributeSet details."""
    attribute: NewAttributeSet!
  ): AttributeSet!

  """To create new AuthProvider"""
  createAuthProvider(authProvider: NewAuthProvider!): AuthProvider!

  """Creates a new board."""
  createBoard(board: NewBoard!): Board!

  """To create new BoardTemplate"""
  createBoardTemplate(boardTemplate: NewBoardTemplate!): BoardTemplate!

  """To create Building Inspection information"""
  createBuildingInspection(patch: NewBuildingInspection!): BuildingInspection!

  """Create Daily Worklog by projectId+date"""
  createBuildingInspectionDailyWorklog(patch: BuildingInspectionDailyWorklogNew!): BuildingInspectionDailyWorklog!

  """To create new ChecklistItemComment"""
  createChecklistItemComment(checklistItemComment: NewChecklistItemComment!): ChecklistItemComment!

  """To create new CommonCode"""
  createCommonCode(commonCode: NewCommonCode!): CommonCode!

  """To create new CommonCodeDetail"""
  createCommonCodeDetail(commonCodeDetail: NewCommonCodeDetail!): CommonCodeDetail!

  """Creates a new connection."""
  createConnection(connection: NewConnection!): Connection!

  """To create new Contact"""
  createContact(contact: NewContact!): Contact!

  """To create new Department"""
  createDepartment(department: NewDepartment!): Department!

  """
  Creates a new domain entity. Only superusers are granted this privilege. Use this mutation to register a new domain with a unique subdomain.
  """
  createDomain(
    """The input object containing the new domain details."""
    domainInput: DomainPatch!
  ): Domain!

  """To create new DomainLink"""
  createDomainLink(domainLink: NewDomainLink!): DomainLink!

  """
  Creates a new employee record with the provided details. Optionally associates the employee with a supervisor, department, and system user. If a photo is provided, it will be attached to the employee record.
  """
  createEmployee(employee: NewEmployee!): Employee!

  """To create new Entity"""
  createEntity(entity: NewEntity!): Entity!

  """To create new EntityColumn"""
  createEntityColumn(entityColumn: NewEntityColumn!): EntityColumn!

  """To create new EnvVar"""
  createEnvVar(envVar: NewEnvVar!): EnvVar!

  """To create new Favorite"""
  createFavorite(favorite: NewFavorite!): Favorite!

  """To create new Font"""
  createFont(font: NewFont!): Font!

  """Creates a new board group."""
  createGroup(group: NewGroup!): Group

  """To create new Issue"""
  createIssue(issue: NewIssue!): Issue!

  """To create new LiteMenu"""
  createLiteMenu(liteMenu: NewLiteMenu!): LiteMenu!

  """To create new Menu"""
  createMenu(menu: NewMenu!): Menu!

  """To create new MenuButton"""
  createMenuButton(menuButton: NewMenuButton!): MenuButton!

  """To create new MenuColumn"""
  createMenuColumn(menuColumn: NewMenuColumn!): MenuColumn!

  """To create new MenuDetail"""
  createMenuDetail(menuDetail: NewMenuDetail!): MenuDetail!

  """To create new MenuDetailButton"""
  createMenuDetailButton(menuDetailButton: NewMenuDetailButton!): MenuDetailButton!

  """To create new MenuDetailColumn"""
  createMenuDetailColumn(menuDetailColumn: NewMenuDetailColumn!): MenuDetailColumn!

  """To create new ApprovalLine for current user"""
  createMyApprovalLine(approvalLine: NewApprovalLine!): ApprovalLine!

  """To create my new PagePreference"""
  createMyPagePreference(pagePreference: NewPagePreference!): PagePreference!

  """To create new NoticeComment"""
  createNoticeComment(noticeComment: NewNoticeComment!): NoticeComment!

  """To create new Notification"""
  createNotification(notification: NewNotification!): Notification!

  """To create new NotificationRule"""
  createNotificationRule(notificationRule: NewNotificationRule!): NotificationRule!

  """To create new Oauth2Client"""
  createOauth2Client(oauth2Client: NewOauth2Client!): Oauth2Client!

  """Creates a new payload log."""
  createPayloadLog(payloadLog: NewPayloadLog!): PayloadLog!

  """Creates a new play group."""
  createPlayGroup(playGroup: NewPlayGroup!): PlayGroup!

  """To create new PrinterDevice"""
  createPrinterDevice(printerDevice: NewPrinterDevice!): PrinterDevice!

  """To create new privilege"""
  createPrivilege(privilege: NewPrivilege!): Privilege!

  """프로젝트 생성"""
  createProject(project: NewProject!): Project!

  """To create new ProjectReport"""
  createProjectReport(projectReport: NewProjectReport!): ProjectReport!

  """To create new Resource"""
  createResource(resource: NewResource!): Resource!

  """To create new user"""
  createRole(role: NewRole!): User!

  """Creates a new scenario."""
  createScenario(scenario: NewScenario!): Scenario!

  """To create new Setting"""
  createSetting(setting: NewSetting!): Setting!

  """Creates a new state register."""
  createStateRegister(stateRegister: NewStateRegister!): StateRegister!

  """To create new Supervisor"""
  createSupervisor(supervisor: NewSupervisor!): Supervisor!

  """To create new Task"""
  createTask(task: NewTask!): Task!

  """To create Task Checklist information"""
  createTaskChecklist(patch: NewTaskChecklist!): Boolean!

  """To create new TaskResource"""
  createTaskResource(taskResource: NewTaskResource!): TaskResource!

  """To create new Terminology"""
  createTerminology(terminology: NewTerminology!): Terminology!

  """Creates a new theme."""
  createTheme(theme: NewTheme!): Theme!

  """
  Creates a new user in the system. Use this mutation to register a user with the specified credentials and domain information.
  """
  createUser(
    """The input object containing new user information."""
    user: NewUser!
  ): User!

  """To create new UserPreference"""
  createUserPreference(preference: NewUserPreference!): UserPreference!

  """To delete ActionPlan"""
  deleteActionPlan(id: String!): Boolean!

  """To delete multiple ActionPlans"""
  deleteActionPlans(ids: [String!]!): Boolean!
  deleteAppBinding(id: String!): Boolean!

  """To delete appliance"""
  deleteAppliance(id: String!): Boolean!

  """To delete application"""
  deleteApplication(id: String!): Boolean!

  """To delete ApprovalLine"""
  deleteApprovalLine(id: String!): Boolean!

  """To delete multiple ApprovalLines"""
  deleteApprovalLines(ids: [String!]!): Boolean!
  deleteAttachment(id: String!): Boolean!
  deleteAttachmentsByRef(refBys: [String!]!, refType: String): Boolean!

  """
  Deletes an AttributeSet entity by its unique identifier. Use this mutation to permanently remove an attribute set.
  """
  deleteAttributeSet(
    """The unique identifier of the AttributeSet to delete."""
    id: String!
  ): Boolean!

  """
  Deletes multiple AttributeSet entities by their unique identifiers. Use this mutation to remove several attribute sets at once.
  """
  deleteAttributeSets(
    """An array of unique identifiers for the AttributeSets to delete."""
    ids: [String!]!
  ): Boolean!

  """To delete AuthProvider"""
  deleteAuthProvider(id: String!): Boolean!
  deleteAuthProviders(ids: [String!]!): Boolean!

  """Deletes a board."""
  deleteBoard(id: String!): Boolean!

  """To delete BoardTemplate"""
  deleteBoardTemplate(id: String!): Boolean!

  """To delete Building"""
  deleteBuilding(id: String!): Boolean!

  """To delete BuildingComplex"""
  deleteBuildingComplex(id: String!): Boolean!

  """To delete multiple BuildingComplexes"""
  deleteBuildingComplexes(ids: [String!]!): Boolean!

  """To delete multiple Checklists"""
  deleteBuildingInspections(ids: [String!]!): Boolean!

  """To delete multiple Buildings"""
  deleteBuildings(ids: [String!]!): Boolean!

  """To delete ChecklistItemComment"""
  deleteChecklistItemComment(id: String!): Boolean!

  """To delete ChecklistTemplateItem"""
  deleteChecklistTemplateItem(id: String!): Boolean!

  """To delete multiple ChecklistTemplateItems"""
  deleteChecklistTemplateItems(ids: [String!]!): Boolean!

  """To delete multiple ChecklistTemplates"""
  deleteChecklistTemplates(ids: [String!]!): Boolean!

  """To delete multiple ChecklistTypes"""
  deleteChecklistTypes(ids: [String!]!): Boolean!

  """To create Building Inspection And Checklist information"""
  deleteChecklists(ids: [String!]!): Boolean!

  """To delete CommonCode"""
  deleteCommonCode(id: String!): Boolean!

  """To delete CommonCodeDetail"""
  deleteCommonCodeDetail(id: String!): Boolean!

  """To delete multiple CommonCodeDetails"""
  deleteCommonCodeDetails(ids: [String!]!): Boolean!

  """To delete multiple CommonCodes"""
  deleteCommonCodes(ids: [String!]!): Boolean!

  """Deletes a single connection by its name."""
  deleteConnection(name: String!): Boolean!

  """Deletes multiple connections by their names."""
  deleteConnections(names: [String!]!): Boolean!

  """To delete multiple ConstructionDetailTypes"""
  deleteConstructionDetailTypes(ids: [String!]!): Boolean!

  """To delete multiple ConstructionTypes"""
  deleteConstructionTypes(ids: [String!]!): Boolean!

  """To delete Contact"""
  deleteContact(id: String!): Boolean!

  """To delete multiple Contacts"""
  deleteContacts(ids: [String!]!): Boolean!

  """To delete Department"""
  deleteDepartment(id: String!): Boolean!

  """To delete multiple Departments"""
  deleteDepartments(ids: [String!]!): Boolean!

  """
  Deletes a domain entity by its name. Only superusers are granted this privilege. Use this mutation to permanently remove a domain.
  """
  deleteDomain(
    """The name of the domain to delete."""
    name: String!
  ): Domain!

  """To delete DomainLink"""
  deleteDomainLink(id: String!): Boolean!

  """To delete multiple DomainLinks"""
  deleteDomainLinks(ids: [String!]!): Boolean!

  """
  Removes a user from the current domain. Use this mutation to revoke a user's access to a specific domain without deleting their account.
  """
  deleteDomainUser(
    """The username or email of the user to remove from the domain."""
    username: String!
  ): Boolean!

  """
  Deletes multiple domain entities by their names. Only superusers are granted this privilege. Use this mutation to remove several domains at once.
  """
  deleteDomains(
    """An array of domain names to delete."""
    names: [String!]!
  ): Boolean!

  """
  Deletes an employee record identified by the given ID. Also deletes any attachments associated with the employee.
  """
  deleteEmployee(id: String!): Boolean!

  """
  Deletes multiple employee records identified by the given IDs. Also deletes any attachments associated with each employee.
  """
  deleteEmployees(ids: [String!]!): Boolean!

  """To delete multiple Entities"""
  deleteEntities(ids: [String!]!): Boolean!

  """To delete Entity"""
  deleteEntity(id: String!): Boolean!

  """To delete EntityColumn"""
  deleteEntityColumn(id: String!): Boolean!

  """To delete multiple EntityColumns"""
  deleteEntityColumns(ids: [String!]!): Boolean!

  """To delete EnvVar"""
  deleteEnvVar(id: String!): Boolean!

  """To delete multiple EnvVars"""
  deleteEnvVars(ids: [String!]!): Boolean!

  """To delete Favorite"""
  deleteFavorite(routing: String!): Boolean!

  """To delete Font"""
  deleteFont(id: String!): Boolean!

  """Deletes a board group."""
  deleteGroup(id: String!): Boolean!

  """To delete multiple InspectionDrawingTypes"""
  deleteInspectionDrawingTypes(ids: [String!]!): Boolean!

  """To delete multiple InspectionParts"""
  deleteInspectionParts(ids: [String!]!): Boolean!

  """To delete Issue"""
  deleteIssue(id: String!): Boolean!

  """To delete multiple Issues"""
  deleteIssues(ids: [String!]!): Boolean!

  """To delete LiteMenu"""
  deleteLiteMenu(id: String!): Boolean!

  """To delete Menu"""
  deleteMenu(id: String!): Boolean!

  """To delete MenuButton"""
  deleteMenuButton(id: String!): Boolean!

  """To delete multiple MenuButtons"""
  deleteMenuButtons(ids: [String!]!): Boolean!

  """To delete MenuColumn"""
  deleteMenuColumn(id: String!): Boolean!

  """To delete multiple MenuColumns"""
  deleteMenuColumns(ids: [String!]!): Boolean!

  """To delete MenuDetail"""
  deleteMenuDetail(id: String!): Boolean!

  """To delete MenuDetailButton"""
  deleteMenuDetailButton(id: String!): Boolean!

  """To delete multiple MenuDetailButtons"""
  deleteMenuDetailButtons(ids: [String!]!): Boolean!

  """To delete MenuDetailColumn"""
  deleteMenuDetailColumn(id: String!): Boolean!

  """To delete multiple MenuDetailColumns"""
  deleteMenuDetailColumns(ids: [String!]!): Boolean!

  """To delete multiple MenuDetails"""
  deleteMenuDetails(ids: [String!]!): Boolean!

  """To delete multiple Menus"""
  deleteMenus(ids: [String!]!): Boolean!

  """To delete ApprovalLine for current user"""
  deleteMyApprovalLine(id: String!): Boolean!

  """To delete multiple ApprovalLines for current user"""
  deleteMyApprovalLines(ids: [String!]!): Boolean!

  """To delete my PagePreference"""
  deleteMyPagePreference(element: String!, page: String!): Boolean!

  """To delete my preference"""
  deleteMyUserPreference(element: String!, key: String!): Boolean!

  """To delete NoticeComment"""
  deleteNoticeComment(id: String!): Boolean!

  """To delete Notification"""
  deleteNotification(id: String!): Boolean!

  """To delete NotificationRule"""
  deleteNotificationRule(id: String!): Boolean!

  """To delete multiple NotificationRules"""
  deleteNotificationRules(ids: [String!]!): Boolean!

  """To delete multiple Notificationes"""
  deleteNotificationes(ids: [String!]!): Boolean!

  """To delete Oauth2Client"""
  deleteOauth2Client(id: String!): Boolean!

  """To delete multiple Oauth2Clients"""
  deleteOauth2Clients(ids: [String!]!): Boolean!

  """To delete PagePreference"""
  deletePagePreference(id: String!): Boolean!

  """To delete multiple PagePreferences"""
  deletePagePreferences(ids: [String!]!): Boolean!

  """To delete multiple partnerSettings"""
  deletePartnerSettings(ids: [String!]!): Boolean!

  """Deletes a single payload log by its ID."""
  deletePayloadLog(id: String!): Boolean!

  """Deletes multiple payload logs by their IDs."""
  deletePayloadLogs(ids: [String!]!): Boolean!

  """Deletes a play group."""
  deletePlayGroup(id: String!): Boolean!

  """To delete PrinterDevice"""
  deletePrinterDevice(id: String!): Boolean!

  """To delete multiple printerDevices"""
  deletePrinterDevices(ids: [String!]!): Boolean!

  """To delete privilege"""
  deletePrivilege(category: String!, name: String!): Boolean!

  """To delete Project"""
  deleteProject(id: String!): Boolean!

  """To delete ProjectReport"""
  deleteProjectReport(id: String!): Boolean!

  """To delete multiple ProjectReports"""
  deleteProjectReports(ids: [String!]!): Boolean!

  """To delete Resource"""
  deleteResource(id: String!): Boolean!

  """To delete multiple Resources"""
  deleteResources(ids: [String!]!): Boolean!

  """To delete role"""
  deleteRole(id: String!): Boolean!

  """To delete multiple roles"""
  deleteRoles(ids: [String!]!): Boolean!

  """Deletes a single scenario by its name."""
  deleteScenario(name: String!): Boolean!

  """Deletes multiple scenarios by their IDs."""
  deleteScenarios(ids: [String!]!): Boolean!

  """To delete Setting"""
  deleteSetting(name: String!): Boolean!

  """To delete multiple settings"""
  deleteSettings(names: [String!]!): Boolean!

  """Deletes a single state register by its ID."""
  deleteStateRegister(id: String!): Boolean!

  """Deletes multiple state registers by their IDs."""
  deleteStateRegisters(ids: [String!]!): Boolean!

  """Deletes multiple scenario steps by their IDs."""
  deleteSteps(ids: [String!]!): Boolean!

  """To delete Supervisor"""
  deleteSupervisor(id: String!): Boolean!

  """To delete multiple Supervisors"""
  deleteSupervisors(ids: [String!]!): Boolean!

  """To delete Task"""
  deleteTask(id: String!): Boolean!

  """To delete TaskResource"""
  deleteTaskResource(id: String!): Boolean!

  """To delete multiple TaskResources"""
  deleteTaskResources(ids: [String!]!): Boolean!

  """To delete multiple Tasks"""
  deleteTasks(ids: [String!]!): Boolean!

  """To delete multiple Terminologies"""
  deleteTerminologies(ids: [String!]!): Boolean!

  """To delete Terminology"""
  deleteTerminology(id: String!): Boolean!

  """Deletes a single theme by its ID."""
  deleteTheme(id: String!): Boolean!

  """Deletes multiple themes by their IDs."""
  deleteThemes(ids: [String!]!): Boolean!

  """
  Deletes a user from the system by their username. Use this mutation to permanently remove a user account and revoke their access.
  """
  deleteUser(
    """The username of the user to delete."""
    username: String!
  ): Boolean!

  """To delete UserPreference"""
  deleteUserPreference(id: String!): Boolean!

  """To delete multiple UserPreferences"""
  deleteUserPreferences(ids: [String!]!): Boolean!

  """
  Deletes multiple users from the system by their usernames. Use this mutation to remove several user accounts at once.
  """
  deleteUsers(
    """An array of usernames to delete."""
    usernames: [String!]!
  ): Boolean!

  """To delete multiple WorkerTypes"""
  deleteWorkerTypes(ids: [String!]!): Boolean!

  """
  Detaches an existing contact from an employee. The employee is identified by their ID.
  """
  detachContact(id: String!): Employee!

  """Terminates a live connection."""
  disconnectConnection(name: String!): Connection!
  domainRegister(domainInput: DomainGeneratorInput!): Domain!
  domainUserRoleRegister(newDomainInfo: DomainUserRoleInput!): Domain!

  """선택된 도면 파일들을 ZIP으로 압축하여 다운로드 URL 반환"""
  downloadPlanFiles(fileIds: [String!]!): String!
  generateApplianceSecret(id: String!): Appliance!
  generateApplicationSecret(id: String!): Application!
  generateUploadURL(type: String!): UploadURL!

  """To get oauth2 auth URL"""
  getOauth2AuthUrl(id: String!): String!
  grantRoles(customerId: String!, roles: [RolePatch!]!): Boolean!

  """To import multiple ActionPlans"""
  importActionPlans(actionPlans: [ActionPlanPatch!]!): Boolean!

  """To import multiple ApprovalLines"""
  importApprovalLines(approvalLines: [ApprovalLinePatch!]!): Boolean!

  """To import some Attachments"""
  importAttachments(file: Upload!): [Attachment!]!

  """
  Imports multiple AttributeSet entities into the system. Use this mutation to bulk import attribute sets from external sources.
  """
  importAttributeSets(
    """An array of AttributeSetPatch objects to import."""
    attributes: [AttributeSetPatch!]!
  ): Boolean!

  """Imports multiple boards from JSON files."""
  importBoards(files: [Upload!]!, groupId: String!, overwrite: Boolean!): [Board!]!

  """To import multiple Buildings"""
  importBuildings(buildings: [BuildingPatch!]!): Boolean!

  """To import multiple CommonCodeDetails"""
  importCommonCodeDetails(commonCodeDetails: [CommonCodeDetailPatch!]!): Boolean!

  """To import multiple CommonCodes"""
  importCommonCodes(commonCodes: [CommonCodePatch!]!): Boolean!

  """
  Imports multiple connections. Can overwrite existing connections if IDs or names match.
  """
  importConnections(connections: [ConnectionPatch!]!): Boolean!

  """To import multiple Contacts"""
  importContacts(contacts: [ContactPatch!]!): Boolean!

  """To import multiple Departments"""
  importDepartments(departments: [DepartmentPatch!]!): Boolean!

  """
  Imports multiple employee records into the system. Each employee record must be provided in the EmployeePatch format.
  """
  importEmployees(employees: [EmployeePatch!]!): Boolean!

  """To import multiple Issues"""
  importIssues(issues: [IssuePatch!]!): Boolean!

  """To import multiple MenuButtons"""
  importMenuButtons(menuButtons: [MenuButtonPatch!]!): Boolean!

  """To import multiple MenuColumns"""
  importMenuColumns(menuColumns: [MenuColumnPatch!]!): Boolean!

  """To import multiple MenuDetailButtons"""
  importMenuDetailButtons(menuDetailButtons: [MenuDetailButtonPatch!]!): Boolean!

  """To import multiple MenuDetailColumns"""
  importMenuDetailColumns(menuDetailColumns: [MenuDetailColumnPatch!]!): Boolean!

  """To import multiple MenuDetails"""
  importMenuDetails(menuDetails: [MenuDetailPatch!]!): Boolean!

  """To import multiple Menus"""
  importMenus(menus: [MenuPatch!]!): Boolean!

  """To import multiple NotificationRules"""
  importNotificationRules(notificationRules: [NotificationRulePatch!]!): Boolean!

  """To import multiple Oauth2Clients"""
  importOauth2Clients(oauth2Clients: [Oauth2ClientPatch!]!): Boolean!

  """To import multiple ProjectReports"""
  importProjectReports(projectReports: [ProjectReportPatch!]!): Boolean!

  """To import multiple Resources"""
  importResources(resources: [ResourcePatch!]!): Boolean!

  """
  Imports multiple scenarios, including their steps. This can overwrite existing scenarios if IDs match.
  """
  importScenarios(scenarios: [ScenarioPatch!]!): Boolean!

  """Imports multiple state registers from a provided list."""
  importStateRegisters(stateRegisters: [StateRegisterPatch!]!): Boolean!

  """To import multiple Supervisors"""
  importSupervisors(supervisors: [SupervisorPatch!]!): Boolean!

  """To import multiple TaskResources"""
  importTaskResources(taskResources: [TaskResourcePatch!]!): Boolean!

  """To import multiple Tasks"""
  importTasks(tasks: [TaskPatch!]!): Boolean!

  """To import multiple Terminologies"""
  importTerminologies(terminologies: [TerminologyPatch!]!): Boolean!

  """Imports multiple themes."""
  importThemes(themes: [ThemePatch!]!): Boolean!

  """
  Inactivates a user account in the current domain. Use this mutation to disable a user, making them unable to log in.
  """
  inactivateUser(
    """The username or email of the user to inactivate."""
    username: String!
  ): Boolean!
  inviteCustomer(customerDomainName: String!): Boolean!

  """
  Invites an existing user to join the current domain. Use this mutation to add a user to a domain if they already exist in the system.
  """
  inviteUser(
    """The username or email of the user to invite."""
    username: String!
  ): Boolean!

  """Assigns one or more boards to a group."""
  joinGroup(boardIds: [String!]!, id: String!): Group!

  """Adds one or more boards to a play group."""
  joinPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!

  """Removes one or more boards from a play group."""
  leavePlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
  multipleUpload(files: [Upload!]!): [Attachment!]!

  """To refresh oauth2 access token"""
  refreshOauth2AccessToken(id: String!): Oauth2Client!

  """To register a board as a board template with the given ID"""
  registerBoardAsTemplate(
    """description of board template to be regiestered"""
    description: String!

    """board Id to be regiestered"""
    id: String!

    """name of board template to be regiestered"""
    name: String!

    """visibility of board template to be regiestered"""
    visibility: String!
  ): BoardTemplate!

  """
  Registers an existing employee as a system user, granting them access to the system. The employee is identified by their ID.
  """
  registerEmployeeAsSystemUser(
    """Employee Id"""
    employeeId: String!
  ): Boolean!

  """Releases a board, making it public and creating a version history."""
  releaseBoard(id: String!): Board!
  renewApplicationAccessToken(id: String!, scope: String!): AccessToken!

  """Sets the custom playback order for boards in a play group."""
  reorderPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!

  """
  Resets a user's password to the default value. Use this mutation to restore access to a user who has forgotten their password.
  """
  resetPasswordToDefault(
    """The username or email of the user whose password to reset."""
    username: String!
  ): Boolean!

  """Reverts a board to a specific historical version."""
  revertBoardVersion(id: String!, version: Float!): Board!

  """
  Runs a new scenario instance once and returns the result after it finishes.
  """
  runScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceRunResult!
  sendInvitation(email: EmailAddress!, reference: String!, type: String!): Invitation!
  singleUpload(file: Upload!): Attachment!

  """Starts a new scenario instance, which will run in the background."""
  startScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceStartResult!

  """Starts the schedule for a specific scenario, if one is defined."""
  startScenarioSchedule(scenarioId: String!): Scenario!

  """Stops a running scenario instance by its name."""
  stopScenario(instanceName: String): ScenarioInstance

  """Stops the schedule for a specific scenario."""
  stopScenarioSchedule(scenarioId: String!): Scenario!

  """To synchronize auth-providers users"""
  synchronizeAuthProviderUsers(id: String!): Boolean!

  """
  To synchronize privilege master from graphql directives. Only superuser is permitted.
  """
  synchronizePrivilegeMaster(privilege: NewPrivilege!): Boolean!
  terminateContract(partnerName: String!): Boolean!

  """
  Transfers domain ownership to another user. Use this mutation to assign the owner role to a different user within the domain.
  """
  transferOwner(
    """The username or email of the user to transfer ownership to."""
    username: String!
  ): Boolean!

  """To modify ActionPlan information"""
  updateActionPlan(id: String!, patch: ActionPlanPatch!): ActionPlan!
  updateAppliance(id: String!, patch: AppliancePatch!): Appliance!
  updateApplication(id: String!, patch: ApplicationPatch!): Application!

  """To modify ApprovalLine information"""
  updateApprovalLine(id: String!, patch: ApprovalLinePatch!): ApprovalLine!
  updateAttachment(id: String!, patch: AttachmentPatch!): Attachment!

  """
  Updates an existing AttributeSet entity. Use this mutation to modify the properties or items of an AttributeSet.
  """
  updateAttributeSet(
    """The unique identifier of the AttributeSet to update."""
    id: String!

    """The patch object containing updated fields for the AttributeSet."""
    patch: AttributeSetPatch!
  ): AttributeSet!

  """To modify AuthProvider information"""
  updateAuthProvider(id: String!, patch: AuthProviderPatch!): AuthProvider!

  """
  Updates a board. If a model is provided, it also generates a new thumbnail.
  """
  updateBoard(id: String!, patch: BoardPatch!): Board!

  """To modify BoardTemplate information"""
  updateBoardTemplate(id: String!, patch: BoardTemplatePatch!): BoardTemplate!

  """To modify Building information"""
  updateBuilding(id: String!, patch: BuildingPatch!): Building!

  """To modify BuildingComplex information"""
  updateBuildingComplex(id: String!, patch: BuildingComplexPatch!): BuildingComplex!

  """To update Building Inspection information"""
  updateBuildingInspection(patch: UpdateBuildingInspection!): BuildingInspection!

  """To create Building Inspection And Checklist information"""
  updateBuildingInspectionChecklist(buildingInspection: UpdateBuildingInspectionSubmitType!): Boolean!

  """Update Daily Worklog"""
  updateBuildingInspectionDailyWorklog(patch: BuildingInspectionDailyWorklogPatch!): BuildingInspectionDailyWorklog!

  """To modify ChecklistItemComment information"""
  updateChecklistItemComment(id: String!, patch: ChecklistItemCommentPatch!): ChecklistItemComment!

  """To modify CommonCode information"""
  updateCommonCode(name: String!, patch: CommonCodePatch!): CommonCode!

  """To modify CommonCodeDetail information"""
  updateCommonCodeDetail(id: String!, patch: CommonCodeDetailPatch!): CommonCodeDetail!

  """Updates an existing connection."""
  updateConnection(name: String!, patch: ConnectionPatch!): Connection!

  """To modify Contact information"""
  updateContact(id: String!, patch: ContactPatch!): Contact!

  """To modify Department information"""
  updateDepartment(id: String!, patch: DepartmentPatch!): Department!

  """To update domain (Only superuser is granted this privilege.)"""
  updateDomain(name: String!, patch: DomainPatch!): Domain!

  """To modify DomainLink information"""
  updateDomainLink(id: String!, patch: DomainLinkPatch!): DomainLink!

  """To update multiple domains (Only superuser is granted this privilege.)"""
  updateDomains(patches: [DomainPatch!]!): Boolean!

  """
  Updates the details of an existing employee identified by the given ID. Optionally updates the supervisor, department, system user, and photo associated with the employee.
  """
  updateEmployee(id: String!, patch: EmployeePatch!): Employee!

  """To modify Entity' information"""
  updateEntity(id: String!, patch: EntityPatch!): Entity!

  """To modify EntityColumn information"""
  updateEntityColumn(id: String!, patch: EntityColumnPatch!): EntityColumn!

  """To modify EnvVar information"""
  updateEnvVar(envVar: EnvVarPatch!, id: String!): EnvVar!

  """To modify Font information"""
  updateFont(id: String!, patch: FontPatch!): Font!

  """Updates an existing board group."""
  updateGroup(id: String!, patch: GroupPatch!): Group!

  """To modify Issue information"""
  updateIssue(id: String!, patch: IssuePatch!): Issue!

  """To modify LiteMenu information"""
  updateLiteMenu(id: String!, patch: LiteMenuPatch!): LiteMenu!

  """To modify Menu information"""
  updateMenu(id: String!, patch: MenuPatch!): Menu!

  """To modify MenuButton information"""
  updateMenuButton(id: String!, patch: MenuButtonPatch!): MenuButton!

  """To modify MenuColumn information"""
  updateMenuColumn(id: String!, patch: MenuColumnPatch!): MenuColumn!

  """To modify MenuDetail information"""
  updateMenuDetail(id: String!, patch: MenuDetailPatch!): MenuDetail!

  """To modify MenuDetailButton information"""
  updateMenuDetailButton(id: String!, patch: MenuDetailButtonPatch!): MenuDetailButton!

  """To modify MenuDetailColumn information"""
  updateMenuDetailColumn(id: String!, patch: MenuDetailColumnPatch!): MenuDetailColumn!

  """To modify multiple ActionPlans' information"""
  updateMultipleActionPlan(patches: [ActionPlanPatch!]!): [ActionPlan!]!

  """To modify multiple ApprovalLines' information"""
  updateMultipleApprovalLine(patches: [ApprovalLinePatch!]!): [ApprovalLine!]!

  """
  Updates or creates multiple AttributeSet entities in a single operation. Use this mutation for batch processing of attribute sets.
  """
  updateMultipleAttributeSet(
    """An array of patch objects for batch update or creation."""
    patches: [AttributeSetPatch!]!
  ): [AttributeSet!]!
  updateMultipleAuthProvider(patches: [AuthProviderPatch!]!): [AuthProvider!]!

  """To modify multiple Buildings' information"""
  updateMultipleBuilding(patches: [BuildingPatch!]!): [Building!]!

  """To modify multiple ChecklistTemplates' information"""
  updateMultipleChecklistTemplate(patches: [ChecklistTemplatePatch!]!): [ChecklistTemplate!]!

  """To modify multiple ChecklistTemplateItems' information"""
  updateMultipleChecklistTemplateItems(checklistTemplateId: String!, patches: [ChecklistTemplateItemPatch!]!): [ChecklistTemplateItem!]!

  """To modify multiple ChecklistTypes' information"""
  updateMultipleChecklistType(patches: [ChecklistTypePatch!]!): [ChecklistType!]!

  """To modify multiple CommonCodes' information"""
  updateMultipleCommonCode(patches: [CommonCodePatch!]!): [CommonCode!]!

  """To modify multiple CommonCodeDetails' information"""
  updateMultipleCommonCodeDetail(patches: [CommonCodeDetailPatch!]!): [CommonCodeDetail!]!

  """Updates multiple connections at once."""
  updateMultipleConnection(patches: [ConnectionPatch!]!): [Connection!]!

  """To modify multiple ConstructionDetailTypes' information"""
  updateMultipleConstructionDetailType(constructionTypeId: String!, patches: [ConstructionDetailTypePatch!]!): [ConstructionDetailType!]!

  """To modify multiple ConstructionTypes' information"""
  updateMultipleConstructionType(patches: [ConstructionTypePatch!]!): [ConstructionType!]!

  """To modify multiple Contacts' information"""
  updateMultipleContact(patches: [ContactPatch!]!): [Contact!]!

  """To modify multiple Departments' information"""
  updateMultipleDepartment(patches: [DepartmentPatch!]!): [Department!]!

  """To modify multiple DomainLinks' information"""
  updateMultipleDomainLink(patches: [DomainLinkPatch!]!): [DomainLink!]!

  """
  Updates or creates multiple employee records based on the provided patches. New employees are created if the "cuFlag" is "+", and existing employees are updated if the "cuFlag" is "M".
  """
  updateMultipleEmployee(patches: [EmployeePatch!]!): [Employee!]!

  """To modify multiple Entitys' information"""
  updateMultipleEntity(patches: [EntityPatch!]!): [Entity!]!

  """To modify multiple Entitys' information"""
  updateMultipleEntityColumn(patches: [EntityColumnPatch!]!): [EntityColumn!]!

  """To modify multiple EnvVars' information"""
  updateMultipleEnvVars(patches: [EnvVarPatch!]!): [EnvVar!]!

  """To modify multiple InspectionDrawingTypes' information"""
  updateMultipleInspectionDrawingType(patches: [InspectionDrawingTypePatch!]!): [InspectionDrawingType!]!

  """To modify multiple InspectionParts' information"""
  updateMultipleInspectionPart(inspectionDrawingTypeId: String!, patches: [InspectionPartPatch!]!): [InspectionPart!]!

  """To modify multiple Issues' information"""
  updateMultipleIssue(patches: [IssuePatch!]!): [Issue!]!

  """To modify multiple Managers' information"""
  updateMultipleManager(patches: [ManagerPatch!]!): [Manager!]!

  """To modify multiple Menus' information"""
  updateMultipleMenu(patches: [MenuPatch!]!): [Menu!]!

  """To modify multiple ApprovalLines' information for current user"""
  updateMultipleMyApprovalLine(patches: [ApprovalLinePatch!]!): [ApprovalLine!]!

  """To modify multiple Notificationes' information"""
  updateMultipleNotification(patches: [NotificationPatch!]!): [Notification!]!

  """To modify multiple NotificationRules' information"""
  updateMultipleNotificationRule(patches: [NotificationRulePatch!]!): [NotificationRule!]!

  """To modify multiple PartnerSettings' information"""
  updateMultiplePartnerSetting(patches: [PartnerSettingPatch!]!): [PartnerSetting!]!

  """Updates multiple payload logs at once."""
  updateMultiplePayloadLog(patches: [PayloadLogPatch!]!): [PayloadLog!]!

  """To modify multiple PrinterDevices' information"""
  updateMultiplePrinterDevice(patches: [PrinterDevicePatch!]!): [PrinterDevice!]!

  """To modify multiple ProjectReports' information"""
  updateMultipleProjectReport(patches: [ProjectReportPatch!]!): [ProjectReport!]!

  """To modify multiple Resources' information"""
  updateMultipleResource(patches: [ResourcePatch!]!): [Resource!]!

  """
  Updates multiple scenarios at once. Can be used to create or update records.
  """
  updateMultipleScenario(patches: [ScenarioPatch!]!): [Scenario!]!

  """To modify multiple Settings' information"""
  updateMultipleSetting(patches: [SettingPatch!]!): [Setting!]!

  """Updates multiple state registers at once."""
  updateMultipleStateRegister(patches: [StateRegisterPatch!]!): [StateRegister!]!

  """
  Updates multiple steps within a specific scenario. This operation replaces all existing steps for the scenario.
  """
  updateMultipleStep(patches: [StepPatch!]!, scenarioId: String!): [Step!]!

  """To modify multiple Supervisors' information"""
  updateMultipleSupervisor(patches: [SupervisorPatch!]!): [Supervisor!]!

  """To modify multiple Tasks' information"""
  updateMultipleTask(patches: [TaskPatch!]!): [Task!]!

  """To modify multiple TaskResources' information"""
  updateMultipleTaskResource(patches: [TaskResourcePatch!]!): [TaskResource!]!

  """To modify multiple Terminologies' information"""
  updateMultipleTerminologies(patches: [TerminologyPatch!]!): [Terminology!]!

  """
  Updates multiple themes at once. Can create or update themes based on the cuFlag.
  """
  updateMultipleTheme(patches: [ThemePatch!]!): [Theme!]!

  """
  Updates or creates multiple users in a single operation. Use this mutation for batch processing of user records.
  """
  updateMultipleUser(
    """An array of patch objects for batch update or creation."""
    patches: [UserPatch!]!
  ): [User!]!

  """To modify multiple WorkerTypes' information"""
  updateMultipleWorkerType(patches: [WorkerTypePatch!]!): [WorkerType!]!

  """To modify ApprovalLine information for current user"""
  updateMyApprovalLine(id: String!, patch: ApprovalLinePatch!): ApprovalLine!

  """To create or update my PagePreference"""
  updateMyPagePreference(element: String!, page: String!, preference: Object!): PagePreference!

  """To create or update my preference"""
  updateMyUserPreference(key: String!, preference: Object!): UserPreference!

  """To modify NoticeComment information"""
  updateNoticeComment(id: String!, patch: NoticeCommentPatch!): NoticeComment!

  """To modify Notification information"""
  updateNotification(id: String!, patch: NotificationPatch!): Notification!

  """To modify NotificationRule information"""
  updateNotificationRule(id: String!, patch: NotificationRulePatch!): NotificationRule!

  """To modify Oauth2Client information"""
  updateOauth2Client(id: String!, patch: Oauth2ClientPatch!): Oauth2Client!

  """Updates an existing payload log."""
  updatePayloadLog(id: String!, patch: PayloadLogPatch!): PayloadLog!

  """Updates an existing play group."""
  updatePlayGroup(id: String!, patch: PlayGroupPatch!): PlayGroup!

  """To modify PrinterDevice information"""
  updatePrinterDevice(id: String!, patch: PrinterDevicePatch!): PrinterDevice!

  """To modify privilege information"""
  updatePrivilege(category: String!, name: String!, patch: PrivilegePatch!): Privilege!

  """프로젝트 업데이트"""
  updateProject(project: ProjectPatch!): Project!

  """프로젝트 도면 업데이트"""
  updateProjectPlan(project: ProjectPatch!): Project!

  """To modify ProjectReport information"""
  updateProjectReport(id: String!, patch: ProjectReportPatch!): ProjectReport!

  """To modify Resource information"""
  updateResource(id: String!, patch: ResourcePatch!): Resource!

  """To modify role information"""
  updateRole(id: String!, patch: RolePatch!): Role!

  """To update role Menu"""
  updateRoleMenu(isCheckedMenu: Boolean!, roleId: String!, targetMenuId: String!): Menu!

  """To update role Menu"""
  updateRoleMenus(isCheckedAll: Boolean!, parentMenuId: String!, roleId: String!): [Menu!]!

  """Updates an existing scenario."""
  updateScenario(name: String!, patch: ScenarioPatch!): Scenario!

  """To update secure IP list for domain"""
  updateSecureIPList(iplist: Object!): Object

  """To modify Setting information"""
  updateSetting(name: String!, patch: SettingPatch!): Setting!

  """Updates an existing state register."""
  updateStateRegister(id: String!, patch: StateRegisterPatch!): StateRegister!

  """
  Updates the state of a specific state register, identified by its name.
  """
  updateStateRegisterByName(name: String!, state: Object!): StateRegister!

  """To modify Supervisor information"""
  updateSupervisor(id: String!, patch: SupervisorPatch!): Supervisor!

  """To modify Task information"""
  updateTask(id: String!, patch: TaskPatch!): Task!

  """To update Task Checklist information"""
  updateTaskChecklist(taskChecklist: UpdateTaskChecklistSubmitType!): Boolean!

  """To modify TaskResource information"""
  updateTaskResource(id: String!, patch: TaskResourcePatch!): TaskResource!

  """To modify Terminology information"""
  updateTerminology(id: String!, patch: TerminologyPatch!): Terminology!

  """Updates an existing theme."""
  updateTheme(id: String!, patch: ThemePatch!): Theme!

  """
  Updates the information of an existing user. Use this mutation to modify user profile details, such as name, email, or roles.
  """
  updateUser(
    """The email address of the user to update."""
    email: EmailAddress!

    """The patch object containing updated user fields."""
    patch: UserPatch!
  ): User!

  """To modify UserPreference information"""
  updateUserPreference(id: String!, patch: UserPreferencePatch!): UserPreference!

  """
  Updates the roles assigned to a user. Use this mutation to change a user's permissions within the domain.
  """
  updateUserRoles(
    """The list of roles that can be assigned to the user."""
    availableRoles: [ObjectRef!]!

    """The list of roles to be assigned to the user."""
    selectedRoles: [ObjectRef!]!

    """The username or email of the user whose roles to update."""
    username: String!
  ): User!

  """프로젝트 공정표 업로드"""
  uploadProjectScheduleTable(param: UploadProjectScheduleTable!): Boolean!
}

input NewActionPlan {
  active: Boolean
  description: String
  name: String!
  params: String
  state: ActionPlanStatus
  thumbnail: Upload
}

"""Input for creating a new appliance."""
input NewAppliance {
  """The brand of the new appliance."""
  brand: String!

  """A description for the new appliance."""
  description: String

  """The model of the new appliance."""
  model: String!

  """The name of the new appliance."""
  name: String!

  """The network mask for the new appliance."""
  netmask: String

  """The serial number of the new appliance."""
  serialNo: String!
}

"""Input for creating a new application."""
input NewApplication {
  """A description for the new application."""
  description: String

  """The contact email for the new application."""
  email: EmailAddress

  """A URL to the icon for the new application."""
  icon: String

  """The name of the new application."""
  name: String!

  """The redirect URL for the new application."""
  redirectUrl: String

  """The type of the new application."""
  type: ApplicationType

  """The URL of the new application."""
  url: String

  """The webhook URL for the new application."""
  webhook: String
}

input NewApprovalLine {
  description: String
  model: Object
  name: String!
  owner: ObjectRefApprovalLineOwnerType!
  ownerType: ApprovalLineOwnerType!
}

input NewAttachment {
  category: String
  description: String
  file: Upload!
  refBy: String
  refType: String
  tags: Object
}

"""
Input type for creating a new AttributeSet entity, including entity name, description, and items.
"""
input NewAttributeSet {
  """Whether this AttributeSet is active."""
  active: Boolean

  """A description of the AttributeSet."""
  description: String

  """The name of the entity this AttributeSet is associated with."""
  entity: String!

  """A list of items (attributes) included in this AttributeSet."""
  items: [AttributeSetItemPatch!]
}

"""Input for creating a new authentication provider instance."""
input NewAuthProvider {
  """Whether the new provider instance should be active."""
  active: Boolean

  """Client ID for OAuth/OIDC providers."""
  clientId: String

  """Client secret for OAuth/OIDC providers."""
  clientSecret: String

  """Provider-specific parameters."""
  params: Object

  """Private key, for certain types of providers."""
  privateKey: String

  """Tenant ID, for multi-tenant providers."""
  tenantId: String

  """The type of the authentication provider (e.g., keycloak, google)."""
  type: String!
}

"""Input for creating a new board."""
input NewBoard {
  """A detailed description for the new board."""
  description: String

  """The ID of the group to associate the new board with."""
  groupId: String

  """The JSON model for the new board."""
  model: String!

  """The name of the new board."""
  name: String!

  """A base64 encoded thumbnail image for the new board."""
  thumbnail: String

  """The type for the new board, can be 'main', 'sub', or 'popup'."""
  type: String
}

"""Input for creating a new board template."""
input NewBoardTemplate {
  """A detailed description for the new board template."""
  description: String!

  """The JSON model for the new board template."""
  model: String!

  """The name of the new board template."""
  name: String!

  """A base64 encoded thumbnail image for the new board template."""
  thumbnail: String

  """The visibility for the new board template: 'private' or 'public'."""
  visibility: String!
}

input NewBuildingInspection {
  buildingLevelId: String
  cellX: Float
  cellY: Float
  checklist: ChecklistInputType!
  checklistItem: [ChecklistItemInputType!]!
  managerId: String
}

input NewChecklistItemComment {
  checklistItemId: String
  comment: String
}

input NewCommonCode {
  description: String
  details: [String!]
  name: String!
}

input NewCommonCodeDetail {
  commonCode: ObjectRef!
  description: String
  labels: Object
  name: String!
  rank: Float!
}

"""Input for creating a new connection."""
input NewConnection {
  """Whether to automatically connect when the application starts"""
  active: Boolean

  """A detailed description for the new connection."""
  description: String

  """Reference to the edge appliance for the new connection."""
  edge: ObjectRef

  """The endpoint URL or address for the new connection."""
  endpoint: String

  """The name for the new connection."""
  name: String!

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """A key-value map of parameters for the new connection."""
  params: Object

  """The type of the new connection (e.g., tcp, http, mqtt)."""
  type: String
}

input NewContact {
  address: String
  company: String
  department: String
  email: EmailAddress
  items: [ContactItemPatch!]
  name: String!
  note: String
  phone: String
  profile: ProfileInput
}

input NewDepartment {
  active: Boolean
  controlNo: String!
  description: String
  extension: String
  manager: ObjectRefForEmployee
  name: String!
  parent: ObjectRef
  picture: Upload
}

"""Input for creating a new domain link."""
input NewDomainLink {
  """The source domain in the relationship."""
  sourceDomain: ObjectRef!

  """The target domain in the relationship."""
  targetDomain: ObjectRef!

  """The type of the relationship."""
  type: String!
}

input NewEmployee {
  active: Boolean
  alias: String
  bankAccount: String
  bankName: String
  contact: ObjectRefForContact
  controlNo: String!
  department: ObjectRefForDepartment
  emergencyContact: String
  emergencyContactPhone: String
  extension: String
  hiredOn: DateTimeISO
  jobPosition: String
  jobResponsibility: String
  name: String!
  note: String
  photo: Upload
  retiredOn: DateTimeISO
  supervisor: ObjectRefForEmployee
  type: EmployeeType
  user: ObjectRefForUser
}

input NewEntity {
  active: Boolean
  association: String
  bundle: String!
  columns: [String!]
  dataProp: String
  delStrategy: String
  description: String
  extEntity: Boolean
  fixedColumns: Int
  idField: String
  idType: String
  master: String
  multiSaveUrl: String
  name: String!
  refField: String
  searchUrl: String
  tableName: String!
  titleField: String
}

input NewEntityColumn {
  colSize: Float
  colType: String!
  defVal: String
  description: String
  entity: ObjectRef!
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Int
  gridValidator: String
  gridWidth: Int
  ignoreOnSav: Boolean
  name: String!
  nullable: Boolean
  rangeVal: String
  rank: Float
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Int
  sortRank: Int
  term: String
  uniqRank: Int
  virtualField: Boolean
}

"""Input type for creating a new environment variable."""
input NewEnvVar {
  """Indicates whether this environment variable is active."""
  active: Boolean

  """A detailed description for the new environment variable."""
  description: String

  """The name for the new environment variable."""
  name: String!

  """The value for the new environment variable."""
  value: String
}

input NewFavorite {
  routing: String!
}

input NewFont {
  active: Boolean
  files: [Upload!]
  name: String!
  path: String
  provider: String
  uri: String
}

"""Input for creating a new board group."""
input NewGroup {
  """A detailed description for the new group."""
  description: String

  """The name of the new group."""
  name: String!
}

input NewIssue {
  active: Boolean
  description: String
  name: String!
  params: String
  state: IssueStatus
  thumbnail: Upload
}

input NewLiteMenu {
  active: Boolean
  appName: String
  description: String
  help: String
  icon: String
  labels: Object
  name: String!
  parent: String
  rank: Int
  role: ObjectRef
  type: String
  value: String
}

input NewMenu {
  buttons: [ObjectRef!]
  category: String
  children: [ObjectRef!]
  columns: [ObjectRef!]
  description: String
  detailFormId: String
  detailLayout: String
  fixedColumns: Int
  gridSaveUrl: String
  hiddenFlag: Boolean
  iconPath: String
  idField: String
  itemsProp: String
  menuType: String!
  name: String!
  pagination: Boolean
  parent: ObjectRef
  rank: Int
  resourceId: String
  resourceName: String
  resourceType: String
  resourceUrl: String
  role: ObjectRef
  routing: String
  routingType: String
  template: String
  titleField: String
  totalProp: String
}

input NewMenuButton {
  auth: String
  icon: String
  logic: String
  menu: String!
  rank: Int
  style: String
  text: String!
}

input NewMenuColumn {
  colSize: Int
  colType: String!
  defVal: String
  description: String
  extField: Boolean
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Int
  gridValidator: String
  gridWidth: Int
  ignoreOnSave: Boolean
  menu: String!
  name: String!
  nullable: Boolean
  rangeVal: String
  rank: Int
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Int
  sortRank: Int
  term: String
  uniqRank: Int
  virtualField: Boolean
}

input NewMenuDetail {
  association: String
  buttons: [String!]
  columns: [String!]
  customView: String
  dataProp: String
  entityId: String
  masterField: String
  menu: String!
  name: String!
  saveUrl: String
  searchUrl: String
  viewSection: String!
}

input NewMenuDetailButton {
  icon: String
  logic: String
  menuDetail: String!
  rank: Int
  style: String
  text: String!
}

input NewMenuDetailColumn {
  colSize: Int
  colType: String
  defVal: String
  description: String
  extField: Boolean
  formEditor: String
  formFormat: String
  formValidator: String
  gridAlign: String
  gridEditor: String
  gridFormat: String
  gridRank: Int
  gridValidator: String
  gridWidth: Int
  ignoreOnSave: Boolean
  menuDetail: String
  name: String
  nullable: Boolean
  rangeVal: String
  rank: Int
  refName: String
  refParams: String
  refRelated: String
  refType: String
  refUrl: String
  reverseSort: Boolean
  searchEditor: String
  searchInitVal: String
  searchName: String
  searchOper: String
  searchRank: Int
  sortRank: Int
  term: String
  uniqRank: Int
  virtualField: Boolean
}

input NewNoticeComment {
  buildingLevelId: String
  comment: String
}

input NewNotification {
  body: String
  image: String
  ownerId: String
  property: Object
  subject: String
  timestamp: DateTimeISO
  title: String
  type: String
  url: String
}

input NewNotificationRule {
  active: Boolean
  body: String
  description: String
  name: String!
  state: NotificationRuleStatus
  thumbnail: Upload
  title: String
  url: String
}

input NewOauth2Client {
  accessToken: String
  accessTokenUrl: String
  authUrl: String
  callbackUrl: String
  clientId: String
  clientSecret: String
  codeChallengeMethod: String
  codeVerifier: String
  description: String
  grantType: String
  icon: String
  jwtToken: JWT
  name: String!
  password: String
  refreshToken: String
  scopes: String
  username: String
  webhook: String
}

input NewPagePreference {
  element: String
  page: String
  preference: Object!
  user: ObjectRef!
}

"""Input for creating a new payload log."""
input NewPayloadLog {
  """A description for the new payload log entry."""
  description: String

  """The name for the new payload log entry."""
  name: String!
}

"""Input for creating a new play group."""
input NewPlayGroup {
  """A detailed description for the new play group."""
  description: String

  """The name of the new play group."""
  name: String!
}

input NewPrinterDevice {
  activeFlag: Boolean
  defaultFlag: Boolean
  description: String!
  dpi: Int
  jobCategory: String
  jobClass: String
  jobType: String
  name: String!
  note: String
  printerDriver: String
  printerIp: String
  printerPort: Int
  serviceUrl: String
  status: String
  type: String
}

input NewPrivilege {
  category: String!
  description: String
  name: String!
  roles: [ObjectRef!]
}

input NewProject {
  """연관된 건물 복합체 정보 (선택 사항)"""
  buildingComplex: ObjectRef

  """프로젝트 이름"""
  name: String!
}

input NewProjectReport {
  active: Boolean
  description: String
  name: String!
  params: String
  state: ProjectReportStatus
  thumbnail: Upload
}

input NewResource {
  name: String!
  type: ResourceType!
  unit: String!
}

"""Input for creating a new role."""
input NewRole {
  """A description for the new role."""
  description: String

  """The name of the new role."""
  name: String!

  """Privileges to be granted by the new role."""
  privileges: [ObjectRef!]

  """Users to be assigned to the new role."""
  users: [ObjectRef!]
}

"""Input for creating a new scenario."""
input NewScenario {
  """Indicates if the new scenario should be active upon creation."""
  active: Boolean

  """A detailed description for the new scenario."""
  description: String

  """Iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN."""
  iteration: String

  """The name of the new scenario."""
  name: String!

  """The role required to execute the new scenario."""
  role: ObjectRef

  """A cron-style schedule for the new scenario."""
  schedule: String

  """The timezone for the schedule."""
  timezone: String

  """Time-to-live in seconds for new scenario instances."""
  ttl: Float

  """The type of the new scenario, for categorization."""
  type: String
}

input NewSetting {
  category: String!
  description: String
  name: String!
  value: String
}

"""Input for creating a new state register."""
input NewStateRegister {
  """
  Whether to automatically publish state changes. If true, state changes will be published using the name as the tag.
  """
  autoPublish: Boolean

  """Description of the state register"""
  description: String

  """Group name for the state register"""
  group: String

  """
  Name of the state register. If autoPublish is enabled, this name is used as the publish tag.
  """
  name: String!

  """Number of decimal places if the state is a number type"""
  place: String

  """
  Reference to an external entity or data, used as a flexible foreign key
  """
  refBy: String

  """Current state value"""
  state: Object

  """Time to live for the state value in seconds"""
  ttl: Int

  """Type of the state"""
  type: String

  """Unit of the state value"""
  unit: String
}

input NewSupervisor {
  active: Boolean
  description: String
  name: String!
  params: String
  state: SupervisorStatus
  thumbnail: Upload
}

input NewTask {
  """작업이 활성 상태인지 여부 (선택 사항)"""
  active: Boolean

  """프로젝트 내에서 유니크한 작업 코드"""
  code: String!

  """작업에 대한 설명 (선택 사항)"""
  description: String

  """작업의 이름"""
  name: String!

  """작업에 대한 추가 파라미터, JSON 형식으로 저장 (선택 사항)"""
  params: String

  """부모 작업, 해당 작업이 하위 작업인 경우 (선택 사항)"""
  parent: ObjectRefForTask

  """작업이 속한 프로젝트 (선택 사항)"""
  project: ObjectRefForProject
}

input NewTaskChecklist {
  checklist: TaskChecklistInputType!
  checklistItem: [ChecklistItemInputType!]!
  managerId: String
}

input NewTaskResource {
  quantity: Float!
  resourceId: ID!
  taskId: ID!
}

input NewTerminology {
  category: String!
  description: String
  display: String!
  locale: String!
  name: String!
}

"""Input for creating a new theme."""
input NewTheme {
  """Whether the new theme should be active upon creation."""
  active: Boolean

  """A detailed description for the new theme."""
  description: String

  """The name for the new theme."""
  name: String!

  """The type of the new theme."""
  type: String

  """A JSON object of style values for the new theme."""
  value: Object
}

"""Input type for creating a new user account."""
input NewUser {
  """Optional description or note about the user."""
  description: String

  """Email address of the user."""
  email: EmailAddress!

  """Full name of the user."""
  name: String!

  """Password for the user account."""
  password: String

  """Roles assigned to the user."""
  roles: [ObjectRef!]

  """Type or category of the user (e.g., admin, operator, guest)."""
  userType: String

  """Unique username for the user."""
  username: String!
}

"""Input for creating a new user as part of the domain creation wizard."""
input NewUserByDomainWizardInput {
  """The email address of the new user."""
  email: EmailAddress!

  """
  Indicates whether the user should be invited via email instead of created directly.
  """
  isInvitee: Boolean

  """The full name of the new user."""
  name: String!

  """Indicates whether this user is an owner of the domain."""
  owner: Boolean!

  """
  The password for the new user. If not provided, an invitation will be sent.
  """
  password: String

  """A list of roles to be assigned to the new user."""
  roles: [NewRole!]!
}

input NewUserPreference {
  key: String!
  preference: Object!
  user: ObjectRef!
}

"""Entity for NoticeComment"""
type NoticeComment {
  buildingLevel: BuildingLevel
  comment: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  id: ID!
}

input NoticeCommentPatch {
  buildingLevelId: String
  comment: String
  id: ID
}

"""Entity for Notification"""
type Notification {
  body: String
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  id: ID!
  image: String
  owner: User
  property: Object
  state: String
  subject: String
  timestamp: Date
  title: String
  type: String
  updatedAt: DateTimeISO
  updater: User
  url: String
}

type NotificationList {
  items: [Notification!]!
  total: Int!
}

input NotificationPatch {
  cuFlag: String
  id: ID
  state: NotificationStatus
}

"""Entity for NotificationRule"""
type NotificationRule {
  body: String
  channels: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain!
  id: ID!
  name: String

  """notification recipients."""
  recipients: [RecipientItem!]
  state: String
  thumbnail: String
  title: String
  updatedAt: DateTimeISO
  updater: User
  url: String
  version: Float
}

type NotificationRuleList {
  items: [NotificationRule!]!
  total: Int!
}

input NotificationRulePatch {
  body: String
  cuFlag: String
  description: String
  id: ID
  name: String
  state: NotificationRuleStatus
  thumbnail: Upload
  title: String
  url: String
}

"""state enumeration of a notificationRule"""
enum NotificationRuleStatus {
  DRAFT
  RELEASED
}

"""state enumeration of a notification"""
enum NotificationStatus {
  NOTREAD
  READ
}

"""Entity for Oauth2Client"""
type Oauth2Client {
  accessToken: String
  accessTokenUrl: String
  authUrl: String
  callbackUrl: String
  clientId: String
  clientSecret: String
  codeChallengeMethod: String
  codeVerifier: String
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  expires: DateTimeISO
  grantType: String
  icon: String
  id: ID!
  jwtToken: JWT
  name: String!
  password: String
  refreshToken: String
  scopes: String
  state: String
  tokenType: String
  updatedAt: DateTimeISO
  updater: User
  username: String
  webhook: String
}

type Oauth2ClientList {
  items: [Oauth2Client!]!
  total: Int!
}

input Oauth2ClientPatch {
  accessToken: String
  accessTokenUrl: String
  authUrl: String
  callbackUrl: String
  clientId: String
  clientSecret: String
  codeChallengeMethod: String
  codeVerifier: String
  description: String
  grantType: String
  icon: String
  jwtToken: JWT
  name: String
  password: String
  refreshToken: String
  scopes: String
  username: String
  webhook: String
}

"""
A custom scalar type for representing arbitrary JSON objects. Use this type for fields or arguments that require flexible, structured data beyond standard GraphQL scalar types.
"""
scalar Object

"""
Input type for referencing another object by its unique identifier, with optional name and description.
"""
input ObjectRef {
  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefApprovalLineOwnerType {
  controlNo: String

  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefForContact {
  address: String

  """A description of the referenced object."""
  description: String
  email: EmailAddress

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
  phone: String
}

input ObjectRefForDepartment {
  controlNo: String

  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefForEmployee {
  active: Boolean
  alias: String
  controlNo: String

  """A description of the referenced object."""
  description: String
  email: EmailAddress
  hiredOn: DateTimeISO

  """The unique identifier of the referenced object."""
  id: ID!
  jobPosition: String
  jobResponsibility: String

  """The name of the referenced object."""
  name: String
  photo: String
  type: EmployeeType
}

input ObjectRefForProject {
  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """프로젝트 이름 (선택 사항)"""
  name: String
}

input ObjectRefForTask {
  """작업 코드 (선택 사항)"""
  code: String

  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefForUser {
  """A description of the referenced object."""
  description: String
  email: EmailAddress

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

type OrgMemberTarget {
  controlNo: String

  """Field description"""
  description: String

  """Field id"""
  id: ID!

  """Field name"""
  name: String
}

"""type enumeration of a approval line item"""
enum OrgMemberTargetType {
  Department
  Employee
  MyDepartment
  MySupervisor
  Myself
  Role
}

type PDFDrawing {
  drawingURL: String
  dwgId: String
  id: String
  links: [PDFDrawingLink!]
  title: String
}

type PDFDrawingLink {
  box: String
  data: PDFDrawingLinkData
  id: String
  story: String
  symbol: String
  type: String
}

type PDFDrawingLinkData {
  box: String
  code: String
  dwgId: String
  finDetItems: [RoomFinishDetail!]
  id: String
  rmname: String
  sn: String
  symbol: String
  type: String
}

"""Entity for PagePreference"""
type PagePreference {
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  element: String
  id: ID!
  page: String
  preference: Object
  updatedAt: DateTimeISO
  updater: User
  user: User!
}

type PagePreferenceList {
  items: [PagePreference!]!
  total: Int!
}

"""Input type for specifying pagination options in a list query."""
input Pagination {
  """The maximum number of items per page."""
  limit: Int

  """The page number to retrieve."""
  page: Int
}

"""Represents a partnership between two domains."""
type Partner {
  """The timestamp when the partnership was approved."""
  approvedAt: DateTimeISO

  """The user who approved the partnership."""
  approver: User

  """The domain initiating the partnership."""
  domain: Domain!

  """Unique identifier for the partnership."""
  id: ID!

  """The domain being partnered with."""
  partnerDomain: Domain!

  """The timestamp when the partnership was requested."""
  requestedAt: DateTimeISO

  """The user who requested the partnership."""
  requester: User
}

"""A paginated list of partnerships."""
type PartnerList {
  """The list of partnership items."""
  items: [Partner!]

  """The total number of partnerships."""
  total: Int
}

"""Entity for PartnerSetting"""
type PartnerSetting {
  category: String
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  name: String
  partnerDomain: Domain
  partnerDomainId: String
  setting: Setting
  settingId: String
  updatedAt: DateTimeISO
  updater: User
  value: String
}

type PartnerSettingList {
  items: [PartnerSetting!]!
  total: Int!
}

input PartnerSettingPatch {
  cuFlag: String!
  id: ID
  partnerDomain: ObjectRef
  setting: ObjectRef
  value: String
}

"""
Password rule configuration for user accounts, specifying required character types and patterns.
"""
type PasswordRule {
  """Whether repeated characters are allowed in the password."""
  allowRepeat: Boolean

  """Whether at least one digit is required."""
  digit: Boolean

  """Minimum length required for a loose password pattern."""
  looseCharacterLength: Float

  """Whether at least one lowercase letter is required."""
  lowerCase: Boolean

  """Whether at least one special character is required."""
  specialCharacter: Boolean

  """Minimum length required for a strict password pattern."""
  tightCharacterLength: Float

  """Whether at least one uppercase letter is required."""
  upperCase: Boolean

  """Whether to allow a loose password pattern."""
  useLoosePattern: Boolean

  """Whether to enforce a strict password pattern."""
  useTightPattern: Boolean
}

"""Logs the request and response payloads for API interactions."""
type PayloadLog {
  """The timestamp when the log entry was created."""
  createdAt: DateTimeISO

  """The user who created the log entry."""
  creator: User

  """The domain in which the transaction occurred."""
  domain: Domain!

  """The API endpoint that was called."""
  endpoint: String!

  """Unique identifier for the payload log entry."""
  id: ID!

  """A descriptive name for the transaction being logged."""
  name: String!

  """The full request payload, usually in JSON format."""
  request: String!

  """The full response payload, usually in JSON format."""
  response: String!

  """The source of the request."""
  src: String

  """The direction of the data flow (ingestion or egestion)."""
  type: String!

  """The timestamp when the log entry was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the log entry."""
  updater: User
}

"""A paginated list of payload logs."""
type PayloadLogList {
  """The list of payload log items."""
  items: [PayloadLog!]!

  """The total number of payload logs."""
  total: Int!
}

"""Input for updating (patching) an existing payload log."""
input PayloadLogPatch {
  """
  A flag indicating whether the log is being created, updated, or deleted.
  """
  cuFlag: String!

  """The new description for the payload log entry."""
  description: String

  """The unique identifier of the payload log to update."""
  id: ID

  """The new name for the payload log entry."""
  name: String
}

"""Represents an item pending in a scenario queue."""
type PendingObject {
  """The timestamp indicating when the item is due for processing."""
  due: String!

  """The priority level of the item in the queue."""
  priority: Int!

  """The actual data or task object in the queue."""
  stuff: Object!

  """A tag for categorizing or filtering queue items."""
  tag: String
}

"""A group of boards that can be played in a sequence or collection."""
type PlayGroup {
  """The list of boards included in this play group."""
  boards: [Board!]

  """The timestamp when the play group was created."""
  createdAt: DateTimeISO

  """The user who created the play group."""
  creator: User

  """A detailed description of the play group."""
  description: String

  """The domain to which this play group belongs."""
  domain: Domain

  """Unique identifier for the play group."""
  id: ID!

  """The name of the play group."""
  name: String!

  """
  An array of board IDs, defining the specific playback order of boards within the group.
  """
  order: [String!]

  """The timestamp when the play group was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the play group."""
  updater: User
}

"""A paginated list of play groups."""
type PlayGroupList {
  """The list of play group items."""
  items: [PlayGroup!]!

  """The total number of play groups."""
  total: Int!
}

"""Input for updating (patching) an existing play group."""
input PlayGroupPatch {
  """The new description for the play group."""
  description: String

  """The new name for the play group."""
  name: String
}

"""Entity for PrinterDevice"""
type PrinterDevice {
  activeFlag: Boolean
  createdAt: DateTimeISO
  creator: User
  defaultFlag: Boolean
  description: String!
  domain: Domain!
  dpi: Int
  id: ID!
  jobCategory: String
  jobClass: String
  jobType: String
  name: String!
  note: String
  printerDriver: String
  printerIp: String
  printerPort: Int
  serviceUrl: String
  status: String
  type: String!
  updatedAt: DateTimeISO
  updater: User
}

type PrinterDeviceList {
  items: [PrinterDevice!]!
  total: Int!
}

input PrinterDevicePatch {
  activeFlag: Boolean
  cuFlag: String!
  defaultFlag: Boolean
  description: String
  dpi: Int
  id: ID
  jobCategory: String
  jobClass: String
  jobType: String
  name: String
  note: String
  printerDriver: String
  printerIp: String
  printerPort: Int
  serviceUrl: String
  status: String
  type: String
}

"""
A privilege that can be granted to roles to control access to resources.
"""
type Privilege {
  """The category of the privilege (e.g., security, resource)."""
  category: String

  """The timestamp when the privilege was created."""
  createdAt: DateTimeISO

  """The user who created the privilege."""
  creator: User

  """A detailed description of what the privilege allows."""
  description: String

  """Unique identifier for the privilege."""
  id: ID!

  """The name of the privilege."""
  name: String!
  privilege: String!

  """Roles that include this privilege."""
  roles: [Role!]

  """The timestamp when the privilege was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the privilege."""
  updater: User
}

type PrivilegeList {
  items: [Privilege!]
  total: Int
}

"""Represents a privilege object with its properties."""
type PrivilegeObject {
  """The category of the privilege."""
  category: String

  """Indicates if the privilege is for an owner."""
  owner: Boolean

  """The name of the privilege."""
  privilege: String

  """Indicates if the privilege is for a superuser."""
  super: Boolean
}

input PrivilegePatch {
  category: String
  description: String
  id: String
  name: String
  roles: [ObjectRef!]
}

"""Object type for Profile"""
type Profile {
  left: Float
  picture: String
  top: Float
  zoom: Float
}

"""Input type for Profile"""
input ProfileInput {
  file: Upload
  left: Float
  picture: String
  top: Float
  zoom: Float
}

"""프로젝트"""
type Project {
  buildingComplex: BuildingComplex
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  documentNaming: String
  domain: Domain
  endDate: String
  id: ID!
  inspPassRate: Float
  kpi: Float
  mainPhoto: Attachment
  name: String!
  projectType: String!
  robotCount: Float
  robotProgressRate: Float
  rootTasks: [Task!]
  scheduleTable: Attachment
  startDate: String
  state: String!
  structuralSafetyRate: Float
  tasks: [Task!]
  totalProgress: Float
  updatedAt: DateTimeISO
  updater: User
  weeklyProgress: Float
}

type ProjectList {
  """프로젝트 리스트 항목들"""
  items: [Project!]!

  """전체 프로젝트 수"""
  total: Int!
}

type ProjectManagerOutput {
  id: ID
  name: String
  phone: String
  position: String
  updatedAt: String
  userId: ID!
}

input ProjectPatch {
  """연관된 건물 복합체 정보 (선택 사항)"""
  buildingComplex: BuildingComplexPatch

  """프로젝트 문서 네이밍"""
  documentNaming: String

  """프로젝트 준공일정"""
  endDate: String

  """수정할 프로젝트의 ID"""
  id: String!

  """검측/통과 비율 (%)"""
  inspPassRate: Float

  """프로젝트 KPI"""
  kpi: Float

  """프로젝트 대표 사진 업로드"""
  mainPhotoUpload: Upload

  """프로젝트 이름"""
  name: String!

  """로봇 작업 대수"""
  robotCount: Int

  """로봇 작업 진행율 (%)"""
  robotProgressRate: Float

  """프로젝트 착공일정"""
  startDate: String

  """구조 안전도 (%)"""
  structuralSafetyRate: Float

  """프로젝트 전체 진행현황 (%)"""
  totalProgress: Float

  """프로젝트 주간 진행현황 (%)"""
  weeklyProgress: Float
}

"""Entity for ProjectReport"""
type ProjectReport {
  active: Boolean
  content: String
  createdAt: DateTimeISO
  creator: User
  date: DateTimeISO
  deletedAt: DateTimeISO
  description: String
  domain: Domain
  id: ID!
  name: String
  params: String
  state: String
  supervisor: Supervisor!
  thumbnail: String
  updatedAt: DateTimeISO
  updater: User
}

type ProjectReportList {
  items: [ProjectReport!]!
  total: Int!
}

input ProjectReportPatch {
  active: Boolean
  cuFlag: String
  description: String
  id: ID
  name: String
  state: ProjectReportStatus
  thumbnail: Upload
}

"""state enumeration of a projectReport"""
enum ProjectReportStatus {
  STATUS_A
  STATUS_B
}

"""
Describes a single property for a component or a step, used for UI rendering and configuration.
"""
type PropertySpec {
  """The human-readable label for the property, shown in UI."""
  label: String!

  """The name of the property, used as the key in configuration objects."""
  name: String!

  """Placeholder text for the input field."""
  placeholder: String

  """
  Additional properties specific to the type (e.g., options for a select).
  """
  property: Object

  """CSS styles to be applied to the input field."""
  styles: Object

  """
  The data type of the property (e.g., text, number, boolean, select, password).
  """
  type: String!

  """
  Whether this property should use Domain attributes for secure storage instead of direct params.
  """
  useDomainAttribute: Boolean
}

type Query {
  APIDocCompletion(input: APIDocCompletionInput!): APIDocCompletionOutput!

  """To fetch a ActionPlan"""
  actionPlan(id: String!): ActionPlan

  """To fetch multiple ActionPlans"""
  actionPlans(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActionPlanList!
  appBinding(id: String!): AppBinding!
  appBindings(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AppBindingList!

  """ To fetch appliance"""
  appliance(id: String!): Appliance!

  """To fetch multiple appliance"""
  appliances(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApplianceList!

  """To fetch application"""
  application(id: String!): Application!

  """To fetch multiple application"""
  applications(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApplicationList!

  """To fetch a approval line"""
  approvalLine(id: String!): ApprovalLine

  """To fetch referable approval lines for the user"""
  approvalLineReferences(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch multiple approval lines"""
  approvalLines(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!
  attachment(id: String!): Attachment!
  attachments(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AttachmentList!

  """
  Fetches a single AttributeSet entity by its unique identifier. Use this query to retrieve the details of a specific attribute set.
  """
  attributeSet(
    """The unique identifier of the AttributeSet to fetch."""
    id: String!
  ): AttributeSet

  """
  Fetches a single AttributeSet entity by the associated entity name. Use this query to retrieve the attribute set for a specific entity type.
  """
  attributeSetByEntity(
    """The entity name associated with the AttributeSet."""
    entity: String!
  ): AttributeSet

  """
  Fetches a list of AttributeSet entities with pagination and filtering options. Use this query to retrieve multiple attribute sets.
  """
  attributeSets(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AttributeSetList!

  """To fetch a AuthProvider"""
  authProvider(id: String!): AuthProvider

  """To fetch a AuthProvider"""
  authProviderTypes: AuthProviderTypeList

  """To fetch multiple AuthProviders"""
  authProviders(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AuthProviderList!

  """Finds a single board by its ID."""
  board(id: String!): Board!

  """Finds a single board by its name."""
  boardByName(name: String!): Board

  """Retrieves the most recently published version of a board."""
  boardPublished(id: String!): BoardHistory!

  """To fetch a BoardSettings"""
  boardSettings(names: [String!]): [BoardSetting!]!

  """To fetch a BoardTemplate"""
  boardTemplate(id: String!): BoardTemplate

  """To fetch multiple BoardTemplates"""
  boardTemplates(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardTemplateList!

  """To fetch BoardTemplates created by me"""
  boardTemplatesCreatedByMe(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardTemplateList!

  """Retrieves up to 10 historical versions of a specific board."""
  boardVersions(id: String!): [BoardHistory!]!

  """Retrieves a paginated list of all boards."""
  boards(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardList!

  """Retrieves a paginated list of boards created by the current user."""
  boardsCreatedByMe(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardList!

  """To fetch a building"""
  building(id: String!): Building

  """To fetch a BuildingComplex"""
  buildingBuildingComplex(id: String!): BuildingComplex

  """To fetch a BuildingInspection"""
  buildingInspection(id: String!): BuildingInspection
  buildingInspectionDailyWorklogByProjectIdAndDate(date: String!, projectId: String!): BuildingInspectionDailyWorklog

  """To fetch a BuildingInspection Summary"""
  buildingInspectionDateSummaryOfLevelAndPeriod(buildingLevelId: String!, endDate: String!, startDate: String!): [BuildingInspectionSummary!]

  """To fetch a BuildingInspection Summary"""
  buildingInspectionSummaryOfBuildingLevel(buildingLevelId: String!): BuildingInspectionSummary

  """프로젝트의 검측상태 별 카운트"""
  buildingInspectionSummaryOfProject(projectId: String!): BuildingInspectionSummary!

  """To fetch multiple BuildingInspections"""
  buildingInspections(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BuildingInspectionList!

  """To fetch multiple BuildingInspections"""
  buildingInspectionsOfBuildingLevel(params: BuildingInspectionsOfBuildingLevel!): BuildingInspectionList!

  """To fetch multiple BuildingInspections"""
  buildingInspectionsOfProject(params: BuildingInspectionsOfProject!): BuildingInspectionList!

  """To fetch a building level"""
  buildingLevel(id: String!): BuildingLevel
  chatCompletion(input: ChatCompletionInput!): ChatCompletionOutput!

  """
  Checks if the system is configured to provide a default password for new users.
  """
  checkDefaultPassword: Boolean!

  """
  Determines whether the system provides a default password when creating a new user.
  """
  checkResettablePasswordToDefault: Boolean!

  """To fetch the preset of role for new user"""
  checkRolePreset: [Role!]!

  """
  Checks if the current authenticated user belongs to the current domain.
  """
  checkUserBelongsDomain: Boolean!

  """Checks if a user with the given email address exists in the system."""
  checkUserExistence(
    """The email address to check for existence."""
    email: EmailAddress!
  ): Boolean!

  """To fetch a Checklist"""
  checklist(id: String!): Checklist

  """To fetch a ChecklistItem"""
  checklistItem(id: String!): ChecklistItem

  """To fetch multiple ChecklistItemComments"""
  checklistItemComments(checklistItemId: String!, pagination: Pagination!): [ChecklistItemComment!]!

  """To fetch multiple ChecklistItems"""
  checklistItems(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ChecklistItemList!

  """To fetch a ChecklistTemplateItem"""
  checklistTemplateItem(id: String!): ChecklistTemplateItem

  """To fetch multiple ChecklistTemplateItems"""
  checklistTemplateItems(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ChecklistTemplateItemList!

  """To fetch multiple ChecklistTemplates"""
  checklistTemplates(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ChecklistTemplateList!

  """To fetch multiple ChecklistTypes"""
  checklistTypes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ChecklistTypeList!

  """To fetch multiple Checklists"""
  checklists(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ChecklistList!

  """To fetch common approval lines"""
  commonApprovalLines(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch a CommonCode"""
  commonCode(name: String!): CommonCode

  """To fetch a CommonCodeDetail"""
  commonCodeDetail(id: String!): CommonCodeDetail!

  """To fetch multiple CommonCodeDetails"""
  commonCodeDetails(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): CommonCodeDetailList!

  """To fetch multiple CommonCodes"""
  commonCodes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): CommonCodeList!

  """Fetches a single connection by its name, including its current state."""
  connection(name: String!): Connection!

  """
  Fetches a paginated list of connections, including their current states.
  """
  connections(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ConnectionList!

  """Fetches a single connector type by its name."""
  connector(name: String!): ConnectorType!

  """Fetches the connector type associated with a specific connection."""
  connectorByConnection(connectionName: String!): ConnectorType!

  """Fetches a list of all available connector types."""
  connectors: ConnectorList!

  """To fetch multiple ConstructionDetailTypes"""
  constructionDetailTypes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ConstructionDetailTypeList!

  """To fetch a ConstructionType"""
  constructionType(id: String!): ConstructionType

  """To fetch multiple ConstructionTypes"""
  constructionTypes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ConstructionTypeList!

  """To fetch a Contact"""
  contact(id: String!): Contact

  """To fetch multiple Contacts"""
  contacts(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ContactList!
  customers: [Domain!]!
  dailyWorklogDatesOfProject(endDate: String!, projectId: String!, startDate: String!): [BuildingInspectionDailyWorklog!]!
  decipherCode(input: CodeDecipherInput!): CodeDecipherOutput!
  decipherErrorCode(input: CodeDecipherInput!): CodeDecipherOutput!

  """To fetch a Department"""
  department(id: String!): Department

  """To fetch a Root Departments"""
  departmentRoots(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DepartmentList

  """To fetch multiple Departments"""
  departments(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DepartmentList!

  """
  Fetches a single domain entity by its unique identifier. Only superusers are granted this privilege.
  """
  domain(
    """The unique identifier of the domain to fetch."""
    id: String!
  ): Domain!

  """To fetch multiple DomainLinks"""
  domainLinks(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DomainLinkList!

  """
  Fetches the list of available domain types from configuration. Only superusers are granted this privilege.
  """
  domainTypes: [String!]!

  """
  Fetches all domain entities with pagination and filtering options. Only superusers are granted this privilege.
  """
  domains(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DomainList!

  """To fetch domains with given privilege for user"""
  domainsWithPrivilege(category: String!, privilege: String!): [Domain!]!

  """To fetch multiple appliance"""
  edges(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApplianceList!

  """
  Fetches a specific employee by their unique ID. Returns the employee object if found, or null if not found.
  """
  employee(id: String!): Employee

  """
  Fetches a list of employees based on provided query parameters. Supports searching by name, control number, and alias.
  """
  employees(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): EmployeeList!

  """To fetch multiple Entities"""
  entities(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): EntityList!

  """To fetch a Entity"""
  entity(id: String!): Entity!

  """To fetch a EntityColumn"""
  entityColumn(id: String!): EntityColumn!

  """To fetch multiple EntityColumns"""
  entityColumns(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): EntityColumnList!

  """To fetch a EntityMetadata"""
  entityMetadata(name: String!): EntityMetadata!
  envVar(id: String!): EnvVar
  envVars(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): EnvVarList!

  """To fetch a Favorite"""
  favorite(id: String!): Favorite!

  """To fetch multiple BoardFavorites"""
  favoriteBoards(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardFavoriteList!

  """To fetch multiple Favorites"""
  favorites(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): FavoriteList!

  """Fetches the current state of a single connection by its name."""
  fetchConnectionState(name: String!): ConnectionState!

  """To fetch a Font"""
  font(id: String!): Font!

  """To fetch multiple Fonts"""
  fonts(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): FontList!
  grantedRoles: [GrantedRole!]!
  grantingRoles(customerId: String!): [GrantedRole!]!

  """Finds a single board group by its ID."""
  group(id: String!): Group

  """Retrieves a paginated list of board groups."""
  groups(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): GroupList!

  """To query whether I have the given permission"""
  hasPrivilege(category: String!, privilege: String!): Boolean!
  i18nCompletion(input: i18nCompletionInput!): i18nCompletionOutput!
  imageCompletion(input: ImageCompletionInput!): ImageCompletionOutput!

  """BuildingInspection By ChecklistItemId"""
  inspectionByChecklistItemId: BuildingInspection!

  """To fetch a InspectionDrawingType"""
  inspectionDrawingType(id: String!): InspectionDrawingType

  """To fetch multiple InspectionDrawingTypes"""
  inspectionDrawingTypes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): InspectionDrawingTypeList!

  """To fetch a InspectionPart"""
  inspectionPart(id: String!): InspectionPart

  """To fetch multiple InspectionParts"""
  inspectionParts(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): InspectionPartList!

  """To fetch integration Analyses"""
  integrationAnalysis: Object!
  invitation(email: EmailAddress!, reference: String!, type: String!): Invitation!
  invitations(reference: String!, type: String!): InvitationList!

  """To fetch a Issue"""
  issue(id: String!): Issue

  """To fetch multiple Issues"""
  issues(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): IssueList!

  """To fetch a LiteMenu"""
  liteMenu(id: String!): LiteMenu!

  """To fetch multiple LiteMenus"""
  liteMenus(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): LiteMenuList!

  """To fetch multiple LoginHistories"""
  loginHistories(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): LoginHistoryList!

  """담당자 리스트"""
  managers: [ManagerOutput!]!

  """To fetch a Menu"""
  menu(id: String!): Menu!

  """To fetch a MenuButton"""
  menuButton(id: String!): MenuButton!

  """To fetch multiple MenuButtons"""
  menuButtons(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuButtonList!

  """To fetch a Menu by routing"""
  menuByRouting(routing: String!): Menu!

  """To fetch a MenuColumn"""
  menuColumn(id: String!): MenuColumn!

  """To fetch multiple MenuColumns"""
  menuColumns(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuColumnList!

  """To fetch a MenuDetail"""
  menuDetail(id: String!): MenuDetail!

  """To fetch a MenuDetailButton"""
  menuDetailButton(id: String!): MenuDetailButton!

  """To fetch multiple MenuDetailButtons"""
  menuDetailButtons(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuDetailButtonList!

  """To fetch a MenuDetailColumn"""
  menuDetailColumn(id: String!): MenuDetailColumn!

  """To fetch multiple MenuDetailColumns"""
  menuDetailColumns(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuDetailColumnList!

  """To fetch multiple MenuDetails"""
  menuDetails(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuDetailList!

  """To fetch multiple Menus"""
  menus(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuList!

  """To fetch approval lines only for to the user"""
  myApprovalLines(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch current user's Favorites"""
  myFavorites: [Favorite!]!

  """To fetch my own LiteMenus"""
  myLiteMenus(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): LiteMenuList!
  myLoginHistories(limit: Float!): [LoginHistory!]!

  """To fetch my own Menus"""
  myMenus(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): MenuList!

  """To fetch my notifications"""
  myNotifications(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): NotificationList!

  """To fetch a User's own PagePreference"""
  myPageAllPreferences(page: String!): [PagePreference!]

  """To fetch a User's own PagePreference"""
  myPagePreference(element: String!, page: String!): PagePreference

  """To fetch multiple PagePreferences"""
  myPagePreferences(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PagePreferenceList!

  """To fetch roles of current user (id, name only)"""
  myRoles: [RoleBrief!]!

  """To fetch a User's own UserPreference"""
  myUserPreference(element: String!, key: String!): UserPreference

  """To fetch multiple UserPreferences"""
  myUserPreferences(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): UserPreferenceList!

  """To fetch multiple NoticeComments"""
  noticeComments(buildingLevelId: String!): [NoticeComment!]!

  """To fetch a Notification"""
  notification(id: String!): Notification

  """To fetch a NotificationRule"""
  notificationRule(id: String!): NotificationRule

  """To fetch multiple NotificationRules"""
  notificationRules(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): NotificationRuleList!

  """To fetch multiple Notificationes"""
  notificationes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): NotificationList!

  """To fetch a Oauth2Client"""
  oauth2Client(id: String!): Oauth2Client

  """To fetch multiple Oauth2Clients"""
  oauth2Clients(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): Oauth2ClientList!

  """To fetch a PagePreference"""
  pagePreference(id: String!): PagePreference

  """To fetch specific domain's CommonCodes by given name"""
  partnerCommonCode(name: String!, partnerDomainId: String!): CommonCode!

  """To fetch a PartnerSetting"""
  partnerSetting(name: String!, partnerDomainId: String!): PartnerSetting!

  """To fetch multiple PartnerSettings"""
  partnerSettings(filters: [Filter!]!, pagination: Pagination!, partnerDomain: ObjectRef!, sortings: [Sorting!]!): PartnerSettingList!
  partners(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PartnerList!

  """
  Retrieves the current password rule configuration for the system, such as required character types and minimum length.
  """
  passwordRule: PasswordRule!

  """Fetches a single payload log by its ID."""
  payloadLog(id: String!): PayloadLog!

  """Fetches a paginated list of payload logs."""
  payloadLogs(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PayloadLogList!

  """To fetch a PDFDrawing by dwgId"""
  pdfDrawingByDwgId(dwgId: String!): PDFDrawing!

  """To fetch a PDFDrawing by title"""
  pdfDrawingByTitle(title: String!): PDFDrawing!

  """To fetch multiple PDFDrawings"""
  pdfDrawings: [PDFDrawing!]!

  """Finds a single play group by its ID."""
  playGroup(id: String!): PlayGroup

  """Finds a single play group by its name."""
  playGroupByName(name: String!): PlayGroup

  """Retrieves a paginated list of play groups."""
  playGroups(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PlayGroupList!

  """To fetch a UserPreference"""
  preference(id: String!): UserPreference

  """To fetch a PrinterDevice"""
  printerDevice(id: String!): PrinterDevice!

  """To fetch multiple PrinterDevices"""
  printerDevices(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PrinterDeviceList!

  """To fetch multiple privileges"""
  privileges(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PrivilegeList!

  """To fetch a Project"""
  project(id: String!): Project

  """To fetch a Project"""
  projectByBuildingComplexId(buildingComplexId: String!): Project

  """To fetch Project"""
  projectByBuildingLevelId(buildingLevelId: String!): Project!

  """To fetch a ProjectReport"""
  projectReport(id: String!): ProjectReport

  """To fetch multiple ProjectReports"""
  projectReports(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ProjectReportList!

  """프로젝트 리스트"""
  projects(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ProjectList!

  """To fetch a Resource"""
  resource(id: String!): Resource

  """To fetch multiple Resources"""
  resources(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ResourceList!

  """To fetch role"""
  role(name: String!): Role!

  """To fetch Menus by role"""
  roleMenus(roleId: String!): MenuList!

  """To fetch privileges of a role"""
  rolePrivileges(roleId: String!): [RolePrivilege!]!

  """To fetch multiple users"""
  roles(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): RoleList!

  """Fetches a single scenario by its ID."""
  scenario(id: String!): Scenario!

  """Fetches a single scenario instance by its name."""
  scenarioInstance(instanceName: String!): ScenarioInstance!

  """Fetches a list of all active scenario instances."""
  scenarioInstances(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ScenarioInstanceList!

  """Fetches a paginated list of scenarios."""
  scenarios(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ScenarioList!
  searchCustomers(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DomainList!

  """
  Fetches the secure IP list (whitelist, blacklist, etc.) for the current domain. Only domain owners and superusers are granted this privilege.
  """
  secureIPList: Object

  """To fetch a Setting"""
  setting(name: String!, partnerDomainId: String): Setting!

  """To fetch multiple Settings"""
  settings(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): SettingList!

  """Fetches a single state register by its ID."""
  stateRegister(id: String!): StateRegister

  """Fetches a single state register by its name."""
  stateRegisterByName(name: String!): StateRegister

  """Fetches a paginated list of state registers."""
  stateRegisters(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): StateRegisterList!

  """Fetches a single scenario step by its name."""
  step(name: String!): Step!

  """Fetches a paginated list of scenario steps."""
  steps(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): StepList!

  """To fetch a Supervisor"""
  supervisor(id: String!): Supervisor

  """To fetch multiple Supervisors"""
  supervisors(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): SupervisorList!

  """Fetch a single Task by its ID"""
  task(id: String!): Task

  """Fetch a single TaskChecklistBinding by its ID"""
  taskChecklistBinding(id: String!): TaskChecklistBinding

  """To fetch a TaskResource"""
  taskResource(id: String!): TaskResource

  """To fetch multiple TaskResources"""
  taskResources(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): TaskResourceList!

  """Fetches a single task type by its name."""
  taskType(name: String!): TaskType!

  """Fetches a list of all available task types."""
  taskTypes: TaskTypeList!

  """
  Fetches a list of task types that are compatible with a specific connection.
  """
  taskTypesByConnection(connectionName: String!): TaskTypeList!

  """Fetch multiple Tasks based on list parameters"""
  tasks(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): TaskList!

  """To fetch multiple Terminologies"""
  terminologies(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): TerminologyList!

  """To fetch a Terminology"""
  terminology(id: String!): Terminology!

  """Finds a single theme by its ID."""
  theme(id: String!): Theme

  """Retrieves a paginated list of themes."""
  themes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ThemeList!

  """Fetches a user by their email address within the current domain."""
  user(
    """The email address of the user to fetch."""
    email: EmailAddress!
  ): User!

  """To fetch Menus by role"""
  userMenus: [Menu!]!

  """To fetch roles of a user"""
  userRoles(userId: String!): [UserRole!]!

  """
  Fetches a list of users based on provided search parameters within the current domain.
  """
  users(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): UserList!
  vendors: [Domain!]!

  """To fetch a WorkerType"""
  workerType(id: String!): WorkerType

  """To fetch multiple WorkerTypes"""
  workerTypes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): WorkerTypeList!
}

type RecipientItem {
  recipient: OrgMemberTarget
  type: OrgMemberTargetType
  value: String
}

"""자원"""
type Resource {
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  domain: Domain
  id: ID!
  name: String!
  type: String!
  unit: String!
  updatedAt: DateTimeISO
  updater: User
}

type ResourceList {
  items: [Resource!]!
  total: Int!
}

input ResourcePatch {
  cuFlag: String
  id: ID
  name: String
  type: ResourceType
  unit: String
}

"""자원 유형"""
enum ResourceType {
  EQUIPMENT
  HUMAN
  MATERIAL
}

"""
A role that groups a set of privileges, which can be assigned to users.
"""
type Role {
  """The timestamp when the role was created."""
  createdAt: DateTimeISO

  """The user who created the role."""
  creator: User

  """A description of the role."""
  description: String

  """The domain to which the role belongs."""
  domain: Domain!

  """Unique identifier for the role."""
  id: ID!

  """The name of the role."""
  name: String

  """Privileges granted by this role."""
  privileges: [Privilege!]

  """The timestamp when the role was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the role."""
  updater: User

  """Users who are assigned this role."""
  users: [User!]
}

"""A brief summary of a role, containing only the ID and name."""
type RoleBrief {
  """The unique identifier of the role."""
  id: String

  """The name of the role."""
  name: String
}

"""A paginated list of roles."""
type RoleList {
  """The list of role items."""
  items: [Role!]

  """The total number of roles."""
  total: Int
}

"""Input for updating (patching) an existing role."""
input RolePatch {
  """
  A flag indicating whether the role is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the role."""
  description: String

  """The unique identifier of the role to update."""
  id: String

  """The new name for the role."""
  name: String

  """A new list of privileges to be granted by the role."""
  privileges: [ObjectRef!]

  """A new list of users to be assigned to the role."""
  users: [ObjectRef!]
}

"""Represents a privilege and whether it is assigned to a specific role."""
type RolePrivilege {
  """Indicates whether the privilege is assigned to the role."""
  assigned: Boolean

  """The category of the privilege."""
  category: String

  """A description of the privilege."""
  description: String

  """The unique identifier of the privilege."""
  id: String

  """The name of the privilege."""
  name: String
}

type RoomFinishDetail {
  box: String
  dwgId: String
  part: String
  symbol: String
}

"""Represents a sequence of steps designed to automate a task or process."""
type Scenario {
  """
  Indicates if the scenario should be automatically started when the server starts.
  """
  active: Boolean
  connectionNames: [Connection!]!

  """The timestamp when the scenario was created."""
  createdAt: DateTimeISO

  """The user who created the scenario."""
  creator: User

  """A detailed description of the scenario."""
  description: String

  """The domain to which this scenario belongs."""
  domain: Domain!

  """Unique identifier for the scenario."""
  id: ID!
  instances: [ScenarioInstance!]

  """Iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN."""
  iteration: String

  """The name of the scenario."""
  name: String!

  """Privilege required to execute the scenario."""
  privilege: PrivilegeObject

  """Indicates if the scenario is accessible and executable system-wide."""
  public: Boolean
  publishTags: [Connection!]!

  """Role required to execute the scenario."""
  role: Role

  """A cron-style schedule for running the scenario automatically."""
  schedule: String

  """The ID of the scheduled job, if any."""
  scheduleId: String
  state: String

  """The sequence of steps that make up the scenario."""
  steps: [Step!]

  """The timezone for the schedule."""
  timezone: String

  """Time-to-live in seconds for scenario instances."""
  ttl: Float

  """The type of the scenario, used for categorization."""
  type: String

  """The timestamp when the scenario was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the scenario."""
  updater: User
}

"""Represents a running or completed instance of a scenario."""
type ScenarioInstance {
  """A key-value map of data generated and used by the instance."""
  data: Object

  """The domain in which the instance is running."""
  domain: Domain

  """The unique name for this specific instance of the scenario."""
  instanceName: String

  """A message associated with the current state (e.g., an error message)."""
  message: String

  """The current progress of the instance."""
  progress: ScenarioInstanceProgress

  """The final result of the scenario run."""
  result: Object

  """The root scenario instance if this is a sub-scenario."""
  root: ScenarioInstance

  """The name of the scenario being executed."""
  scenarioName: String

  """The current execution state of the instance."""
  state: String

  """The timestamp of the last update."""
  timestamp: DateTimeISO

  """The user who initiated the instance."""
  user: User

  """A key-value map of variables used in the instance."""
  variables: Object
}

"""A paginated list of scenario instances."""
type ScenarioInstanceList {
  """The list of scenario instance items."""
  items: [ScenarioInstance!]!

  """The total number of scenario instances."""
  total: Int!
}

"""Provides progress information for a running scenario instance."""
type ScenarioInstanceProgress {
  """The completion rate of the scenario as a percentage."""
  rate: Int!

  """The number of rounds the scenario has completed."""
  rounds: Int!

  """The current step number being executed."""
  step: Int!

  """The total number of steps in the scenario."""
  steps: Int!
}

"""Contains the final result of a completed scenario instance run."""
type ScenarioInstanceRunResult {
  """The final set of data after the run."""
  data: Object

  """The unique name of the instance that was run."""
  instanceName: String

  """A final message from the run (e.g., success or failure reason)."""
  message: String

  """The final result returned by the scenario."""
  result: Object

  """The name of the scenario that was executed."""
  scenarioName: String

  """The final state of the instance after the run."""
  state: String

  """The timestamp when the run completed."""
  timestamp: DateTimeISO

  """The final set of variables after the run."""
  variables: Object
}

"""Contains the final result of a completed scenario instance start."""
type ScenarioInstanceStartResult {
  """A final message from the run (e.g., success or failure reason)."""
  message: String

  """The final state of the instance after the run."""
  state: String

  """The timestamp when the instance started."""
  timestamp: DateTimeISO
}

"""
Represents the complete state of a scenario instance at a point in time.
"""
type ScenarioInstanceState {
  """A key-value map of data generated and used by the instance."""
  data: Object

  """The domain in which the instance is running."""
  domain: Domain

  """The unique name of this specific instance."""
  instanceName: String

  """A message associated with the current state (e.g., an error message)."""
  message: String

  """The progress of the running instance."""
  progress: ScenarioInstanceProgress

  """The name of the scenario being executed."""
  scenarioName: String

  """The current execution state of the instance."""
  state: ScenarioInstanceStatus

  """The timestamp when this state was recorded."""
  timestamp: DateTimeISO

  """A key-value map of variables used in the instance."""
  variables: Object
}

"""Enumeration of possible states for a scenario instance."""
enum ScenarioInstanceStatus {
  HALTED
  READY
  STARTED
  STOPPED
  UNLOADED
}

"""A paginated list of scenarios."""
type ScenarioList {
  """The list of scenario items."""
  items: [Scenario!]!

  """The total number of scenarios."""
  total: Int!
}

"""Input for updating (patching) an existing scenario."""
input ScenarioPatch {
  """
  Indicates if the scenario should be automatically started when the server starts.
  """
  active: Boolean

  """
  A flag indicating whether the scenario is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the scenario."""
  description: String

  """The unique identifier of the scenario to update."""
  id: ID

  """
  The new iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN.
  """
  iteration: String

  """The new name for the scenario."""
  name: String

  """The new role for the scenario."""
  role: ObjectRef

  """The new schedule for the scenario."""
  schedule: String

  """A list of steps to be updated within the scenario."""
  steps: [StepPatch!]

  """The new timezone for the scenario."""
  timezone: String

  """The new time-to-live for scenario instances."""
  ttl: Float

  """The new type for the scenario."""
  type: String
}

"""Represents the state of a scenario queue for a specific domain."""
type ScenarioQueueState {
  """The domain to which this queue state belongs."""
  domain: Domain!

  """The list of pending items in the queue."""
  queue: [PendingObject!]!
}

"""Entity for Setting"""
type Setting {
  category: String!
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  name: String!
  updatedAt: DateTimeISO
  updater: User
  value: String
}

type SettingList {
  items: [Setting!]!
  total: Int!
}

input SettingPatch {
  category: String
  cuFlag: String
  description: String
  id: ID
  name: String
  value: String
}

"""Input type for specifying sorting options in a list query."""
input Sorting {
  """Set to true for descending order. Default is false (ascending)."""
  desc: Boolean

  """The field name to sort the results by."""
  name: String!
}

"""
Represents a key-value store for maintaining the state of various entities within a domain.
"""
type StateRegister {
  """
  Whether to automatically publish state changes. If true, state changes will be published using the name as the tag.
  """
  autoPublish: Boolean

  """Creation time of the state register"""
  createdAt: DateTimeISO

  """User who created the state register"""
  creator: User

  """ID of the user who created the state register"""
  creatorId: String

  """Description of the state register"""
  description: String

  """Associated domain for the state register"""
  domain: Domain!

  """ID of the associated domain"""
  domainId: String!

  """Group name for the state register"""
  group: String

  """Unique identifier for the state register."""
  id: ID!

  """
  Name of the state register. If autoPublish is enabled, this name is used as the publish tag.
  """
  name: String

  """Number of decimal places if the state is a number type"""
  place: String

  """
  Reference to an external entity or data, used as a flexible foreign key
  """
  refBy: String

  """Current state value"""
  state: Object

  """Time to live for the state value in seconds"""
  ttl: Int

  """Type of the state"""
  type: String

  """Unit of the state value"""
  unit: String

  """Last update time of the state register"""
  updatedAt: DateTimeISO

  """User who last updated the state register"""
  updater: User

  """ID of the user who last updated the state register"""
  updaterId: String

  """User who wrote the state"""
  writer: User

  """ID of the user who wrote the state"""
  writerId: String

  """Time when the state was recorded"""
  wroteAt: DateTimeISO
}

"""A paginated list of state registers."""
type StateRegisterList {
  """List of state registers"""
  items: [StateRegister!]!

  """Total number of state registers"""
  total: Int!
}

"""Input for updating (patching) an existing state register."""
input StateRegisterPatch {
  """
  Whether to automatically publish state changes. If true, state changes will be published using the name as the tag.
  """
  autoPublish: Boolean

  """Flag indicating create/update operations"""
  cuFlag: String

  """Description of the state register"""
  description: String

  """Group name for the state register"""
  group: String

  """ID of the state register"""
  id: ID

  """
  Name of the state register. If autoPublish is enabled, this name is used as the publish tag.
  """
  name: String

  """Number of decimal places if the state is a number type"""
  place: String

  """
  Reference to an external entity or data, used as a flexible foreign key
  """
  refBy: String

  """Current state value"""
  state: Object

  """Time to live for the state value in seconds"""
  ttl: Int

  """Type of the state"""
  type: String

  """Unit of the state value"""
  unit: String
}

"""
Represents a single step within a scenario, defining a specific task to be executed.
"""
type Step {
  """The name of the connection to be used for this step."""
  connection: String

  """The timestamp when the step was created."""
  createdAt: DateTimeISO

  """The user who created this step."""
  creator: User

  """A detailed description of what the step involves."""
  description: String

  """The domain to which this step belongs."""
  domain: Domain

  """The unique identifier for the step."""
  id: ID!

  """Indicates if the step execution should be logged."""
  log: Boolean

  """The name of the step."""
  name: String!

  """A key-value map of parameters for the step task."""
  params: Object

  """
  A boolean attribute indicating whether the result of this step should be included in the final output.
  """
  result: Boolean

  """The scenario that includes this step."""
  scenario: Scenario

  """The sequence number of the step within its scenario."""
  sequence: Float

  """Indicates if the step should be skipped during execution."""
  skip: Boolean

  """The specific task type associated with this step."""
  task: String

  """The timestamp when the step was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated this step."""
  updater: User
}

"""A paginated list of steps."""
type StepList {
  """The list of step items."""
  items: [Step!]!

  """The total number of steps."""
  total: Int!
}

"""Input for updating (patching) an existing step."""
input StepPatch {
  """The new connection for the step."""
  connection: String

  """
  A flag indicating whether the step is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the step."""
  description: String

  """The unique identifier of the step to update."""
  id: ID

  """The new log status for the step."""
  log: Boolean

  """The new name for the step."""
  name: String

  """The new parameters for the step."""
  params: Object

  """The new result inclusion status for the step."""
  result: Boolean

  """The new sequence number for the step."""
  sequence: Int

  """The new skip status for the step."""
  skip: Boolean

  """The new task type for the step."""
  task: String
}

type Subscription {
  """Subscribes to real-time updates for a specific board."""
  board(id: String!): Board!

  """Subscribes to log messages from connections."""
  connectionLog(level: String): Log!

  """Subscribes to the state changes of connections."""
  connectionState(name: String): ConnectionState!
  data(tag: String!): Data!
  notification(subjects: [String!]): Notification!

  """Subscribes to real-time updates for a specific play group."""
  playGroup(id: String!): PlayGroup!

  """Subscribes to log messages from scenario instances."""
  scenarioInstanceLog(instanceName: String, level: String, scenarioName: String): Log!

  """Subscribes to state changes from scenario instances."""
  scenarioInstanceState(instanceName: String, scenarioName: String): ScenarioInstanceState!

  """Subscribes to changes in the scenario queue."""
  scenarioQueueState: ScenarioQueueState!
}

"""Entity for Supervisor"""
type Supervisor {
  active: Boolean
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain
  email: String
  id: ID!
  name: String
  params: String
  phoneNumber: String
  reports: [ProjectReport!]!
  state: String
  thumbnail: String
  updatedAt: DateTimeISO
  updater: User
}

type SupervisorList {
  items: [Supervisor!]!
  total: Int!
}

input SupervisorPatch {
  active: Boolean
  cuFlag: String
  description: String
  id: ID
  name: String
  state: SupervisorStatus
  thumbnail: Upload
}

"""state enumeration of a supervisor"""
enum SupervisorStatus {
  STATUS_A
  STATUS_B
}

"""공정표 작업 정보"""
type Task {
  children(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): [Task!]
  code: String!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  dependsOn: String
  duration: Float
  endDate: DateTimeISO
  id: ID!

  """Calculate the duration of the task in days"""
  length: String
  name: String
  parent: Task
  progress: Float
  project: Project!

  """Return the simple list of resources allocated to the task"""
  resources: [DigestedResource!]!
  startDate: DateTimeISO
  style: String
  tags: Object
  taskChecklistBinding: TaskChecklistBinding
  taskResources: [TaskResource!]
  type: String
  updatedAt: DateTimeISO
  updater: User
}

"""Task와 Checklist 간의 바인딩 정보"""
type TaskChecklistBinding {
  checklist: Checklist
  createdAt: DateTimeISO
  creator: User
  id: ID!
  manager: ManagerOutput
  project: Project
  status: String
  task: Task
  taskCode: String!
  updatedAt: DateTimeISO
  updater: User
}

input TaskChecklistInputType {
  constructionDetailType: String
  constructionType: String
  inspectionDrawingType: String
  inspectionParts: [String!]
  location: String
  name: String!
  projectId: String
  taskCode: String
}

type TaskList {
  """작업 리스트 항목들"""
  items: [Task!]!

  """전체 작업 수"""
  total: Int!
}

input TaskPatch {
  """작업이 활성 상태인지 여부 (선택 사항)"""
  active: Boolean

  """프로젝트 내에서 유니크한 작업 코드 (선택 사항)"""
  code: String

  """생성('+') 또는 수정('M') 플래그 (선택 사항)"""
  cuFlag: String

  """작업에 대한 설명 (선택 사항)"""
  description: String

  """수정할 작업의 ID (선택 사항)"""
  id: ID

  """작업의 이름 (선택 사항)"""
  name: String

  """부모 작업, 해당 작업이 하위 작업인 경우 (선택 사항)"""
  parent: ObjectRefForTask

  """작업이 속한 프로젝트 (선택 사항)"""
  project: ObjectRefForProject
}

"""작업에 소요되는 자원"""
type TaskResource {
  createdAt: DateTimeISO
  deletedAt: DateTimeISO
  id: ID!
  quantity: Float!
  resource: Resource!
  task: Task!
  updatedAt: DateTimeISO
}

type TaskResourceList {
  items: [TaskResource!]!
  total: Int!
}

input TaskResourcePatch {
  cuFlag: String
  id: ID
  quantity: Float
  resourceId: ID
  taskId: ID
}

"""Describes a type of task that can be used in a scenario."""
type TaskType {
  """Indicates whether this task type can be used without a connector."""
  connectorFree: Boolean

  """A brief description of what the task does."""
  description: String

  """A URL or text providing more detailed help information."""
  help: String

  """The unique name of the task type."""
  name: String!

  """A list of parameters that can be configured for this task type."""
  parameterSpec: [PropertySpec!]
}

"""A paginated list of task types."""
type TaskTypeList {
  """The list of task type items."""
  items: [TaskType!]!

  """The total number of task types."""
  total: Int!
}

"""Entity for Terminology"""
type Terminology {
  category: String!
  createdAt: DateTimeISO
  creator: User
  description: String
  display: String!
  domain: Domain!
  id: ID!
  locale: String!
  name: String!
  updatedAt: DateTimeISO
  updater: User
}

type TerminologyList {
  items: [Terminology!]!
  total: Int!
}

input TerminologyPatch {
  category: String
  cuFlag: String
  description: String
  display: String
  id: ID
  locale: String
  name: String
}

"""
Represents a visual theme or style that can be applied to dashboard components.
"""
type Theme {
  """Indicates whether the theme is currently active and available for use."""
  active: Boolean

  """The timestamp when the theme was created."""
  createdAt: DateTimeISO

  """The user who created the theme."""
  creator: User

  """The timestamp when the theme was soft-deleted."""
  deletedAt: DateTimeISO

  """A detailed description of the theme."""
  description: String

  """The domain to which this theme belongs."""
  domain: Domain!

  """Unique identifier for the theme."""
  id: ID!

  """The name of the theme."""
  name: String

  """The type of the theme (e.g., Legend)."""
  type: String

  """The timestamp when the theme was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the theme."""
  updater: User

  """A JSON object containing the theme-specific style values."""
  value: Object
}

"""A paginated list of themes."""
type ThemeList {
  """The list of theme items."""
  items: [Theme!]!

  """The total number of themes."""
  total: Int!
}

"""Input for updating (patching) an existing theme."""
input ThemePatch {
  """The new active status for the theme."""
  active: Boolean

  """
  A flag indicating whether the theme is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the theme."""
  description: String

  """The unique identifier of the theme to update."""
  id: ID

  """The new name for the theme."""
  name: String

  """The new type for the theme."""
  type: String

  """The new JSON object of style values for the theme."""
  value: Object
}

input UpdateBuildingInspection {
  drawingMarker: String
  id: String!
  memo: String
}

input UpdateBuildingInspectionSubmitType {
  checklist: ChecklistSubmitInputType!
  checklistItem: [ChecklistItemSubmitInputType!]!
  id: String!
  memo: String
}

input UpdateTaskChecklistSubmitType {
  checklist: ChecklistSubmitInputType!
  checklistId: String!
  checklistItem: [ChecklistItemSubmitInputType!]!
}

"""The `Upload` scalar type represents a file upload."""
scalar Upload

input UploadProjectScheduleTable {
  """수정할 프로젝트의 ID"""
  projectId: String!

  """프로젝트 공정표 업로드"""
  scheduleTable: Upload
}

type UploadURL {
  fields: Any!
  url: String!
}

"""
Represents a user account in the system, including authentication, roles, and domain associations.
"""
type User {
  """Timestamp when the user account was created."""
  createdAt: DateTimeISO

  """User who created this user account."""
  creator: User

  """Optional description or note about the user."""
  description: String

  """Domains (organizations, companies, etc.) the user belongs to."""
  domains: [Domain!]!

  """Email address of the user."""
  email: EmailAddress!

  """Unique identifier for the user."""
  id: ID!

  """Locale or language preference for the user."""
  locale: String

  """Full name of the user."""
  name: String

  """Whether the user is the owner of the domain (not persisted in DB)."""
  owner: Boolean

  """Reference information for the user (external system, etc.)."""
  reference: String

  """Roles assigned to the user."""
  roles: [Role!]!

  """Single sign-on (SSO) identifier for federated authentication."""
  ssoId: String

  """Current status of the user account."""
  status: String!

  """Timestamp when the user account was last updated."""
  updatedAt: DateTimeISO

  """User who last updated this user account."""
  updater: User

  """Type or category of the user (e.g., user, application, appliance)."""
  userType: String

  """Unique username for the user."""
  username: String

  """External authentication providers linked to the user."""
  usersAuthProviders: [UsersAuthProviders!]
}

"""A paginated list of users and the total count."""
type UserList {
  """List of user objects."""
  items: [User!]

  """Total number of users matching the query."""
  total: Int
}

"""Input type for updating (patching) an existing user account."""
input UserPatch {
  """
  Change flag for tracking updates (e.g., C/U/D for create/update/delete).
  """
  cuFlag: String

  """Optional description or note about the user."""
  description: String

  """Domains associated with the user."""
  domains: [ObjectRef!]

  """Email address of the user."""
  email: EmailAddress

  """Unique identifier of the user to update."""
  id: ID

  """Full name of the user."""
  name: String

  """Password for the user account."""
  password: String

  """Roles assigned to the user."""
  roles: [ObjectRef!]

  """Status of the user account (e.g., active, inactive)."""
  status: String

  """Type or category of the user (e.g., admin, operator, guest)."""
  userType: String
}

"""Entity for UserPreference"""
type UserPreference {
  createdAt: DateTimeISO
  creator: User
  domain: Domain
  id: ID!
  key: String
  preference: Object
  updatedAt: DateTimeISO
  updater: User
  user: User!
}

type UserPreferenceList {
  items: [UserPreference!]!
  total: Int!
}

input UserPreferencePatch {
  cuFlag: String
  id: ID
  key: String!
  preference: Object!
  user: ObjectRef!
}

"""Represents a role and whether it is assigned to a specific user."""
type UserRole {
  """Indicates whether the role is assigned to the user."""
  assigned: Boolean

  """A description of the role."""
  description: String

  """The unique identifier of the role."""
  id: String

  """The name of the role."""
  name: String
}

"""
Represents the link between a user and an external authentication provider.
"""
type UsersAuthProviders {
  """The authentication provider associated with this link."""
  authProvider: AuthProvider

  """The timestamp when this link was created."""
  createdAt: DateTimeISO

  """The domain to which this link belongs."""
  domain: Domain!

  """Unique identifier for the user-provider link."""
  id: ID!

  """
  The unique identifier for the user from the external provider (SSO ID).
  """
  ssoId: String

  """The timestamp when this link was last updated."""
  updatedAt: DateTimeISO

  """The user associated with this link."""
  user: User
}

"""작업자 타입"""
type WorkerType {
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain
  id: ID!
  name: String!
  updatedAt: DateTimeISO
  updater: User
}

type WorkerTypeList {
  items: [WorkerType!]!
  total: Int!
}

input WorkerTypePatch {
  cuFlag: String!
  description: String
  id: ID
  name: String
}

input i18nCompletionInput {
  json: String!
}

type i18nCompletionOutput {
  message: String
}