authController.ts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. import {
  2. Response,
  3. Request
  4. } from "express";
  5. import {
  6. refreshToken as _refreshToken,
  7. finishMailVerify as _finishMailVerify,
  8. register as _register,
  9. logout as _logout,
  10. login as _login,
  11. me as _me
  12. } from "../actions/auth";
  13. import {
  14. AuthRequest
  15. } from "../middlewares/authMiddleware";
  16. export const register = async (req: Request, res: Response): Promise<void> => {
  17. try {
  18. const {
  19. phoneNumber,
  20. companyName,
  21. firstName,
  22. lastName,
  23. password,
  24. mail
  25. } = req.body;
  26. const result = await _register({
  27. phoneNumber,
  28. companyName,
  29. firstName,
  30. lastName,
  31. password,
  32. mail
  33. });
  34. res.status(result.code)
  35. .json({
  36. message: result.message,
  37. code: result.code
  38. });
  39. } catch (error) {
  40. console.error("Register error:", error);
  41. res.status(500)
  42. .json({
  43. message: "internal-server-error",
  44. code: 500,
  45. });
  46. }
  47. };
  48. export const login = async (req: Request, res: Response): Promise<void> => {
  49. try {
  50. const {
  51. password,
  52. mail
  53. } = req.body;
  54. const result = await _login({
  55. password,
  56. mail
  57. });
  58. res.status(result.code).json({
  59. message: result.message,
  60. code: result.code,
  61. ...(result.payload && {
  62. payload: result.payload
  63. }),
  64. });
  65. } catch (error) {
  66. console.error("Login error:", error);
  67. res.status(500)
  68. .json({
  69. message: "server-error",
  70. code: 500,
  71. });
  72. }
  73. };
  74. export const logout = async (req: AuthRequest, res: Response): Promise<void> => {
  75. try {
  76. const result = await _logout(req.context);
  77. res.status(result.code).json({
  78. message: result.message,
  79. code: result.code,
  80. });
  81. } catch (error) {
  82. console.error("Logout controller error:", error);
  83. res.status(500).json({
  84. message: "server-error",
  85. code: 500,
  86. });
  87. }
  88. };
  89. export const me = async (req: AuthRequest, res: Response): Promise<void> => {
  90. try {
  91. const result = await _me(req.context);
  92. res.status(result.code).json({
  93. message: result.message,
  94. code: result.code,
  95. ...(result.payload && {
  96. payload: result.payload
  97. })
  98. });
  99. } catch (error) {
  100. res.status(500).json({
  101. message: "server-error", code: 500
  102. });
  103. }
  104. };
  105. export const refreshToken = async (req: Request, res: Response): Promise<void> => {
  106. try {
  107. const {
  108. refreshToken
  109. } = req.body;
  110. const result = await _refreshToken(refreshToken);
  111. res.status(result.code)
  112. .json({
  113. message: result.message,
  114. code: result.code,
  115. ...(result.payload && {
  116. payload: result.payload,
  117. }),
  118. });
  119. } catch (error) {
  120. console.error("RefreshToken controller error:", error);
  121. res.status(500)
  122. .json({
  123. message: "internal-server-error",
  124. code: 500,
  125. });
  126. }
  127. };
  128. export const finishMailVerify = async (req: Request, res: Response): Promise<void> => {
  129. try {
  130. const {
  131. userID,
  132. code
  133. } = req.body;
  134. const result = await _finishMailVerify({
  135. userID,
  136. code
  137. });
  138. res.status(result.code).json({
  139. message: result.message,
  140. code: result.code,
  141. });
  142. } catch (error) {
  143. console.error("FinishMailVerify controller error:", error);
  144. res.status(500).json({
  145. message: "internal-server-error",
  146. code: 500
  147. });
  148. }
  149. };