user_dto

package
v0.0.0-...-0fbe093 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddressResponse

type AddressResponse struct {
	Street       string `json:"street"`
	Number       string `json:"number"`
	Neighborhood string `json:"neighborhood"`
	City         string `json:"city"`
	State        string `json:"state"`
	Zip          string `json:"zip"`
}

type CreateAddressRequest

type CreateAddressRequest struct {
	Street       string `json:"street" validate:"required,min=1,max=255"`
	Number       string `json:"number" validate:"required,min=1,max=255"`
	Neighborhood string `json:"neighborhood" validate:"required,min=1,max=255"`
	City         string `json:"city" validate:"required,min=1,max=255"`
	State        string `json:"state" validate:"required,min=1,max=255"`
	Zip          string `json:"zip" validate:"required,min=1,max=255"`
}

type CreateDoctorRequest

type CreateDoctorRequest struct {
	MedicalID string  `json:"medical_id" validate:"omitempty,required,min=5,max=255"`
	Specialty string  `json:"specialty" validate:"omitempty,required,min=5,max=255"`
	Price     float64 `json:"price" validate:"omitempty,required,min=1"`
}

type CreateUserRequest

type CreateUserRequest struct {
	FullName   string `json:"full_name" validate:"required,min=5,max=255"`
	Email      string `json:"email" validate:"required,email,min=5,max=255"`
	Password   string `json:"password" validate:"required,min=8,max=30"`
	DocumentID string `json:"document_id" validate:"required,min=11,max=14,cpfcnpj"`
	Phone      string `json:"phone" validate:"required,min=5,max=255"`
	Role       string `json:"role" validate:"required,oneof=doctor patient"`

	Doctor  *CreateDoctorRequest  `json:"doctor" validate:"omitempty"`
	Address *CreateAddressRequest `json:"address" validate:"omitempty"`
}

type DoctorResponse

type DoctorResponse struct {
	MedicalID     string  `json:"medical_id"`
	Specialty     string  `json:"specialty"`
	Price         float64 `json:"price"`
	AvgRating     float64 `json:"avg_rating"`
	TotalPatients int     `json:"total_patients"`
}

type LoginUserRequest

type LoginUserRequest struct {
	MedicalID  *string `json:"medical_id"`
	DocumentID *string `json:"document_id"`
	Email      *string `json:"email"`
	Password   *string `json:"password"`
}

func (*LoginUserRequest) IsDoctorLogin

func (r *LoginUserRequest) IsDoctorLogin() bool

func (*LoginUserRequest) IsPatientLogin

func (r *LoginUserRequest) IsPatientLogin() bool

type UpdateUserRequest

type UpdateUserRequest struct {
	FullName   *string `json:"full_name" validate:"omitempty,min=5,max=255"`
	Email      *string `json:"email" validate:"omitempty,email,min=5,max=255"`
	Password   *string `json:"password" validate:"omitempty,min=8,max=30"`
	DocumentID *string `json:"document_id" validate:"omitempty,min=11,max=14,cpfcnpj"`
	Phone      *string `json:"phone" validate:"omitempty,min=5,max=255"`

	DoctorMedicalID *string  `json:"medical_id" validate:"omitempty,required,min=5,max=255"`
	DoctorSpecialty *string  `json:"specialty" validate:"omitempty,required,min=5,max=255"`
	DoctorPrice     *float64 `json:"price" validate:"omitempty,required,min=1"`
}

type UserResponse

type UserResponse struct {
	ID uint `json:"id"`

	FullName   string `json:"full_name"`
	Email      string `json:"email"`
	DocumentID string `json:"document_id"`
	Phone      string `json:"phone"`
	Role       string `json:"role"`

	Doctor    *DoctorResponse   `json:"doctor,omitempty"`
	Addresses []AddressResponse `json:"addresses,omitempty"`

	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

func MapFromDomain

func MapFromDomain(user *entities.User) *UserResponse

func MapFromSlice

func MapFromSlice(users []entities.User) []*UserResponse

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL