package dbtypes

type ClientValidationStatus string

const (
	ClientValStatusNew      ClientValidationStatus = "new"
	ClientValStatusPending  ClientValidationStatus = "on review"
	ClientValStatusApproved ClientValidationStatus = "confirmed"
	ClientValStatusRejected ClientValidationStatus = "rejected"
)

type (
	ClientValidation struct {
		Status      ClientValidationStatus `json:"status"`
		Description string                 `json:"description"`
	}
)

type (
	ClientValidationGetRequest struct {
		UserId string
	}

	ClientValidationGetResponse struct {
		ClientValidation *ClientValidation `json:"moderation"`
	}
)

type UserType int32

const (
	UserTypeAgent       UserType = 0 // NOTE: no iota here
	UserTypeDistributor UserType = 1
)

type (
	User struct {
		Id       string
		FullName string
		Phone    string
		Email    string
		Type     UserType
	}
)

type (
	UserSaveRequest struct {
		Id       string
		FullName string
		Phone    string
		Email    string
		Type     UserType
	}

	UserSaveResponse struct {
	}
)
