Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image Storage Microservice all isues solved #20

Open
wants to merge 15 commits into
base: development
Choose a base branch
from

Conversation

anaquac
Copy link

@anaquac anaquac commented Oct 12, 2024

Additional notes: all the issue are solved.
The redis cache is using in the get single url end point and is very easy extend to the get all the url and pagination but I dont left more time.

I make some unit test for the user.service for testing purpose.

For the task [[optional] Log Persistence #12] I dont get `the point about the log persistence I meaning I dont know if need to handle in the same pg database or in another resource like ElasticSearch or something like that.

  • Run docker compose for up the additional resources pg database and redis cache manager
docker-compose up -d
all the env var example are in .env.template file

Se agregó el archivo .env.template que contiene las variables de entorno necesarias para el proyecto. Estas variables incluyen la configuración de la base de datos, las credenciales de autenticación de Google y la configuración del token JWT.
…archivo docker-compose.yml

Se agregó un archivo docker-compose.yml que contiene la configuración de los servicios de base de datos y caché necesarios para el proyecto.

feat: Agregar variables de entorno en archivo .env.template

Se agregó un archivo .env.template que contiene las variables de entorno necesarias para ejecutar y probar el proyecto.

docs: Actualizar README.md

Se actualizó el archivo README.md con información adicional sobre el proyecto.

chore: Ejecutar docker-compose para levantar los recursos adicionales

Se ejecutó el comando "docker-compose up -d" para levantar los recursos adicionales de la base de datos y el caché.

docs: Agregar ejemplos de variables de entorno en archivo .env.template

Se agregaron ejemplos de variables de entorno en el archivo .env.template para facilitar su configuración.

test: Agregar pruebas unitarias para el servicio de usuarios

Se agregaron pruebas unitarias para el servicio de usuarios con el propósito de realizar pruebas.

docs: Aclarar dudas sobre persistencia de registros

Se aclararon dudas sobre la persistencia de registros, preguntando si se debe manejar en la misma base de datos o en otro recurso como ElasticSearch.
Se agregó el archivo firebase.module.ts que contiene la configuración de los servicios de base de datos y caché utilizando el archivo docker-compose.yml. Además, se agregó el archivo firebase.repository.ts que implementa la lógica para interactuar con Firebase. Estos cambios permiten utilizar Firebase en el proyecto.
Se agregó el archivo auth.controller.ts con el controlador de autenticación que contiene las funciones de registro, inicio de sesión y verificación de usuario.

[Issue #X]
Se agregaron las clases LoginInput y SignupInput en el directorio src/auth/dto/inputs. Estas clases contienen las propiedades necesarias para realizar el inicio de sesión y el registro de usuarios. Las clases están validadas utilizando class-validator para garantizar que los campos cumplan con los requisitos necesarios.

Se agregó también el enum ValidRoles en el directorio src/auth/enums. Este enum define los roles válidos para los usuarios.

Se implementaron los guards AuthGuard y RolesGuard en los directorios src/auth/guards. Estos guards se encargan de proteger las rutas y verificar la autenticación y los roles de los usuarios.

Se creó la interfaz JwtPayload en el directorio src/auth/interfaces. Esta interfaz define la estructura del payload del token JWT.

Por último, se agregó la clase AuthResponse en el directorio src/auth/types. Esta clase representa la respuesta de autenticación y contiene el token JWT y los datos del usuario.

Estos cambios son necesarios para implementar la funcionalidad de autenticación en la aplicación.
Agrega validación de datos utilizando el ValidationPipe global y agrega documentación Swagger a la API.
Se agregó la interfaz UserActiveInterface que define las propiedades de un usuario activo en el sistema, incluyendo su identificador, inquilino y rol.
Se agregó un nuevo archivo "rol.enum.ts" que contiene una enumeración de roles de usuario con los valores "user" y "admin".
Se agregó la clase PageOptionsDto para manejar las opciones de paginación en la obtención de imágenes. Esta clase incluye propiedades como el orden de las imágenes, la página actual y la cantidad de imágenes por página. Además, se implementó la funcionalidad correspondiente en el controlador de imágenes para obtener todas las imágenes con paginación.

Los cambios también incluyen la creación de la clase PageMetaDto, que se utiliza para generar metadatos de paginación en la respuesta. Esta clase calcula el número total de imágenes, la cantidad de páginas, y si hay una página anterior o siguiente.

Estos cambios permiten una mejor organización y manejo de las imágenes en el sistema.
Se agregó la entidad de usuario con sus respectivas propiedades y validaciones. Además, se implementó el servicio de usuarios con métodos para crear y buscar usuarios por correo electrónico y por ID.

Closes #123
Agregar enumeración de ordenamiento de imágenes para especificar el orden ascendente o descendente al paginar imágenes.
Se agregaron las siguientes dependencias al archivo package.json:
- @nestjs/[email protected]
- @nestjs/[email protected]
- @nestjs/[email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]

También se agregaron los siguientes tipos de dependencias:
- @types/[email protected]
- @types/[email protected]
- @types/[email protected]

Estas dependencias son necesarias para implementar la autenticación y el manejo de imágenes en la aplicación.
@anaquac anaquac changed the title Image Storage Microservice test. Image Storage Microservice all isues solved Oct 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant