Skip to content

Commit

Permalink
feat: add logs for flyover calls getQuote and getLiquidityProviders
Browse files Browse the repository at this point in the history
  • Loading branch information
annipi authored and alexjavabraz committed Sep 25, 2024
1 parent 04f57b5 commit 67412bc
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 2 deletions.
2 changes: 2 additions & 0 deletions src/controllers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ export * from './health-check.controller';
export * from './tx-status.controller';
export * from './estimate-fee.controller';
export * from './addresses-info.controller';
export * from './register.controller';
export * from './register-flyover-call.controller';
41 changes: 41 additions & 0 deletions src/controllers/register-flyover-call.controller.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import {Logger, getLogger} from 'log4js';
import {inject} from '@loopback/core';
import {Response, RestBindings, getModelSchemaRef, post, requestBody} from '@loopback/rest';
import {repository} from '@loopback/repository';
import {RegisterCallPayload} from '../models';
import {SessionRepository} from '../repositories';
import {ServicesBindings} from '../dependency-injection-bindings';
import {RegisterService} from '../services';

export class RegisterFlyoverCallController {
logger: Logger;

constructor(
@inject(ServicesBindings.REGISTER_SERVICE)
protected registerService: RegisterService,
@inject(RestBindings.Http.RESPONSE)
private response: Response,
@repository(SessionRepository)
public sessionRepository: SessionRepository,
) {
this.logger = getLogger('register-flyover-call-controller');
}

@post('/register-flyover-call', {
responses: {
'200': {
description:
'Register a flyover call by 2wp-app for metrics',
},
},
})
async registerCalls(
@requestBody({
content: {'application/json': {schema: getModelSchemaRef(RegisterCallPayload)}},
})
payload: RegisterCallPayload,
): Promise<Response> {
await this.registerService.registerFlyoverCall(payload);
return this.response.status(200).send();
}
}
1 change: 1 addition & 0 deletions src/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ export * from './fee-amount.model';
export * from './register-payload.model';
export * from './features.model';
export * from './pegout-status.model';
export * from './register-flyover-call.model';
25 changes: 25 additions & 0 deletions src/models/register-flyover-call.model.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import {Model, model, property} from '@loopback/repository';

@model()
export class RegisterCallPayload extends Model {
@property({
type: 'string',
})
operationType?: string;

@property({
type: 'string',
required: true,
})
functionType: string;

@property({
type: 'string',
required: true,
})
result: string;

constructor(data?: Partial<RegisterCallPayload>) {
super(data);
}
}
12 changes: 10 additions & 2 deletions src/services/register.service.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import mongoose from 'mongoose';
import {RegisterPayload} from '../models';
import {RegisterCallPayload, RegisterPayload} from '../models';
import {AppTxModel} from '../models/app-tx.model';
import {MongoDbDataService} from './mongodb-data.service';

Expand All @@ -11,7 +11,7 @@ const AppTxSchema = new mongoose.Schema({
creationDate: {type: Date, required: true},
value: {type: Number, required: true},
wallet: {type: String, required: true},
fee: {type: Number, required: true},
fee: {type: Number, required: true},
rskGas: {type: Number, required: true},
btcEstimatedFee: {type: Number, required: true},
provider: {type: String, required: true},
Expand Down Expand Up @@ -61,4 +61,12 @@ export class RegisterService extends MongoDbDataService<AppTxModel, AppTxMongoMo
);
return this.set(tx);
}

async registerFlyoverCall(payload: RegisterCallPayload): Promise<boolean> {
const { operationType, functionType, result } = payload;
this.logger.info(
`[NEW_FLYOVER_CALL] [type=${operationType}, call=${functionType}, response=${result}]`,
);
return true;
}
}

0 comments on commit 67412bc

Please sign in to comment.