AuthRequest.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. }