39 lines
1.0 KiB
C#
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
|
|
};
|
|
}
|
|
} |