39 lines
1.0 KiB
C#

using System.ComponentModel.DataAnnotations;
using JOBot.Proto;
using Microsoft.EntityFrameworkCore;
namespace JOBot.Backend.DAL.Models;
[PrimaryKey(nameof(Id))]
public class User
{
public Guid Id { get; set; }
[Key]
public required long UserId { get; set; }
[MaxLength(255)]
public string? Username { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
[MaxLength(255)] public string? AccessToken { get; set; } = null;
[MaxLength(255)] public string? RefreshToken { get; set; } = null;
public bool Eula { get; set; } = false;
[MaxLength(255)] public string? CvUrl { get; set; } = null;
}
//TODO: Негоже это маппинги в DAL ложить
public static class UserMap
{
public static GetUserResponse MapToResponse(this User user)
{
return new GetUserResponse
{
UserId = user.UserId,
Username = user.Username,
Eula = user.Eula,
IsLogged = user.RefreshToken != null,
CVUrl = user.CvUrl
};
}
}