Release v1.0.0 #16

Merged
Wesser merged 492 commits from release/v1.0.0 into master 2025-02-12 09:19:32 +03:00
296 changed files with 15467 additions and 99 deletions
Showing only changes of commit 5870eef552 - Show all commits
.editorconfig.env
.gitea/workflows
.gitignore
ApiDto
Backend.slnDockerfile
Endpoint
Backend.http
Common
Configuration
Controllers
Endpoint.csprojProgram.cs
Sync
WeatherForecast.cs
wwwroot/css/swagger
README.md
Security
SqlData
Application
Application.csproj
Common
Cqrs
Campus/Queries
Discipline/Queries
Faculty/Queries/GetFacultyList
Group/Queries
LectureHall/Queries
Professor/Queries
Schedule/Queries/GetScheduleList
TypeOfOccupation/Queries/GetTypeOfOccupationList
DependencyInjection.cs
Interfaces/DbContexts
Domain
Migrations
Persistence
nuget.config

@ -17,6 +17,7 @@ public static class SwaggerConfiguration
{ {
services.AddSwaggerGen(options => services.AddSwaggerGen(options =>
{ {
options.OperationFilter<SwaggerTagSchemeFilter>();
options.SchemaFilter<SwaggerExampleFilter>(); options.SchemaFilter<SwaggerExampleFilter>();
options.OperationFilter<SwaggerDefaultValues>(); options.OperationFilter<SwaggerDefaultValues>();
options.OperationFilter<ActionResultSchemaFilter>(); options.OperationFilter<ActionResultSchemaFilter>();

@ -0,0 +1,40 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using System.Linq;
using System.Reflection;
namespace Mirea.Api.Endpoint.Configuration.SwaggerOptions;
public class SwaggerTagSchemeFilter : IOperationFilter
{
public void Apply(OpenApiOperation operation, OperationFilterContext context)
{
if (context.ApiDescription.ActionDescriptor is not ControllerActionDescriptor controllerActionDescriptor)
return;
var controllerType = controllerActionDescriptor.ControllerTypeInfo;
var tagsAttribute = controllerType.GetCustomAttributes<TagsAttribute>(inherit: true).FirstOrDefault();
if (tagsAttribute == null)
{
var baseType = controllerType.BaseType;
while (baseType != null)
{
tagsAttribute = baseType.GetCustomAttributes<TagsAttribute>(inherit: true).FirstOrDefault();
if (tagsAttribute != null)
break;
baseType = baseType.BaseType;
}
}
if (tagsAttribute == null)
return;
operation.Tags ??= [];
operation.Tags.Add(new OpenApiTag { Name = tagsAttribute.Tags[0] });
}
}

@ -0,0 +1,11 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace Mirea.Api.Endpoint.Controllers;
[Route("api/v{version:apiVersion}/Configuration/[controller]")]
[Authorize]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[Tags("Configuration")]
public class ConfigurationBaseController : BaseController;