# Decorator System Reference {#decorator-system-reference}


Custom TypeScript decorators used throughout the Ever Gauzy codebase.


## Controller Decorators {#controller-decorators}


| Decorator              | Target | Description                  |
| ---------------------- | ------ | ---------------------------- |
| `@Public()`            | Method | Skip JWT authentication      |
| `@Permissions(...)`    | Method | Require specific permissions |
| `@Roles(...)`          | Method | Require specific roles       |
| `@Feature(...)`        | Method | Require feature flag enabled |
| `@Timeout(ms)`         | Method | Set request timeout          |
| `@UseValidationPipe()` | Method | Apply class-validator pipe   |


## Entity Decorators {#entity-decorators}



### Multi-ORM Entity {#multi-orm-entity}


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

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

  @MultiORMOneToMany(() => Item, (item) => item.parent)
  items?: Item[];
}
```

| Decorator                  | Description                  |
| -------------------------- | ---------------------------- |
| `@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 {#activity-log-decorators}


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


## Caching Decorators {#caching-decorators}


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


## Swagger Decorators {#swagger-decorators}


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


## Related Pages {#related-pages}


- [Guard & Interceptor Chain](https://sourcey-gauzy.pages.dev/architecture/guard-interceptor-chain/index.md) — guards
- [Multi-ORM Deep Dive](https://sourcey-gauzy.pages.dev/advanced/multi-orm-deep-dive/index.md) — ORM decorators
- [Plugin API Reference](https://sourcey-gauzy.pages.dev/plugins-built-in/plugin-api-reference/index.md) — plugin decorators
