/**
 * User DTOs
 */

export type VerificationStatus = 'not_submitted' | 'pending' | 'approved' | 'rejected' | 'none';
export type UserIdentity = 'general' | 'student' | 'teacher' | 'staff' | 'alumni' | 'external';

export interface UserDTO {
  id: string;
  username: string;
  nickname: string;
  avatar: string;
  cover_url: string;
  bio: string;
  website: string;
  location: string;
  phone?: string;
  email?: string;
  email_verified?: boolean;
  posts_count: number;
  followers_count: number;
  following_count: number;
  created_at: string;
  is_following?: boolean;
  is_following_me?: boolean;
  identity?: UserIdentity;
  verification_status?: VerificationStatus;
}

export interface UserDetailDTO {
  id: string;
  username: string;
  nickname: string;
  email: string;
  email_verified?: boolean;
  avatar: string | null;
  bio: string | null;
  website: string | null;
  location: string | null;
  posts_count: number;
  followers_count: number;
  following_count: number;
  is_verified: boolean;
  created_at: string;
  is_following?: boolean;
  is_following_me?: boolean;
  identity?: UserIdentity;
  verification_status?: VerificationStatus;
}