Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. const express = require('express')
  2. const User = require('../models/user')
  3. const endpoints = require('../endpoints/user')
  4. const router = new express.Router()
  5. const app = express()
  6. const auth = require('../middleware/auth')
  7. /**
  8. * @openapi
  9. * /users:
  10. * get:
  11. * description: Get all users
  12. * tags: [User]
  13. * responses:
  14. * 200:
  15. * description: Success!
  16. * 400:
  17. * description: You sent bad request.
  18. * 500:
  19. * description: Internal server error.
  20. */
  21. router.get('/users', async (req, res) => {
  22. return await endpoints.getAll(req, res)
  23. })
  24. /**
  25. * @openapi
  26. * /users/:id:
  27. * get:
  28. * description: Get user by id
  29. * tags: [User]
  30. * responses:
  31. * 200:
  32. * description: Success!
  33. * 400:
  34. * description: You sent bad request.
  35. * 500:
  36. * description: Internal server error.
  37. */
  38. router.get('/users/:id', async (req, res) => {
  39. return await endpoints.getById(req, res, req.params.id)
  40. })
  41. /**
  42. * @openapi
  43. * /users/:
  44. * post:
  45. * description: Create user
  46. * tags: [User]
  47. * responses:
  48. * 201:
  49. * description: User successfully created!
  50. * 400:
  51. * description: You sent bad request.
  52. * 500:
  53. * description: Internal server error.
  54. */
  55. router.post('/users', async (req, res) => {
  56. return await endpoints.create(req, res, req.body)
  57. })
  58. /**
  59. * @openapi
  60. * /users/:
  61. * put:
  62. * description: Update user
  63. * tags: [User]
  64. * responses:
  65. * 200:
  66. * description: User updated successfully!
  67. * 400:
  68. * description: Invalid input parameters.
  69. * 404:
  70. * description: User not found.
  71. * 500:
  72. * description: Internal server error.
  73. */
  74. router.put('/users', async (req, res) => {
  75. return await endpoints.updateUser(req, res, req.body)
  76. })
  77. /**
  78. * @openapi
  79. * /users/:id/contacts:
  80. * patch:
  81. * description: Get all users
  82. * tags: [User]
  83. * responses:
  84. * 200:
  85. * description: User contacts updated successfully!
  86. * 404:
  87. * description: User not found.
  88. * 500:
  89. * description: Internal server error.
  90. */
  91. router.patch('/users/:id/contacts', async (req, res) => {
  92. return await endpoints.updateUserContacts(req, res, req.body)
  93. })
  94. /**
  95. * @openapi
  96. * /users/:id:
  97. * patch:
  98. * description: Delete user
  99. * tags: [User]
  100. * responses:
  101. * 204:
  102. * description: User removed successfully!
  103. * 400:
  104. * description: Id not provided.
  105. * 404:
  106. * description: User not found.
  107. * 500:
  108. * description: Internal server error.
  109. */
  110. router.delete('/users/:id', async (req, res) => {
  111. return await endpoints.deleteUser(req, res, req.body)
  112. })
  113. module.exports = router