import { User } from '../entities/user.entity';

export interface IUserRepository {
  findById(id: string): Promise<User | null>;
  findByPhone(phone: string): Promise<User | null>;
  findByEmail(email: string): Promise<User | null>;
  findByPhoneOrEmail(identifier: string): Promise<User | null>;
  create(user: Partial<User>): Promise<User>;
  save(user: User): Promise<User>;
  updateLastLogin(id: string): Promise<void>;
}

export const USER_REPOSITORY = Symbol('IUserRepository');
