using System.Text.Json.Serialization; namespace iknow_api.DTOs { // Login DTO public class LoginDto { public string Email { get; set; } = string.Empty; public string Password { get; set; } = string.Empty; public bool GenerateRefreshToken { get; set; } } public class GetUserDataDto { public string? JWT { get; set; } } // Registration DTO public class RegisterDto { public string Name { get; set; } = string.Empty; public string? MiddleName { get; set; } public string Surname { get; set; } = string.Empty; public string EMBG { get; set; } = string.Empty; public string? Index { get; set; } public string Email { get; set; } = string.Empty; public string Password { get; set; } = string.Empty; public DateTime Bday { get; set; } public UserRole Role { get; set; } public float gpa { get; set; } public HighSchoolType tip { get; set; } public string city { get; set; } = string.Empty; public string address { get; set; } = string.Empty; public string municipality { get; set; } = string.Empty; public string phoneNumber { get; set; } = string.Empty; public string microsoftEmail { get; set; } = string.Empty; public int enrollmentYear { get; set; } public Quota quotaType { get; set; } public int majorType { get; set; } public string? gender { get; set; } public string? nationality { get; set; } public string? citizenship { get; set; } public string? studyType { get; set; } public string? studyStatus { get; set; } } // User response DTO (for returning user data without password) public class UserResponseDto { public int Id { get; set; } public string? Name { get; set; } public string? Surname { get; set; } public string? Index { get; set; } public string? Email { get; set; } public DateTime Bday { get; set; } public DateTime CreatedAt { get; set; } public UserRole Role { get; set; } } // User role enum public enum UserRole { Admin, Professor, Student } public enum HighSchoolType { strucen, gimnazija } public enum Quota { drzavna, privatna, stipendija } }