import { FastifyRequest } from 'fastify' import { VipLevel, MemberStatus } from '../entities/member.entity' import { Pagination } from './common.dto' export interface CreateMemberBody { userId: number email?: string phone?: string vipLevel?: VipLevel status?: MemberStatus vipExpireTime?: Date ip?: string } export interface UpdateMemberBody { id: number userId?: number email?: string phone?: string vipLevel?: VipLevel status?: MemberStatus vipExpireTime?: Date ip?: string } export interface ListMemberQuery extends Pagination { vipLevel?: VipLevel | VipLevel[] status?: MemberStatus | MemberStatus[] userId?: number } export interface MemberResponse { id: number userId: number email?: string phone?: string vipLevel: VipLevel status: MemberStatus vipExpireTime?: Date lastLoginAt?: Date ip?: string createdAt: Date updatedAt: Date } export interface UpdateGuestBody { userId: number name: string password: string email?: string phone?: string } export interface MemberLoginBody { name: string password: string } export interface ResetPasswordBody { password: string } export interface RegisterBody { name: string password: string email?: string phone?: string code?: string memberCode?: string landingDomain?: string // 落地域名,通过落地域名查询相关团队进行绑定 } export interface UpdateProfileBody { name: string email?: string }