import { SysTagVO } from '@/api/archieves/tag/types';

export interface UsrPetVO {
  id: string | number;
  userId: number;
  name: string;
  avatar: number;
  avatarUrl: string;
  type: number;
  breed: string;
  gender: number;
  birthday: string;
  age: number;
  weight: number;
  size: string;
  isSterilized: number;
  arrivalTime: string;
  houseType: string;
  entryMethod: string;
  entryPassword: string;
  keyLocation: string;
  personality: string;
  cutePersonality: string;
  healthStatus: string;
  aggression: number;
  vaccineStatus: string;
  vaccineCert: number;
  vaccineCertUrl: string;
  medicalHistory: string;
  allergies: string;
  remark: string;
  createTime: string;
  ownerName: string;
  ownerPhone: string;
  tags: SysTagVO[];
}

export interface UsrPetForm extends BaseEntity {
  id?: string | number;
  userId?: number;
  name?: string;
  avatar?: number;
  type?: number;
  breed?: string;
  gender?: number;
  birthday?: string;
  age?: number;
  weight?: number;
  size?: string;
  isSterilized?: number;
  arrivalTime?: string;
  houseType?: string;
  entryMethod?: string;
  entryPassword?: string;
  keyLocation?: string;
  personality?: string;
  cutePersonality?: string;
  healthStatus?: string;
  aggression?: number;
  vaccineStatus?: string;
  vaccineCert?: number;
  medicalHistory?: string;
  allergies?: string;
  remark?: string;
  tagIds?: (string | number)[];
}

export interface UsrPetQuery extends PageQuery {
  keyword?: string;
  userId?: number;
}

export interface UsrPetRemarkForm {
  petId: string | number;
  content: string;
}
