23 lines
812 B
C#
23 lines
812 B
C#
using GymLogAI.Core.Entities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
|
|
namespace GymLogAI.Persistence.Configurations;
|
|
|
|
public sealed class UserConfiguration : IEntityTypeConfiguration<User>
|
|
{
|
|
public void Configure(EntityTypeBuilder<User> builder)
|
|
{
|
|
builder.ToTable("users");
|
|
builder.HasKey(x => x.Id);
|
|
builder.Property(x => x.Id).ValueGeneratedNever();
|
|
builder.Property(x => x.TelegramUserId).IsRequired();
|
|
builder.Property(x => x.Username).HasMaxLength(128);
|
|
builder.Property(x => x.FirstName).HasMaxLength(128);
|
|
builder.Property(x => x.LastName).HasMaxLength(128);
|
|
builder.Property(x => x.CreatedAtUtc).IsRequired();
|
|
|
|
builder.HasIndex(x => x.TelegramUserId).IsUnique();
|
|
}
|
|
}
|