Skip to content

Описание API

Описание API

scalar DateTime

type Query { me(id: ID!): User! getIssues: [Issue]! getIssue(id: ID!): Issue! getStages: [Stage]! getStageDesk: StageDesk! getUsers: [User]! getCircles: [Circle]! getComments: [Comment]! getRoles: [Role]! getEvents: [Event]! getEvent(id: ID!): Event! getSprints: [Sprint]! getSprint(id: ID!): Sprint! getDomains: [Domain]! getDomain(id: ID!): Domain! getStage(id: ID!): Stage! getCircle(id: ID!): Circle! }

type Mutation { createIssue (issue: IssueInput!): Issue! createStage (stage: StageInput): Stage changeStageIssue (issueID: ID, stageID: ID): Issue createCircle (circle: CircleInput!): Circle! createComment (comment: CommentInput!): Comment! editComment (commentID: ID, newDescription: String): Comment ##переписать на инпут createRole (role: RoleInput!): Role! createEvent (event: EventInput!): Event! createSprint (sprint: SprintInput!): Sprint! createDomain (domain: DomainInput!): Domain! createUser (user: UserInput!): User! editUser (id: ID!, user: UserInput!): User deleteUser(id: ID!): Boolean deleteStage(id: ID!): Boolean editStage(id: ID!, stage: StageInput!): Stage deleteSprint(id: ID!): Boolean editSprint(id: ID!, sprint: SprintUpdateInput!): Sprint editRole(id: ID!, role: RoleUpdateInput!): Role deleteRole(id: ID!): Boolean editIssue(id: ID!, issue: IssueUpdateInput!): Issue deleteIssue(id: ID!): Boolean editEvent(id: ID!, event: EventUpdateInput): Event deleteEvent(id: ID!): Boolean editDomain(id: ID!, domain: DomainUpdateInput): Domain deleteDomain(id: ID!): Boolean editCircle(id: ID!, circle: CircleUpdateInput): Circle deleteCircle(id: ID!): Boolean }

type User { id: ID name: String email: String comments: [Comment] participateInEvents: [Event] facilitatorInEvents: [Event] sprints: [Sprint] }

input UserInput { name: String email: String }

interface AreaOfInfluence { id: ID name: String isOrganization: Boolean domainType: String mainDomain: Domain subDomains: [Domain] stages: [Stage] }

type Domain implements AreaOfInfluence{ id: ID name: String isOrganization: Boolean domainType: String mainDomain: Domain subDomains: [Domain] stages: [Stage] }

input DomainInput { name: String! isOrganization: Boolean! domainType: String! mainDomain: ID subDomains: [ID] stages: [ID]! }

input DomainUpdateInput { name: String isOrganization: Boolean domainType: String mainDomain: ID subDomains: [ID] stages: [ID] }

type Circle implements AreaOfInfluence{ id: ID name: String isOrganization: Boolean domainType: String mainDomain: Domain subDomains: [Domain] stages: [Stage] }

input CircleInput { name: String }

input CircleUpdateInput{ name: String isOrganization: Boolean domainType: String mainDomain: ID subDomains: [ID] stages: [ID] }

type Role implements AreaOfInfluence{ id: ID name: String isOrganization: Boolean domainType: String mainDomain: Domain subDomains: [Domain] stages: [Stage] }

input RoleInput{ name: String }

input RoleUpdateInput{ name: String isOrganization: Boolean domainType: String mainDomain: ID subDomains: [ID] stages: [ID] }

type Event{ id: ID name: String domain: Domain type: String startDate: DateTime endDate: DateTime participants: [User] fasilitator: User }

input EventInput{ name: String! domain: ID!, type: EventType! startDate: DateTime!, endDate: DateTime!, participants: [ID]!, fasilitator: ID }

input EventUpdateInput{ name: String domain: ID type: EventType startDate: DateTime endDate: DateTime participants: [ID] fasilitator: ID }

enum EventType{ planning review retrospective management choiceForRole }

type History{ ## Идентификатор id: ID name: String description: String ## дата изменений date: DateTime }

type Comment{ ## Идентификатор id: ID description: String author: User date: DateTime }

input CommentInput{ description: String! author: ID! }

name stage: _todo, _doing, _under_review, _done

type Stage{ ## Идентификатор id: ID ## название name: String ## Домен которому принадлежит поток создания ценности mainDomain: Domain ## Домен с которым связан данный этап stageDomain: Domain ## список проблем связанных с этапом issues: [Issue] }

input StageInput { domainID: ID name: String }

type Sprint{ ## Идентификатор id: ID name: String goal: String startDate: DateTime endDate: DateTime planningEvent: Event reviewEvent: Event participants: [User] issues: [Issue] }

input SprintInput { name: String! goal: String! startDate: DateTime! endDate: DateTime! endDateForPlanningEvent: DateTime! endDateForReviewEvent: DateTime! participants: [ID]! issues: [ID]! }

input SprintUpdateInput { name: String goal: String startDate: DateTime endDate: DateTime endDateForPlanningEvent: DateTime endDateForReviewEvent: DateTime participants: [ID] issues: [ID] }

type Issue { ## Идентификатор id: ID ## Домен domain: Domain ## автор author: User ## название name: String ## описание description: String ## роль (компонент ПО) которую проблема затрагивает role: Role ## дата создания dateCreated: DateTime ## приоритет решения priority: Int ## связь проблемы с другими проблемами issuesLink: [Issue] ## исполнитель executor: User ## Спринт в котором проблема будет решена sprint: Sprint linkedSprints: [Sprint] ## указывает версию ПО в которой проблема будет решена (только для ит проектов) ## version: String ## Этап на диаграмме создания потока ценности: нужно сделать, в работе (делается), на проверке, выполнено stage: Stage ## История изменений historyLog: [History] ## Комментарии к проблеме comments: [Comment] }

input IssueInput { ## Домен domainID: ID ## автор authorID: ID ## название name: String ## описание description: String ## роль (компонент ПО) которую проблема затрагивает roleID: ID ## приоритет решения priority: Int ## исполнитель executorID: ID ## Спринт в котором проблема будет решена sprintID: ID ## указывает версию ПО в которой проблема будет решена (только для ит проектов) ## version: String ## Этап на диаграмме создания потока ценности: нужно сделать, в работе (делается), на проверке, выполнено stageID: ID }

input IssueUpdateInput { domainID: ID authorID: ID name: String description: String roleID: ID priority: Int executorID: ID sprintID: ID stageID: ID }

Kanban

type StageDesk{ stages: [Stage] }