// using System; using System.Collections.Generic; using System.Net; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NetTopologySuite.Geometries; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using WhatApi.Database; #nullable disable namespace WhatApi.Migrations { [DbContext(typeof(AppDatabase))] [Migration("20251203204812_Initial")] partial class Initial { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "postgis"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("WhatApi.Database.Tables.AuditTrail", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.PrimitiveCollection("ChangedColumns") .IsRequired() .HasColumnType("jsonb"); b.Property("DateUtc") .HasColumnType("timestamp with time zone"); b.Property("EntityName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property>("NewValues") .IsRequired() .HasColumnType("jsonb"); b.Property>("OldValues") .IsRequired() .HasColumnType("jsonb"); b.Property("PrimaryKey") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("TrailType") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("EntityName"); b.ToTable("audit_trails", (string)null); }); modelBuilder.Entity("WhatApi.Database.Tables.Content", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("BlobId") .HasColumnType("uuid"); b.Property("CreatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("Ip") .IsRequired() .HasColumnType("inet"); b.Property("Mime") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("UpdatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.HasKey("Id"); b.ToTable("content", (string)null); }); modelBuilder.Entity("WhatApi.Database.Tables.Place", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ContentId") .HasColumnType("uuid"); b.Property("CreatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("Location") .IsRequired() .HasColumnType("geometry(point,4326)"); b.Property("UpdatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("ContentId"); b.HasIndex("Location"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Location"), "gist"); b.HasIndex("UserId"); b.ToTable("place", (string)null); }); modelBuilder.Entity("WhatApi.Database.Tables.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("Email") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("LastSeen") .HasColumnType("timestamp with time zone"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("PasswordHash") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("UpdatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.HasKey("Id"); b.ToTable("user", (string)null); }); modelBuilder.Entity("WhatApi.Database.Tables.Place", b => { b.HasOne("WhatApi.Database.Tables.Content", "Content") .WithMany() .HasForeignKey("ContentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("WhatApi.Database.Tables.User", null) .WithMany("Places") .HasForeignKey("UserId"); b.Navigation("Content"); }); modelBuilder.Entity("WhatApi.Database.Tables.User", b => { b.Navigation("Places"); }); #pragma warning restore 612, 618 } } }