This commit is contained in:
ngfrolov 2022-06-16 17:37:10 +05:00
parent 6e849d8104
commit 6512a7e752
45 changed files with 116 additions and 16 deletions

View File

@ -9,8 +9,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.5" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.6" />
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="6.0.5" /> <PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="6.0.6" />
<PackageReference Include="protobuf-net" Version="3.1.4" /> <PackageReference Include="protobuf-net" Version="3.1.4" />
<PackageReference Include="protobuf-net.AspNetCore" Version="3.0.101" /> <PackageReference Include="protobuf-net.AspNetCore" Version="3.0.101" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" />

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор кустов для админки
/// </summary>
[Route("api/admin/cluster")] [Route("api/admin/cluster")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор компаний для админки
/// </summary>
[Route("api/admin/company")] [Route("api/admin/company")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор типов компаний для админки
/// </summary>
[Route("api/admin/companyType")] [Route("api/admin/companyType")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор месторождений для админки
/// </summary>
[Route("api/admin/deposit")] [Route("api/admin/deposit")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -9,6 +9,9 @@ using System.Reflection;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор разрешений пользователей для админки
/// </summary>
[Route("api/admin/permission")] [Route("api/admin/permission")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -7,6 +7,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор телеметрий для админки
/// </summary>
[Route("api/admin/telemetry")] [Route("api/admin/telemetry")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор пользователей для админки
/// </summary>
[Route("api/admin/user")] [Route("api/admin/user")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -6,6 +6,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор ролей пользователей для админки
/// </summary>
[Route("api/admin/role")] [Route("api/admin/role")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -7,6 +7,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Редактор скважин для админки
/// </summary>
[Route("api/admin/well")] [Route("api/admin/well")]
[ApiController] [ApiController]
[Authorize] [Authorize]
@ -18,7 +21,7 @@ namespace AsbCloudWebApi.Controllers
[HttpPost("EnshureTimezonesIsSet")] [HttpPost("EnshureTimezonesIsSet")]
[Permission] [Permission]
public async Task<IActionResult> EnsureTimestamps(CancellationToken token) public async Task<IActionResult> EnshureTimezonesIsSet(CancellationToken token)
{ {
await ((IWellService)service).EnshureTimezonesIsSetAsync(token); await ((IWellService)service).EnshureTimezonesIsSetAsync(token);
return Ok(); return Ok();

View File

@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Авторизация
/// </summary>
[Route("/auth")] [Route("/auth")]
[ApiController] [ApiController]
public class AuthController : ControllerBase public class AuthController : ControllerBase

View File

@ -9,7 +9,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер кустов /// Инфо о кустах
/// </summary> /// </summary>
[Route("api/cluster")] [Route("api/cluster")]
[ApiController] [ApiController]

View File

@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// CRUD контроллер для админки. /// CRUD контроллер dto связных со скважиной для админки.
/// </summary> /// </summary>
/// <typeparam name="T"></typeparam> /// <typeparam name="T"></typeparam>
/// <typeparam name="TService"></typeparam> /// <typeparam name="TService"></typeparam>

View File

@ -10,6 +10,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Суточный рапорт
/// </summary>
[Route("api/well/{idWell}/[controller]")] [Route("api/well/{idWell}/[controller]")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -9,7 +9,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер для месторождений /// Инфо о месторождениях
/// </summary> /// </summary>
[Route("api/deposit")] [Route("api/deposit")]
[ApiController] [ApiController]

View File

@ -10,7 +10,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер для коридоров бурения на панели /// Коридоры бурения для панели бурильщика
/// </summary> /// </summary>
[ApiController] [ApiController]
[Route("api/[controller]")] [Route("api/[controller]")]

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер для режимов бурения /// Режимы бурения
/// </summary> /// </summary>
[Route("api/well/{idWell}/drillParams/")] [Route("api/well/{idWell}/drillParams/")]
[ApiController] [ApiController]

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Справочник бурильщиков
/// </summary>
[Route("api/driller")] [Route("api/driller")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -11,6 +11,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Формирование программы бурения
/// </summary>
[Route("api/well/{idWell}/drillingProgram")] [Route("api/well/{idWell}/drillingProgram")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -10,6 +10,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Хранение файлов
/// </summary>
[Route("api/well/{idWell}/files")] [Route("api/well/{idWell}/files")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -7,6 +7,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Измерения
/// </summary>
[ApiController] [ApiController]
[Authorize] [Authorize]
[Route("api/well/{idWell}/measure")] [Route("api/well/{idWell}/measure")]

View File

@ -10,7 +10,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер статистики по операциям на скважине /// Статистика по операциям (заведенным вручную) на скважине
/// </summary> /// </summary>
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -5,6 +5,9 @@ using Microsoft.AspNetCore.Mvc;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Целевые и нормативные значения по глубине
/// </summary>
[Route("api/operationValue")] [Route("api/operationValue")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -6,7 +6,7 @@ using System.Linq;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// контроллер схем ProtoBuf /// Схемы ProtoBuf
/// </summary> /// </summary>
[Route("api/proto")] [Route("api/proto")]
[ApiController] [ApiController]

View File

@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер отчетов по буровым скважинам /// Отчет (временная диаграмма с сообщениями)
/// </summary> /// </summary>
[Route("api/well/{idWell}/report")] [Route("api/well/{idWell}/report")]
[ApiController] [ApiController]

View File

@ -6,6 +6,9 @@ using System.Collections.Generic;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Мониторинг запросов, ошибок, пользователей
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers.SAUB namespace AsbCloudWebApi.Controllers.SAUB
{ {
/// <summary>
/// Сообщения панели бурильщика
/// </summary>
[Route("api/well/{idWell}/message")] [Route("api/well/{idWell}/message")]
[ApiController] [ApiController]
public class MessageController : ControllerBase public class MessageController : ControllerBase

View File

@ -9,6 +9,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers.SAUB namespace AsbCloudWebApi.Controllers.SAUB
{ {
/// <summary>
/// Рекомендация уставок бурильщику
/// </summary>
[ApiController] [ApiController]
[Authorize] [Authorize]
public class SetpointsController : ControllerBase public class SetpointsController : ControllerBase

View File

@ -12,7 +12,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers.SAUB namespace AsbCloudWebApi.Controllers.SAUB
{ {
/// <summary> /// <summary>
/// Контроллер сбора данных от буровых /// Инфо о передающих телеметрию устройствах
/// </summary> /// </summary>
[Route("api/telemetry")] [Route("api/telemetry")]
[ApiController] [ApiController]

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.SAUB namespace AsbCloudWebApi.Controllers.SAUB
{ {
/// <summary>
/// Данные АКБ
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class TelemetryDataSaubController : TelemetryDataBaseController<TelemetryDataSaubDto> public class TelemetryDataSaubController : TelemetryDataBaseController<TelemetryDataSaubDto>

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.SAUB namespace AsbCloudWebApi.Controllers.SAUB
{ {
/// <summary>
/// Данные осциллятора и демпфера
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class TelemetryDataSpinController : TelemetryDataBaseController<TelemetryDataSpinDto> public class TelemetryDataSpinController : TelemetryDataBaseController<TelemetryDataSpinDto>

View File

@ -7,6 +7,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.SAUB namespace AsbCloudWebApi.Controllers.SAUB
{ {
/// <summary>
/// Наработка талевого каната
/// </summary>
[ApiController] [ApiController]
[Authorize] [Authorize]
[Route("api/[controller]")] [Route("api/[controller]")]

View File

@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Расписание бурильщиков
/// </summary>
[Route("api/schedule")] [Route("api/schedule")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -4,6 +4,9 @@ using System.Collections.Generic;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// Инфо о WITS параметрах
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsInfoController : ControllerBase public class WitsInfoController : ControllerBase

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// WITS записи id = 1
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsRecord1Controller : WitsControllerAbstract<Record1Dto> public class WitsRecord1Controller : WitsControllerAbstract<Record1Dto>

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// WITS записи id = 50 (SIB receiver)
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsRecord50Controller : WitsControllerAbstract<Record50Dto> public class WitsRecord50Controller : WitsControllerAbstract<Record50Dto>

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// WITS записи id = 60 (SIB receiver)
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsRecord60Controller : WitsControllerAbstract<Record60Dto> public class WitsRecord60Controller : WitsControllerAbstract<Record60Dto>

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// WITS записи id = 61 (SIB receiver)
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsRecord61Controller : WitsControllerAbstract<Record61Dto> public class WitsRecord61Controller : WitsControllerAbstract<Record61Dto>

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// WITS записи id = 7
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsRecord7Controller : WitsControllerAbstract<Record7Dto> public class WitsRecord7Controller : WitsControllerAbstract<Record7Dto>

View File

@ -6,6 +6,9 @@ using Microsoft.AspNetCore.SignalR;
namespace AsbCloudWebApi.Controllers.WITS namespace AsbCloudWebApi.Controllers.WITS
{ {
/// <summary>
/// WITS записи id = 8
/// </summary>
[Route("api/[controller]")] [Route("api/[controller]")]
[ApiController] [ApiController]
public class WitsRecord8Controller : WitsControllerAbstract<Record8Dto> public class WitsRecord8Controller : WitsControllerAbstract<Record8Dto>

View File

@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Композитная скважина
/// </summary>
[Route("api/well/{idWell}/composite")] [Route("api/well/{idWell}/composite")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary>
/// Инфо о скважине
/// </summary>
[Route("api/well")] [Route("api/well")]
[ApiController] [ApiController]
[Authorize] [Authorize]

View File

@ -12,7 +12,7 @@ using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
/// <summary> /// <summary>
/// Контроллер вручную внесенных операций на скважине /// Буровые операции (вводимые вручную)
/// </summary> /// </summary>
[Route("api/well/{idWell}/wellOperations")] [Route("api/well/{idWell}/wellOperations")]
[ApiController] [ApiController]

View File

@ -3,9 +3,11 @@ using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -52,9 +54,9 @@ namespace AsbCloudWebApi
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath); var includeControllerXmlComment = true;
c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, "AsbCloudApp.xml")); c.IncludeXmlComments(xmlPath, includeControllerXmlComment);
c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, "AsbCloudApp.xml"), includeControllerXmlComment);
}); });
} }

View File

@ -93,6 +93,8 @@ namespace AsbCloudWebApi
{ {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1"); c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1");
c.EnablePersistAuthorization(); c.EnablePersistAuthorization();
c.EnableFilter();
c.DisplayOperationId();
}); });
if (env.IsDevelopment()) if (env.IsDevelopment())