@nodecfdi/adonisjs-sat-catalogs
Librería para facilitar el uso de los catálogos de SAT desde adonisjs.
Primeros pasos
Instalación
Para comenzar a utilizar la libreria lo primero que hay que hacer es instalarla, corre el siguiente comando en tu terminal (debes estar dentro del directorio de tu proyecto):
node ace add @nodecfdi/adonisjs-sat-catalogs
Con esto ya tendremos la libreria instalada y lista para ser usada.
Configuración
Una vez instalada la libreria debemos configurarla, la manera más sencilla es actualizando el
archivo config/database.ts
, agregando la conexión:
// Other importsimport app from '@adonisjs/core/services/app';
// connections: { // Other connections satcatalogs: { client: 'better-sqlite3', connection: { filename: app.makePath('database/satcatalogs.db'), }, }, },//
Si quieres configurar la base de datos para que sea solo de lectura puedes configurar la conexión de la siguiente manera:
// Other importsimport app from '@adonisjs/core/services/app';
// connections: { // Other connections satcatalogs: { client: 'better-sqlite3', connection: { filename: app.makePath('database/satcatalogs.db'), options: { // @ts-expect-error - option not in types but is in better-sqlite3 readonly: true, }, }, }, },//
Una vez configurada la conexión, debemos crear la tabla de la base de datos, para ello corre el siguiente comando:
node ace sat-catalogs:create-update
Este comando creará dos archivos, la base de datos y el archivo de version: satcatalogs.db
y
satcatalogs_version.txt
.
Uso básico
Una vez configurada la conexión y creada la base de datos, se puede utilizar los modelos de cada catalogo, por ejemplo:
import { Cfdi40CodigosPostales, Cfdi40ProductosServicios } from '@nodecfdi/adonisjs-sat-catalogs';
const codigoPostal = await Cfdi40CodigosPostales.query().where('id', '72030').first();const productoServicio = await Cfdi40ProductosServicios.firstOrFail();