@tc-libs/setting
v3.9.0
Published
Gestione centralizzata delle impostazioni applicative persistite su database.
Readme
@tc-libs/setting
Gestione centralizzata delle impostazioni applicative persistite su database.
Il package espone soprattutto:
SettingModuleBaseSettingService- entity/repository/controller/dto/serializzazioni
Cosa fa BaseSettingService
Estende AbstractService e aggiunge:
getAllPublic()findOneByName(name)updateValue(repository, dto)updateByName(name, value)getValue(setting)checkValue(value, type)getSetting(name, defaultValue)getMaintenance()
Tipi supportati
Le impostazioni sono tipizzate con ENUM_SETTING_DATA_TYPE:
BOOLEANSTRINGARRAY_OF_STRINGARRAY_OF_OBJECTARRAY_OF_IDIDNUMBER
Esempi
const maintenance = await this.baseSettingService.getMaintenance();
const value = await this.baseSettingService.getSetting<number>('otp_ttl', 300);Caching interno
BaseSettingService mantiene una cache in-memory molto semplice per nome setting con TTL di 1 minuto.
Quando usarlo
Usa questo package quando vuoi spostare feature flags e configurazioni editabili dal codice al database, mantenendo comunque conversione di tipo e repository base gia pronti.
Sviluppo
nx build setting
nx test setting