package controllers

type (
	// InitiatePasswordResetRequest represents the request to start the password reset process
	InitiatePasswordResetRequest struct {
		Email string `json:"email" binding:"required,email"`
	}

	// VerifyResetCodeRequest represents the request to verify the reset code
	VerifyResetCodeRequest struct {
		Email string `json:"email" binding:"required,email"`
		Code  string `json:"code" binding:"required,len=6"`
	}

	// CompletePasswordResetRequest represents the request to complete the password reset
	CompletePasswordResetRequest struct {
		Email       string `json:"email" binding:"required,email"`
		Code        string `json:"code" binding:"required,len=6"`
		NewPassword string `json:"new_password" binding:"required,min=8"`
	}

	// PasswordResetResponse represents the response for password reset operations
	PasswordResetResponse struct {
		Success      bool   `json:"success"`
		Message      string `json:"message,omitempty"`
		NextStep     string `json:"next_step,omitempty"`
		CodeRequired bool   `json:"code_required,omitempty"`
	}
)
