1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-05 19:42:01 +02:00

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

View file

@ -124,28 +124,6 @@ module.exports = function(options) {
res.send('var GLOBAL_APPSTATE = ' + JSON.stringify(state))
})
app.get('/app/api/v1/group', function(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
})
})
})
app.get('/app/api/v1/accessTokens', function(req, res) {
dbapi.loadAccessTokens(req.user.email)
.then(function(cursor) {

View file

@ -181,7 +181,7 @@ module.exports = function DeviceServiceFactory($http, socket, EnhanceDeviceServi
, digest: true
})
oboe('/app/api/v1/group')
oboe('/api/v1/group')
.node('devices[*]', function (device) {
tracker.add(device)
})