a18e1f575f
- drop ClientPortal module, ClientTicket entity, ROLE_CLIENT and all couplings (Task, TaskDocument, User, Notification) back to an internal-only model - migration drops client_ticket / user_allowed_projects / related FK columns and removes leftover external client accounts (would otherwise be promoted to ROLE_USER) - remove client-portal frontend module, admin tickets tab, user portal section, portal nav item and portal/clientTicket i18n keys - fix directory nav icon (invalid mdi:contact-multiple-outline -> mdi:card-account-details-outline) - add 'make sync-permissions' target, wire it into install/db-reset and the prod deploy script
63 lines
1.7 KiB
TypeScript
63 lines
1.7 KiB
TypeScript
import type { TaskStatus } from './task-status'
|
|
import type { TaskEffort } from './task-effort'
|
|
import type { TaskPriority } from './task-priority'
|
|
import type { TaskTag } from './task-tag'
|
|
import type { TaskGroup } from './task-group'
|
|
import type { UserData } from '~/services/dto/user-data'
|
|
import type { Project } from './project'
|
|
import type { TaskDocument } from './task-document'
|
|
|
|
export type Task = {
|
|
id: number
|
|
'@id'?: string
|
|
number: number
|
|
title: string
|
|
description: string | null
|
|
status: TaskStatus | null
|
|
effort: TaskEffort | null
|
|
priority: TaskPriority | null
|
|
assignee: UserData | null
|
|
collaborators: UserData[]
|
|
group: TaskGroup | null
|
|
project: Project | null
|
|
tags: TaskTag[]
|
|
documents: TaskDocument[]
|
|
archived: boolean
|
|
scheduledStart: string | null
|
|
scheduledEnd: string | null
|
|
deadline: string | null
|
|
syncToCalendar: boolean
|
|
calendarSyncError: string | null
|
|
recurrence: {
|
|
id: number
|
|
'@id'?: string
|
|
type: 'daily' | 'weekly' | 'monthly' | 'yearly'
|
|
interval: number
|
|
daysOfWeek: string[] | null
|
|
dayOfMonth: number | null
|
|
weekOfMonth: number | null
|
|
endDate: string | null
|
|
maxOccurrences: number | null
|
|
occurrenceCount: number
|
|
} | null
|
|
}
|
|
|
|
export type TaskWrite = {
|
|
title: string
|
|
description: string | null
|
|
status: string | null
|
|
effort: string | null
|
|
priority: string | null
|
|
assignee: string | null
|
|
collaborators?: string[]
|
|
group: string | null
|
|
project: string
|
|
tags: string[]
|
|
archived?: boolean
|
|
scheduledStart?: string | null
|
|
scheduledEnd?: string | null
|
|
deadline?: string | null
|
|
syncToCalendar?: boolean
|
|
recurrence?: string | null
|
|
}
|