@ikonintegration/ikapi v5.0.9
IKApi 
Ikon nodejs API foundation
Overall
Samples
- Router
import { Router } from '@ikonintegration/ikapi';
import HealthCheck from './routes/health/get';
const routes = [
  { route: '/health', method: 'GET', handler: HealthCheck.handler },
  // Additional routes can be added here
];
export const router = new Router({
  routes,
  healthCheckRoute: '/otherHealth',
  logger: {
    logLevel: 'DEBUG', // or process.env.LOG_LEVEL
    sensitiveFilteringKeywords: ['password', 'secret'],
  },
});
// Handler export
export const handler = router.getExport();- Route
import { Response, Route, HttpMethod } from '@ikonintegration/ikapi';
interface GetHealthRoute extends Route<null, { message: string }> {}
export default class HealthCheck implements GetHealthRoute {
  public path: string = '/health';
  public method: HttpMethod = HttpMethod.GET;
  public openApi = {
    summary: 'System health check',
    description: 'Returns if the system is healthy or not',
    tags: ['Health'],
    security: [],
  };
  public handler: GetHealthRoute['handler'] = async () => {
    return new Response({ message: 'System is healthy' });
  };
}- Transaction
import { Response, ResponseErrorType, Transaction } from '@ikonintegration/ikapi'
import type { Context, SQSEvent } from 'aws-lambda'
import Core from '../core/Core.js'
import Globals, { AccessLevel } from '../core/Globals.js'
export type SuccessResponseType = { message: string }
//Main handler
export const handler = async (event: SQSEvent, context: Context): Promise<void> => {
  await new Transaction<null, SuccessResponseType | ResponseErrorType>(
    event,
    context,
    Globals.API_Config
  ).execute(async transaction => {
    const type = event['eventType']
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    return await new Core(transaction, AccessLevel.PUBLIC).authenticate(async core => {
      // Schedule
      if (type == 'SCHEDULE_1') {
        /* Schedule more message to SQS?*/
        return Response.SuccessResponse({ message: '213' })
      }
      return Response.BadRequestResponse('No handler for the specified event type!')
    })
  })
}- Event Processor (SQS)
import { EventProcessor, Response } from '@ikonintegration/ikapi'
import type { Context, SQSEvent } from 'aws-lambda'
import Core from '../core/Core.js'
import Globals, { AccessLevel } from '../core/Globals.js'
export type SuccessResponseType = { message: string }
//Main handler
export const handler = async (event: SQSEvent, context: Context): Promise<void> => {
  await new EventProcessor<SuccessResponseType | null>(
    event,
    context,
    Globals.API_Config
  ).processEvent(async (transaction, recordContent) => {
    const type = event['eventType'] || recordContent?.['eventType']
    return await new Core(transaction, AccessLevel.PUBLIC).authenticate(async core => {
      // Schedule
      if (type == Globals.EmailEventType.TEMPLATE_EMAIL)
        return await templateEmailNotification(recordContent, core)
      return Response.BadRequestResponse('No handler for the specified event type!')
    })
  })
}6 months ago
6 months ago
6 months ago
6 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago