clannad
Version:
data storage service with RESTful APIs.
100 lines (81 loc) • 2.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _project = require('../models/project');
var _project2 = _interopRequireDefault(_project);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
add: function add(ctx) {
var _this = this;
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {
var projectName, name;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
projectName = ctx.params.projectName;
name = Math.random().toString(36).substr(2, 10);
_context.next = 4;
return _project2.default.editField({ name: projectName }, 'tokens', name, true);
case 4:
ctx.body = { name: name };
case 5:
case 'end':
return _context.stop();
}
}
}, _callee, _this);
}))();
},
del: function del(ctx) {
var _this2 = this;
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() {
var _ctx$params, name, projectName;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_ctx$params = ctx.params;
name = _ctx$params.name;
projectName = _ctx$params.projectName;
_context2.next = 5;
return _project2.default.editField({ name: projectName }, 'tokens', name);
case 5:
case 'end':
return _context2.stop();
}
}
}, _callee2, _this2);
}))();
},
list: function list(ctx) {
var _this3 = this;
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3() {
var projectName, project;
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
projectName = ctx.params.projectName;
_context3.next = 3;
return _project2.default.findOne({ name: projectName });
case 3:
project = _context3.sent;
ctx.body = project.tokens.map(function (token) {
return { name: token };
});
case 5:
case 'end':
return _context3.stop();
}
}
}, _callee3, _this3);
}))();
}
};
module.exports = exports['default'];