64 lines
1.6 KiB
JavaScript
64 lines
1.6 KiB
JavaScript
const Benchmark = require('../models').models.Benchmark;
|
|
const Result = require('../models').models.Result;
|
|
const Test = require('../models').models.Test;
|
|
|
|
// GET /api/v1/benchmark/details
|
|
exports.getBenchmarkDetails = async function(req, res) {
|
|
try {
|
|
const benchmark = await Benchmark.findByPk(req.query.benchmark_id);
|
|
|
|
if (!benchmark) {
|
|
return res.status(404).json({
|
|
error: 'Benchmark not found.'
|
|
})
|
|
}
|
|
|
|
res.json(benchmark);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
error: 'Internal server error occurred while fetching benchmark details.'
|
|
});
|
|
}
|
|
};
|
|
|
|
// GET /api/v1/result/list - list of results for a test
|
|
exports.getResultList = async function(req, res) {
|
|
try {
|
|
var results = await Result.findAll({
|
|
where: {
|
|
TestId: req.query.test_id,
|
|
BenchmarkId: req.query.benchmark_id
|
|
}
|
|
});
|
|
|
|
res.json(results);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
error: 'Internal server error occurred while fetching benchmark results.'
|
|
});
|
|
}
|
|
};
|
|
|
|
// POST /api/v1/result/add - add a benchmark result to the database
|
|
exports.postResultAdd = async function(req, res) {
|
|
try {
|
|
const result = await Result.create({
|
|
avgScore: req.body.result_avg,
|
|
minScore: req.body.result_min,
|
|
maxScore: req.body.result_max
|
|
});
|
|
|
|
let benchmark = await Benchmark.findByPk(req.body.result_benchmark);
|
|
result.setBenchmark(benchmark);
|
|
|
|
let test = await Test.findByPk(req.body.result_test);
|
|
result.setTest(test);
|
|
|
|
res.json('success');
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
error: 'Internal server error occurred while adding result.'
|
|
});
|
|
}
|
|
};
|