// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using SchotzIadKmTracker.Api.Data; #nullable disable namespace SchotzIadKmTracker.Api.Data.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260914064431_AjoutAuthentification")] partial class AjoutAuthentification { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "8.0.8"); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Adresse") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("DerniereUtilisation") .HasColumnType("TEXT"); b.Property("GeometrieJson") .HasColumnType("TEXT"); b.Property("Latitude") .HasColumnType("REAL"); b.Property("Longitude") .HasColumnType("REAL"); b.HasKey("Id"); b.HasIndex("Adresse") .IsUnique(); b.ToTable("AdresseCache", (string)null); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Adresse") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Denomination") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("DenominationNormalisee") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("GeocodageReussi") .HasColumnType("INTEGER"); b.Property("Latitude") .HasColumnType("REAL"); b.Property("Longitude") .HasColumnType("REAL"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex(new[] { "DenominationNormalisee" }, "UX_AdresseNommee_Denomination") .IsUnique(); b.ToTable("AdressesNommees", (string)null); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Compte", b => { b.Property("Id") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Email") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("MotDePasseHash") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex(new[] { "Email" }, "UX_Comptes_Email") .IsUnique(); b.ToTable("Comptes", (string)null); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Annee") .HasColumnType("INTEGER"); b.Property("Mois") .HasColumnType("INTEGER"); b.Property("Montant") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("VehiculeId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("VehiculeId"); b.HasIndex(new[] { "Annee", "Mois", "VehiculeId" }, "UX_MontantsRegles_Periode_Vehicule") .IsUnique(); b.ToTable("MontantsRegles", null, t => { t.HasCheckConstraint("CK_MontantsRegles_Mois", "\"Mois\" BETWEEN 1 AND 12"); t.HasCheckConstraint("CK_MontantsRegles_Montant", "\"Montant\" >= 0"); }); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b => { b.Property("Id") .HasColumnType("INTEGER"); b.Property("AdresseDomicile") .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("DomicileGeocode") .HasColumnType("INTEGER"); b.Property("DomicileLatitude") .HasColumnType("REAL"); b.Property("DomicileLongitude") .HasColumnType("REAL"); b.Property("Matricule") .HasMaxLength(8) .HasColumnType("TEXT"); b.Property("Nom") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("Prenom") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex(new[] { "Id" }, "UX_Profil_Singleton") .IsUnique(); b.ToTable("Profil", (string)null); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.ResetPasswordToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Expiration") .HasColumnType("TEXT"); b.Property("TokenHash") .IsRequired() .HasColumnType("TEXT"); b.Property("UsedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex(new[] { "Expiration" }, "IX_ResetTokens_Expiration"); b.HasIndex(new[] { "TokenHash" }, "UX_ResetTokens_TokenHash") .IsUnique(); b.ToTable("ResetPasswordTokens", (string)null); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AdresseArrivee") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("AdresseDepart") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("Commentaire") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Date") .HasColumnType("TEXT"); b.Property("Distance") .HasColumnType("TEXT"); b.Property("GeometrieJson") .HasColumnType("TEXT"); b.Property("Position") .HasColumnType("TEXT"); b.Property("PuissanceFiscale") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("VehiculeId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex(new[] { "Date" }, "IX_Trajets_Date"); b.HasIndex(new[] { "Date", "Position" }, "IX_Trajets_Date_Position"); b.HasIndex(new[] { "VehiculeId" }, "IX_Trajets_Vehicule"); b.ToTable("Trajets", null, t => { t.HasCheckConstraint("CK_Trajets_Distance", "\"Distance\" IS NULL OR \"Distance\" > 0"); t.HasCheckConstraint("CK_Trajets_PuissanceFiscale", "\"PuissanceFiscale\" > 0"); }); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Annee") .HasColumnType("INTEGER"); b.Property("Base") .HasColumnType("TEXT"); b.Property("Coefficient") .HasColumnType("TEXT"); b.Property("KmMax") .HasColumnType("TEXT"); b.Property("KmMin") .HasColumnType("TEXT"); b.Property("PuissanceFiscale") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex(new[] { "Annee", "PuissanceFiscale" }, "IX_TranchesBareme_Annee_PF"); b.ToTable("TranchesBareme", null, t => { t.HasCheckConstraint("CK_TranchesBareme_Km", "\"KmMax\" IS NULL OR CAST(\"KmMin\" AS REAL) < CAST(\"KmMax\" AS REAL)"); }); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("DateEffet") .HasColumnType("TEXT"); b.Property("Denomination") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("Plaque") .IsRequired() .HasMaxLength(15) .HasColumnType("TEXT"); b.Property("PuissanceFiscale") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex(new[] { "DateEffet" }, "IX_Vehicules_DateEffet"); b.ToTable("Vehicules", null, t => { t.HasCheckConstraint("CK_Vehicules_PuissanceFiscale", "\"PuissanceFiscale\" > 0"); }); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b => { b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule") .WithMany() .HasForeignKey("VehiculeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Vehicule"); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b => { b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule") .WithMany("Trajets") .HasForeignKey("VehiculeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Vehicule"); }); modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b => { b.Navigation("Trajets"); }); #pragma warning restore 612, 618 } } }