Skip to content

Commit 97f8667

Browse files
committed
Repository and SP update for user authentication request
1 parent 1eeac28 commit 97f8667

File tree

13 files changed

+61
-23
lines changed

13 files changed

+61
-23
lines changed

LearningHub.Nhs.UserApi.Repository.Interface/LH/IUserRepository.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace LearningHub.Nhs.UserApi.Repository.Interface.LH
22
{
33
using System.Threading.Tasks;
4+
using elfhHub.Nhs.Models.Dto;
45
using LearningHub.Nhs.Models.Entities;
56

67
/// <summary>
@@ -18,5 +19,16 @@ public interface IUserRepository : IGenericLHRepository<User>
1819
/// The <see cref="Task"/>.
1920
/// </returns>
2021
Task<User> GetByIdAsync(int id);
22+
23+
/// <summary>
24+
/// The get user detail for the authentication.
25+
/// </summary>
26+
/// <param name = "username">
27+
/// username.
28+
/// </param>
29+
/// <returns>
30+
/// The <see cref="Task"/>.
31+
/// </returns>
32+
Task<UserAuthenticateDto> GetUserDetailForAuthentication(string username);
2133
}
2234
}

LearningHub.Nhs.UserApi.Repository.Interface/LearningHub.Nhs.UserApi.Repository.Interface.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="elfhHub.Nhs.Models" Version="3.0.14" />
12-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.46" />
12+
<PackageReference Include="LearningHub.Nhs.Models" Version="4.0.4" />
1313
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

LearningHub.Nhs.UserApi.Repository/LH/LearningHubDbContext.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace LearningHub.Nhs.UserApi.Repository.LH
22
{
3+
using elfhHub.Nhs.Models.Dto;
34
using LearningHub.Nhs.Models.Entities;
45
using LearningHub.Nhs.Models.Entities.External;
56
using LearningHub.Nhs.Models.Entities.Messaging;
@@ -50,6 +51,11 @@ public LearningHubDbContext(LearningHubDbContextOptions options)
5051
/// </summary>
5152
public virtual DbSet<EmailTemplate> EmailTemplate { get; set; }
5253

54+
/// <summary>
55+
/// Gets or sets the UserAuthentiate Dto.
56+
/// </summary>
57+
public virtual DbSet<UserAuthenticateDto> UserAuthenticateDto { get; set; }
58+
5359
/// <summary>
5460
/// The on model creating.
5561
/// </summary>

LearningHub.Nhs.UserApi.Repository/LH/UserRepository.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
namespace LearningHub.Nhs.UserApi.Repository.LH
22
{
3+
using System.Data;
4+
using System.Linq;
35
using System.Threading.Tasks;
6+
using elfhHub.Nhs.Models.Dto;
47
using LearningHub.Nhs.Models.Entities;
58
using LearningHub.Nhs.UserApi.Repository;
69
using LearningHub.Nhs.UserApi.Repository.Interface.LH;
10+
using Microsoft.Data.SqlClient;
711
using Microsoft.EntityFrameworkCore;
812

913
/// <summary>
@@ -26,5 +30,23 @@ public async Task<User> GetByIdAsync(int id)
2630
{
2731
return await this.DbContext.User.FirstOrDefaultWithNoLockAsync(n => n.Id == id);
2832
}
33+
34+
/// <summary>
35+
/// The get user detail for the authentication.
36+
/// </summary>
37+
/// <param name = "username">
38+
/// username.
39+
/// </param>
40+
/// <returns>
41+
/// The <see cref="Task"/>.
42+
/// </returns>
43+
public async Task<UserAuthenticateDto> GetUserDetailForAuthentication(string username)
44+
{
45+
var param0 = new SqlParameter("@userName", SqlDbType.VarChar) { Value = username };
46+
47+
var userAuthenticateDto = await this.DbContext.UserAuthenticateDto.FromSqlRaw("elfh.proc_UserDetailForAuthenticationByUserName @userName", param0).AsNoTracking().ToListAsync();
48+
49+
return userAuthenticateDto.FirstOrDefault();
50+
}
2951
}
3052
}

LearningHub.Nhs.UserApi.Repository/LearningHub.Nhs.UserApi.Repository.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="elfhHub.Nhs.Models" Version="3.0.14" />
12-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.46" />
12+
<PackageReference Include="LearningHub.Nhs.Models" Version="4.0.4" />
1313
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.20" />
1414
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" />
1515
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">

LearningHub.Nhs.UserApi.Services.Interface/LearningHub.Nhs.UserAPI.Services.Interface.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="elfhHub.Nhs.Models" Version="3.0.14" />
12-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.46" />
12+
<PackageReference Include="LearningHub.Nhs.Models" Version="4.0.4" />
1313
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

LearningHub.Nhs.UserApi.Services.UnitTests/LearningHub.Nhs.UserApi.Services.UnitTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<PackageReference Include="elfhHub.Nhs.Models" Version="3.0.14" />
1414
<PackageReference Include="EntityFrameworkCore.Testing.Moq" Version="5.0.0" />
1515
<PackageReference Include="LearningHub.Nhs.Caching" Version="2.0.0" />
16-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.46" />
16+
<PackageReference Include="LearningHub.Nhs.Models" Version="4.0.4" />
1717
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
1818
<PackageReference Include="MockQueryable.Core" Version="7.0.3" />
1919
<PackageReference Include="MockQueryable.Moq" Version="5.0.0" />

LearningHub.Nhs.UserApi.Services/ElfhUserService.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ public async Task<int> GetUserIdByUsernameAsync(string userName)
187187
/// <inheritdoc/>
188188
public async Task<UserAuthenticateDto> GetUserDetailForAuthenticateAsync(string userName)
189189
{
190-
return await this.elfhUserRepository.GetUserDetailForAuthentication(userName);
190+
return await this.lhUserRepository.GetUserDetailForAuthentication(userName);
191191
}
192192

193193
/// <inheritdoc/>
@@ -229,26 +229,26 @@ public async Task<string> GetUserRoleAsync(int id)
229229
/// <inheritdoc/>
230230
public async Task RecordSuccessfulSigninAsync(int id, CancellationToken token = default)
231231
{
232-
var user = await this.elfhUserRepository.GetByIdAsync(id);
232+
var user = await this.lhUserRepository.GetByIdAsync(id);
233233

234234
user.LoginTimes++;
235235
user.PasswordLifeCounter = 0;
236236
user.SecurityLifeCounter = 0;
237237

238-
await this.elfhUserRepository.UpdateAsync(id, user);
238+
await this.lhUserRepository.UpdateAsync(id, user);
239239

240240
await this.InvalidateElfhUserCacheAsync(user.Id, user.UserName, token);
241241
}
242242

243243
/// <inheritdoc/>
244244
public async Task RecordUnsuccessfulSigninAsync(int id, CancellationToken token = default)
245245
{
246-
var user = await this.elfhUserRepository.GetByIdAsync(id);
246+
var user = await this.lhUserRepository.GetByIdAsync(id);
247247

248248
user.LoginTimes++;
249249
user.PasswordLifeCounter++;
250250

251-
await this.elfhUserRepository.UpdateAsync(id, user);
251+
await this.lhUserRepository.UpdateAsync(id, user);
252252

253253
await this.InvalidateElfhUserCacheAsync(user.Id, user.UserName, token);
254254
}

LearningHub.Nhs.UserApi.Services/LearningHub.Nhs.UserApi.Services.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="elfhHub.Nhs.Models" Version="3.0.14" />
12-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.46" />
12+
<PackageReference Include="LearningHub.Nhs.Models" Version="4.0.4" />
1313
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.20" />
1414
<PackageReference Include="Microsoft.Extensions.Caching.Redis" Version="2.3.0" />
1515
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">

LearningHub.Nhs.UserApi.Shared/LearningHub.Nhs.UserApi.Shared.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="elfhHub.Nhs.Models" Version="3.0.14" />
12-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.46" />
12+
<PackageReference Include="LearningHub.Nhs.Models" Version="4.0.4" />
1313
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

0 commit comments

Comments
 (0)