@fiado/api-invoker 1.3.89 → 1.3.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/account-fiadoinc/queue/TransactionPublisher.d.ts +9 -0
- package/bin/account-fiadoinc/queue/TransactionPublisher.js +36 -0
- package/bin/account-fiadoinc/queue/interfaces/ITransactionPublisher.d.ts +7 -0
- package/bin/account-fiadoinc/queue/interfaces/ITransactionPublisher.js +2 -0
- package/bin/activity/ActivityApi.d.ts +17 -0
- package/bin/activity/ActivityApi.js +72 -0
- package/bin/activity/index.d.ts +2 -0
- package/bin/activity/index.js +18 -0
- package/bin/activity/interfaces/IActivityApi.d.ts +39 -0
- package/bin/activity/interfaces/IActivityApi.js +2 -0
- package/bin/container.config.js +2 -0
- package/bin/estafeta/EstafetaApi.d.ts +0 -0
- package/bin/estafeta/EstafetaApi.js +0 -0
- package/bin/firebase-connector/FirebaseConnectorApi.d.ts +13 -0
- package/bin/firebase-connector/FirebaseConnectorApi.js +62 -0
- package/bin/firebase-connector/index.d.ts +2 -0
- package/bin/firebase-connector/index.js +18 -0
- package/bin/firebase-connector/interfaces/IFirebaseConnectorApi.d.ts +8 -0
- package/bin/firebase-connector/interfaces/IFirebaseConnectorApi.js +2 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +1 -0
- package/package.json +1 -1
- package/src/container.config.ts +2 -0
- package/src/firebase-connector/FirebaseConnectorApi.ts +53 -0
- package/src/firebase-connector/index.ts +4 -0
- package/src/firebase-connector/interfaces/IFirebaseConnectorApi.ts +7 -0
- package/src/index.ts +2 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ITransactionPublisher } from "./interfaces/ITransactionPublisher";
|
|
2
|
+
import { ProviderDocumentUploadRequest } from "@fiado/type-kit/bin/provider";
|
|
3
|
+
export declare class TransactionPublisher implements ITransactionPublisher {
|
|
4
|
+
private readonly FIADO_INC_KYC_MESSAGE_QUEUE;
|
|
5
|
+
publish(message: {
|
|
6
|
+
externalUserId: string;
|
|
7
|
+
input: ProviderDocumentUploadRequest;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TransactionPublisher = void 0;
|
|
10
|
+
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
11
|
+
const inversify_1 = require("inversify");
|
|
12
|
+
let TransactionPublisher = class TransactionPublisher {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.FIADO_INC_KYC_MESSAGE_QUEUE = process.env.FIADO_INC_KYC_MESSAGE_QUEUE;
|
|
15
|
+
}
|
|
16
|
+
async publish(message) {
|
|
17
|
+
try {
|
|
18
|
+
const client = new client_sqs_1.SQSClient();
|
|
19
|
+
const sendMessageRequest = {
|
|
20
|
+
QueueUrl: this.FIADO_INC_KYC_MESSAGE_QUEUE,
|
|
21
|
+
MessageBody: JSON.stringify(message),
|
|
22
|
+
MessageGroupId: message.externalUserId,
|
|
23
|
+
MessageDeduplicationId: message.externalUserId
|
|
24
|
+
};
|
|
25
|
+
const command = new client_sqs_1.SendMessageCommand(sendMessageRequest);
|
|
26
|
+
await client.send(command);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
throw new Error(`Error publishing message to queue ${': ' + error.message}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.TransactionPublisher = TransactionPublisher;
|
|
34
|
+
exports.TransactionPublisher = TransactionPublisher = __decorate([
|
|
35
|
+
(0, inversify_1.injectable)()
|
|
36
|
+
], TransactionPublisher);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IHttpRequest } from "@fiado/http-client";
|
|
2
|
+
import { IActivityApi } from './interfaces/IActivityApi';
|
|
3
|
+
import { TypeOfDirectoryId } from '@fiado/type-kit/bin/directory';
|
|
4
|
+
export declare class ActivityApi implements IActivityApi {
|
|
5
|
+
private httpRequest;
|
|
6
|
+
private readonly baseUrl;
|
|
7
|
+
constructor(httpRequest: IHttpRequest);
|
|
8
|
+
getActivities(typeOfActivities: string[]): Promise<any>;
|
|
9
|
+
getActivitiesByDirectoryIdAndTypeOfActivity(directoryId: string, typeOfActivities: string[]): Promise<any>;
|
|
10
|
+
postActivity(params: {
|
|
11
|
+
directoryId: string;
|
|
12
|
+
typeOfDirectoryId: TypeOfDirectoryId;
|
|
13
|
+
typeOfActivity: string;
|
|
14
|
+
amount: string;
|
|
15
|
+
date: string;
|
|
16
|
+
}): Promise<any>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ActivityApi = void 0;
|
|
19
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
20
|
+
const inversify_1 = require("inversify");
|
|
21
|
+
dotenv_1.default.config();
|
|
22
|
+
let ActivityApi = class ActivityApi {
|
|
23
|
+
constructor(httpRequest) {
|
|
24
|
+
this.httpRequest = httpRequest;
|
|
25
|
+
this.baseUrl = process.env.ACTIVITY_LAMBDA_URL || "";
|
|
26
|
+
}
|
|
27
|
+
async getActivities(typeOfActivities) {
|
|
28
|
+
let url = `${this.baseUrl}activities`;
|
|
29
|
+
if (typeOfActivities.length > 0) {
|
|
30
|
+
url = `${this.baseUrl}activities?${typeOfActivities.map(id => `typeOfActivities=${encodeURIComponent(id)}`).join('&')}`;
|
|
31
|
+
}
|
|
32
|
+
const operationName = "getActivities";
|
|
33
|
+
return await this.httpRequest.post(`${url}`, null, { 'operationName': operationName });
|
|
34
|
+
}
|
|
35
|
+
async getActivitiesByDirectoryIdAndTypeOfActivity(directoryId, typeOfActivities) {
|
|
36
|
+
if (directoryId == null || directoryId == undefined || directoryId == "") {
|
|
37
|
+
throw new Error("At least directory ID is required.");
|
|
38
|
+
}
|
|
39
|
+
let url = `${this.baseUrl}activities/directory/${directoryId}`;
|
|
40
|
+
if (typeOfActivities.length > 0) {
|
|
41
|
+
url = `${this.baseUrl}activities/directory/${directoryId}?${typeOfActivities.map(id => `typeOfActivities=${encodeURIComponent(id)}`).join('&')}`;
|
|
42
|
+
}
|
|
43
|
+
const operationName = "getActivitiesByDirectoryIdAndTypeOfActivity";
|
|
44
|
+
return await this.httpRequest.post(`${url}`, null, { 'operationName': operationName });
|
|
45
|
+
}
|
|
46
|
+
async postActivity(params) {
|
|
47
|
+
if (params.directoryId == null || params.directoryId == undefined || params.directoryId == "") {
|
|
48
|
+
throw new Error("At least directory ID is required.");
|
|
49
|
+
}
|
|
50
|
+
if (params.typeOfDirectoryId == null || params.typeOfDirectoryId == undefined) {
|
|
51
|
+
throw new Error("At least typeOfDirectoryId is required.");
|
|
52
|
+
}
|
|
53
|
+
if (params.typeOfActivity == null || params.typeOfActivity == undefined || params.typeOfActivity == "") {
|
|
54
|
+
throw new Error("At least typeOfActivity is required.");
|
|
55
|
+
}
|
|
56
|
+
if (params.amount == null || params.amount == undefined || params.amount == "") {
|
|
57
|
+
throw new Error("At least amount is required.");
|
|
58
|
+
}
|
|
59
|
+
if (params.date == null || params.date == undefined || params.date == "") {
|
|
60
|
+
throw new Error("At least date is required.");
|
|
61
|
+
}
|
|
62
|
+
const url = `${this.baseUrl}/activities/create`;
|
|
63
|
+
const operationName = "postActivity";
|
|
64
|
+
return await this.httpRequest.post(`${url}`, params, { 'operationName': operationName });
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
exports.ActivityApi = ActivityApi;
|
|
68
|
+
exports.ActivityApi = ActivityApi = __decorate([
|
|
69
|
+
(0, inversify_1.injectable)(),
|
|
70
|
+
__param(0, (0, inversify_1.inject)("IHttpRequest")),
|
|
71
|
+
__metadata("design:paramtypes", [Object])
|
|
72
|
+
], ActivityApi);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./interfaces/IActivityApi"), exports);
|
|
18
|
+
__exportStar(require("./ActivityApi"), exports);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TypeOfDirectoryId } from "@fiado/type-kit/bin/directory";
|
|
2
|
+
/**
|
|
3
|
+
* Interfaz para el servicio Directory que permite operaciones sobre directorios.
|
|
4
|
+
*/
|
|
5
|
+
export interface IActivityApi {
|
|
6
|
+
/**
|
|
7
|
+
* Obtiene una lista de entidades de la tabla ActivityDirectory.
|
|
8
|
+
* @param directoryId Directorio que se va a consultar.
|
|
9
|
+
* @param typeOfActivities Array de tipos de actividades (Opcional).
|
|
10
|
+
* @returns Retorna un arreglo de objetos de ActivityDirectory.
|
|
11
|
+
* @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
|
|
12
|
+
*/
|
|
13
|
+
getActivitiesByDirectoryIdAndTypeOfActivity(directoryId: string, typeOfActivities: string[]): Promise<any>;
|
|
14
|
+
/**
|
|
15
|
+
* Obtener actividades globales.
|
|
16
|
+
* @param typeOfActivity Tipo de actividad
|
|
17
|
+
* Puede devolver un arreglo vacío si no se encuentran coincidencias.
|
|
18
|
+
* @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
|
|
19
|
+
*/
|
|
20
|
+
getActivities(typeOfActivities: string[]): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* Proceso para agregar a las actividades.
|
|
23
|
+
* @param directoryId Directorio
|
|
24
|
+
* @param typeOfDirectoryId Tipo de directorio
|
|
25
|
+
* @param typeOfActivity Tipo de actividad
|
|
26
|
+
* @param amount Monto de la actividad
|
|
27
|
+
* @param date Fecha de la actividad
|
|
28
|
+
* @returns Retorna un objeto de ActivityDirectory.
|
|
29
|
+
* Puede devolver un arreglo vacío si no se encuentran coincidencias.
|
|
30
|
+
* @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
|
|
31
|
+
*/
|
|
32
|
+
postActivity(params: {
|
|
33
|
+
directoryId: string;
|
|
34
|
+
typeOfDirectoryId: TypeOfDirectoryId;
|
|
35
|
+
typeOfActivity: string;
|
|
36
|
+
amount: string;
|
|
37
|
+
date: string;
|
|
38
|
+
}): Promise<any>;
|
|
39
|
+
}
|
package/bin/container.config.js
CHANGED
|
@@ -60,6 +60,7 @@ const order_collector_business_1 = require("./order-collector-business");
|
|
|
60
60
|
const EstafetaApi_1 = __importDefault(require("./estafeta/api/EstafetaApi"));
|
|
61
61
|
const appselectondata_1 = require("./appselectondata");
|
|
62
62
|
const directorySetting_1 = require("./directorySetting");
|
|
63
|
+
const firebase_connector_1 = require("./firebase-connector");
|
|
63
64
|
exports.apiInvokerBindings = new inversify_1.ContainerModule((bind) => {
|
|
64
65
|
// UTILS bindings
|
|
65
66
|
bind("InvokerUtils").to(InvokerUtils_1.InvokerUtils);
|
|
@@ -118,4 +119,5 @@ exports.apiInvokerBindings = new inversify_1.ContainerModule((bind) => {
|
|
|
118
119
|
bind("IEstafetaApi").to(EstafetaApi_1.default);
|
|
119
120
|
bind("IAppSelectionDataApi").to(appselectondata_1.AppSelectionDataApi);
|
|
120
121
|
bind("IDirectorySettingApi").to(directorySetting_1.DirectorySettingApi);
|
|
122
|
+
bind("IFirebaseConnectorApi").to(firebase_connector_1.FirebaseConnectorApi);
|
|
121
123
|
});
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IFirebaseConnectorApi } from "./interfaces/IFirebaseConnectorApi";
|
|
2
|
+
import FiadoApiResponse from "@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse";
|
|
3
|
+
import { IHttpRequest } from "@fiado/http-client";
|
|
4
|
+
export declare class FirebaseConnectorApi implements IFirebaseConnectorApi {
|
|
5
|
+
private readonly httpRequest;
|
|
6
|
+
constructor(httpRequest: IHttpRequest);
|
|
7
|
+
private readonly baseUrl;
|
|
8
|
+
sendMulticastMessage(message: any): Promise<FiadoApiResponse<any>>;
|
|
9
|
+
sendGroupMessage(message: any): Promise<FiadoApiResponse<any>>;
|
|
10
|
+
getRemoteConfig(): Promise<FiadoApiResponse<{
|
|
11
|
+
[key: string]: string;
|
|
12
|
+
}>>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FirebaseConnectorApi = void 0;
|
|
16
|
+
const inversify_1 = require("inversify");
|
|
17
|
+
const logger_1 = require("@fiado/logger");
|
|
18
|
+
let FirebaseConnectorApi = class FirebaseConnectorApi {
|
|
19
|
+
constructor(httpRequest) {
|
|
20
|
+
this.httpRequest = httpRequest;
|
|
21
|
+
this.baseUrl = process.env.FIREBASE_CONNECTOR_URL || "";
|
|
22
|
+
}
|
|
23
|
+
async sendMulticastMessage(message) {
|
|
24
|
+
try {
|
|
25
|
+
const url = `${this.baseUrl}messages/multicast/send`;
|
|
26
|
+
logger_1.log.info(`Sending multicast message to url: ${url}`);
|
|
27
|
+
return await this.httpRequest.post(url, message);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
logger_1.log.error('Error sending multicast message from adapter', error);
|
|
31
|
+
throw new Error('Error sending multicast message from adapter');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async sendGroupMessage(message) {
|
|
35
|
+
try {
|
|
36
|
+
const url = `${this.baseUrl}messages/group/send`;
|
|
37
|
+
logger_1.log.info(`Sending group message to url: ${url}`);
|
|
38
|
+
return await this.httpRequest.post(url, message);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
logger_1.log.error('Error sending group message from adapter', error);
|
|
42
|
+
throw new Error('Error sending group message from adapter');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async getRemoteConfig() {
|
|
46
|
+
try {
|
|
47
|
+
const url = `${this.baseUrl}remoteconfig`;
|
|
48
|
+
logger_1.log.info(`Getting remote config from url: ${url}`);
|
|
49
|
+
return await this.httpRequest.get(url);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
logger_1.log.error('Error getting remote config from adapter', error);
|
|
53
|
+
throw new Error('Error getting remote config from adapter');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.FirebaseConnectorApi = FirebaseConnectorApi;
|
|
58
|
+
exports.FirebaseConnectorApi = FirebaseConnectorApi = __decorate([
|
|
59
|
+
(0, inversify_1.injectable)(),
|
|
60
|
+
__param(0, (0, inversify_1.inject)("IHttpRequest")),
|
|
61
|
+
__metadata("design:paramtypes", [Object])
|
|
62
|
+
], FirebaseConnectorApi);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./interfaces/IFirebaseConnectorApi"), exports);
|
|
18
|
+
__exportStar(require("./FirebaseConnectorApi"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import FiadoApiResponse from "@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse";
|
|
2
|
+
export interface IFirebaseConnectorApi {
|
|
3
|
+
sendMulticastMessage(message: any): Promise<FiadoApiResponse<any>>;
|
|
4
|
+
sendGroupMessage(message: any): Promise<FiadoApiResponse<any>>;
|
|
5
|
+
getRemoteConfig(): Promise<FiadoApiResponse<{
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
}>>;
|
|
8
|
+
}
|
package/bin/index.d.ts
CHANGED
package/bin/index.js
CHANGED
|
@@ -63,3 +63,4 @@ __exportStar(require("./order-collector-business"), exports);
|
|
|
63
63
|
__exportStar(require("./estafeta"), exports);
|
|
64
64
|
__exportStar(require("./appselectondata"), exports);
|
|
65
65
|
__exportStar(require("./directorySetting"), exports);
|
|
66
|
+
__exportStar(require("./firebase-connector"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.90",
|
|
4
4
|
"description": "Sirve como un puente entre diferentes funciones lambda, facilitando la comunicación entre ellas a través de invocaciones http",
|
|
5
5
|
"main": "bin/index.js",
|
|
6
6
|
"types": "bin/index.d.ts",
|
package/src/container.config.ts
CHANGED
|
@@ -76,6 +76,7 @@ import { IEstafetaApi } from "./estafeta";
|
|
|
76
76
|
import EstafetaApi from "./estafeta/api/EstafetaApi";
|
|
77
77
|
import { AppSelectionDataApi, IAppSelectionDataApi } from "./appselectondata";
|
|
78
78
|
import { DirectorySettingApi, IDirectorySettingApi } from "./directorySetting";
|
|
79
|
+
import { FirebaseConnectorApi, IFirebaseConnectorApi } from "./firebase-connector";
|
|
79
80
|
|
|
80
81
|
export const apiInvokerBindings = new ContainerModule((bind: interfaces.Bind) => {
|
|
81
82
|
// UTILS bindings
|
|
@@ -136,4 +137,5 @@ export const apiInvokerBindings = new ContainerModule((bind: interfaces.Bind) =>
|
|
|
136
137
|
bind<IEstafetaApi>("IEstafetaApi").to(EstafetaApi);
|
|
137
138
|
bind<IAppSelectionDataApi>("IAppSelectionDataApi").to(AppSelectionDataApi);
|
|
138
139
|
bind<IDirectorySettingApi>("IDirectorySettingApi").to(DirectorySettingApi);
|
|
140
|
+
bind<IFirebaseConnectorApi>("IFirebaseConnectorApi").to(FirebaseConnectorApi);
|
|
139
141
|
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
import { inject, injectable } from "inversify";
|
|
3
|
+
import { IFirebaseConnectorApi } from "./interfaces/IFirebaseConnectorApi";
|
|
4
|
+
import FiadoApiResponse from "@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse";
|
|
5
|
+
import { IHttpRequest } from "@fiado/http-client";
|
|
6
|
+
import { log } from "@fiado/logger";
|
|
7
|
+
@injectable()
|
|
8
|
+
export class FirebaseConnectorApi implements IFirebaseConnectorApi {
|
|
9
|
+
|
|
10
|
+
constructor(
|
|
11
|
+
@inject("IHttpRequest") private readonly httpRequest: IHttpRequest,
|
|
12
|
+
|
|
13
|
+
){}
|
|
14
|
+
|
|
15
|
+
private readonly baseUrl = process.env.FIREBASE_CONNECTOR_URL || "";
|
|
16
|
+
|
|
17
|
+
async sendMulticastMessage(message: any): Promise<FiadoApiResponse<any>> {
|
|
18
|
+
try {
|
|
19
|
+
const url: string = `${this.baseUrl}messages/multicast/send`;
|
|
20
|
+
log.info(`Sending multicast message to url: ${url}`);
|
|
21
|
+
return await this.httpRequest.post(url, message);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
log.error('Error sending multicast message from adapter', error as Error);
|
|
24
|
+
throw new Error('Error sending multicast message from adapter');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async sendGroupMessage(message: any): Promise<FiadoApiResponse<any>> {
|
|
29
|
+
try {
|
|
30
|
+
const url: string = `${this.baseUrl}messages/group/send`;
|
|
31
|
+
log.info(`Sending group message to url: ${url}`);
|
|
32
|
+
return await this.httpRequest.post(url, message);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
log.error('Error sending group message from adapter', error as Error);
|
|
35
|
+
throw new Error('Error sending group message from adapter');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async getRemoteConfig(): Promise<FiadoApiResponse<{ [key: string]: string; }>> {
|
|
39
|
+
try {
|
|
40
|
+
const url: string = `${this.baseUrl}remoteconfig`;
|
|
41
|
+
log.info(`Getting remote config from url: ${url}`);
|
|
42
|
+
return await this.httpRequest.get(url);
|
|
43
|
+
} catch (error) {
|
|
44
|
+
log.error('Error getting remote config from adapter', error as Error);
|
|
45
|
+
throw new Error('Error getting remote config from adapter');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import FiadoApiResponse from "@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse";
|
|
2
|
+
|
|
3
|
+
export interface IFirebaseConnectorApi {
|
|
4
|
+
sendMulticastMessage(message: any): Promise<FiadoApiResponse<any>>;
|
|
5
|
+
sendGroupMessage(message: any): Promise<FiadoApiResponse<any>>;
|
|
6
|
+
getRemoteConfig(): Promise<FiadoApiResponse<{ [key: string]: string }>>;
|
|
7
|
+
}
|