@cbm-common/document-reference-repository
v0.0.1
Published
Esta librería Angular proporciona utilidades para gestionar referencias entre documentos en colecciones distintas del backend (por ejemplo, relaciones entre facturas y notas de crédito). Incluye:
Readme
Librería: document-reference-repository
Esta librería Angular proporciona utilidades para gestionar referencias entre documentos en colecciones distintas del backend (por ejemplo, relaciones entre facturas y notas de crédito). Incluye:
- Un módulo de configuración (
CbmDocumentReferenceModule) que expone un token de configuración. - Un servicio (
CbmDocumentReferenceService) y un repositorio (CbmDocumentReferenceRepository) con métodos HTTP tipados. - Tipos TypeScript en el namespace
CbmDocumentReferenceModelque describen peticiones y respuestas.
Exportaciones principales
CbmDocumentReferenceModule— módulo para configurar la librería conforRoot({ baseUrl }).CbmDocumentReferenceService— servicio con llamadas HTTP;providedIn: 'root'.CbmDocumentReferenceRepository— repositorio que delega en el servicio.CbmDocumentReferenceModel— modelos y tipos.
Instalación
npm install document-reference-repositoryConfiguración en Angular
Configura la URL base del servicio al importar el módulo en tu AppModule:
import { CbmDocumentReferenceModule } from 'document-reference-repository';
@NgModule({
imports: [
CbmDocumentReferenceModule.forRoot({ baseUrl: 'https://api.example.com/document-reference' }),
],
})
export class AppModule {}API pública (resumen)
El servicio y repositorio exponen los siguientes métodos:
- list(params: ListParams): Observable
- getOne(id: string): Observable
- save(data: SaveBody): Observable
- saveMany(data: SaveManyBody): Observable
- delete(id: string): Observable
- relationshipTree(params: RelationshipTreeParams): Observable<RelationshipTreeResponse[]>
- parentTree(params: ParentTreeParams): Observable<ParentTreeResponse[]>
- validationBeforeSave(params: ValidationBeforeSaveParams): Observable
Modelos relevantes
ListParams/ListResponse— filtros y respuesta de listado.GetOneResponse— detalle de una referencia.SaveBody/SaveManyBody— payloads para crear referencias.RelationshipTreeResponse/ParentTreeResponse— modelos recursivos para árboles de relación.ConfirmResponse— respuesta estándar de confirmación{ success: boolean; message: string; data?: any }.
Ejemplo rápido de uso
import { Component, OnInit } from '@angular/core';
import { CbmDocumentReferenceRepository } from 'document-reference-repository';
@Component({ template: '' })
export class ExampleComponent implements OnInit {
constructor(private repo: CbmDocumentReferenceRepository) {}
ngOnInit() {
this.repo.list({ collection_origin_name: 'invoices', start_date: 0 }).subscribe(r => console.log(r.data));
}
}Notas y recomendaciones
- La librería está diseñada para que el
baseUrlsea configurable mediante el tokenDOCUMENT_REFERENCE_MODULE_CONFIG. - El servicio utiliza
HttpClientinternamente; para añadir autenticación o manejo global de errores, registra interceptores en tu aplicación. - Usa
HttpClientTestingModuleyHttpTestingControllerpara testear los métodos y comprobar que las URLs y parámetros se formen correctamente.
Contribuciones
- Para mejoras o correcciones, abre un PR con los tests necesarios y la documentación del cambio.
Licencia
- Añade aquí la licencia que aplique a tu proyecto.
