move group endpoint from app unit to api unit

This commit is contained in:
Vishal Banthia
2015-12-02 23:06:14 +09:00
parent d6f37681ce
commit 5729095acb
4 changed files with 57 additions and 24 deletions

View File

@@ -1,5 +1,14 @@
var Promise = require('bluebird')
var dbapi = require('../../../db/api')
var logger = require('../../../util/logger')
var datautil = require('../../../util/datautil')
var log = logger.createLogger('api:contoller:user')
module.exports = {
getCurrentUser: getCurrentUser
, getCurrentUserGroup: getCurrentUserGroup
};
function getCurrentUser(req, res) {
@@ -8,3 +17,25 @@ function getCurrentUser(req, res) {
, user: req.user
})
}
function getCurrentUserGroup(req, res) {
dbapi.loadGroup(req.user.email)
.then(function(cursor) {
return Promise.promisify(cursor.toArray, cursor)()
.then(function(list) {
list.forEach(function(device) {
datautil.normalize(device, req.user)
})
res.json({
success: true
, devices: list
})
})
})
.catch(function(err) {
log.error('Failed to load group: ', err.stack)
res.json(500, {
success: false
})
})
}

View File

@@ -33,6 +33,22 @@ paths:
description: Unexpected Error
schema:
$ref: "#/definitions/ErrorResponse"
# TODO: Change group endpoint with something more easy to understandable endpoint
/group:
x-swagger-router-controller: user
get:
summary: User Group
description: The User Group endpoint returns information about user group of current authorized user.
operationId: getCurrentUserGroup
responses:
"200":
description: Current User Group information
schema:
$ref: "#/definitions/GroupResponse"
default:
description: Unexpected Error
schema:
$ref: "#/definitions/ErrorResponse"
/devices:
x-swagger-router-controller: device
get:
@@ -77,6 +93,14 @@ definitions:
properties:
user:
type: object
GroupResponse:
required:
- devices
properties:
devices:
type: array
items:
type: object
DeviceListResponse:
required:
- devices