diff --git a/lib/units/api/controllers/token.js b/lib/units/api/controllers/token.js new file mode 100644 index 00000000..d83dca2a --- /dev/null +++ b/lib/units/api/controllers/token.js @@ -0,0 +1,33 @@ +var Promise = require('bluebird') + +var dbapi = require('../../../db/api') +var logger = require('../../../util/logger') + +var log = logger.createLogger('api:contoller:token') + +module.exports = { + getAccessTokens: getAccessTokens +}; + +function getAccessTokens(req, res) { + dbapi.loadAccessTokens(req.user.email) + .then(function(cursor) { + return Promise.promisify(cursor.toArray, cursor)() + .then(function(list) { + var titles = [] + list.forEach(function(token) { + titles.push(token.title) + }) + res.json({ + success: true + , titles: titles + }) + }) + }) + .catch(function(err) { + log.error('Failed to load tokens: ', err.stack) + res.json(500, { + success: false + }) + }) +} diff --git a/lib/units/api/swagger/api_v1.yaml b/lib/units/api/swagger/api_v1.yaml index 20ade953..4be47660 100644 --- a/lib/units/api/swagger/api_v1.yaml +++ b/lib/units/api/swagger/api_v1.yaml @@ -49,6 +49,21 @@ paths: description: Unexpected Error schema: $ref: "#/definitions/ErrorResponse" + /accessTokens: + x-swagger-router-controller: token + get: + summary: Access Tokens + description: Return Current User Access Tokens titles + operationId: getAccessTokens + responses: + "200": + description: Access Tokens titles + schema: + $ref: "#/definitions/AccessTokensResponse" + default: + description: Unexpected Error + schema: + $ref: "#/definitions/ErrorResponse" /devices: x-swagger-router-controller: device get: @@ -101,6 +116,14 @@ definitions: type: array items: type: object + AccessTokensResponse: + required: + - tokens + properties: + tokens: + type: array + items: + type: string DeviceListResponse: required: - devices diff --git a/lib/units/app/index.js b/lib/units/app/index.js index 53ef8489..89f4731e 100644 --- a/lib/units/app/index.js +++ b/lib/units/app/index.js @@ -124,29 +124,6 @@ module.exports = function(options) { res.send('var GLOBAL_APPSTATE = ' + JSON.stringify(state)) }) - app.get('/app/api/v1/accessTokens', function(req, res) { - dbapi.loadAccessTokens(req.user.email) - .then(function(cursor) { - return Promise.promisify(cursor.toArray, cursor)() - .then(function(list) { - var titles = [] - list.forEach(function(token) { - titles.push(token.title) - }) - res.json({ - success: true - , titles: titles - }) - }) - }) - .catch(function(err) { - log.error('Failed to load tokens: ', err.stack) - res.json(500, { - success: false - }) - }) - }) - server.listen(options.port) log.info('Listening on port %d', options.port) } diff --git a/res/app/components/stf/tokens/access-token-service.js b/res/app/components/stf/tokens/access-token-service.js index 38b9db6f..a815b828 100644 --- a/res/app/components/stf/tokens/access-token-service.js +++ b/res/app/components/stf/tokens/access-token-service.js @@ -6,7 +6,7 @@ module.exports = function AccessTokenServiceFactory( var AccessTokenService = {} AccessTokenService.getAccessTokens = function() { - return $http.get('/app/api/v1/accessTokens') + return $http.get('/api/v1/accessTokens') } AccessTokenService.generateAccessToken = function(title) {