package dto_astrologer

import models "astrology-api/models/astrologermodel"

type AstrologerResponse struct {
	ID                   uint                            `json:"id"`
	UserID               uint                            `json:"user_id"`
	Name                 string                          `json:"name"`
	Email                string                          `json:"email"`
	ContactNo            string                          `json:"contact_no"`
	ProfileImage         string                          `json:"profile_image"`
	Bio                  string                          `json:"bio"`
	ExperienceYears      float64                         `json:"experience_years"`
	CompletionPercentage int                             `json:"completion_percentage"`
	CurrentStep          int                             `json:"current_step"`
	ProfileStatus        string                          `json:"profile_status"`
	VerificationStatus   string                          `json:"verification_status"`
	AdminStatus          string                          `json:"admin_status"`
	IsVerified           bool                            `json:"is_verified"`
	IsAvailable          bool                            `json:"is_available"`
	Languages            []models.AstrologerLanguage     `json:"languages"`
	Skills               []models.AstrologerSkill        `json:"skills"`
	Educations           []models.AstrologerEducation    `json:"educations"`
	Professionals        []models.AstrologerProfessional `json:"professionals"`
	Experiences          []models.AstrologerExperience   `json:"experiences"`
	BankAccount          []models.AstrologerBankAccount  `json:"bank_account"`
	Documents            []models.AstrologerDocument     `json:"documents"`
}

type VerifyLoginOTPResponse struct {
	Token        string             `json:"token"`
	RefreshToken string             `json:"refresh_token"`
	NextScreen   string             `json:"next_screen"`
	Astrologer   AstrologerResponse `json:"astrologer"`

	// Where the profile stands, so the app can resume an unfinished profile at
	// pending_step or hold a submitted one on the review screen. Astrologer is
	// left zeroed when profile step 1 has never been saved.
	// profile_status and admin_status are always present. They were omitempty,
	// and admin_status is empty for exactly the account this endpoint most often
	// answers for — one that has just verified and has no astrologer row yet —
	// so the key disappeared from the response in that state.
	ProfileStatus        string `json:"profile_status"`
	AdminStatus          string `json:"admin_status"`
	IsProfileCompleted   bool   `json:"is_profile_completed"`
	CompletionPercentage int    `json:"completion_percentage"`
	PendingStep          int    `json:"pending_step,omitempty"`
	PendingStepTitle     string `json:"pending_step_title,omitempty"`
	CanSubmit            bool   `json:"can_submit"`
}

type GetAstrologerByIDResponse struct {
	ID              uint    `json:"id"`
	Name            string  `json:"name"`
	ProfileImage    string  `json:"profileImage"`
	Charge          float64 `json:"charge"`
	CallRate        float64 `json:"audioCallRate"`
	VideoCallRate   float64 `json:"videoCallRate"`
	ReportRate      float64 `json:"reportRate"`
	Experience      float64 `json:"experience"`
	PrimarySkill    string  `json:"primarySkill"`
	AllSkill        string  `json:"allSkill"`
	LanguageKnown   string  `json:"languageKnown"`
	Category        string  `json:"category"`
	Rating          float64 `json:"rating"`
	RatingCount     int64   `json:"ratingCount"`
	ChatMinutes     float64 `json:"chatMinutes"`
	CallMinutes     float64 `json:"callMinutes"`
	IsFreeAvailable bool    `json:"isFreeAvailable"`
}

/*
	{
    "status": true,
    "message": "Profile fetched successfully",
    "data": {
        "id": 15,
        "name": "Rahul Sharma",
        "email": "rahul@gmail.com",
        "contact_no": "9876543210",
        "profile_image": "astro_15.jpg",
        "gender": "Male",
        "city": "Jaipur",
        "state": "Rajasthan",
        "country": "India",
        "experience_years": 8,
        "daily_hours": 6,
        "profile_status": "IN_PROGRESS",
        "completion_percentage": 30,
        "current_step": 3,
        "is_profile_completed": false,
        "languages": [
            "Hindi",
            "English"
        ],
        "skills": [
            "Vedic Astrology",
            "Tarot Reading"
        ]
    }
}

*/
