• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dondi / GRNsight / 17425282998

03 Sep 2025 06:41AM UTC coverage: 80.379%. Remained the same
17425282998

push

github

web-flow
Merge pull request #1198 from dondi/prettier-config

Prettier Configuration

410 of 513 branches covered (79.92%)

Branch coverage included in aggregate %.

266 of 335 new or added lines in 18 files covered. (79.4%)

7 existing lines in 4 files now uncovered.

1200 of 1490 relevant lines covered (80.54%)

9339.44 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

21.28
/server/controllers/export-controller.js
1
var helpers = require(__dirname + "/helpers");
3✔
2

3
var grnsightToSif = require(__dirname + "/exporters/sif");
3✔
4
var grnsightToGraphMl = require(__dirname + "/exporters/graphml");
3✔
5
var grnsightToXlsx = require(__dirname + "/exporters/xlsx");
3✔
6

7
var convertResponse = function (app, req, res, converter) {
3✔
8
    helpers.attachCorsHeader(res, app);
×
9
    return res.status(200).send(converter(req.body));
×
10
};
11

12
var exportResponse = function (app, req, res, converter) {
3✔
13
    helpers.attachCorsHeader(res, app);
×
NEW
14
    res.header("Content-Disposition", 'attachment;filename="' + req.body.filename + '"');
×
15
    return res.status(200).send(converter(JSON.parse(req.body.workbook)));
×
16
};
17

18
var generalExportError = function (res, error) {
3✔
19
    // Express deprecated res.json(status, obj): Use res.status(status).json(obj)
20
    return res.status(400).json({
×
21
        message: "Invalid GRNsight format.",
22
        details: {
23
            name: error.name,
24
            message: error.message,
25
        },
26
    });
27
};
28

29
module.exports = function (app) {
3✔
30
    if (app) {
6!
31
        // The /convert-* routes represent pure data exchange;
32
        // the /export-* ones wrap this around a file download.
33
        app.post("/convert-to-sif", function (req, res) {
×
34
            try {
×
35
                res.header("Content-Type", "text/plain");
×
36
                return convertResponse(app, req, res, grnsightToSif);
×
37
            } catch (error) {
38
                return generalExportError(res, error);
×
39
            }
40
        });
41

42
        app.post("/export-to-sif", function (req, res) {
×
43
            try {
×
44
                res.header("Content-Type", "text/plain");
×
45
                return exportResponse(app, req, res, grnsightToSif);
×
46
            } catch (error) {
47
                return generalExportError(res, error);
×
48
            }
49
        });
50

51
        app.post("/convert-to-graphml", function (req, res) {
×
52
            try {
×
53
                res.header("Content-Type", "text/xml");
×
54
                return convertResponse(app, req, res, grnsightToGraphMl);
×
55
            } catch (error) {
56
                return generalExportError(res, error);
×
57
            }
58
        });
59

60
        app.post("/export-to-graphml", function (req, res) {
×
61
            try {
×
62
                res.header("Content-Type", "text/xml");
×
63
                return exportResponse(app, req, res, grnsightToGraphMl);
×
64
            } catch (error) {
65
                return generalExportError(res, error);
×
66
            }
67
        });
68

69
        app.post("/convert-to-excel", function (req, res) {
×
70
            try {
×
71
                res.header("Content-Type", "text/xlsx");
×
72
                return convertResponse(app, req, res, grnsightToXlsx);
×
73
            } catch (error) {
74
                return generalExportError(res, error);
×
75
            }
76
        });
77

78
        app.post("/export-to-excel", function (req, res) {
×
79
            try {
×
80
                res.header("Content-Type", "text/xlsx");
×
81
                return exportResponse(app, req, res, grnsightToXlsx);
×
82
            } catch (error) {
83
                return generalExportError(res, error);
×
84
            }
85
        });
86
    }
87

88
    return {
6✔
89
        grnsightToSif: grnsightToSif,
90
        grnsightToGraphMl: grnsightToGraphMl,
91
        grnsightToXlsx: grnsightToXlsx,
92
    };
93
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc