1 | var task = require('./base'),
|
2 | util = require('util');
|
3 |
|
4 |
|
5 |
|
6 | var userRender = module.exports = function(config) {
|
7 |
|
8 | this.init (config);
|
9 |
|
10 | };
|
11 |
|
12 | util.inherits (userRender, task);
|
13 |
|
14 | util.extend (userRender.prototype, {
|
15 |
|
16 | run: function() {
|
17 |
|
18 | var self = this;
|
19 | self.failed('use method [parse|render]');
|
20 |
|
21 | },
|
22 |
|
23 | parse: function () {
|
24 |
|
25 | var self = this,
|
26 | request = self.request,
|
27 | user = request.user;
|
28 |
|
29 | var authUser = self.userData;
|
30 |
|
31 | authUser.enterCount = 1;
|
32 |
|
33 | util.extend (authUser, user);
|
34 |
|
35 | if (self.groupsData) authUser.groupIds = self.groupsData;
|
36 |
|
37 | authUser.sessionUIDs = request.sessionUID;
|
38 |
|
39 | self.completed(authUser);
|
40 |
|
41 | },
|
42 |
|
43 | render: function () {
|
44 |
|
45 | var self = this;
|
46 |
|
47 | var found = self.found,
|
48 | data = found.data,
|
49 | user;
|
50 |
|
51 |
|
52 |
|
53 | if (data && data.length > 0) {
|
54 |
|
55 | user = data[0];
|
56 |
|
57 | } else {
|
58 | user = {};
|
59 | }
|
60 |
|
61 | self.completed(user);
|
62 | },
|
63 |
|
64 | getProfile: function () {
|
65 | var result = {};
|
66 | var session = this.request.sessionUID;
|
67 | var user = this.request.user;
|
68 |
|
69 | if (user && user.email && user.name) {
|
70 | result.email = user.email;
|
71 | result.name = user.name;
|
72 | result.avatar = user.avatar || '';
|
73 | result.sessionUID = session;
|
74 | if (user.externalId) result.externalId = user.externalId;
|
75 | result.authType = user.authType;
|
76 | } else {
|
77 | result.statusCode = 401;
|
78 | result.err = 'User not authorized';
|
79 | }
|
80 |
|
81 | this.completed(result);
|
82 | }
|
83 | });
|