authController.ts 4.6 KB

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