2.5.2 • Published 2 years ago

@pgateway/common-services-api v2.5.2

Weekly downloads
41
License
ISC
Repository
github
Last release
2 years ago

PG Common Services API library

Construct and optionally sign api gateway request using AWS credentials

To install:

npm i @pgateway/common-services-api

Prerequisite:

AWS credentials are required for calculating the signature, in ECS container the credentials are fetched remotely. If running outside of ECS containers(i.e. local), need to configure AWS CLI. If don't want to use AWS signature, set sign = false in options

Configuration:

pgCommonServicesApi.config(options)

*returns a Promise

options

FieldTypeDefaultRemark
endpointstringnullrequired
signbooleantrue
privatebooleanfalse
hoststringnullrequired if private is true
stagestringnullrequired if not using custom domain endpoint
credentialProviderstringnullrequired

credentialProvider can be

  • ecs - Means it has to be a docker container + using the IAM role for ecs tasks or
  • ec2-metadata - Means it is using the IAM role in your instance or
  • credentials- Means it is using your default AWS credentials

Examples:

Regional API with custom domain but without IAM authorization

pgCommonServicesApi.config({
    endpoint: 'https://dev-common-sevices-api-pg.dcube.cf',
    sign: false
});

Regional API with custom domain and IAM authorization

pgCommonServicesApi.config({
    endpoint: 'https://qe-common-sevices-api-pg.dcube.cf',
    sign: true
});

Regional API original url

pgCommonServicesApi.config({
    endpoint: 'https://su6uqpbef3.execute-api.ap-southeast-1.amazonaws.com',
    sign: false,
    stage: "dev"
});

Private API without IAM authorization

pgCommonServicesApi.config({
    endpoint: "https://vpce-07f6aa6800aea2c83-6meep72q.execute-api.ap-southeast-1.vpce.amazonaws.com",
    sign: false,
    private: true,
    stage: "dev2",
    host: "i4390qzy7k.execute-api.ap-southeast-1.amazonaws.com"
});

Private API IAM authorization

pgCommonServicesApi.config({
    endpoint: "https://vpce-07f6aa6800aea2c83-6meep72q.execute-api.ap-southeast-1.vpce.amazonaws.com",
    sign: true,
    private: true,
    stage: "dev2",
    host: "i4390qzy7k.execute-api.ap-southeast-1.amazonaws.com"
});

API supported:

  • pgCommonServicesApi.sendPushNotification(payload)
  • pgCommonServicesApi.sendEmail(payload)
  • pgCommonServicesApi.testApiGwConnection()

*returns a Promise

Examples

node example/example.js
2.5.0

2 years ago

2.4.0

2 years ago

2.5.2

2 years ago

2.5.1

2 years ago

2.3.5

5 years ago

2.3.4

5 years ago

2.3.3

5 years ago