Issues (95)

1
require('dotenv').config();
2
var express = require('express');
3
var path = require('path');
4
var cons = require('consolidate');
5
6
var port = 8080;
7
var app = module.exports = express();
8
var swig = require('swig');
9
10
// handlebars initiation
11
var exphbs = require('express-handlebars');
12
var hbs = exphbs.create({});
13
14
// Configure View and Handlebars
15
app.use(express.static(path.join(__dirname)));
16
app.engine('handlebars', hbs.engine);
17
app.set('views', path.join(__dirname, 'views'));
18
app.set('view engine', 'handlebars');
19
20
21
22
// Create body parsers for application/json and application/x-www-form-urlencoded
23
var bodyParser = require('body-parser')
24
app.use(bodyParser.json())
25
var urlencodedParser = bodyParser.urlencoded({ extended: false })
26
27
if(!module.parent){ app.listen(process.env.PORT || port); }
28
29
console.log("Application started. Listening on port:" + port);
30
31
32
var ringcentral = require('ringcentral');
33
34
var rcsdk = new ringcentral({
35
    server: process.env.GLIP_APP_SERVER_URL,
36
    appKey: process.env.GLIP_APP_KEY,
37
    appSecret: process.env.GLIP_APP_SECRET
38
});
39
40
var groupMembers;
41
var userList = [];
42
43
    // Route for the home page
44
    app.get('/inviteDemo', function (req, res) {
45
        var badge = swig.renderFile(path.join(__dirname, '/views/badge.svg'));
46
        res.writeHead(200, {"Content-Type": "image/svg+xml"})
47
        res.write(badge);
48
        res.send();
49
    });
50
    // Route for the inviteDemo
51
    app.get('/', function (req, res) {
52
53
        console.log('Insdei');
54
        rcsdk.platform()
55
            .login({
56
                username: process.env.GLIP_USERNAME,
57
                extension: process.env.GLIP_EXTENSION || null,
58
                password: process.env.GLIP_PASSWORD
59
            })
60
            .then(function(response) {
61
                console.log('Logged in to platform');
62
                return rcsdk.platform()
63
                    .get('/glip/groups/' + process.env.GLIP_GROUP_ID)
64
                    .then(function(apiResponse) {
65
                        var response = apiResponse.json();
66
                        if(response.members){
67
                            groupMembers = response.members.length;
68
                            console.log(groupMembers);
69
                        }
70
                        res.render('index', {RC_Logo: process.env.GLIP_LOGO, RC_Community: process.env.GLIP_GROUP_NAME, RC_Total_members: groupMembers, RC_groupId: process.env.GLIP_GROUP_ID});
0 ignored issues
show
The variable groupMembers does not seem to be initialized in case response.members on line 66 is false. Are you sure this can never be the case?
Loading history...
71
                    })
72
                    .catch(function(e) {
73
                        console.log('INVITE USER DID NOT WORK');
74
                        console.log(e);
75
                    });
76
            })
77
            .catch(function(e) {
78
                console.log('ERR_CALLBACK ' + e.message  || 'Server cannot authorize user');
79
                res.send('Error');
80
            });
81
    });
82
83
 // Route for the invite user
84
    app.post('/inviteUser', urlencodedParser, function (req, res, next) {
85
        var userInvite = [ req.body.userInvite || '' ];
86
        userList.push(userInvite);
87
        rcsdk.platform().loggedIn()
88
            .then(function(status) {
89
                return rcsdk.platform()
90
                	.post('/glip/groups/' + process.env.GLIP_GROUP_ID + '/bulk-assign',{
91
                			"addedPersonEmails": userInvite
92
                		})
93
                	.then(function(response) {
94
                		console.log('The response is :', response.json());
95
                        console.log('The total number of users invited to the grpup is :'+ userList.length);
96
                        console.log('The total number of users registered in the grpup is :'+response.json().members.length);
97
                        console.log("The type of data is :" + typeof userList.length);
98
                        res.send(userList.length.toString());
99
                	})
100
                    .catch(function(e) {
101
                        console.log('INVITE USER DID NOT WORK');
102
                        console.log(e);
103
                    });
104
            })
105
            .catch(function(e) {
106
                res.send("E_NOT_LOGGED_IN");
107
            });
108
    });
109
110
111
module.exports = {
112
    app : app
113
};
114