Proprietário

Sobre a entidade Proprietário.

A entidade proprietário representa um imóvel dentro da plataforma imobiliária.

Propriedades

A entidade proprietário possui as seguintes propriedades:

owner.go
type Owner struct {
	ID            uuid.UUID
	Fullname      string
	CPF           string
	RG            string
	Email         string
	Cellphone     string
	Occupation    string
	MaritalStatus types.MaritalStatus
	Address       *types.Address
	ManagerID     uuid.UUID
}

Tipos

MaritalStatus

O estado civil do proprietário pode ser um dos seguintes:

marital_status.go
type MaritalStatus string
const (
	MaritalStatusSingle      MaritalStatus = "Solteiro(a)"
	MaritalStatusMarried     MaritalStatus = "Casado(a)"
	MaritalStatusLoved       MaritalStatus = "Amasiado(a)"
	MaritalStatusDivorced    MaritalStatus = "Divorciado(a)"
	MaritalStatusStableUnion MaritalStatus = "União Estável"
	MaritalStatusWidowed     MaritalStatus = "Viúvo(a)"
)

Address

O endereço do proprietário é representado por uma estrutura que contém os seguintes campos:

address.go
type Address struct {
	FullAddress  string
	MiniAddress  string
	Street       string
	Number       string
	Neighborhood string
	Complement   string
	City         string
	State        string
	ZipCode      string
}

DTOs

A entidade proprietário possui os seguintes DTOs:

DTO

O DTO de proprietário é utilizado para representar a resposta de um proprietário na plataforma. Ele contém os seguintes campos:

dto.go
type DTO struct {
	ID            uuid.UUID           `json:"id"`
	Fullname      string              `json:"fullname"`
	CPF           string              `json:"cpf"`
	RG            string              `json:"rg"`
	Email         string              `json:"email"`
	Cellphone     string              `json:"cellphone"`
	Occupation    string              `json:"occupation"`
	MaritalStatus types.MaritalStatus `json:"marital_status"`
	ManagerID     uuid.UUID           `json:"manager_id"`
	Address       types.AddressDTO    `json:"address"`
}

CreateDTO

O DTO de criação de proprietário é utilizado para criar um novo proprietário na plataforma. Ele contém os seguintes campos:

dto.go
type CreateDTO struct {
	Fullname      string              `json:"fullname"`
	CPF           string              `json:"cpf"`
	RG            string              `json:"rg"`
	Email         string              `json:"email"`
	Cellphone     string              `json:"cellphone"`
	Occupation    string              `json:"occupation"`
	MaritalStatus types.MaritalStatus `json:"marital_status"`
	Address       types.AddressDTO    `json:"address"`
}

AssignOwnerDTO

O DTO de atribuição de proprietário é utilizado para atribuir um proprietário a um imóvel. Ele contém os seguintes campos:

dto.go
type AssignOwnerDTO struct {
	OwnerID    string `json:"owner_id"`
	PropertyID string `json:"property_id"`
}