okupa

command module
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: 7 Imported by: 0

README

okupa

Api creada en GO para asociación okupa. Parte de servidor
Creado una primera versión de un front en la carpeta public (con Vuejs), que ya está relacionado con el servidor (basta poner en marcha el servidor)

Librerías externas utilizadas:

"github.com/urfave/negroni" - Middleware para net/http (logs, panics recovery y static en "public")
"github.com/jinzhu/gorm" - ORM para Postgres
"github.com/gorilla/mux" - Router
"github.com/patrickmn/go-cache" - cache de llave/valor utilizada para almacenar usuarios y tokens HMAC
"github.com/asaskevich/govalidator" - Validador de estructuras, utilizado solo para los users
"github.com/joho/godotenv" - Cargar archivo .env

.env utilizado
secret_key=CoronaVirus2020
DB_HOST=127.0.0.1
DB_DRIVER=postgres
DB_USER=sergio
DB_PASSWORD=bosch
DB_NAME=okupa_api
DB_PORT=5432 #Default postgres port

Estructura de la api

Users

Perfiles de usuario con roles (anonymous/user/admin)

"/users" - post - Registro de usuarios, encripta los passwords con SHA256
"/users/login" - post - Login de usuario
"/users" - get - Listado de todos los usuarios, solo para administradores
"/users/{id:[0-9]+}" - get - Detalles de un usuario en concreto
"/users/{id:[0-9]+" - put - Editar un usuario. No se puede cambiar ID ni username. El role solo lo puede cambiar un admin

Roles

admin: Tiene control sobre todo, menos para crear contenido como si fuera otro usuario. Puede borrar y editar lo que suben los demás.
user: No puede listar todos los usuarios ni borrar o editar el contenido de los otros usuarios.
anonymous(u otros): Usuario de prueba. Solamente puede editar su propia información

Owners

Propietarios de los edificios

"/owners" - post - Creación de propietarios, solo para administradores
"/owners" - get - Listado de todos los propietarios
"/owners/{id:[0-9]+}" - get - Detalles de un propietario en concreto
"/owners/{id:[0-9]+" - put - Editar un propietario. No se puede cambiar ID ni fecha de creación
"/owners/{id:[0-9]+" - delete - Borra un propietario, solo para administradores

Okupas

Perfiles de las asociaciones okupa

"/okupas" - post - Creación de asociaciones, solo para administradores
"/okupas" - get - Listado de todas las asociaciones
"/okupas/{id:[0-9]+}" - get - Detalles de una asociación en concreto
"/okupas/{id:[0-9]+" - put - Editar una asociación. No se puede cambiar ID ni fecha de creación
"/okupas/{id:[0-9]+" - delete - Borra una asociación, solo para administradores

UserOkupa

Relación entre usuarios y asociaciones okupas

"/okupas/{id:[0-9]+}/{usr:[0-9]+}" - post Añadir un usuario a una asociación okupa
"/okupas/{id:[0-9]+}/{usr:[0-9]+}" - delete Elimina el usuario de la asociación okupa
"/okupas/users/{id:[0-9]+}" - get Lista los usuarios de una asociación okupa

Properties

Registro de las propiedades/edificios

"/properties" - post - Dar de alta propiedades, solo para administradores
"/properties" - get - Listado de todas las propiedades
"/properties/{id:[0-9]+}" - get - Detalles de una propiedad en concreto
"/properties/{id:[0-9]+" - put - Editar una propiedad. No se puede cambiar ID ni fecha de creación. Solo administradores
"/properties/{id:[0-9]+" - delete - Borra una propiedad, solo para administradores
"/properties/users/{id:[0-9]+}" - get - Listado de propiedades por usuario
"/properties/types/{id:[0-9]+}" - get - Listado de propiedades por tipo
"/properties/owners/{id:[0-9]+}" - get - Listado de propiedades por propietario
"/properties/okupas/{id:[0-9]+}" - get - Listado de propiedades por asociación

Donaciones

Buy Me A Coffee

BTC: 32kZW9Z381DDPn54Sho8U5jQ53UhLC8rTv

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api

Jump to

Keyboard shortcuts

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