From 4b5ab508ed652d0bb626398e8ff26c8c31960f25 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Fri, 13 Nov 2020 03:23:13 +0100 Subject: [PATCH] Fix postgres problems with admins. --- Content.Server/Database/ServerDbBase.cs | 12 ++++++++++-- Content.Server/Database/ServerDbPostgres.cs | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs index c91f4ffd71..c0978562cc 100644 --- a/Content.Server/Database/ServerDbBase.cs +++ b/Content.Server/Database/ServerDbBase.cs @@ -269,7 +269,10 @@ namespace Content.Server.Database { await using var db = await GetDb(); - db.DbContext.Admin.Update(admin); + var existing = await db.DbContext.Admin.Include(a => a.Flags).SingleAsync(a => a.UserId == admin.UserId, cancel); + existing.Flags = admin.Flags; + existing.Title = admin.Title; + existing.AdminRankId = admin.AdminRankId; await db.DbContext.SaveChangesAsync(cancel); } @@ -297,7 +300,12 @@ namespace Content.Server.Database { await using var db = await GetDb(); - db.DbContext.AdminRank.Update(rank); + var existing = await db.DbContext.AdminRank + .Include(r => r.Flags) + .SingleAsync(a => a.Id == rank.Id, cancel); + + existing.Flags = rank.Flags; + existing.Name = rank.Name; await db.DbContext.SaveChangesAsync(cancel); } diff --git a/Content.Server/Database/ServerDbPostgres.cs b/Content.Server/Database/ServerDbPostgres.cs index 21b36a4c9a..c1a55e1e62 100644 --- a/Content.Server/Database/ServerDbPostgres.cs +++ b/Content.Server/Database/ServerDbPostgres.cs @@ -173,9 +173,9 @@ namespace Content.Server.Database return new PlayerRecord( new NetUserId(record.UserId), - new DateTimeOffset(record.FirstSeenTime, TimeSpan.Zero), + new DateTimeOffset(record.FirstSeenTime), record.LastSeenUserName, - new DateTimeOffset(record.LastSeenTime, TimeSpan.Zero), + new DateTimeOffset(record.LastSeenTime), record.LastSeenAddress); }