Hello! NExp (Node Experience) is a boilerplate for Node, which makes use of a Hexagonal architecture, in addition to all the power of TypeScript that combined allow a perfect cohesion thus achieving a clean and at the same time very powerful implementation.
Identificar las clases que se convertirían en paquete dentro del filesystem service. (Identificar los archivos para el paquete y para el next cli) #207
Para el paquete de fileSerive de digichanges (@digichanges/fileservice):
Se deberia mantener de shared experience los siguientes archivos(sujeto a que sufran modificaciones)
Estrategias: por cada proveedor deberiamos tener una ****Strategy que sea importable de manera individual(MinioStrategy) y su respectiva interfaz de configuracion (MinioConfig)
Interfaz de implementacion: Una interfaz para que las estrategias respeten una estructura y sean similares de trabajar(IFilesystem)
Interfaz de tipo de datos: crear interfaces para que el usuario sepa sobre que trabajarconocer que estructura de datos les sera devuelto o requerira ( FileVersionPayload, FileReponsePayload, ListObjectsPayload)
Para agregar el fileService dentro del CLI:
Se deberian mantener de file-service-experience las siguientes carpetas(sujeto a que sufran modificaciones)
El parquete File en un incio representa una version de api estable:
Generar los los distintos archivos de base de datos para el fileservice(actualmente existe Mongoose y faltaria generar Mikro ORM)
Repositorio
Schema
De las entidades probablemente se baje a 2 casos particulares una que componga del objeto completo y otra que sirve simplemente para referenciar, debria podes simplificarse la logica para que quede en torno a una facil edicion del paquete File
El command para la creacion del bucket
incluir las entradas del register (inyeccion de dependencias)
Filesystem factory ya no se utilizaria y seria reemplazado por inyeccion de dependecias y a su vez el cli definiria que estrategia usar
traer las configs necesarias del paquete Config para que el paquete File funcione correctamente
/Config/Injects/index.ts traer al menos los repositorios
/Config/Permissions.ts permisos para las rutas de files
/Config/validateEnv.ts agregar lo correpondiente al File
custom envoitment variables: agregar las variables correspondiente al fileservice
Lograr abstraccion del cli sobre minio(variables de entorno y archivos de config como el validateEnv.ts, custom-environment-variables.json y default .json)
Modificar el docker compose para generar los contenerdores correpondientes
Agregar al dev.init.shell el command para crear el bucket
@Murzbul
Para el paquete de fileSerive de digichanges (@digichanges/fileservice):
Se deberia mantener de shared experience los siguientes archivos(sujeto a que sufran modificaciones)
Para agregar el fileService dentro del CLI:
Se deberian mantener de file-service-experience las siguientes carpetas(sujeto a que sufran modificaciones)