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

suculent / thinx-device-api / #252646970

27 Oct 2017 03:17PM UTC coverage: 12.466% (+1.3%) from 11.197%
#252646970

push

suculent
added support for displaying/exporting extended SigFox attributes

37 of 1808 branches covered (2.05%)

Branch coverage included in aggregate %.

735 of 4385 relevant lines covered (16.76%)

0.17 hits per line

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

36.36
/lib/thinx/audit.js
1
/*
2
 * This THiNX-RTM API module is responsible for audit logging.
3
 */
4

5
var Audit = (function() {
1✔
6

7
        var app_config = require("../../conf/config.json");
1✔
8
        if (typeof(process.env.CIRCLE_USERNAME) !== "undefined") {
1!
9
                console.log("ยป Configuring for Circle CI...");
×
10
                app_config = require("../../conf/config-test.json");
×
11
        }
12
        var db = app_config.database_uri;
1✔
13
        var fs = require("fs");
1✔
14

15
        var prefix = "";
1✔
16
        try {
1✔
17
                var pfx_path = app_config.project_root + '/conf/.thx_prefix';
1✔
18
                if (fs.existsSync(pfx_path)) {
1!
19
                        prefix = fs.readFileSync(pfx_path) + "_";
×
20
                }
21
        } catch (e) {
22
                //console.log(e);
23
        }
24

25
        var loglib = require("nano")(db).use(prefix + "managed_logs");
1✔
26

27
        // public
28
        var _public = {
1✔
29

30
                log: function(owner, message) {
31
                        var mtime = new Date();
×
32
                        var record = {
×
33
                                "message": message,
34
                                "owner": owner,
35
                                "date": mtime
36
                        };
37
                        loglib.insert(record, mtime, function(err,
×
38
                                body, header) {
39
                                if (err) {
×
40
                                        console.log("Audit log insertion error.");
×
41
                                        console.log(err);
×
42
                                }
43
                        });
44
                },
45

46
                fetch: function(owner, callback) {
47
                        var auditlog = {};
×
48
                        loglib.view("logs", "logs_by_owner", {
×
49
                                //"key": owner, returns nothing
50
                                "limit": 100,
51
                                "descending": true
52
                        }, function(err, body) {
53
                                if (err) {
×
54
                                        console.log(err);
×
55
                                        callback(err, body);
×
56
                                } else {
57
                                        for (var index in body.rows) {
×
58
                                                var item = body.rows[index];
×
59
                                                if (item.value.owner.indexOf(owner) === -1) {
×
60
                                                        continue;
×
61
                                                }
62
                                                auditlog[item.value.date] = item.value.message;
×
63
                                        }
64
                                        callback(false, auditlog);
×
65
                                }
66
                        });
67
                }
68
        };
69

70
        return _public;
1✔
71

72
})();
73

74
exports.log = Audit.log;
1✔
75
exports.fetch = Audit.fetch;
1✔
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