module-hub-aurum-core-connector
Version:
Module to connect to the Aurum Core
47 lines (40 loc) • 1.22 kB
JavaScript
const { logger } = require("../../utils/Logger.js");
const { module_name } = require("../../utils/Constants.js");
const Joi = require("joi");
//request class, username, password, longitude and latitude
class Request {
constructor(username, password, longitude, latitude) {
this.username = username;
this.password = password;
this.longitude = longitude;
this.latitude = latitude;
this.validate();
}
validate() {
const schema = Joi.object({
username: Joi.string().required(),
password: Joi.string().required(),
longitude: Joi.string().required(),
latitude: Joi.string().required(),
});
const { error } = schema.validate({
username: this.username,
password: this.password,
longitude: this.longitude,
latitude: this.latitude,
});
if (error) {
logger.error(
`"${module_name}" :: Validation error: ${error.details
.map((x) => x.message)
.join(", ")}`
);
throw new Error(
`"${module_name}" :: Validation error: ${error.details
.map((x) => x.message)
.join(", ")}`
);
}
}
}
module.exports = Request;