/**
 * Shared enum types that mirror Prisma schema enums
 * These are used across the monorepo for type safety
 */

export enum TaskStatus {
  NOT_STARTED = "NOT_STARTED",
  IN_PROGRESS = "IN_PROGRESS",
  PAUSED = "PAUSED",
  COMPLETED = "COMPLETED",
  ARCHIVED = "ARCHIVED",
}

export enum TaskPriority {
  LOW = "LOW",
  MEDIUM = "MEDIUM",
  HIGH = "HIGH",
}

export enum ProjectStatus {
  PLANNING = "PLANNING",
  ACTIVE = "ACTIVE",
  PAUSED = "PAUSED",
  COMPLETED = "COMPLETED",
  ARCHIVED = "ARCHIVED",
}

export enum WorkspaceMemberRole {
  OWNER = "OWNER",
  ADMIN = "ADMIN",
  MEMBER = "MEMBER",
  GUEST = "GUEST",
}

export enum TeamMemberRole {
  OWNER = "OWNER",
  ADMIN = "ADMIN",
  MEMBER = "MEMBER",
}

export enum ActivityAction {
  CREATED = "CREATED",
  UPDATED = "UPDATED",
  DELETED = "DELETED",
  COMPLETED = "COMPLETED",
  ASSIGNED = "ASSIGNED",
  COMMENTED = "COMMENTED",
}

export enum EntityType {
  TASK = "TASK",
  EVENT = "EVENT",
  PROJECT = "PROJECT",
  WORKSPACE = "WORKSPACE",
  USER = "USER",
}

export enum EntryStatus {
  DRAFT = "DRAFT",
  PUBLISHED = "PUBLISHED",
  ARCHIVED = "ARCHIVED",
}

export enum Visibility {
  PRIVATE = "PRIVATE",
  WORKSPACE = "WORKSPACE",
  PUBLIC = "PUBLIC",
}

export enum FormalityLevel {
  VERY_CASUAL = "VERY_CASUAL",
  CASUAL = "CASUAL",
  NEUTRAL = "NEUTRAL",
  FORMAL = "FORMAL",
  VERY_FORMAL = "VERY_FORMAL",
}
