// 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; #nullable disable namespace WhatApi.Migrations { [DbContext(typeof(Database))] [Migration("20251026215643_Initial")] partial class Initial { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "postgis"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("WhatApi.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.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.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.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("Password") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAtUtc") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.HasKey("Id"); b.ToTable("user", (string)null); }); modelBuilder.Entity("WhatApi.Tables.Place", b => { b.HasOne("WhatApi.Tables.Content", "Content") .WithMany() .HasForeignKey("ContentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("WhatApi.Tables.User", null) .WithMany("Places") .HasForeignKey("UserId"); b.Navigation("Content"); }); modelBuilder.Entity("WhatApi.Tables.User", b => { b.Navigation("Places"); }); #pragma warning restore 612, 618 } } }