using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Timeline.Services.User;
namespace Timeline.Entities
{
[Table("users")]
public class UserEntity
{
[Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
[Column("unique_id"), Required]
public string UniqueId { get; set; } = default!;
[Column("username"), Required]
public string Username { get; set; } = default!;
[Column("username_change_time")]
public DateTime UsernameChangeTime { get; set; }
[Column("password"), Required]
public string Password { get; set; } = default!;
[Column("version"), Required]
public long Version { get; set; }
[Column("nickname")]
public string? Nickname { get; set; }
[Column("create_time")]
public DateTime CreateTime { get; set; }
[Column("last_modified")]
public DateTime LastModified { get; set; }
public UserAvatarEntity? Avatar { get; set; }
#pragma warning disable CA2227 // Collection properties should be read only
///
/// Do not use this directly. Get permissions with .
///
[Obsolete("Use IUserPermissionService instead.")]
public List Permissions { get; set; } = default!;
public List Timelines { get; set; } = default!;
public List TimelinePosts { get; set; } = default!;
public List TimelinesJoined { get; set; } = default!;
internal object MapToHttp(IUrlHelper url)
{
throw new NotImplementedException();
}
#pragma warning restore CA2227 // Collection properties should be read only
}
}