authController.ts 4.1 KB

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