package entity

import "chonho/pkg/model"

type RegisterByDeviceRequest struct {
	DeviceId string `json:"device_id" validate:"required"`
}

type RegisterRequest struct {
	Name            string `json:"name" validate:"required"`
	Phone           string `json:"phone" validate:"required,numeric,len=10,startswith=0"`
	DeviceId        string `json:"device_id" validate:"required"`
	Password        string `json:"password" validate:"required,min=6"`
	Avatar          string `json:"avatar"`
	FirebaseIdToken string `json:"firebase_id_token" validate:"required"`
}

type LoginByTokenRequest struct {
	FirebaseIdToken string `json:"firebase_id_token" validate:"required"`
}

type LoginRequest struct {
	Phone    string `json:"phone" validate:"required,numeric,len=10,startswith=0"`
	Password string `json:"password" validate:"required,min=6"`
}

type ChangePasswordRequest struct {
	NewPassword string `json:"new_password" validate:"required,min=6"`
}

type UserData struct {
	User     *model.User                `json:"user"`
	Address  *model.UserShippingAddress `json:"address"`
	IsSeller bool                       `json:"is_seller"`
	Token    string                     `json:"token"`
}

type UserResponse struct {
	Code    int
	Message string
	Data    UserData
}
