small fixes

This commit is contained in:
Alex Bezdieniezhnykh
2024-11-14 23:31:38 +02:00
parent 8b8de81add
commit 8be7625542
3 changed files with 6 additions and 25 deletions
+3 -4
View File
@@ -105,18 +105,17 @@ app.MapPost("/users",
.WithOpenApi(op => new(op){ Summary = "Creates a new user"}); .WithOpenApi(op => new(op){ Summary = "Creates a new user"});
app.MapGet("/users", app.MapGet("/users",
async (string searchEmail, RoleEnum? searchRole, IUserService userService, CancellationToken cancellationToken) async (string? searchEmail, RoleEnum? searchRole, IUserService userService, CancellationToken cancellationToken)
=> await userService.GetUsers(searchEmail, searchRole, cancellationToken)) => await userService.GetUsers(searchEmail, searchRole, cancellationToken))
.RequireAuthorization(apiAdminPolicy) .RequireAuthorization(apiAdminPolicy)
.WithOpenApi(op => new(op){ Summary = "Lists all users"}); .WithOpenApi(op => new(op){ Summary = "List users by criteria"});
app.MapPost("/resources", app.MapPost("/resources",
async (ResourceEnum resourceEnum, IFormFile data, IResourcesService resourceService, CancellationToken cancellationToken) async (ResourceEnum resourceEnum, IFormFile data, IResourcesService resourceService, CancellationToken cancellationToken)
=> await resourceService.SaveResource(resourceEnum, data, cancellationToken)) => await resourceService.SaveResource(resourceEnum, data, cancellationToken))
.Accepts<IFormFile>("multipart/form-data") .Accepts<IFormFile>("multipart/form-data")
.RequireAuthorization(apiAdminPolicy) .RequireAuthorization(apiAdminPolicy)
.DisableAntiforgery() .DisableAntiforgery();
.WithOpenApi(op => new(op){ Summary = "Uploads / Replace existing resource by type"});
app.MapPost("/resources/get", //Need to have POST method for secure password app.MapPost("/resources/get", //Need to have POST method for secure password
async ([FromBody]GetResourceRequest request, IAuthService authService, IUserService userService, IResourcesService resourcesService, CancellationToken cancellationToken) => async ([FromBody]GetResourceRequest request, IAuthService authService, IUserService userService, IResourcesService resourcesService, CancellationToken cancellationToken) =>
-18
View File
@@ -18,24 +18,6 @@
"environmentVariables": { "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
} }
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7139;http://localhost:5219",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
} }
} }
} }
+3 -3
View File
@@ -12,7 +12,7 @@ public interface IUserService
Task RegisterUser(RegisterUserRequest request, CancellationToken cancellationToken = default); Task RegisterUser(RegisterUserRequest request, CancellationToken cancellationToken = default);
Task<User> ValidateUser(LoginRequest request, string? hardwareId = null, CancellationToken cancellationToken = default); Task<User> ValidateUser(LoginRequest request, string? hardwareId = null, CancellationToken cancellationToken = default);
Task UpdateHardwareId(string email, string hardwareId, CancellationToken cancellationToken = default); Task UpdateHardwareId(string email, string hardwareId, CancellationToken cancellationToken = default);
Task<IEnumerable<User>> GetUsers(string searchEmail, RoleEnum? searchRole, CancellationToken cancellationToken); Task<IEnumerable<User>> GetUsers(string? searchEmail, RoleEnum? searchRole, CancellationToken cancellationToken);
} }
public class UserService(IDbFactory dbFactory) : IUserService public class UserService(IDbFactory dbFactory) : IUserService
@@ -58,11 +58,11 @@ public class UserService(IDbFactory dbFactory) : IUserService
await dbFactory.RunAdmin(async db => await dbFactory.RunAdmin(async db =>
await db.Users.UpdateAsync(x => x.Email == email, u => new User { HardwareId = hardwareId}, token: cancellationToken)); await db.Users.UpdateAsync(x => x.Email == email, u => new User { HardwareId = hardwareId}, token: cancellationToken));
public async Task<IEnumerable<User>> GetUsers(string searchEmail, RoleEnum? searchRole, CancellationToken cancellationToken) => public async Task<IEnumerable<User>> GetUsers(string? searchEmail, RoleEnum? searchRole, CancellationToken cancellationToken) =>
await dbFactory.Run(async db => await dbFactory.Run(async db =>
await db.Users await db.Users
.WhereIf(!string.IsNullOrEmpty(searchEmail), .WhereIf(!string.IsNullOrEmpty(searchEmail),
u => u.Email.ToLower().Contains(searchEmail.ToLower())) u => u.Email.ToLower().Contains(searchEmail!.ToLower()))
.WhereIf(searchRole != null, .WhereIf(searchRole != null,
u => u.Role == searchRole) u => u.Role == searchRole)
.ToListAsync(token: cancellationToken)); .ToListAsync(token: cancellationToken));