type Address { street: String city: String district: String buildingNumber: String streetNumber: String postcode: String region: String cityPart: String } input AddressInput { city: String region: String district: String street: String buildingNumber: String streetNumber: String postcode: String cityPart: String } type BranchConnection { nodes: [BranchStage] } type BranchStage { id: ID name: String isDeleted: Boolean } type Case { id: ID jurisdictionCountry: Country caseNumber: String name: String openingDate: Date closingDate: Date locationName: String note: String state: CaseState category: CaseCategory processStage: CaseProcessStage persons: CasePersonConnection users: CaseUserConnection favoritingUsers: CaseFavoritingUsersConnection labels: CaseLabelConnection branch: BranchStage modified: DateTime customFieldValues: [SpisCustomField] customFieldBoolean(name: String): Boolean customFieldDecimal(name: String): Decimal customFieldString(name: String): String customFieldDate(name: String): Date } input CaseAddDocumentInput { caseId: ID! tmpFileId: ID! folderPath: String name: String! } type CaseAddDocumentPayload { id: ID } input CaseAddLabelInput { labelId: ID! caseId: ID! } type CaseAddLabelPayload { labelEdge: CaseLabelEdge } input CaseAddPersonInput { roleId: ID! processRoleId: ID materialRoleId: ID attorneyId: ID personId: ID! caseId: ID! caseNumber: String } type CaseAddPersonPayload { personEdge: CasePersonEdge } input CaseAddUserInput { caseUserRoleId: ID! userId: ID! caseId: ID! } type CaseAddUserPayload { userEdge: CaseUserEdge } type CaseCategory { id: ID name: String isDeleted: Boolean } type CaseCategoryConnection { nodes: [CaseCategory] } type CaseConnection { nodes: [Case] } input CaseCreateInput { name: String! caseNumberSeriesId: ID caseStateId: ID caseBranchId: ID caseProcessStageId: ID caseCategoryId: ID mainClientId: ID! note: String locationName: String openingDate: Date closingDate: Date caseNumber: String } type CaseCreatePayload { case: Case } type CaseFavoritingUsersConnection { nodes: [User] } input CaseFilterInput { modified: ComparableDateTimeOperationFilterInput } type CaseLabelConnection { nodes: [Label] edges: [CaseLabelEdge] } type CaseLabelEdge { node: Label } type CaseLabelList { nodes: [Label] } type CaseNumberSeries { id: ID name: String isDeleted: Boolean } type CaseNumberSeriesConnection { nodes: [CaseNumberSeries] } type CasePersonConnection { nodes: [Person] edges: [CasePersonEdge] } type CasePersonEdge { edgeInfo: CasePersonEdgeInfo node: Person } type CasePersonEdgeInfo { id: ID processRole: CasePersonRole materialRole: CasePersonRole role: CasePersonRole attorney: Person caseNumber: String isMainPayer: Boolean isMainClient: Boolean } type CasePersonRole { id: ID name: String isDeleted: Boolean } type CasePersonRoleConnection { nodes: [CasePersonRole] } type CaseProcessStage { id: ID name: String isDeleted: Boolean } type CaseProcessStageConnection { nodes: [CaseProcessStage] } type CaseState { id: ID name: String isDeleted: Boolean } type CaseStateConnection { nodes: [CaseState] } input CaseUpdateInput { id: ID! name: String caseNumberSeriesId: ID caseProcessStageId: ID caseCategoryId: ID caseBranchId: ID note: String locationName: String openingDate: Date closingDate: Date caseNumber: String } type CaseUpdatePayload { case: Case } type CaseUserConnection { nodes: [User] edges: [CaseUserEdge] } type CaseUserEdge { edgeInfo: CaseUserEdgeInfo node: User } type CaseUserEdgeInfo { id: ID caseUserRole: CaseUserRole } type CaseUserRole { id: ID name: String isDeleted: Boolean } type CaseUserRoleConnection { nodes: [CaseUserRole] } type CiselnikMena { id: ID name: String code: String isDeleted: Boolean } type CiselnikMenaConnection { nodes: [CiselnikMena] } type CiselnikSpisCustomFieldSetting { fieldName: String nazev: String isDeleted: Boolean dataType: CustomFieldDataEnumType } type CiselnikSpisCustomFieldSettingConnection { nodes: [CiselnikSpisCustomFieldSetting] } type CiselnikSubjektCustomFieldSetting { fieldName: String nazev: String isDeleted: Boolean dataType: CustomFieldDataEnumType } type CiselnikSubjektCustomFieldSettingConnection { nodes: [CiselnikSubjektCustomFieldSetting] } input ComparableDateTimeOperationFilterInput { gt: DateTime lt: DateTime } type ContactDetail { id: ID value: String type: ContactDetailType isPreferred: Boolean note: String } type ContactDetailType { id: ID name: String isDeleted: Boolean } type ContactDetailTypeConnection { nodes: [ContactDetailType] } type Country { id: ID name: String code: String abbrev: String isDeleted: Boolean } enum CustomFieldDataEnumType { STRING DECIMAL BOOLEAN DATE_TIME LONG } scalar Date scalar DateTime scalar Decimal type IdDocumentType { id: ID name: String isDeleted: Boolean } type IdDocumentTypeConnection { nodes: [IdDocumentType] } type Label { id: ID name: String isDeleted: Boolean } type Lists { caseStates(includeDeleted: Boolean): CaseStateConnection caseProcessStages(includeDeleted: Boolean): CaseProcessStageConnection caseCategories(includeDeleted: Boolean): CaseCategoryConnection caseLabels(includeDeleted: Boolean): CaseLabelList branches(includeDeleted: Boolean): BranchConnection taskStates: TaskStateConnection personTypes(includeDeleted: Boolean): PersonTypeConnection idDocumentTypes(includeDeleted: Boolean): IdDocumentTypeConnection caseNumberSeries(includeDeleted: Boolean): CaseNumberSeriesConnection contactDetailTypes(includeDeleted: Boolean): ContactDetailTypeConnection caseUserRoles(includeDeleted: Boolean): CaseUserRoleConnection casePersonRoles(includeDeleted: Boolean): CasePersonRoleConnection casePersonProcessRoles(includeDeleted: Boolean): CasePersonRoleConnection casePersonMaterialRoles(includeDeleted: Boolean): CasePersonRoleConnection caseCustomFields(includeDeleted: Boolean): CiselnikSpisCustomFieldSettingConnection personCustomFields(includeDeleted: Boolean): CiselnikSubjektCustomFieldSettingConnection currencies(includeDeleted: Boolean): CiselnikMenaConnection } scalar Long type Mutation { caseCreate(input: CaseCreateInput!): CaseCreatePayload caseUpdate(input: CaseUpdateInput): CaseUpdatePayload caseAddPerson(input: CaseAddPersonInput): CaseAddPersonPayload caseAddUser(input: CaseAddUserInput): CaseAddUserPayload caseAddDocument(input: CaseAddDocumentInput!): CaseAddDocumentPayload caseAddLabel(input: CaseAddLabelInput): CaseAddLabelPayload personCreate(input: PersonCreateInput!): PersonCreatePayload personUpdate(input: PersonUpdateInput): PersonUpdatePayload personAddContactDetail(input: PersonAddContactDetailInputData): PersonAddContactDetailPayload taskCreate(input: TaskCreateInput!): TaskCreatePayload taskUpdate(input: TaskUpdateInput): TaskUpdatePayload } type Person { id: ID firstName: String surname: String companyName: String displayName: String nationalIdentificationNumber: String companyIdentificationNumber: String vatNumber: String namePrefix: String nameSuffix: String birthDate: Date note: String modified: DateTime mainAddress: Address labels: PersonLabelConnection cases: PersonCaseConnection type: PersonType contactDetails: [ContactDetail] idDocuments: [SubjektTypDokladu] customFieldValues: [SubjektCustomField] customFieldBoolean(name: String): Boolean customFieldDecimal(name: String): Decimal customFieldString(name: String): String customFieldDate(name: String): Date } input PersonAddContactDetailInputData { personId: ID! contactDetailTypeId: ID! isPreferred: Boolean value: String! note: String } type PersonAddContactDetailPayload { contactDetail: ContactDetail } type PersonCaseConnection { nodes: [Case] edges: [PersonCaseEdge] } type PersonCaseEdge { edgeInfo: CasePersonEdgeInfo node: Case } type PersonConnection { nodes: [Person] } input PersonCreateInput { firstName: String surname: String companyName: String nationalIdentificationNumber: String companyIdentificationNumber: String vatNumber: String namePrefix: String nameSuffix: String personTypeId: ID birthDate: Date note: String mainAddress: AddressInput } type PersonCreatePayload { person: Person } input PersonFilterInput { modified: ComparableDateTimeOperationFilterInput } type PersonLabelConnection { nodes: [Label] edges: [PersonLabelEdge] } type PersonLabelEdge { node: Label } type PersonType { id: ID name: String isDeleted: Boolean } type PersonTypeConnection { nodes: [PersonType] } input PersonUpdateInput { id: ID! firstName: String surname: String companyName: String nationalIdentificationNumber: String companyIdentificationNumber: String vatNumber: String namePrefix: String nameSuffix: String personTypeId: ID birthDate: Date note: String mainAddress: AddressInput } type PersonUpdatePayload { person: Person } type Query { lists: Lists cases(where: CaseFilterInput): CaseConnection case(id: ID!): Case persons(where: PersonFilterInput): PersonConnection person(id: ID!): Person tasks(where: TaskFilterInput): TaskConnection task(id: ID!): Task users: UserConnection user(id: ID, username: String): User getReport(id_Report: ID!, reportParams: [ReportParamInput]): [String] } input ReportParamInput { name: String! stringValue: String intValue: Int decimalValue: Decimal dateValue: Date } type SpisCustomField { decimalValue: Decimal booleanValue: Boolean dateValue: DateTime stringValue: String longValue: Long customField: CiselnikSpisCustomFieldSetting } type SubjektCustomField { decimalValue: Decimal booleanValue: Boolean dateValue: DateTime stringValue: String longValue: Long customField: CiselnikSubjektCustomFieldSetting } type SubjektTypDokladu { number: String type: IdDocumentType } type Task { id: ID name: String description: String deadline: DateTime person: Person case: Case state: TaskState reporter: User asignee: User modified: DateTime } type TaskConnection { nodes: [Task] } input TaskCreateInput { name: String! description: String deadline: DateTime! taskStateId: ID asigneeId: ID reporterId: ID personId: ID } type TaskCreatePayload { task: Task } input TaskFilterInput { modified: ComparableDateTimeOperationFilterInput } type TaskState { id: ID name: String } type TaskStateConnection { nodes: [TaskState] } input TaskUpdateInput { id: ID! name: String description: String deadline: DateTime taskStateId: ID asigneeId: ID reporterId: ID personId: ID } type TaskUpdatePayload { task: Task } type User { id: ID username: String name: String email: String abbreviation: String note: String isDeleted: Boolean person: Person } type UserConnection { nodes: [User] }