AuthRequest.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Common.Http
  8. {
  9. public class RequestOtpReq
  10. {
  11. [Required(ErrorMessage = "Email is required")]
  12. [EmailAddress(ErrorMessage = "Invalid email format")]
  13. public string? email { get; set; }
  14. /// <summary>
  15. /// Language code for email template: "vi" (Vietnamese), "en" (English), "lo" (Lao)
  16. /// Default: "vi"
  17. /// </summary>
  18. public string? lang { get; set; } = "vi";
  19. }
  20. public class VerifyOtpReq
  21. {
  22. [Required(ErrorMessage = "Email is required")]
  23. [EmailAddress(ErrorMessage = "Invalid email format")]
  24. public string? email { get; set; }
  25. [Required(ErrorMessage = "OTP is required")]
  26. public string? otpCode { get; set; }
  27. /// <summary>
  28. /// Language code for response messages: "lo" (Lao), "en" (English)
  29. /// Default: "lo"
  30. /// </summary>
  31. public string? lang { get; set; } = "lo";
  32. }
  33. public class GoogleCallbackReq
  34. {
  35. [Required(ErrorMessage = "Authorization code is required")]
  36. public string code { get; set; }
  37. public string? redirectUri { get; set; } // Optional: if frontend handles redirect, it might need to pass this
  38. public string? lang { get; set; } = "lo";
  39. }
  40. public class GoogleLoginReq
  41. {
  42. /// <summary>
  43. /// Language code for response messages: "lo" (Lao), "en" (English)
  44. /// Default: "lo"
  45. /// </summary>
  46. public string? lang { get; set; } = "lo";
  47. }
  48. public class PartnerLoginReq
  49. {
  50. [Required(ErrorMessage = "Authorization code is required")]
  51. public string data { get; set; }
  52. [Required(ErrorMessage = "Partner is required")]
  53. public string partner { get; set; } // Optional: if frontend handles redirect, it might need to pass this
  54. }
  55. }