UNPKG

linagora-rse

Version:
143 lines (134 loc) 3.97 kB
'use strict'; var authorize = require('../middleware/authorization'); var followController = require('../controllers/follow'); var userMiddleware = require('../middleware/user'); module.exports = function(router) { /** * @swagger * /users/{id}/followers: * get: * tags: * - Users * - Follow * description: * Get the followers of the given user. * parameters: * - $ref: "#/parameters/fl_id" * - $ref: "#/parameters/fl_limit" * - $ref: "#/parameters/fl_offset" * responses: * 200: * $ref: "#/responses/fl_user" * 400: * $ref: "#/responses/cm_400" * 401: * $ref: "#/responses/cm_401" * 404: * $ref: "#/responses/cm_404" * 500: * $ref: "#/responses/cm_500" */ router.get('/users/:id/followers', authorize.requiresAPILogin, followController.getFollowers); /** * @swagger * /users/{id}/followings: * get: * tags: * - Users * - Follow * description: * Get the users the given user is following. * parameters: * - $ref: "#/parameters/fl_id" * - $ref: "#/parameters/fl_limit" * - $ref: "#/parameters/fl_offset" * responses: * 200: * $ref: "#/responses/tl_entry" * 400: * $ref: "#/responses/cm_400" * 401: * $ref: "#/responses/cm_401" * 404: * $ref: "#/responses/cm_404" * 500: * $ref: "#/responses/cm_500" */ router.get('/users/:id/followings', authorize.requiresAPILogin, followController.getFollowings); /** * @swagger * /users/{id}/followings/{tid}: * get: * tags: * - Users * - Follow * description: * Check if a user follows another user * parameters: * - $ref: "#/parameters/fl_id" * - $ref: "#/parameters/fl_tid" * responses: * 200: * description: The user id follows the user tid. * 400: * $ref: "#/responses/cm_400" * 401: * $ref: "#/responses/cm_401" * 404: * description: The user id does not follow user tid. * 500: * $ref: "#/responses/cm_500" */ router.get('/users/:id/followings/:tid', authorize.requiresAPILogin, followController.isFollowing); /** * @swagger * /users/{id}/followings/{tid}: * put: * tags: * - Users * - Follow * description: * Follow an user. * parameters: * - $ref: "#/parameters/fl_id" * - $ref: "#/parameters/fl_tid" * responses: * 201: * $ref: "#/responses/fl_follow" * 400: * $ref: "#/responses/cm_400" * 401: * $ref: "#/responses/cm_401" * 404: * $ref: "#/responses/cm_404" * 500: * $ref: "#/responses/cm_500" */ router.put('/users/:id/followings/:tid', authorize.requiresAPILogin, userMiddleware.loadFollowing, userMiddleware.canFollow, followController.follow); /** * @swagger * /users/{id}/followings/{tid}: * delete: * tags: * - Users * - Follow * description: * Unfollow an user. * parameters: * - $ref: "#/parameters/fl_id" * - $ref: "#/parameters/fl_tid" * responses: * 204: * description: * The user does not follow the other user anymore. * 400: * $ref: "#/responses/cm_400" * 401: * $ref: "#/responses/cm_401" * 404: * $ref: "#/responses/cm_404" * 500: * $ref: "#/responses/cm_500" */ router.delete('/users/:id/followings/:tid', authorize.requiresAPILogin, userMiddleware.loadFollowing, userMiddleware.canUnfollow, followController.unfollow); };