From dafc2718dd30d7f879653ec1508400fb0f758530 Mon Sep 17 00:00:00 2001 From: Konstantinos Kamaropoulos Date: Tue, 3 Mar 2020 03:05:17 +0200 Subject: [PATCH] docs: Add comments to logs service and controller --- src/logs/logs.controller.ts | 15 ++++++++++++--- src/logs/logs.service.ts | 7 +++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/logs/logs.controller.ts b/src/logs/logs.controller.ts index 6e38fc9..6ffaecd 100644 --- a/src/logs/logs.controller.ts +++ b/src/logs/logs.controller.ts @@ -6,21 +6,30 @@ import { ILogs } from './logs.interface'; export class LogsController { constructor(private readonly logsService: LogsService) {} + // GET /logs Endpoint + // Get all logs from Mongo @Get() - async getPosts() { + async getLogs() { + // Get and return logs from logsRervice return this.logsService.getLogs(); } + // POST /logs Endpoint + // Store a new log into Mongo @Post() async postLogs(@Body() body, @Response() res: any) { - let success: Boolean = await this.logsService.storeLog(body); + // Try to store data into Mongo + let success: Boolean = await this.logsService.storeLog(body); + // If the operation was successful if (success){ + // respond with HTTP Code 201 CREATED + // and a success message return res.status(HttpStatus.CREATED) .json({ message: "Log stored successfully!" }); - } else { + // If not, respond with 500, internal server error and an error message return res.status(HttpStatus.INTERNAL_SERVER_ERROR) .json({ message: "An error occured during storing the log." diff --git a/src/logs/logs.service.ts b/src/logs/logs.service.ts index 3e8068e..a969205 100644 --- a/src/logs/logs.service.ts +++ b/src/logs/logs.service.ts @@ -6,22 +6,29 @@ import { Model } from 'mongoose'; @Injectable() export class LogsService { constructor(@InjectModel('Logs') private readonly logsModel: Model) {} + + // Method to get all logs from Mongo async getLogs(): Promise { return await this.logsModel.find(); } + // Method to get the count of the logs getLogsCount(): Number { return this.logsModel.count(); } + // Store logs into Mongo collection async storeLog(data: Object): Promise{ + // Create new Model object with data from request const storedLog = new this.logsModel({ drone_id: data["id"], gprmc: data["GPRMC"], gps_data: data["gps_data"], sensorReadings: data["sensorReadings"] }); + // Store data to Mongo let id = await storedLog.save(); + // Print out the Mongo DB response console.log(id); return true; }