summaryrefslogtreecommitdiffstats
path: root/api/WhatApi/Database/Tables/Place.cs
diff options
context:
space:
mode:
Diffstat (limited to 'api/WhatApi/Database/Tables/Place.cs')
-rw-r--r--api/WhatApi/Database/Tables/Place.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/api/WhatApi/Database/Tables/Place.cs b/api/WhatApi/Database/Tables/Place.cs
new file mode 100644
index 0000000..2914aa7
--- /dev/null
+++ b/api/WhatApi/Database/Tables/Place.cs
@@ -0,0 +1,21 @@
+namespace WhatApi.Database.Tables;
+
+public class Place : BaseAuditableEntity
+{
+ public Guid Id { get; set; }
+ public Guid ContentId { get; set; }
+ public Content Content { get; set; } = null!;
+ public required Point Location { get; set; }
+}
+
+public class PlaceConfiguration : IEntityTypeConfiguration<Place>
+{
+ public void Configure(EntityTypeBuilder<Place> builder) {
+ builder.ToTable("place");
+ builder.HasKey(x => x.Id);
+ builder.Property(x => x.Location).IsRequired();
+ builder.HasOne(x => x.Content);
+ builder.Property(x => x.Location).HasColumnType($"geometry(point,{Constants.Wgs84SpatialReferenceId})");
+ builder.HasIndex(x => x.Location).HasMethod("gist");
+ }
+}