models

package
v0.0.0-...-76a351f Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2020 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateOkupa

func CreateOkupa(okupa *Okupa, db *gorm.DB)

func CreateOwner

func CreateOwner(owner *Owner, db *gorm.DB)

func CreateProperty

func CreateProperty(property *Property, db *gorm.DB)

func CreateUser

func CreateUser(user *User, db *gorm.DB)

func CreateUserOkupa

func CreateUserOkupa(userOkupa *UserOkupa, db *gorm.DB)

func DeleteOkupa

func DeleteOkupa(del *Okupa, db *gorm.DB)

func DeleteOwner

func DeleteOwner(del *Owner, db *gorm.DB)

func DeleteProperty

func DeleteProperty(del *Property, db *gorm.DB)

func DeleteUserOkupa

func DeleteUserOkupa(del *UserOkupa, db *gorm.DB)

func EditOkupa

func EditOkupa(editOkupa *Okupa, db *gorm.DB)

func EditOwner

func EditOwner(editOwner *Owner, db *gorm.DB)

func EditProperty

func EditProperty(editProperty *Property, db *gorm.DB)

func EditUser

func EditUser(editUser *User, db *gorm.DB)

func EditUserOkupa

func EditUserOkupa(editUserOkupa *UserOkupa, db *gorm.DB)

EditUserOkupa no utilizado

Types

type Address

type Address struct {
	Calle        string `json:"calle" valid:"length(2|50)"`
	Numero       int    `json:"numero"`
	Piso         int    `json:"piso"`
	Puerta       string `json:"puerta"`
	CodigoPostal string `json:"codigo_postal"`
	Nucleo       string `json:"nucleo" valid:"length(2|50)"`
	Poblacion    string `json:"poblacion" valid:"length(2|50)"`
	Municipio    string `json:"municipio" valid:"length(2|50)"`
	Provincia    string `json:"provincia" valid:"length(2|50)"`
	Comunidad    string `json:"comunidad" valid:"length(2|50)"`
}

Address - Struct de una direccion

type Credentials

type Credentials struct {
	Username string `gorm:"unique" json:"username" valid:"email"`
	Password string `json:"password" valid:"length(6|30)"`
}

Credentials para guardar datos de autenticación/autorización

func NewCredentialsJSON

func NewCredentialsJSON(jsonBytes []byte) *Credentials

NewCredentialsJSON Para pasar de JSON del body a objeto Credentials

func (Credentials) Valid

func (user Credentials) Valid() bool

type Okupa

type Okupa struct {
	OkupaID     int       `gorm:"primary_key;not null" json:"okupa_id"`
	Name        string    `json:"name" valid:"length(3|30)"`
	Description *string   `json:"description" valid:"length(3|200)"`
	Created     time.Time `json:"created"`
}

Okupa - Struct con los datos de una asociacion de okupas.

func GetOkupa

func GetOkupa(id int, db *gorm.DB) *Okupa

GetOkupa - Devuelve la okupa con el ID

func GetOkupas

func GetOkupas(db *gorm.DB) []*Okupa

GetOkupas - Lista todas las okupas, las más recientes primero

func (Okupa) Valid

func (okupa Okupa) Valid() bool

Valid - Bool para saber si la validación es correcta

type Owner

type Owner struct {
	OwnerID     int       `gorm:"primary_key;not null" json:"owner_id"`
	Name        string    `json:"name" valid:"length(3|30)"`
	TypeOwner   string    `json:"type_owner" valid:"length(3|15)"`
	Description *string   `json:"description" valid:"length(3|200)"`
	Created     time.Time `json:"created"`
}

Owner - Struct con los datos de un owner.

func GetOwner

func GetOwner(id int, db *gorm.DB) *Owner

GetOwner - Devuelve el owner con el ID

func GetOwners

func GetOwners(db *gorm.DB) []*Owner

GetOwners - Lista todas las owners, las más recientes primero

func (Owner) Valid

func (owner Owner) Valid() bool

Valid - Bool para saber si la validación es correcta

type Property

type Property struct {
	PropertyID  int       `gorm:"primary_key;not null" json:"property_id"`
	OwnerID     int       `gorm:"not null;type:int REFERENCES owners(owner_id) ON DELETE SET NULL" json:"owner_id"`
	OkupaID     int       `gorm:"not null;type:int REFERENCES okupas(okupa_id) ON DELETE SET NULL" json:"okupa_id"`
	UserID      int       `gorm:"not null;type:int REFERENCES users(user_id) ON DELETE SET NULL" json:"user_id"`
	Type        string    `json:"type" valid:"length(3|15)"`
	Description *string   `json:"description" valid:"length(3|200)"`
	Created     time.Time `json:"created"`
	Address
	//Añadidos para mejorar los listados
	User  *User  `json:"user"` //no son FK por los errores del gorm con autoincrementos
	Owner *Owner `json:"owner"`
	Okupa *Okupa `json:"okupa"`
}

Property - Struct con los datos de un property.

func GetProperties

func GetProperties(db *gorm.DB) []*Property

GetProperties - Lista todas las properties, las más recientes primero

func GetProperty

func GetProperty(id int, db *gorm.DB) *Property

GetProperty - Devuelve el property con el ID

func GetPropertyOkupa

func GetPropertyOkupa(okupa int, db *gorm.DB) []*Property

GetPropertyOkupa - Busca todos los properties okupados por "okupa"

func GetPropertyOwner

func GetPropertyOwner(owner int, db *gorm.DB) []*Property

GetPropertyOwner - Busca todos los properties okupados por "owner"

func GetPropertyType

func GetPropertyType(id int, db *gorm.DB) []*Property

GetPropertyType - Busca todos los properties okupados por "type"

func GetPropertyUser

func GetPropertyUser(user int, db *gorm.DB) []*Property

GetPropertyUser - Busca todos los properties okupados por "user"

func (Property) Valid

func (property Property) Valid() bool

Valid - Bool para saber si la validación es correcta

type User

type User struct {
	UserID int `gorm:"primary_key;not null" json:"user_id"`
	Credentials
	Role       string    `json:"role" valid:"alphanum,length(3|10)"`
	FullName   string    `json:"full_name" valid:"length(3|30)"`
	Registered time.Time `json:"registered"`
}

User - Struct con los datos del perfil del usuario Todas serán not null menos el avatar

func GetUser

func GetUser(id int, db *gorm.DB) *User

func GetUserName

func GetUserName(name string, db *gorm.DB) *User

GetUserName busca el primer usuario con ese nombre en la BD. Si no existe, devuelve nil

func GetUsers

func GetUsers(db *gorm.DB) []User

func NewUserJSON

func NewUserJSON(jsonBytes []byte) *User

NewUserJSON Para pasar de JSON del body a objeto User

func (User) Valid

func (user User) Valid() bool

Valid - Bool para saber si la validación es correcta

type UserOkupa

type UserOkupa struct {
	UserOkupaID int       `gorm:"primary_key" json:"userokupa_id"`
	UserID      int       `gorm:"not null;type:int REFERENCES users(user_id) ON DELETE CASCADE" json:"user_id"`
	OkupaID     int       `gorm:"not null;type:int REFERENCES okupas(okupa_id) ON DELETE CASCADE" json:"okupa_id"`
	Created     time.Time `json:"created"`
}

UserOkupa struct de los UserOkupas

func ExistUserOkupa

func ExistUserOkupa(usr int, okp int, db *gorm.DB) *UserOkupa

Mira si ya existe esa relación, y la devuelve si existe.

func GetUserOkupa

func GetUserOkupa(id int, db *gorm.DB) *UserOkupa

GetUserOkupa - Busca por id

func GetUserOkupaOkupa

func GetUserOkupaOkupa(okupa int, db *gorm.DB) []*UserOkupa

GetUserOkupaOkupa - Busca usuarios por id de asociación okupa

func GetUserOkupaUser

func GetUserOkupaUser(user int, db *gorm.DB) []*UserOkupa

GetUserOkupaUser - Busca okupas por id de user

Jump to

Keyboard shortcuts

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