5.0.6 • Published 8 months ago

@ikonintegration/ikapi v5.0.6

Weekly downloads
378
License
ISC
Repository
-
Last release
8 months ago

IKApi Node.js Package

Ikon nodejs API foundation

Docs

Overall

  • npm npm npm (tag) Libraries.io dependency status for latest release, scoped npm package
  • GitHub commit activity
  • GitHub last commit

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!')
    })
  })
}
5.0.6

8 months ago

5.0.5

8 months ago

5.0.4

8 months ago

5.0.3

9 months ago

5.0.2

9 months ago

5.0.1

9 months ago

5.0.1-alpha.2

9 months ago

5.0.1-alpha.1

9 months ago

4.0.1

9 months ago

5.0.0

9 months ago

5.0.0-alpha1

10 months ago

4.0.0-alpha20

1 year ago

4.0.0-alpha18

1 year ago

4.0.0-alpha19

1 year ago

4.0.0-alpha17

1 year ago

4.0.0-alpha16

1 year ago

4.0.0-alpha15

1 year ago

4.0.0-alpha14

1 year ago

3.2.9-beta

2 years ago

4.0.0-alpha12

2 years ago

4.0.0-alpha13

2 years ago

4.0.0-alpha10

2 years ago

4.0.0-alpha11

2 years ago

4.0.0-alpha4

2 years ago

4.0.0-alpha3

2 years ago

4.0.0-alpha2

2 years ago

4.0.0-alpha8

2 years ago

4.0.0-alpha7

2 years ago

4.0.0-alpha6

2 years ago

4.0.0-alpha5

2 years ago

4.0.0-alpha9

2 years ago

4.0.0-alpha

2 years ago

3.2.2

2 years ago

3.2.0

2 years ago

3.2.6

2 years ago

3.2.5

2 years ago

3.2.4

2 years ago

3.2.3

2 years ago

3.2.8

2 years ago

3.2.7

2 years ago

3.1.34

3 years ago

3.1.33

3 years ago

3.1.36

3 years ago

3.1.35

3 years ago

3.1.38

3 years ago

3.1.37

3 years ago

3.1.32

3 years ago

3.1.30

3 years ago

3.1.31

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.1.7

3 years ago

3.1.6

3 years ago

3.1.5

3 years ago

3.1.4

3 years ago

3.1.9

3 years ago

3.1.8

3 years ago

3.0.9

3 years ago

3.0.12

3 years ago

3.0.10

3 years ago

3.0.11

3 years ago

3.0.16

3 years ago

3.0.17

3 years ago

3.0.14

3 years ago

3.0.15

3 years ago

3.1.12

3 years ago

3.1.11

3 years ago

3.1.14

3 years ago

3.1.13

3 years ago

3.1.16

3 years ago

3.1.15

3 years ago

3.1.18

3 years ago

3.1.17

3 years ago

3.1.10

3 years ago

3.1.23

3 years ago

3.1.25

3 years ago

3.1.24

3 years ago

3.1.27

3 years ago

3.1.26

3 years ago

3.1.29

3 years ago

3.1.28

3 years ago

3.1.21

3 years ago

3.1.20

3 years ago

3.1.19

3 years ago

3.0.20

3 years ago

3.0.18

3 years ago

3.0.19

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.8

3 years ago

3.0.7

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

2.6.5-beta

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.6.5-beta2

3 years ago

2.6.5-beta3

3 years ago

2.6.10

3 years ago

3.0.0-alpha4

3 years ago

3.0.0-alpha1

3 years ago

3.0.0-alpha3

3 years ago

3.0.0-alpha2

3 years ago

2.6.3

3 years ago

2.6.4

3 years ago

2.6.7

3 years ago

2.6.6

3 years ago

2.6.9

3 years ago

2.6.8

3 years ago

2.6.2-alpha

3 years ago

2.6.2-alpha3

3 years ago

2.6.2-alpha2

3 years ago

2.6.1

3 years ago

2.6.2

3 years ago

2.6.0-beta2

4 years ago

2.6.0-beta1

4 years ago

2.6.0-beta

4 years ago

2.5.6

4 years ago

2.5.5

4 years ago

2.5.7

4 years ago

2.4.13

4 years ago

2.5.0

4 years ago

2.5.2

4 years ago

2.5.1

4 years ago

2.5.4

4 years ago

2.5.3

4 years ago

2.4.12

4 years ago

2.4.11

4 years ago

2.4.10

4 years ago

2.4.9

4 years ago

2.4.8

4 years ago

2.4.5

4 years ago

2.4.7

4 years ago

2.4.6

4 years ago

2.4.1

4 years ago

2.4.3

4 years ago

2.4.2

4 years ago

2.4.4

4 years ago

2.4.0-beta7

4 years ago

2.4.0-beta8

4 years ago

2.4.0-beta9

4 years ago

2.4.0-beta4

4 years ago

2.4.0-beta5

4 years ago

2.4.0-beta6

4 years ago

2.4.0-beta3

4 years ago

2.4.0-beta

4 years ago

2.4.0-alpha

4 years ago

2.4.0-beta2

4 years ago

2.3.2

4 years ago

2.3.0

4 years ago

2.3.1

4 years ago

2.2.9

4 years ago

2.2.8

4 years ago

2.2.7

4 years ago

2.2.5

4 years ago

2.2.4

4 years ago

2.2.1

4 years ago

2.2.3

4 years ago

2.1.9

4 years ago

2.2.0

4 years ago

2.1.8

4 years ago

2.1.4

4 years ago

2.1.3

4 years ago

2.1.6

4 years ago

2.1.5

4 years ago

2.1.7

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.0.9

4 years ago

2.1.0

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

2.0.0-beta7

5 years ago

2.0.0-beta6

5 years ago

2.0.0-beta5

5 years ago

2.0.0-beta4

5 years ago

2.0.0-beta3

5 years ago

2.0.0-beta1

5 years ago

2.0.0-beta2

5 years ago

2.0.0-alpha11

5 years ago

2.0.0-alpha10

5 years ago

2.0.0-alpha9

5 years ago

2.0.0-alpha8

5 years ago

2.0.0-alpha7

5 years ago

2.0.0-alpha6

5 years ago

2.0.0-alpha5

5 years ago

2.0.0-alpha4

5 years ago

2.0.0-alpha3

5 years ago

2.0.0-alpha2

5 years ago

2.0.0-alpha

5 years ago

1.5.5

5 years ago

1.5.6

5 years ago

1.5.4

5 years ago

1.5.3

5 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

5 years ago

1.4.4

5 years ago

1.4.3

5 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.7

5 years ago

1.3.6

5 years ago

1.3.5

5 years ago

1.3.4

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.3

5 years ago

1.0.0

5 years ago

0.9.8

5 years ago

0.9.9

5 years ago

0.9.7

5 years ago

0.9.6

5 years ago

0.9.5

5 years ago

0.9.4

5 years ago

0.9.3

5 years ago

0.9.0

5 years ago

0.9.2

5 years ago

0.9.1

5 years ago

0.8.4

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.8.1

5 years ago

0.8.0

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.9

5 years ago

0.6.7

5 years ago

0.6.8

5 years ago

0.6.6

5 years ago

0.6.5

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.7

6 years ago

0.5.6

6 years ago

0.5.5

6 years ago

0.5.4

6 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.9

6 years ago

0.4.8

6 years ago

0.4.7

6 years ago

0.4.6

6 years ago

0.4.5

6 years ago

0.4.4

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.9

6 years ago

0.3.8

6 years ago

0.3.7

6 years ago

0.3.6

6 years ago

0.3.5

6 years ago

0.3.4

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.9

6 years ago

0.1.8

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago