diff --git a/src/controllers/users.js b/src/controllers/users.js index 264d446..5467636 100644 --- a/src/controllers/users.js +++ b/src/controllers/users.js @@ -16,17 +16,17 @@ const router = new Router({ prefix: '/users' }) * @apiExample Example usage: * curl -H "Content-Type: application/json" -X GET localhost:5000/users * - * @apiSuccess {Object[]} users Array of user objects - * @apiSuccess {ObjectId} users._id User id - * @apiSuccess {String} users.name User name - * @apiSuccess {String} users.username User username + * @apiSuccess {Object[]} users Array of user objects + * @apiSuccess {ObjectId} users._id User id + * @apiSuccess {String} users.name User name + * @apiSuccess {String} users.username User username * * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * "users": [{ * "_id": "56bd1da600a526986cf65c80" - * "username": "foo" + * "name": "John Doe" * "username": "johndoe" * }] * } @@ -51,17 +51,17 @@ router.get('/', * @apiExample Example usage: * curl -H "Content-Type: application/json" -X GET localhost:5000/users/56bd1da600a526986cf65c80 * - * @apiSuccess {Object} users User object - * @apiSuccess {ObjectId} users._id User id - * @apiSuccess {String} users.name User name - * @apiSuccess {String} users.username User username + * @apiSuccess {Object} users User object + * @apiSuccess {ObjectId} users._id User id + * @apiSuccess {String} users.name User name + * @apiSuccess {String} users.username User username * * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * "user": { * "_id": "56bd1da600a526986cf65c80" - * "username": "foo" + * "name": "John Doe" * "username": "johndoe" * } * } @@ -88,6 +88,44 @@ router.get('/:id', } ) +/** + * @api {post} /users Create a new user + * @apiPermission + * @apiVersion 1.0.0 + * @apiName CreateUser + * @apiGroup Users + * + * @apiExample Example usage: + * curl -H "Content-Type: application/json" -X POST -d '{ "user": { "username": "johndoe", "password": "secretpasas" } }' localhost:5000/users + * + * @apiParam {Object} user User object (required) + * @apiParam {String} user.username Username. + * @apiParam {String} user.password Password. + * + * @apiSuccess {Object} users User object + * @apiSuccess {ObjectId} users._id User id + * @apiSuccess {String} users.name User name + * @apiSuccess {String} users.username User username + * + * @apiSuccessExample {json} Success-Response: + * HTTP/1.1 200 OK + * { + * "user": { + * "_id": "56bd1da600a526986cf65c80" + * "name": "John Doe" + * "username": "johndoe" + * } + * } + * + * @apiError UnprocessableEntity Missing required parameters + * + * @apiErrorExample {json} Error-Response: + * HTTP/1.1 422 Unprocessable Entity + * { + * "status": 422, + * "error": "Unprocessable Entity" + * } + */ router.post('/', async (ctx) => { const user = new User(ctx.request.body.user)