Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 19 additions & 16 deletions src/services/diagnostic-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,40 +28,40 @@ const path = require('path');
const mime = require('mime');


const changeMicroserviceStraceState = async function (id, data, user, isCLI, transaction) {
const changeMicroserviceStraceState = async function (uuid, data, user, isCLI, transaction) {
await Validator.validate(data, Validator.schemas.straceStateUpdate);
const microservice = await MicroserviceService.getMicroservice(id, user, isCLI, transaction);
const microservice = await MicroserviceService.getMicroservice(uuid, user, isCLI, transaction);
if (microservice.iofogUuid === null) {
throw new Errors.ValidationError(ErrorMessages.STRACE_WITHOUT_FOG);
}

const straceObj = {
straceRun: data.enable,
microserviceUuid: id
microserviceUuid: uuid
};

await StraceDiagnosticManager.updateOrCreate({microserviceUuid: id}, straceObj, transaction);
await StraceDiagnosticManager.updateOrCreate({microserviceUuid: uuid}, straceObj, transaction);
await ChangeTrackingService.update(microservice.iofogUuid, ChangeTrackingService.events.diagnostics, transaction)
};

const getMicroserviceStraceData = async function (id, data, user, isCLI, transaction) {
const getMicroserviceStraceData = async function (uuid, data, user, isCLI, transaction) {
await Validator.validate(data, Validator.schemas.straceGetData);

const microserviceWhere = isCLI
? {uuid: id}
: {uuid: id, userId: user.id};
? {uuid: uuid}
: {uuid: uuid, userId: user.id};
const microservice = await MicroserviceManager.findOne(microserviceWhere, transaction);
if (!microservice) {
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, id))
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, uuid))
}

const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: id}, transaction);
const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: uuid}, transaction);
if (!straceData) {
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_STRACE, id))
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_STRACE, uuid))
}

const dir = config.get('Diagnostics:DiagnosticDir') || 'diagnostics';
const filePath = dir + '/' + id;
const filePath = dir + '/' + uuid;

let result = straceData.buffer;

Expand All @@ -77,21 +77,24 @@ const getMicroserviceStraceData = async function (id, data, user, isCLI, transac
};
};

const postMicroserviceStraceDatatoFtp = async function (id, data, user, isCLI, transaction) {
const postMicroserviceStraceDatatoFtp = async function (uuid, data, user, isCLI, transaction) {
await Validator.validate(data, Validator.schemas.stracePostToFtp);

const microserviceWhere = isCLI
? {uuid: uuid}
: {uuid: uuid, userId: user.id};
const microservice = await MicroserviceManager.findOne(microserviceWhere, transaction);
if (!microservice) {
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, id))
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, uuid))
}
const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: id}, transaction);
const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: uuid}, transaction);

if (!straceData) {
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_STRACE, id))
throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_STRACE, uuid))
}

const dir = config.get('Diagnostics:DiagnosticDir');
const filePath = dir + '/' + id;
const filePath = dir + '/' + uuid;

_createDirectoryIfNotExists(dir);
_writeBufferToFile(filePath, straceData.buffer);
Expand Down