@tc-libs/service
v3.9.0
Published
Base layer per servizi applicativi CRUD costruiti sopra i repository di `@tc-libs/database`.
Readme
@tc-libs/service
Base layer per servizi applicativi CRUD costruiti sopra i repository di @tc-libs/database.
Il package contiene soprattutto:
AbstractService- interfaccia
IService
Cosa offre AbstractService
Fornisce implementazioni riusabili per:
findById,findOne,findAll,findByIdscreate,createMany,saveupdateOne,updateMany,updateById,findOneAndUpdate,upsertOnedelete,deleteMany,deleteManyByIds,deleteByIdexists,count,distinctpaginate- gestione posizioni (
findMaxPosition,fillMissingPosition,moveToPosition) startTransaction
Esempio
@Injectable()
export class PermissionService extends AbstractService<
PermissionEntity,
PermissionDoc
> {
readonly logger = new Logger(PermissionService.name);
constructor(
protected readonly paging: PaginationService,
private readonly permissionRepository: PermissionRepository,
) {
super(permissionRepository, paging);
}
}Quando usarlo
Usa questo package quando vuoi standardizzare i service di dominio su un comportamento comune, evitando di riscrivere sempre il wiring repository + pagination.
Dipendenze attese
AbstractService presuppone:
- un repository che estende
DatabaseMongoRepositoryAbstract PaginationService
Sviluppo
nx build service
nx test service