Services & Adapters
Service layer
Tre service che incapsulano le chiamate HTTP verso PostgREST/RPC:
| Service | Responsabilità |
|---|---|
FogliPostgrestService | CRUD fogli, versioni, ACL, catalogo |
LockService | RPC acquisisci/rilascia/rinnova lock + lettura stato |
ErpDataService | Fetch dati ERP generico + helper tipizzati (fatture, ordini, DDT, ...) |
Tutti accettano baseUrl (l'URL PostgREST) nel costruttore. Usano fetch nativo, senza dipendenze HTTP esterne.
Adapter
| Componente | Responsabilità |
|---|---|
FortuneSheetAdapter | Unico punto di contatto con @fortune-sheet/core. Espone API celle, undo/redo, snapshot, eventi |
Funzioni ERP-native
| Modulo | Cosa fornisce |
|---|---|
erp-functions | Array erpFunctions di placeholder per =ERP.FATTURATO, =ERP.ORDINI, ecc. da implementare nel consumer |
Pattern d'uso
I service vengono istanziati dai composables. Tipicamente:
import {
usePzetaFogliOptions,
FogliPostgrestService,
LockService,
ErpDataService,
} from '@pzeta/vue-foglidicalcolo'
const { options } = usePzetaFogliOptions()
const fogli = new FogliPostgrestService(options.postgrestUrl)
const lock = new LockService(options.postgrestUrl)
const erp = new ErpDataService(options.postgrestUrl)
Se devi istanziarli fuori dal setup Vue (es. uno script batch), passa l'URL esplicitamente:
const fogli = new FogliPostgrestService('https://api.example.com/rest')
Sotto-pagine
ERP functions (formule)
Placeholder per funzioni formula ERP-native registrabili nel motore Fortune Sheet (=ERP.FATTURATO, =ERP.ORDINI, ...). Da implementare nel consumer.
ErpDataService
Service fetch dati ERP da viste PostgREST. Metodo generico fetchSorgente + helper tipizzati per fatture, ordini, DDT, anagrafica, scadenze, calendario.
FogliPostgrestService
Service PostgREST per CRUD fogli, versioni, ACL, catalogo sorgenti ERP. Gestisce header schema profile e parsing errori PostgREST.
FortuneSheetAdapter
Adapter che incapsula @fortune-sheet/core. Lifecycle initialize/destroy, snapshot I/O, API celle, undo/redo, funzioni ERP-native, eventi.
LockService
Service per lock pessimistico via RPC PostgREST. acquisisciLock, rilasciaLock, rinnovaLock e leggiStatoLock.