diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj
index 898f0550b0..6397e0b8ea 100644
--- a/src/Core/Core.csproj
+++ b/src/Core/Core.csproj
@@ -75,4 +75,8 @@
+
+
+
+
diff --git a/src/Infrastructure.EntityFramework/Infrastructure.EntityFramework.csproj b/src/Infrastructure.EntityFramework/Infrastructure.EntityFramework.csproj
index 639d88524b..9814eef2aa 100644
--- a/src/Infrastructure.EntityFramework/Infrastructure.EntityFramework.csproj
+++ b/src/Infrastructure.EntityFramework/Infrastructure.EntityFramework.csproj
@@ -1,10 +1,5 @@
-
-
- $(WarningsNotAsErrors);CS0108
-
-
diff --git a/src/Infrastructure.EntityFramework/Platform/Installations/Models/Installation.cs b/src/Infrastructure.EntityFramework/Platform/Installations/Models/Installation.cs
index 96b60a39ed..601ae993b3 100644
--- a/src/Infrastructure.EntityFramework/Platform/Installations/Models/Installation.cs
+++ b/src/Infrastructure.EntityFramework/Platform/Installations/Models/Installation.cs
@@ -3,22 +3,12 @@ using C = Bit.Core.Platform.Installations;
namespace Bit.Infrastructure.EntityFramework.Platform;
-public class Installation : C.Installation
-{
- // Shadow property - to be introduced by https://bitwarden.atlassian.net/browse/PM-11129
- // This isn't a value or entity used by self hosted servers, but it's
- // being added for synchronicity between database provider options.
- public DateTime? LastActivityDate { get; set; }
-}
+public class Installation : C.Installation;
public class InstallationMapperProfile : Profile
{
public InstallationMapperProfile()
{
- CreateMap()
- // Shadow property - to be introduced by https://bitwarden.atlassian.net/browse/PM-11129
- .ForMember(i => i.LastActivityDate, opt => opt.Ignore())
- .ReverseMap();
CreateMap().ReverseMap();
}
}
diff --git a/test/Infrastructure.IntegrationTest/Platform/Installations/InstallationRepositoryTests.cs b/test/Infrastructure.IntegrationTest/Platform/Installations/InstallationRepositoryTests.cs
new file mode 100644
index 0000000000..2d212d4e39
--- /dev/null
+++ b/test/Infrastructure.IntegrationTest/Platform/Installations/InstallationRepositoryTests.cs
@@ -0,0 +1,46 @@
+using Bit.Core.Platform.Installations;
+using Bit.Infrastructure.IntegrationTest.Comparers;
+using Xunit;
+
+namespace Bit.Infrastructure.IntegrationTest.Platform.Installations;
+
+public class InstallationRepositoryTests
+{
+ [DatabaseTheory, DatabaseData]
+ public async Task GetByIdAsync_Works(IInstallationRepository installationRepository)
+ {
+ var installation = await installationRepository.CreateAsync(new Installation
+ {
+ Email = "test@email.com",
+ Key = "installation_key",
+ Enabled = true,
+ });
+
+ var retrievedInstallation = await installationRepository.GetByIdAsync(installation.Id);
+
+ Assert.NotNull(retrievedInstallation);
+ Assert.Equal("installation_key", retrievedInstallation.Key);
+ }
+
+ [DatabaseTheory, DatabaseData]
+ public async Task UpdateAsync_Works(IInstallationRepository installationRepository)
+ {
+ var installation = await installationRepository.CreateAsync(new Installation
+ {
+ Email = "test@email.com",
+ Key = "installation_key",
+ Enabled = true,
+ });
+
+ var now = DateTime.UtcNow;
+
+ installation.LastActivityDate = now;
+
+ await installationRepository.ReplaceAsync(installation);
+
+ var retrievedInstallation = await installationRepository.GetByIdAsync(installation.Id);
+
+ Assert.NotNull(retrievedInstallation.LastActivityDate);
+ Assert.Equal(now, retrievedInstallation.LastActivityDate.Value, LaxDateTimeComparer.Default);
+ }
+}