Skip to content

Commit 2692d45

Browse files
committed
Refactor error handling as a whole
1 parent a554fff commit 2692d45

File tree

33 files changed

+417
-425
lines changed

33 files changed

+417
-425
lines changed

backend/NXTBackend.API.Core/NXTBackend.API.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
11+
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
1212
<PackageReference Include="Snowberry.IO" Version="2.0.0.1" />
1313
</ItemGroup>
1414

backend/NXTBackend.API.Core/Services/Implementation/RubricService.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using NXTBackend.API.Core.Services.Interface;
33
using NXTBackend.API.Domain.Entities;
44
using NXTBackend.API.Domain.Entities.Evaluation;
5+
using NXTBackend.API.Domain.Entities.Users;
56
using NXTBackend.API.Infrastructure.Database;
67

78
namespace NXTBackend.API.Core.Services.Implementation;
@@ -11,6 +12,22 @@ public sealed class RubricService : BaseService<Rubric>, IRubricService
1112
public RubricService(DatabaseContext ctx) : base(ctx)
1213
{
1314
DefineFilter<Guid>("project_id", (q, id) => q.Where((r) => r.ProjectId == id));
15+
DefineFilter<string>("project_slug", (q, slug) => q.Where((r) => r.Project.Slug == slug));
1416
DefineFilter<string>("name", (q, name) => q.Where((r) => EF.Functions.Like(r.Name, $"%{name}%")));
1517
}
18+
19+
public async Task<bool> AddCollaborator(Guid entityId, Guid userId)
20+
{
21+
throw new NotImplementedException();
22+
}
23+
24+
public async Task<(Rubric?, User?)> IsCollaborator(Guid entityId, Guid userId)
25+
{
26+
throw new NotImplementedException();
27+
}
28+
29+
public async Task<bool> RemoveCollaborator(Guid entityId, Guid userId)
30+
{
31+
throw new NotImplementedException();
32+
}
1633
}

backend/NXTBackend.API.Core/Services/Interface/IRubricService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
// See README in the root project for more information.
44
// ============================================================================
55

6+
using NXTBackend.API.Core.Services.Traits;
67
using NXTBackend.API.Domain.Entities.Evaluation;
78

89
namespace NXTBackend.API.Core.Services.Interface;
910

1011
/// <summary>
1112
/// Service for the Rubric entity.
1213
/// </summary>
13-
public interface IRubricService : IDomainService<Rubric>
14+
public interface IRubricService : IDomainService<Rubric>, ICollaborative<Rubric>
1415
{
1516

1617
}

backend/NXTBackend.API.Core/Utils/ServiceException.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class ServiceException : Exception
2222
/// </summary>
2323
public string? Detail { get; set; }
2424

25-
public ServiceException()
25+
public ServiceException() : base("Unprocessable Entity")
2626
{
2727
}
2828

backend/NXTBackend.API.Infrastructure/NXTBackend.API.Infrastructure.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
</PropertyGroup>
99
<ItemGroup>
1010
<PackageReference Include="Bogus" Version="35.6.3" />
11-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
12-
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.4" />
11+
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
12+
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.5" />
1313
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
1414
</ItemGroup>
1515
<ItemGroup>

backend/NXTBackend.API.Models/NXTBackend.API.Models.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
</ItemGroup>
2525

2626
<ItemGroup>
27-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
27+
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
2828
</ItemGroup>
2929

3030
</Project>

backend/NXTBackend.API.Tests/NXTBackend.API.Tests.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<TargetFramework>net9.0</TargetFramework>
@@ -9,12 +9,12 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="Bogus" Version="35.6.3" />
12-
<PackageReference Include="coverlet.collector" Version="6.0.2" />
13-
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.4" />
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
12+
<PackageReference Include="coverlet.collector" Version="6.0.4" />
13+
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.5" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
1515
<PackageReference Include="Moq" Version="4.20.72" />
16-
<PackageReference Include="xunit" Version="2.9.2" />
17-
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" />
16+
<PackageReference Include="xunit" Version="2.9.3" />
17+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0" />
1818
</ItemGroup>
1919

2020
<ItemGroup>

backend/NXTBackend.API/Controllers/ProjectController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using Microsoft.EntityFrameworkCore.Query;
1313
using Microsoft.Extensions.Caching.Distributed;
1414
using NXTBackend.API.Core.Services.Interface;
15+
using NXTBackend.API.Core.Utils;
1516
using NXTBackend.API.Domain.Entities;
1617
using NXTBackend.API.Infrastructure.Database;
1718
using NXTBackend.API.Models;

backend/NXTBackend.API/Controllers/RubricController.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,14 @@ public async Task<ActionResult<IEnumerable<RubricDO>>> GetAll(
5252
[FromQuery] PaginationParams paging,
5353
[FromQuery] SortingParams sorting,
5454
[FromQuery(Name = "filter[name]")] string? name,
55-
[FromQuery(Name = "filter[project_id]")] string? projectId
55+
[FromQuery(Name = "filter[project_id]")] string? projectId,
56+
[FromQuery(Name = "filter[project_slug]")] string? projectSlug
5657
)
5758
{
5859
var filters = new FilterDictionary()
5960
.AddFilter("name", name)
60-
.AddFilter("project_id", projectId);
61+
.AddFilter("project_id", projectId)
62+
.AddFilter("project_slug", projectSlug);
6163

6264
var page = await rubricService.GetAllAsync(paging, sorting, filters);
6365
page.AppendHeaders(Response.Headers);

backend/NXTBackend.API/NXTBackend.API.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@
2424
<ItemGroup>
2525
<PackageReference Include="Bogus" Version="35.6.3" />
2626
<PackageReference Include="Keycloak.AuthServices.Authentication" Version="2.6.1" />
27-
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.4" />
28-
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.4" />
29-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.4">
27+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.5" />
28+
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.5" />
29+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.5">
3030
<PrivateAssets>all</PrivateAssets>
3131
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3232
</PackageReference>
33-
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.0" />
33+
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.5" />
3434
<PackageReference Include="Quartz.AspNetCore" Version="3.14.0" />
3535
<PackageReference Include="Quartz.Extensions.DependencyInjection" Version="3.14.0" />
36-
<PackageReference Include="Scalar.AspNetCore" Version="2.1.13" />
36+
<PackageReference Include="Scalar.AspNetCore" Version="2.3.1" />
3737
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
3838
<PackageReference Include="Serilog.Expressions" Version="5.0.0" />
39-
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.4" />
40-
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.8.0" />
39+
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.5" />
40+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.10.0" />
4141
</ItemGroup>
4242

4343
<ItemGroup>

0 commit comments

Comments
 (0)