resource-watch/doc-orchestrator

View on GitHub
app/src/services/dataset.service.js

Summary

Maintainability
A
0 mins
Test Coverage
B
89%
const { RWAPIMicroservice } = require('rw-api-microservice-node');
const logger = require('logger');
const { DATASET_STATUS } = require('app.constants');

class DatasetService {

    static async update(id, dataset) {
        if (dataset.status === DATASET_STATUS.SAVED) {
            dataset.status = 1;
        } else if (dataset.status === DATASET_STATUS.ERROR) {
            dataset.status = 2;
        } else {
            dataset.status = 0;
        }
        logger.debug(`Updating dataset: ${JSON.stringify(dataset)}`);

        try {
            return await RWAPIMicroservice.requestToMicroservice({
                uri: `/v1/dataset/${id}`,
                method: 'PATCH',
                body: dataset
            });
        } catch (e) {
            logger.error('Error issuing request to the dataset microservice: ', e.message);
            throw new Error(e);
        }
    }

    static async get(id) {
        logger.debug(`Getting dataset with id: ${id}`);

        try {
            return await RWAPIMicroservice.requestToMicroservice({
                uri: `/v1/dataset/${id}`,
                method: 'GET',
                json: true
            });
        } catch (e) {
            logger.error('Error issuing request to the dataset microservice: ', e.message);
            throw new Error(e);
        }
    }

}

module.exports = DatasetService;