Skip to main content
Version: 0.1.2 (Latest)

MangoJS

Namespaces

Enumerations

Methods

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:6

HTTP VERB ENUM

Enumeration Members

DELETE
DELETE: "delete";

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:10

GET
GET: "get";

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:7

POST
POST: "post";

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:8

PUT
PUT: "put";

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:9

Classes

abstract BaseRepository

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:12

Abstract base repository implementing basic CRUD operations.

Deprecated

This class will be removed in a future version. Use TypeORM repositories directly instead.

Type Parameters

T

T

Implements

  • IRead<T>
  • IWrite<T>

Constructors

Constructor
new BaseRepository<T>(): BaseRepository<T>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:15

Returns

BaseRepository<T>

Properties

_collection
readonly _collection: any;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:13

Methods

count()
count(): Promise<Number>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:34

Returns

Promise<Number>

create()
create(item): Promise<boolean>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:25

Parameters
item

T

Returns

Promise<boolean>

Implementation of
IWrite.create
delete()
delete(id): Promise<boolean>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:31

Parameters
id

string

Returns

Promise<boolean>

Implementation of
IWrite.delete
find()
find(item): Promise<T[]>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:19

Parameters
item

T

Returns

Promise<T[]>

Implementation of
IRead.find
findOne()
findOne(id): Promise<T>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:22

Parameters
id

string

Returns

Promise<T>

Implementation of
IRead.findOne
update()
update(id, item): Promise<boolean>;

Defined in: packages/core/src/core/databases/interfaces/BaseRepository.ts:28

Parameters
id

string

item

T

Returns

Promise<boolean>

Implementation of
IWrite.update

PersistenceContext2

Defined in: packages/core/src/core/persistence/PersistenceContext.ts:13

Generic MongoDB persistence context.

Deprecated

Use MongoosePersistenceContext instead.

Implements

Constructors

Constructor
new PersistenceContext2(entityManager): PersistenceContext2;

Defined in: packages/core/src/core/persistence/PersistenceContext.ts:16

Parameters
entityManager

IDatabaseManagerFactory

Returns

PersistenceContext2

Methods

inTransaction()
inTransaction<R>(context): Promise<R>;

Defined in: packages/core/src/core/persistence/PersistenceContext.ts:30

Execute operations within a transaction context.

Type Parameters
R

R

The return type of the transaction

Parameters
context

Context<Connection, R>

Function receiving the mongoose Connection

Returns

Promise<R>

Result of the transaction

Implementation of

IPersistenceContext.inTransaction

Interfaces

IRouter

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:16

Router interface

Properties

handlerName
handlerName: string | symbol;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:19

method
method: Methods;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:17

path
path: string;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:18


Request

Defined in: packages/core/src/core/types/api/index.ts:91

Generic API request extending Express Request.

Example

// Request with path param 'id', body with 'name', and query param 'filter'
type MyRequest = Request<{ id: string }, { name: string }, { filter: string }>;

Extends

  • Job<P, any, B, Q>

Extended by

Type Parameters

P

P = any

URL path parameters (e.g., { id: string } for route /users/:id)

B

B = any

Request body type (e.g., { name: string } for POST/PUT payloads)

Q

Q = any

Query string parameters (e.g., { page: number } for /api/users?page=1)

Properties

requestTime?
optional requestTime: string;

Defined in: packages/core/src/core/types/api/index.ts:94

Request timestamp set by middleware

user?
optional user: MiddlewareUserInfo;

Defined in: packages/core/src/core/types/api/index.ts:96

Authenticated user info set by auth middleware


Response

Defined in: packages/core/src/core/types/api/index.ts:107

Generic API response extending Express Response.

Example

type MyResponse = Response<SuccessResponse<{ users: User[] }>>;

Extends

Type Parameters

R

R = unknown

Response body type that will be sent to the client

Variables

Delete()

const Delete: (path) => MethodDecorator;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:58

Parameters

path

string

Returns

MethodDecorator


Get()

const Get: (path) => MethodDecorator;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:52

Parameters

path

string

Returns

MethodDecorator


INVERSITY_TYPES

const INVERSITY_TYPES: object;

Defined in: packages/core/src/core/types/inversifyTypes.ts:1

Type Declaration

ApplicationPreCheck
ApplicationPreCheck: symbol;
AuthorizationContext
AuthorizationContext: symbol;
Deprecated

Use AuthStrategyRegistry instead

AuthStrategyRegistry
AuthStrategyRegistry: symbol;

Registry that collects all auth strategies via

Multi Inject
DatabaseManagerFactory
DatabaseManagerFactory: symbol;
EmailServiceFactory
EmailServiceFactory: symbol;
LoggerFactory
LoggerFactory: symbol;
PersistenceContext
PersistenceContext: symbol;
QueueClient
QueueClient: symbol;
QueueManager
QueueManager: symbol;
ScheduleRegistry
ScheduleRegistry: symbol;
SetUpDatabaseAction
SetUpDatabaseAction: symbol;

Deprecated

Use Container.INVERSITY_TYPES or import from types directly.


Post()

const Post: (path) => MethodDecorator;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:54

Parameters

path

string

Returns

MethodDecorator


Put()

const Put: (path) => MethodDecorator;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:56

Parameters

path

string

Returns

MethodDecorator


Use()

const Use: (handler) => MethodDecorator;

Defined in: packages/core/src/core/decorators/http/handlers.decorator.ts:82

Parameters

handler

Function

Returns

MethodDecorator

Functions

Controller()

function Controller(basePath): ClassDecorator;

Defined in: packages/core/src/core/decorators/http/controller.decorator.ts:8

Define the base API address

Parameters

basePath

string

string

Returns

ClassDecorator


Middleware()

function Middleware(middleware): MethodDecorator;

Defined in: packages/core/src/core/decorators/http/middleware.decorator.ts:11

Generic Middleware decoratoor

Parameters

middleware

RequestHandler

function in the form (req: Request, res: Response, next: NextFunction) => { next(); })

Returns

MethodDecorator


QueueWorker()

function QueueWorker(queueName, options?): <T>(target) => T;

Defined in: packages/core/src/core/decorators/queue/queueWorker.decorator.ts:24

Parameters

queueName

string

Name of the queue to consume from

options?

WorkerOptions = {}

Worker configuration options

Returns

<T>(target): T;
Type Parameters
T

T extends (...args) => unknown

Parameters
target

T

Returns

T

Queue Worker

decorator Marks a class as a queue worker handler.

Example

@QueueWorker('email-queue', { concurrency: 5 })
export class EmailWorker implements IQueueWorkerHandler {
async process(job: Job<EmailPayload>): Promise<void> {
await sendEmail(job.data)
}
}

Schedule()

function Schedule(cron, options?): ClassDecorator;

Defined in: packages/core/src/core/decorators/scheduler/schedule.decorator.ts:32

Decorator to mark a class as a scheduled task.

Parameters

cron

string

Cron expression (e.g., '0 * * * *' for every hour)

options?

ScheduleOptions

Optional configuration for the scheduled task

Returns

ClassDecorator

Examples

@Schedule('0 * * * *') // Every hour
@injectable()
export class HourlyTask extends ScheduledTask {
async run(): Promise<void> {
// Task logic
}
}
@Schedule('0 0 * * *', { timezone: 'UTC', runOnStart: true })
@injectable()
export class DailyTask extends ScheduledTask {
async run(): Promise<void> {
// Task logic
}
}

References

IPersistenceContext

Re-exports IPersistenceContext