Skip to content

hug58/users-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USERS API

Requisitos Go 1.19 o superior instalado en tu sistema.

Instalación

Clona este repositorio en tu máquina local:

git clone https://github.com/hug58/users-api.git

Navega hasta el directorio del proyecto:

cd users-api

Instala las dependencias del proyecto:

go mod tidy 

crea un archivo .env y configura la db

export PGHOST="localhost"
export PGPORT=5432
export PGDATABASE="postgres"
export PGUSER="postgres"
export PGPASSWORD="postgres"
export SECRET="SUPERSECRET!"
export TOKEN_EXPIRATION_MINUTES="5m"

carga las variables de entorno

source .env

Inicia el servidor

go run main.go

Ejecutar cronjob

en el ejecutable sh add_cronjob.sh esta configurado para ejecutar cada minuto un cronjob que elimine los tokens antiguos y cambie el status del usuario a false

#cambiar en el archivo de configuración
#-d <nombre_de_base_de_datos>
#-U <nombre_de_usuario>

echo "* * * * * psql -c 'SELECT delete_expired_tokens();' -d postgres -U postgres" | crontab -

Una vez que el servidor esté en funcionamiento, puedes acceder a la API REST a través de http://localhost:8080. A continuación, se muestran algunos ejemplos de rutas disponibles:

  • POST api/v1/users/login
{
    "phone":"+580000000",
    "password":"Gugosss"
}
  • GET api/v1/users: Obtiene todos los usuarios.

  • GET api/v1/users/{id}: Obtiene un usuario específico por su ID.

  • POST api/v1/users: Crea un nuevo usuario:

{
    "name":"test",
    "addres":"casa de hugo",
    "email":"dosss@gmail.com",
    "phone":"+580000000",
    "password":"Gugosss"
}
  • PUT api/v1/users/{id}: Actualiza un usuario existente por su ID.
{
    "name":"test",
    "addres":"casa de hugo",
    "email":"dosss@gmail.com",
    "phone":"+580000000",
    "password":"Gugosss"
}
  • DELETE api/v1/users/{id}: Elimina un usuario por su ID.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published