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

ApplicationControllersServicesRepositories

Request handling, business logic, and data access
2

Data Layer

ModelsDataSourcesFilteringRelations

Entities, database connections, and query building
3

Adding Features

AuthReal-timeEmailAPI Docs

Pre-built components for common features
4

Infrastructure

LoggingCachingQueuesScheduling

Background jobs, caching, and observability
5

Advanced Patterns

Dependency InjectionCustom ProvidersMiddlewaresComponents

Advanced architecture patterns and customization
6

Production Ready

Error HandlingHealth ChecksConfigurationAuto-Discovery

Production deployment, monitoring, and reliability
7

Testing & Quality

Unit TestingMocking & StubsBest 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 BaseController {
  @get({ configs: { path: '/:id' } })
  getUser(c: Context) {
    return c.json({ id: c.req.param('id') });
  }
}

Query with Repository:

typescript
const users = await userRepo.find({
  where: { isActive: true },
  orderBy: { createdAt: 'desc' },
  limit: 10,
});

Schedule a Job:

typescript
CronHelper.schedule('0 * * * *', async () => {
  await cleanupExpiredSessions();
});

Common Imports

typescript
// Core framework
import {
  BaseApplication,
  BaseController,
  BaseService,
  BaseRepository,
  controller,
  get, post, put, del,
  inject,
} from '@venizia/ignis';

// Helpers
import {
  LoggerFactory,
  RedisHelper,
  QueueHelper,
} from '@venizia/ignis-helpers';

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

See Also