import type { ProjectMentor } from './ProjectMentor'; /** * Unified serializer for Project model. * * Write-only fields: * - mentors_to_add: List of mentor unique IDs to add to the project * - mentors_to_remove: List of mentor unique IDs to remove from the project * * These fields are mutually exclusive and only used during create/update operations. * For create: only mentors_to_add is used * For update: either can be used, but not both at once */ export type Project = { readonly id: number; /** * Name of the project */ name: string; /** * Description of the project */ description?: string; /** * Whether this project is shared with others or personal */ shared?: boolean; /** * User who created this project */ readonly owner: number; readonly owner_username: string; /** * Platform this project belongs to */ readonly platform: number | null; readonly platform_key: string; readonly platform_name: string; readonly mentor_count: number; readonly is_personal: boolean; readonly created_at: string; readonly updated_at: string; readonly mentors: Array; /** * List of mentor unique IDs to add to the project */ mentors_to_add?: Array; /** * List of mentor unique IDs to remove from the project */ mentors_to_remove?: Array; };