From 862ce01bf459bad2c061b8d3b1a1cc4b5019d7be Mon Sep 17 00:00:00 2001 From: Brandon Maharaj Date: Fri, 20 Jan 2023 13:11:16 -0500 Subject: [PATCH] [SG-927] Pull the user's selected avatar color from the state store and display on Emergency Contacts page (#2582) * work: backend changes * fix: lets not mix up Grantor and Grantee * work: update view --- .../Response/EmergencyAccessResponseModel.cs | 4 ++ .../Models/Data/EmergencyAccessDetails.cs | 2 + .../dbo/Views/EmergencyAccessDetailsView.sql | 4 +- ...-13_00_AddAvatarColorToEmergencyAccess.sql | 37 +++++++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 util/Migrator/DbScripts/2023-01-13_00_AddAvatarColorToEmergencyAccess.sql diff --git a/src/Api/Models/Response/EmergencyAccessResponseModel.cs b/src/Api/Models/Response/EmergencyAccessResponseModel.cs index ec8dbd1ee0..59a9144dc7 100644 --- a/src/Api/Models/Response/EmergencyAccessResponseModel.cs +++ b/src/Api/Models/Response/EmergencyAccessResponseModel.cs @@ -54,11 +54,13 @@ public class EmergencyAccessGranteeDetailsResponseModel : EmergencyAccessRespons GranteeId = emergencyAccess.GranteeId.ToString(); Email = emergencyAccess.GranteeEmail; Name = emergencyAccess.GranteeName; + AvatarColor = emergencyAccess.GranteeAvatarColor; } public string GranteeId { get; private set; } public string Name { get; private set; } public string Email { get; private set; } + public string AvatarColor { get; private set; } } public class EmergencyAccessGrantorDetailsResponseModel : EmergencyAccessResponseModel @@ -74,11 +76,13 @@ public class EmergencyAccessGrantorDetailsResponseModel : EmergencyAccessRespons GrantorId = emergencyAccess.GrantorId.ToString(); Email = emergencyAccess.GrantorEmail; Name = emergencyAccess.GrantorName; + AvatarColor = emergencyAccess.GrantorAvatarColor; } public string GrantorId { get; private set; } public string Name { get; private set; } public string Email { get; private set; } + public string AvatarColor { get; private set; } } public class EmergencyAccessTakeoverResponseModel : ResponseModel diff --git a/src/Core/Models/Data/EmergencyAccessDetails.cs b/src/Core/Models/Data/EmergencyAccessDetails.cs index 89b04e3fcf..e8ba6bcb28 100644 --- a/src/Core/Models/Data/EmergencyAccessDetails.cs +++ b/src/Core/Models/Data/EmergencyAccessDetails.cs @@ -6,6 +6,8 @@ public class EmergencyAccessDetails : EmergencyAccess { public string GranteeName { get; set; } public string GranteeEmail { get; set; } + public string GranteeAvatarColor { get; set; } public string GrantorName { get; set; } public string GrantorEmail { get; set; } + public string GrantorAvatarColor { get; set; } } diff --git a/src/Sql/dbo/Views/EmergencyAccessDetailsView.sql b/src/Sql/dbo/Views/EmergencyAccessDetailsView.sql index 8c31f783e6..edf72e6261 100644 --- a/src/Sql/dbo/Views/EmergencyAccessDetailsView.sql +++ b/src/Sql/dbo/Views/EmergencyAccessDetailsView.sql @@ -4,8 +4,10 @@ SELECT EA.*, GranteeU.[Name] GranteeName, ISNULL(GranteeU.[Email], EA.[Email]) GranteeEmail, + GranteeU.[AvatarColor] GranteeAvatarColor, GrantorU.[Name] GrantorName, - GrantorU.[Email] GrantorEmail + GrantorU.[Email] GrantorEmail, + GrantorU.[AvatarColor] GrantorAvatarColor FROM [dbo].[EmergencyAccess] EA LEFT JOIN diff --git a/util/Migrator/DbScripts/2023-01-13_00_AddAvatarColorToEmergencyAccess.sql b/util/Migrator/DbScripts/2023-01-13_00_AddAvatarColorToEmergencyAccess.sql new file mode 100644 index 0000000000..f3d5512b99 --- /dev/null +++ b/util/Migrator/DbScripts/2023-01-13_00_AddAvatarColorToEmergencyAccess.sql @@ -0,0 +1,37 @@ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +CREATE OR ALTER VIEW [dbo].[EmergencyAccessDetailsView] +AS +SELECT + EA.*, + GranteeU.[Name] GranteeName, + ISNULL(GranteeU.[Email], EA.[Email]) GranteeEmail, + GranteeU.[AvatarColor] GranteeAvatarColor, + GrantorU.[Name] GrantorName, + GrantorU.[Email] GrantorEmail, + GrantorU.[AvatarColor] GrantorAvatarColor +FROM + [dbo].[EmergencyAccess] EA +LEFT JOIN + [dbo].[User] GranteeU ON GranteeU.[Id] = EA.[GranteeId] +LEFT JOIN + [dbo].[User] GrantorU ON GrantorU.[Id] = EA.[GrantorId] +GO + +CREATE OR ALTER PROCEDURE [dbo].[EmergencyAccessDetails_ReadByGrantorId] + @GrantorId UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT + * + FROM + [dbo].[EmergencyAccessDetailsView] + WHERE + [GrantorId] = @GrantorId +END +GO \ No newline at end of file