// using System; using FinlyticBackend.Database; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace FinlyticBackend.Migrations { [DbContext(typeof(BackendDbContext))] [Migration("20260801073259_Init")] partial class Init { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("FinlyticBackend.Entities.ServiceConfigurationEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("ConfigKey") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("config_key"); b.Property("ConfigValue") .IsRequired() .HasColumnType("text") .HasColumnName("config_value"); b.Property("DataType") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("data_type"); b.Property("Description") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("description"); b.Property("ServiceName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("service_name"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id"); b.HasIndex("ServiceName", "ConfigKey") .IsUnique(); b.ToTable("service_configurations", (string)null); }); modelBuilder.Entity("FinlyticBackend.Entities.UserDeviceTokenEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("DeviceName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("device_name"); b.Property("FcmToken") .IsRequired() .HasMaxLength(500) .HasColumnType("character varying(500)") .HasColumnName("fcm_token"); b.Property("LastUsedAt") .HasColumnType("timestamp with time zone") .HasColumnName("last_used_at"); b.Property("RegisteredAt") .HasColumnType("timestamp with time zone") .HasColumnName("registered_at"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("FcmToken"); b.HasIndex("UserId"); b.ToTable("user_device_tokens", (string)null); }); modelBuilder.Entity("FinlyticBackend.Entities.UserEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Email") .IsRequired() .HasMaxLength(150) .HasColumnType("character varying(150)") .HasColumnName("email"); b.Property("FullName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("full_name"); b.Property("IsActive") .HasColumnType("boolean") .HasColumnName("is_active"); b.Property("LastLoginAt") .HasColumnType("timestamp with time zone") .HasColumnName("last_login_at"); b.Property("PasswordHash") .IsRequired() .HasColumnType("text") .HasColumnName("password_hash"); b.Property("Role") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)") .HasColumnName("role"); b.Property("ThemePreference") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("theme_preference"); b.HasKey("Id"); b.HasIndex("Email") .IsUnique(); b.HasIndex("Role"); b.ToTable("users", (string)null); }); modelBuilder.Entity("FinlyticBackend.Entities.UserFavoriteAssetEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Isin") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)") .HasColumnName("isin"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("UserId", "Isin") .IsUnique(); b.ToTable("user_favorite_assets", (string)null); }); modelBuilder.Entity("FinlyticBackend.Entities.UserDeviceTokenEntity", b => { b.HasOne("FinlyticBackend.Entities.UserEntity", "User") .WithMany("DeviceTokens") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("FinlyticBackend.Entities.UserFavoriteAssetEntity", b => { b.HasOne("FinlyticBackend.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("FinlyticBackend.Entities.UserEntity", b => { b.Navigation("DeviceTokens"); }); #pragma warning restore 612, 618 } } }