Skip to content

API Reference ​

Complete reference documentation for the IGNIS framework. Find detailed API docs, type definitions, and usage examples for every class, component, and utility in the framework.

Find What You Need ​

1

Building an API

Application → Controllers → Services → Repositories

Request handling, business logic, and data access
2

Data Layer

Models → DataSources → Filtering → Relations

Entities, database connections, and query building
3

Adding Features

Auth → Real-time → Email → API Docs

Pre-built components for common features
4

Infrastructure

Logging → Caching → Queues → Scheduling

Background jobs, caching, and observability
5

Advanced Patterns

Dependency Injection → Custom Providers → Middlewares → Components

Advanced architecture patterns and customization
6

Production Ready

Error Handling → Health Checks → Configuration → Auto-Discovery

Production deployment, monitoring, and reliability
7

Testing & Quality

Mocking & Stubs → Best Practices

Testing strategies, quality assurance, and code review

Looking for tutorials?

Check out the Getting Started Guide for step-by-step tutorials and the Core Concepts for architectural explanations.

Quick Examples ​

Define a Controller:

typescript
@controller({ path: '/users' })
class UserController extends BaseRestController {
  @get({
    configs: {
      path: '/{id}',
      request: { params: z.object({ id: z.string() }) },
    },
  })
  getUser(context: TRouteContext) {
    const { id } = context.req.valid<{ id: string }>('param');
    return context.json({ id }, HTTP.ResultCodes.RS_2.Ok);
  }
}

Query with Repository:

typescript
const users = await userRepository.find({
  filter: {
    where: { isActive: true },
    order: ['createdAt DESC'],
    limit: 10,
  },
});

Schedule a Job:

typescript
CronHelper.newInstance({
  cronTime: '0 * * * *',
  onTick: async () => {
    await cleanupExpiredSessions();
  },
}).start();

Common Imports ​

typescript
// Core framework
import {
  BaseApplication,
  BaseRestController,
  BaseGrpcController,
  BaseService,
  DefaultCRUDRepository,
  controller,
  get, post, put, del,
  rpc, unary, serverStream,
  inject,
} from '@venizia/ignis';

// Helpers
import {
  LoggerFactory,
  RedisSingleHelper,
  SequentialQueueHelper,
} from '@venizia/ignis-helpers';

// DI Container
import { Container } from '@venizia/ignis-inversion';

See Also ​