import { registerEnumType } from '@nestjs/graphql'; import { AutomationActionKind, AutomationTriggerKind, IssueSort, } from '@task-stream/api/tracker/application'; import { CustomFieldType, IssueLinkType, IssuePriority, NotificationKind, ProjectRole, ReleaseStatus, SprintStatus, StatusCategory, DevLinkKind, DevLinkState, ReviewVerdict, } from '@task-stream/api/tracker/domain'; export enum LinkDirection { OUTWARD = 'OUTWARD', INWARD = 'INWARD', } registerEnumType(IssuePriority, { name: 'IssuePriority' }); registerEnumType(ReviewVerdict, { name: 'ReviewVerdict', description: 'APPROVED: all good. CHANGES: something to change', }); registerEnumType(CustomFieldType, { name: 'CustomFieldType', description: 'What a custom field holds (DATE: YYYY-MM-DD)', }); registerEnumType(StatusCategory, { name: 'StatusCategory', description: 'What a status means, whatever each project calls it. DONE and CANCELLED are finished.', }); registerEnumType(IssueLinkType, { name: 'IssueLinkType' }); registerEnumType(DevLinkKind, { name: 'DevLinkKind' }); registerEnumType(DevLinkState, { name: 'DevLinkState' }); registerEnumType(ProjectRole, { name: 'ProjectRole' }); registerEnumType(ReleaseStatus, { name: 'ReleaseStatus' }); registerEnumType(SprintStatus, { name: 'SprintStatus', description: 'PLANNED, ACTIVE (one per project at a time) or CLOSED', }); registerEnumType(LinkDirection, { name: 'LinkDirection' }); registerEnumType(AutomationTriggerKind, { name: 'AutomationTrigger', description: 'What starts a rule', }); registerEnumType(AutomationActionKind, { name: 'AutomationAction', description: 'What a rule does to the ticket', }); registerEnumType(IssueSort, { name: 'IssueSort', description: 'RECENT: last updated first. RANK: backlog order.', }); registerEnumType(NotificationKind, { name: 'NotificationKind', description: 'Why someone is told', });