diff --git a/apps/mno/Dockerfile b/apps/mno/Dockerfile index 4e2d10c..dbb35ef 100644 --- a/apps/mno/Dockerfile +++ b/apps/mno/Dockerfile @@ -1,13 +1,14 @@ -FROM node:18-alpine as development +FROM node:18-alpine AS development WORKDIR /app COPY . ./ RUN npm i --legacy-peer-deps +RUN npm i azampay --legacy-peer-deps -FROM development as build +FROM development AS build WORKDIR /app RUN app=mnos npm run package -FROM node:lts-alpine3.16 as release +FROM node:lts-alpine3.16 AS release ENV NODE_ENV production RUN apk add --no-cache tzdata RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone diff --git a/apps/mno/src/modules/azampay/controllers/azam.controller.ts b/apps/mno/src/modules/azampay/controllers/azam.controller.ts index 3db079e..90a4f22 100644 --- a/apps/mno/src/modules/azampay/controllers/azam.controller.ts +++ b/apps/mno/src/modules/azampay/controllers/azam.controller.ts @@ -13,7 +13,7 @@ import { NameLookupResponse, PartnersResponse, TransactionStatusResponse, -} from 'azampay/lib/shared/interfaces/base.interface'; +} from 'azampay'; import { Response } from 'express'; import { AzamService } from '../services/azam.service'; diff --git a/apps/mno/src/modules/azampay/services/azam.service.ts b/apps/mno/src/modules/azampay/services/azam.service.ts index d4a8311..3b23b7f 100644 --- a/apps/mno/src/modules/azampay/services/azam.service.ts +++ b/apps/mno/src/modules/azampay/services/azam.service.ts @@ -19,7 +19,7 @@ import { PostCheckOutInterface, TokenResponse, TransactionStatusResponse, -} from 'azampay/lib/shared/interfaces/base.interface'; +} from 'azampay'; @Injectable() export class AzamService { diff --git a/apps/mno/src/modules/selcom/controllers/selcom.controller.ts b/apps/mno/src/modules/selcom/controllers/selcom.controller.ts index bcc73b9..81552f0 100644 --- a/apps/mno/src/modules/selcom/controllers/selcom.controller.ts +++ b/apps/mno/src/modules/selcom/controllers/selcom.controller.ts @@ -1,9 +1,5 @@ import { Body, Controller, Post, Res } from '@nestjs/common'; -import { - CheckoutResponse, - ErrorResponse, - MnoCheckout, -} from 'azampay/lib/shared/interfaces/base.interface'; +import { CheckoutResponse, ErrorResponse, MnoCheckout } from 'azampay'; import { SelcomService } from '../services/selcom.service'; import { Response } from 'express'; diff --git a/apps/mno/src/modules/selcom/services/selcom.service.ts b/apps/mno/src/modules/selcom/services/selcom.service.ts index 15b0234..8497264 100644 --- a/apps/mno/src/modules/selcom/services/selcom.service.ts +++ b/apps/mno/src/modules/selcom/services/selcom.service.ts @@ -1,10 +1,6 @@ import { APPENV, phoneNumber } from '@flexpay/common'; import { HttpStatus, Injectable } from '@nestjs/common'; -import { - CheckoutResponse, - MnoCheckout, - ErrorResponse, -} from 'azampay/lib/shared/interfaces/base.interface'; +import { CheckoutResponse, MnoCheckout, ErrorResponse } from 'azampay'; import * as crypto from 'crypto'; // Types @@ -65,7 +61,7 @@ export class SelcomService { selcomPush = async ( request: MnoCheckout, ): Promise => { - const { valid, value, withCode } = phoneNumber(request.accountNumber); + const { valid, withCode } = phoneNumber(request.accountNumber); if (!valid) { return { statusCode: HttpStatus.BAD_REQUEST, @@ -82,14 +78,14 @@ export class SelcomService { const url = `${APPENV.SELCOM_APIURL}/checkout/wallet-payment`; const payload: SelcomPayload = { - utilityref: value, + utilityref: APPENV.SELCOM_VENDOR, transid: request.externalId, amount: request.amount, vendor: APPENV.SELCOM_VENDOR, msisdn: withCode, }; - const authorization = Buffer.from(apiKey).toString('hex'); + const authorization = Buffer.from(apiKey, 'ascii').toString('base64'); const timestamp = new Date().toISOString(); const signedFields = Object.keys(payload).join(','); const digest = this.computeSignature( diff --git a/docker-compose.yml b/docker-compose.yml index 3b615f9..0b743ae 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,35 +1,35 @@ -version: '3.4' +# version: '3.4' services: - api: - build: - context: . - dockerfile: ./apps/api/Dockerfile - target: development - command: npm run start:dev api + # api: + # build: + # context: . + # dockerfile: ./apps/api/Dockerfile + # target: development + # command: npm run start:dev api - env_file: - - ./apps/api/.env - volumes: - - .:/app - - /app/node_modules - ports: - - '2000:1000' + # env_file: + # - ./apps/api/.env + # volumes: + # - .:/app + # - /app/node_modules + # ports: + # - '2000:1000' - restart: always + # restart: always - auth: - build: - context: . - dockerfile: ./apps/auth/Dockerfile - target: development - command: npm run start:dev auth + # auth: + # build: + # context: . + # dockerfile: ./apps/auth/Dockerfile + # target: development + # command: npm run start:dev auth - env_file: - - ./.env - volumes: - - .:/app - - /app/node_modules - restart: always + # env_file: + # - ./.env + # volumes: + # - .:/app + # - /app/node_modules + # restart: always mno: build: @@ -44,7 +44,7 @@ services: - /app/node_modules restart: always ports: - - 2001:2000 + - 2001:3001 volumes: postdb-data: diff --git a/libs/common/src/interfaces/mno.interface.ts b/libs/common/src/interfaces/mno.interface.ts index 5a3a7eb..f786ca0 100644 --- a/libs/common/src/interfaces/mno.interface.ts +++ b/libs/common/src/interfaces/mno.interface.ts @@ -6,7 +6,7 @@ import { PostCheckOut, RequestOptions, TransactionStatus, -} from 'azampay/lib/shared/interfaces/base.interface'; +} from 'azampay'; export interface RestCheckout { checkout: MnoCheckout | BankCheckout; diff --git a/package-lock.json b/package-lock.json index 265bee8..5c8773c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@nestjs/typeorm": "^9.0.1", "amqp-connection-manager": "^4.1.10", "amqplib": "^0.10.3", - "azampay": "^0.0.4", + "azampay": "^0.0.5", "bcrypt": "^5.1.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", @@ -3127,9 +3127,9 @@ } }, "node_modules/azampay": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/azampay/-/azampay-0.0.4.tgz", - "integrity": "sha512-gWEV8g/NPzeqIN0lnHDsezDuWOlkhZS9TiUCo8iRgsa6kiua4iQUXnlZZwRz2vSVCiekjjQzbv1ioMcqt/rykA==", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/azampay/-/azampay-0.0.5.tgz", + "integrity": "sha512-9xqwDpXb8jqqCsIufbijvKNzF1uGvxYWBI5SER0IhHfeqwfjtmPmCduor1niCCprIipWsW780h+Bn0IB7r4Z9A==", "engines": { "node": ">=12.0" } @@ -12349,9 +12349,9 @@ } }, "azampay": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/azampay/-/azampay-0.0.4.tgz", - "integrity": "sha512-gWEV8g/NPzeqIN0lnHDsezDuWOlkhZS9TiUCo8iRgsa6kiua4iQUXnlZZwRz2vSVCiekjjQzbv1ioMcqt/rykA==" + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/azampay/-/azampay-0.0.5.tgz", + "integrity": "sha512-9xqwDpXb8jqqCsIufbijvKNzF1uGvxYWBI5SER0IhHfeqwfjtmPmCduor1niCCprIipWsW780h+Bn0IB7r4Z9A==" }, "babel-jest": { "version": "27.5.1", diff --git a/package.json b/package.json index 1454d9c..9a6c987 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@nestjs/typeorm": "^9.0.1", "amqp-connection-manager": "^4.1.10", "amqplib": "^0.10.3", - "azampay": "^0.0.4", + "azampay": "^0.0.5", "bcrypt": "^5.1.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0",