@zola_do/core
v0.1.10
Published
Core shared types, entities, decorators and utilities for NestJS
Downloads
183
Readme
@zola_do/core
Core shared types, entities, decorators, exceptions, and utilities for NestJS applications.
Installation
# Install individually
npm install @zola_do/core
# Or via meta package
npm install @zola_do/nestjs-sharedUsage
Entities
Extend CommonEntity for entities with audit fields (createdAt, updatedAt, deletedAt, etc.):
import { CommonEntity } from '@zola_do/core';
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
@Entity('products')
export class Product extends CommonEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column()
name: string;
}Decorators
Use @IgnoreTenantInterceptor to skip tenant filtering on specific routes:
import { IgnoreTenantInterceptor } from '@zola_do/core';
@Controller('global-data')
export class GlobalDataController {
@Get()
@IgnoreTenantInterceptor()
findAll() {
// Tenant filter will not be applied
}
}API Response Format
Use DataResponseFormat for paginated responses:
import { DataResponseFormat } from '@zola_do/core';
const response = new DataResponseFormat<Product>();
response.items = products;
response.total = totalCount;
return response;CRUD Options
Use EntityCrudOptions when configuring CRUD controllers:
import { EntityCrudOptions } from '@zola_do/core';
const options: EntityCrudOptions = {
createPermission: 'product:create',
viewPermission: 'product:view',
updatePermission: 'product:update',
deletePermission: 'product:delete',
};Exceptions
Use global exception filters:
import { GlobalExceptionFilter } from '@zola_do/core';
app.useGlobalFilters(new GlobalExceptionFilter());Exports
- Entities:
CommonEntity,BaseEntity,Audit,ContactNumber,FileResponse - Decorators:
@CrudOptions,@IgnoreTenantInterceptor - API Data:
ApiPaginatedResponse,DataResponseFormat - Exceptions:
GlobalExceptionFilter,RpcExceptionFilter - Enums:
AccountStatusEnum,PaymentStatusEnum,VendorStatusEnum, and more - Types:
EntityCrudOptions,TCrudOption,NotificationType, and more
Related Packages
- @zola_do/collection-query — Filter, sort, paginate for collections
- @zola_do/crud — Generic CRUD controllers and services
- @zola_do/authorization — JWT auth and guards
