انتقل إلى المحتوى الرئيسي

Decorator System Reference

Custom TypeScript decorators used throughout the Ever Gauzy codebase.

Controller Decorators

DecoratorTargetDescription
@Public()MethodSkip JWT authentication
@Permissions(...)MethodRequire specific permissions
@Roles(...)MethodRequire specific roles
@Feature(...)MethodRequire feature flag enabled
@Timeout(ms)MethodSet request timeout
@UseValidationPipe()MethodApply class-validator pipe

Entity Decorators

Multi-ORM Entity

@MultiORMEntity("my_entity")
export class MyEntity extends TenantOrganizationBaseEntity {
@MultiORMColumn()
name: string;

@MultiORMManyToOne(() => User, { nullable: true })
user?: User;

@MultiORMOneToMany(() => Item, (item) => item.parent)
items?: Item[];
}
DecoratorDescription
@MultiORMEntity(name)Dual TypeORM/MikroORM entity
@MultiORMColumn(opts)Dual column declaration
@MultiORMManyToOne(...)Many-to-one relation
@MultiORMOneToMany(...)One-to-many relation
@MultiORMManyToMany(...)Many-to-many relation

Activity Log Decorators

@ActivityLog('TASK_UPDATED')
async update(id: string, input: UpdateTaskDTO) {
// Changes are automatically logged
}

Caching Decorators

@CacheKey('employees')
@CacheTTL(300)
async findAll() {
// Result cached for 5 minutes
}

Swagger Decorators

@ApiOperation({ summary: 'Get all employees' })
@ApiResponse({ status: 200, description: 'Success' })
@ApiPaginationParams()