gfw-api/gfw-subscription-api

View on GitHub
app/src/presenters/formaPresenter.js

Summary

Maintainability
A
1 hr
Test Coverage
F
20%
const logger = require('logger');
const analysisService = require('services/analysisService');
const imageService = require('services/imageService');

class FormaPresenter {

    static async transform(results, layer, subscription, begin, end) {
        const alerts = await analysisService.execute(subscription, layer.slug, begin, end, true);
        if (alerts && alerts.length && alerts.length > 0) {
            const alertsFormat = [];
            let length = 10;
            if (alerts.length < 10) {
                length = alerts.length;
            }
            for (let i = 0; i < length; i++) {
                try {
                    const date = alerts[i].acqDate.split('T');
                    alertsFormat.push({
                        acq_date: date[0],
                        acq_time: date[1].substr(0, 8),
                        latitude: alerts[i].latitude,
                        longitude: alerts[i].longitude
                    });
                } catch (err) {
                    logger.error(err);
                    throw err;
                }
            }
            results.alerts = alertsFormat;
        }
        results.map_image = await imageService.overviewImage(subscription, layer.slug, begin, end);
        results.alert_count = results.value;
        return results;
    }

}

module.exports = FormaPresenter;