package dto

type FollowAstrologerRequest struct {
	AstrologerID uint `json:"astrologerId" binding:"required"`
}

type UnfollowAstrologerRequest struct {
	AstrologerID uint `json:"astrologerId" binding:"required"`
}

type GetFollowingRequest struct {
	StartIndex  int `json:"startIndex"`
	FetchRecord int `json:"fetchRecord"`
}

type GetFollowerRequest struct {
	AstrologerID uint `json:"astrologerId"`
	StartIndex   int  `json:"startIndex"`
	FetchRecord  int  `json:"fetchRecord"`
}

type FollowingResponse struct {
	ID            uint    `json:"id"`
	Name          string  `json:"name"`
	ProfileImage  string  `json:"profileImage"`
	Experience    float64 `json:"experience"`
	LanguageKnown string  `json:"languageKnown"`
	AllSkill      string  `json:"allSkill"`
	Charge        float64 `json:"charge"`
	TotalOrder    int     `json:"totalOrder"`
	AverageRating float64 `json:"averageRating"`
	TotalRating   int     `json:"totalRating"`
	IsVerified    bool    `json:"isVerified"`
	IsFollow      bool    `json:"isFollow"`
}

type FollowerResponse struct {
	ID           uint   `json:"id"`
	Name         string `json:"name"`
	ProfileImage string `json:"profileImage"`
}

type FollowingAstrologerResponse struct {
	ID             uint    `json:"id"`
	Name           string  `json:"name"`
	ProfileImage   string  `json:"profileImage"`
	Experience     float64 `json:"experience"`
	ExperienceText string  `json:"experienceText"`
	LanguageKnown  string  `json:"languageKnown"`
	AllSkill       string  `json:"allSkill"`
	Charge         float64 `json:"charge"`
	AvgRating      float64 `json:"avgRating"`
	TotalOrders    int64   `json:"totalOrders"`
	IsVerified     bool    `json:"isVerified"`
	IsOnline       bool    `json:"isOnline"`
	IsFollowing    bool    `json:"isFollowing"`
}
