MangoJS
Namespaces
- Applications
- Authentication
- Authorization
- Builders
- Cache
- Clients
- Container
- DatabaseManager
Databases- Decorators
- Errors
- Integrations
- Loggers
Mappers- Middlewares
- Persistence
- Queue
- Scheduler
- Types
- Utils
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
abstract BaseRepositoryDefined 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
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
IPersistenceContext<mongoose.Connection>
Constructors
Constructor
new PersistenceContext2(entityManager): PersistenceContext2;
Defined in: packages/core/src/core/persistence/PersistenceContext.ts:16
Parameters
entityManager
Returns
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
Job<R>
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?
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