diff --git a/AsbCloudWebApi/Controllers/AdminPermissionController.cs b/AsbCloudWebApi/Controllers/AdminPermissionController.cs
index dcb76670..3bfb9663 100644
--- a/AsbCloudWebApi/Controllers/AdminPermissionController.cs
+++ b/AsbCloudWebApi/Controllers/AdminPermissionController.cs
@@ -19,6 +19,7 @@ namespace AsbCloudWebApi.Controllers
{}
[HttpGet("Autogenerated")]
+ [Permission]
public IActionResult GetAutogenerated()
{
var controllers = Assembly.GetExecutingAssembly().GetTypes().
diff --git a/AsbCloudWebApi/Controllers/AdminTelemetryController.cs b/AsbCloudWebApi/Controllers/AdminTelemetryController.cs
index 8fd41f19..84ed7768 100644
--- a/AsbCloudWebApi/Controllers/AdminTelemetryController.cs
+++ b/AsbCloudWebApi/Controllers/AdminTelemetryController.cs
@@ -28,6 +28,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("/merge/{idFrom}/{idTo}")]
+ [Permission]
public async Task MergeTelemetriesAsync(int idFrom, int idTo, CancellationToken token = default)
{
var count = await telemetryService.MergeAsync(idFrom, idTo, token)
diff --git a/AsbCloudWebApi/Controllers/AdminWellController.cs b/AsbCloudWebApi/Controllers/AdminWellController.cs
index f1a211ef..2a9f8a28 100644
--- a/AsbCloudWebApi/Controllers/AdminWellController.cs
+++ b/AsbCloudWebApi/Controllers/AdminWellController.cs
@@ -17,6 +17,7 @@ namespace AsbCloudWebApi.Controllers
}
[HttpPost("EnshureTimezonesIsSet")]
+ [Permission]
public IActionResult EnsureTimestamps()
{
((IWellService)service).EnshureTimezonesIsSet();
diff --git a/AsbCloudWebApi/Controllers/AuthController.cs b/AsbCloudWebApi/Controllers/AuthController.cs
index d63f0e26..7b9e828e 100644
--- a/AsbCloudWebApi/Controllers/AuthController.cs
+++ b/AsbCloudWebApi/Controllers/AuthController.cs
@@ -81,6 +81,7 @@ namespace AsbCloudWebApi.Controllers
/// Ок
[Authorize]
[HttpPut("{idUser}/ChangePassword")]
+ [Permission]
public IActionResult ChangePassword([FromRoute]int idUser, [FromBody]string newPassword)
{
const string roleName = "Администратор";
diff --git a/AsbCloudWebApi/Controllers/ClusterController.cs b/AsbCloudWebApi/Controllers/ClusterController.cs
index 3b2fdcdd..16b2ba09 100644
--- a/AsbCloudWebApi/Controllers/ClusterController.cs
+++ b/AsbCloudWebApi/Controllers/ClusterController.cs
@@ -29,6 +29,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpGet()]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetClustersAsync(CancellationToken token = default)
{
@@ -49,6 +50,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpGet("{idCluster}")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetWellsAsync(int idCluster, CancellationToken token = default)
{
diff --git a/AsbCloudWebApi/Controllers/DepositController.cs b/AsbCloudWebApi/Controllers/DepositController.cs
index 6bfac7f9..5344e1a9 100644
--- a/AsbCloudWebApi/Controllers/DepositController.cs
+++ b/AsbCloudWebApi/Controllers/DepositController.cs
@@ -29,6 +29,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetDepositsAsync(CancellationToken token = default)
{
@@ -48,6 +49,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpGet("drillParamsWells")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetDepositsDrillParamsAsync(CancellationToken token = default)
{
@@ -68,6 +70,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpGet("{depositId}")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetClustersAsync(int depositId,
CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/DrillFlowChartController.cs b/AsbCloudWebApi/Controllers/DrillFlowChartController.cs
index adaccda4..99714aa7 100644
--- a/AsbCloudWebApi/Controllers/DrillFlowChartController.cs
+++ b/AsbCloudWebApi/Controllers/DrillFlowChartController.cs
@@ -37,6 +37,7 @@ namespace AsbCloudWebApi.Controllers
/// Список параметров для коридоров бурения
[HttpGet]
[Route("api/well/{idWell}/drillFlowChart")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)]
public async Task GetAsync(int idWell, DateTime updateFrom = default,
CancellationToken token = default)
@@ -85,6 +86,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("api/well/{idWell}/drillFlowChart")]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task InsertAsync(int idWell,
DrillFlowChartDto drillFlowChartDto, CancellationToken token = default)
@@ -109,6 +111,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("api/well/{idWell}/drillFlowChart/range")]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task InsertRangeAsync(int idWell,
IEnumerable drillFlowChartParams, CancellationToken token = default)
@@ -134,6 +137,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPut]
[Route("api/well/{idWell}/drillFlowChart")]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task EditAsync(int idWell,
DrillFlowChartDto drillFlowChart, CancellationToken token = default)
@@ -159,6 +163,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpDelete]
[Route("api/well/{idWell}/drillFlowChart")]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task DeleteAsync(int idWell,
int drillFlowChartParamsId, CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/DrillParamsController.cs b/AsbCloudWebApi/Controllers/DrillParamsController.cs
index 297e54c4..50c3a432 100644
--- a/AsbCloudWebApi/Controllers/DrillParamsController.cs
+++ b/AsbCloudWebApi/Controllers/DrillParamsController.cs
@@ -33,6 +33,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Значения по умолчанию для режимов бурения
[HttpGet("autoParams")]
+ [Permission]
[ProducesResponseType(typeof(DrillParamsDto), (int) System.Net.HttpStatusCode.OK)]
public async Task GetDefaultAsync(int idWell,
double startDepth, double endDepth, CancellationToken token = default)
@@ -56,6 +57,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Список параметров для режимов бурения на скважине
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)]
public async Task GetAllAsync(int idWell,
CancellationToken token = default)
@@ -79,6 +81,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPost]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task InsertAsync(int idWell,
DrillParamsDto drillParamsDto, CancellationToken token = default)
@@ -102,6 +105,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPost("range")]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task InsertRangeAsync(int idWell,
IEnumerable drillParams, CancellationToken token = default)
@@ -126,6 +130,7 @@ namespace AsbCloudWebApi.Controllers
///
/// кол-во затронутых изменениями записей
[HttpPost("save")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task SaveAsync(int idWell, IEnumerable drillParams, CancellationToken token = default)
{
@@ -150,6 +155,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPut]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task UpdateAsync(int idWell, int dtoId,
DrillParamsDto drillParamsDto, CancellationToken token = default)
@@ -174,6 +180,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpDelete]
+ [Permission]
[ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)]
public async Task DeleteAsync(int idWell,
int drillParamsId, CancellationToken token = default)
@@ -197,6 +204,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Список параметров для режимов бурения на композитной скважине
[HttpGet("composite")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)]
public async Task GetCompositeAllAsync(int idWell, CancellationToken token = default)
{
diff --git a/AsbCloudWebApi/Controllers/DrillingProgramController.cs b/AsbCloudWebApi/Controllers/DrillingProgramController.cs
index 7be00083..d79aa198 100644
--- a/AsbCloudWebApi/Controllers/DrillingProgramController.cs
+++ b/AsbCloudWebApi/Controllers/DrillingProgramController.cs
@@ -32,6 +32,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Возвращает файл программы бурения
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(FileResult), (int)System.Net.HttpStatusCode.OK)]
public async Task GetAsync(int idWell, CancellationToken token = default)
{
@@ -64,6 +65,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Возвращает ссылку на файл программы бурения в облаке
[HttpGet("webUrl")]
+ [Permission]
[ProducesResponseType(typeof(string), (int)System.Net.HttpStatusCode.OK)]
public async Task GetOrCreateSharedUrlAsync(int idWell, [FromServices]IFileShareService fileShareService, CancellationToken token = default)
{
@@ -91,6 +93,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPost("fileMark")]
+ [Permission]
public async Task CreateFileMarkAsync(int idWell, FileMarkDto markDto, CancellationToken token = default)
{
var idCompany = User.GetCompanyId();
@@ -116,6 +119,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpDelete("fileMark")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task DeleteFileMarkAsync(int idWell, int idMark,
CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/FileController.cs b/AsbCloudWebApi/Controllers/FileController.cs
index 8dd2aa74..7a11b397 100644
--- a/AsbCloudWebApi/Controllers/FileController.cs
+++ b/AsbCloudWebApi/Controllers/FileController.cs
@@ -34,6 +34,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPost]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task SaveFilesAsync(int idWell, int idCategory,
[FromForm] IFormFileCollection files, CancellationToken token = default)
@@ -79,6 +80,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Список информации о файлах в этой категории
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(PaginationContainer), (int)System.Net.HttpStatusCode.OK)]
public async Task GetFilesInfoAsync(
[FromRoute] int idWell,
@@ -112,6 +114,7 @@ namespace AsbCloudWebApi.Controllers
/// Запрашиваемый файл
[HttpGet]
[Route("{fileId}")]
+ [Permission]
[ProducesResponseType(typeof(PhysicalFileResult), (int)System.Net.HttpStatusCode.OK)]
public async Task GetFileAsync([FromRoute] int idWell,
int fileId, CancellationToken token = default)
@@ -149,6 +152,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpDelete("{idFile}")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task DeleteAsync(int idWell, int idFile,
CancellationToken token = default)
@@ -172,6 +176,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPost("fileMark")]
+ [Permission]
public async Task CreateFileMarkAsync(int idWell, FileMarkDto markDto, CancellationToken token = default)
{
var idCompany = User.GetCompanyId();
@@ -197,6 +202,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpDelete("fileMark")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task DeleteFileMarkAsync(int idWell, int idMark,
CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/MeasureController.cs b/AsbCloudWebApi/Controllers/MeasureController.cs
index 203cdd61..eafbd753 100644
--- a/AsbCloudWebApi/Controllers/MeasureController.cs
+++ b/AsbCloudWebApi/Controllers/MeasureController.cs
@@ -22,6 +22,7 @@ namespace AsbCloudWebApi.Controllers
}
[HttpGet]
+ [Permission]
[Route("categories")]
public async Task GetCategoriesAsync([FromRoute] int idWell, CancellationToken token = default)
{
@@ -33,6 +34,7 @@ namespace AsbCloudWebApi.Controllers
}
[HttpGet]
+ [Permission]
[Route("last/{idCategory}")]
public async Task GetLastAsync([FromRoute] int idWell, [FromRoute] int idCategory, CancellationToken token = default)
{
@@ -51,6 +53,7 @@ namespace AsbCloudWebApi.Controllers
///
///
[HttpGet]
+ [Permission]
[Route("history")]
public async Task GetHisoryAsync([FromRoute] int idWell, int? idCategory = null, CancellationToken token = default)
{
@@ -62,6 +65,7 @@ namespace AsbCloudWebApi.Controllers
}
[HttpPost]
+ [Permission]
public async Task InsertAsync([FromRoute] int idWell, MeasureDto data, CancellationToken token = default)
{
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
@@ -72,6 +76,7 @@ namespace AsbCloudWebApi.Controllers
}
[HttpPut]
+ [Permission]
public async Task UpdateAsync([FromRoute] int idWell, MeasureDto data, CancellationToken token = default)
{
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
@@ -82,6 +87,7 @@ namespace AsbCloudWebApi.Controllers
}
[HttpDelete]
+ [Permission]
[Route("history/{idData}")]
public async Task MarkAsDeleteAsync([FromRoute] int idWell, [FromRoute] int idData, CancellationToken token = default)
{
diff --git a/AsbCloudWebApi/Controllers/MessageController.cs b/AsbCloudWebApi/Controllers/MessageController.cs
index 8c9c06c5..384e9b11 100644
--- a/AsbCloudWebApi/Controllers/MessageController.cs
+++ b/AsbCloudWebApi/Controllers/MessageController.cs
@@ -34,6 +34,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен для отмены задачи
/// список сообщений по скважине
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(PaginationContainer), (int)System.Net.HttpStatusCode.OK)]
public async Task GetMessagesAsync(int idWell, int skip = 0, int take = 32,
[FromQuery] IEnumerable categoryids = default,
@@ -62,6 +63,7 @@ namespace AsbCloudWebApi.Controllers
/// список сообщений по скважине
[HttpGet]
[Route("datesRange")]
+ [Permission]
[ProducesResponseType(typeof(DatesRangeDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetMessagesDateRangeAsync(int idWell, CancellationToken token = default)
{
diff --git a/AsbCloudWebApi/Controllers/OperationStatController.cs b/AsbCloudWebApi/Controllers/OperationStatController.cs
index 556ea4d5..909e0bb6 100644
--- a/AsbCloudWebApi/Controllers/OperationStatController.cs
+++ b/AsbCloudWebApi/Controllers/OperationStatController.cs
@@ -33,6 +33,7 @@ namespace AsbCloudWebApi.Controllers
///
/// Возвращает данные по среднему и максимальному МСП на кусту
[HttpGet("well/{idWell}/ropStat")]
+ [Permission]
[ProducesResponseType(typeof(ClusterRopStatDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetClusterRopStatByIdWellAsync([FromRoute] int idWell,
CancellationToken token = default)
@@ -72,6 +73,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("cluster/{idCluster}/stat")] // TODO: Это статистика кластера, перенести в ClusterOperationStatController
+ [Permission]
[ProducesResponseType(typeof(StatClusterDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetStatClusterAsync(int idCluster,
CancellationToken token = default)
@@ -98,6 +100,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("wellsStats")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetWellsStatAsync([FromQuery]IEnumerable idWells, CancellationToken token = default)
{
@@ -115,6 +118,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("well/{idWell}/stat")]
+ [Permission]
[ProducesResponseType(typeof(StatWellDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetStatWellAsync(int idWell,
CancellationToken token = default)
@@ -135,6 +139,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("well/{idWell}/tvd")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable>), (int)System.Net.HttpStatusCode.OK)]
public async Task GetTvdAsync(int idWell,
CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/ReportController.cs b/AsbCloudWebApi/Controllers/ReportController.cs
index 1d550a27..63b623c5 100644
--- a/AsbCloudWebApi/Controllers/ReportController.cs
+++ b/AsbCloudWebApi/Controllers/ReportController.cs
@@ -42,6 +42,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен для отмены задачи
/// id фоновой задачи формирования отчета
[HttpPost]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task CreateReportAsync(int idWell, int stepSeconds, int format,
DateTime begin = default, DateTime end = default,
@@ -80,6 +81,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен для отмены задачи
/// Список имен существующих отчетов (отчетов)
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetAllReportsNamesByWellAsync(int idWell, CancellationToken token = default)
{
@@ -109,6 +111,7 @@ namespace AsbCloudWebApi.Controllers
/// прогнозируемое кол-во страниц отчета
[HttpGet]
[Route("reportSize")]
+ [Permission]
[ProducesResponseType(typeof(string), (int)System.Net.HttpStatusCode.OK)]
public async Task GetReportSizeAsync(int idWell,
int stepSeconds, int format, DateTime begin = default,
@@ -137,6 +140,7 @@ namespace AsbCloudWebApi.Controllers
/// Даты самого старого и самого свежего отчетов в БД
[HttpGet]
[Route("datesRange")]
+ [Permission]
[ProducesResponseType(typeof(DatesRangeDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetReportsDateRangeAsync(int idWell, CancellationToken token = default)
{
diff --git a/AsbCloudWebApi/Controllers/RequerstTrackerController.cs b/AsbCloudWebApi/Controllers/RequerstTrackerController.cs
index d6c86b08..53ae531c 100644
--- a/AsbCloudWebApi/Controllers/RequerstTrackerController.cs
+++ b/AsbCloudWebApi/Controllers/RequerstTrackerController.cs
@@ -24,6 +24,7 @@ namespace AsbCloudWebApi.Controllers
/// от 1 до 1000
///
[HttpGet]
+ [Permission]
public IActionResult GetAll(int take = 512)
{
var result = service.GetAll(take);
@@ -36,6 +37,7 @@ namespace AsbCloudWebApi.Controllers
/// от 1 до 1000
///
[HttpGet("fast")]
+ [Permission]
public IActionResult GetFast(int take = 512)
{
var result = service.GetFast(take);
@@ -48,6 +50,7 @@ namespace AsbCloudWebApi.Controllers
/// от 1 до 1000
///
[HttpGet("slow")]
+ [Permission]
public IActionResult GetSlow(int take = 512)
{
var result = service.GetSlow(take);
@@ -60,6 +63,7 @@ namespace AsbCloudWebApi.Controllers
/// от 1 до 1000
///
[HttpGet("error")]
+ [Permission]
public IActionResult GetError(int take = 512)
{
var result = service.GetError(take);
@@ -72,7 +76,7 @@ namespace AsbCloudWebApi.Controllers
/// от 1 до 1000
///
[HttpGet("users")]
-
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public IActionResult GetUsersStat(int take = 512)
{
diff --git a/AsbCloudWebApi/Controllers/SetpointsController.cs b/AsbCloudWebApi/Controllers/SetpointsController.cs
index 22a129a6..3f3e481e 100644
--- a/AsbCloudWebApi/Controllers/SetpointsController.cs
+++ b/AsbCloudWebApi/Controllers/SetpointsController.cs
@@ -48,6 +48,7 @@ namespace AsbCloudWebApi.Controllers
///
///
[HttpPost("api/well/{idWell}/setpoints")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task InsertAsync(int idWell, SetpointsRequestDto setpoints, CancellationToken token = default)
{
@@ -86,6 +87,7 @@ namespace AsbCloudWebApi.Controllers
///
///
[HttpGet("api/well/{idWell}/setpoints")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetByIdWellAsync([FromRoute] int idWell, CancellationToken token = default)
{
@@ -147,6 +149,7 @@ namespace AsbCloudWebApi.Controllers
///
/// 1 - удалено, 0 и меньше - не удалено
[HttpDelete("api/well/{idWell}/setpoints/{id}")]
+ [Permission]
public async Task TryDeleteByIdWellAsync(int idWell, int id, CancellationToken token = default)
{
int? idCompany = User.GetCompanyId();
diff --git a/AsbCloudWebApi/Controllers/TelemetryAnalyticsController.cs b/AsbCloudWebApi/Controllers/TelemetryAnalyticsController.cs
index 0ccd804d..fdeafb35 100644
--- a/AsbCloudWebApi/Controllers/TelemetryAnalyticsController.cs
+++ b/AsbCloudWebApi/Controllers/TelemetryAnalyticsController.cs
@@ -37,6 +37,7 @@ namespace AsbCloudWebApi.Controllers
/// Список операций на скважине за все время
[HttpGet]
[Route("operationsByWell")]
+ [Permission]
[ProducesResponseType(typeof(PaginationContainer), (int)System.Net.HttpStatusCode.OK)]
public async Task GetOperationsByWellAsync(int idWell, int skip = 0, int take = 32,
[FromQuery] IEnumerable categoryIds = default, DateTime begin = default, DateTime end = default,
@@ -65,6 +66,7 @@ namespace AsbCloudWebApi.Controllers
/// Коллекцию данных по скважине "глубина-день"
[HttpGet]
[Route("wellDepthToDay")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetWellDepthToDayAsync(int idWell,
CancellationToken token = default)
@@ -94,6 +96,7 @@ namespace AsbCloudWebApi.Controllers
/// Коллекцию данных по глубине скважины за период
[HttpGet]
[Route("wellDepthToInterval")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetWellDepthToIntervalAsync(int idWell,
int intervalSeconds, int shiftStartSec, CancellationToken token = default)
@@ -123,6 +126,7 @@ namespace AsbCloudWebApi.Controllers
/// Коллекцию операций на скважине
[HttpGet]
[Route("operationsSummary")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetOperationsSummaryAsync(int idWell, DateTime begin = default,
DateTime end = default, CancellationToken token = default)
@@ -152,6 +156,7 @@ namespace AsbCloudWebApi.Controllers
/// Коллекцию операций на скважине
[HttpGet]
[Route("operationsToInterval")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetOperationsToIntervalAsync(int idWell,
int intervalSeconds, int workBeginSeconds, CancellationToken token = default)
@@ -179,6 +184,7 @@ namespace AsbCloudWebApi.Controllers
/// Даты самой первой и самой последней операций на скважине
[HttpGet]
[Route("datesRange")]
+ [Permission]
[ProducesResponseType(typeof(DatesRangeDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetOperationsDateRangeAsync(int idWell, CancellationToken token = default)
{
diff --git a/AsbCloudWebApi/Controllers/TelemetryController.cs b/AsbCloudWebApi/Controllers/TelemetryController.cs
index e66734a9..419501c1 100644
--- a/AsbCloudWebApi/Controllers/TelemetryController.cs
+++ b/AsbCloudWebApi/Controllers/TelemetryController.cs
@@ -47,6 +47,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("{uid}/info")]
+ [Permission]
public async Task PostInfoAsync(string uid, [FromBody] TelemetryInfoDto info,
CancellationToken token = default)
{
@@ -63,6 +64,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("{uid}/timezone")]
+ [Permission]
public async Task UpdateTimeZoneAsync(string uid, SimpleTimezoneDto timezone,
CancellationToken token = default)
{
@@ -80,6 +82,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("{uid}/message")]
+ [Permission]
public async Task PostMessagesAsync(string uid, [FromBody] IEnumerable dtos,
CancellationToken token = default)
{
@@ -102,6 +105,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("{uid}/event")]
+ [Permission]
public async Task PostEventsAsync(string uid, [FromBody] List events,
CancellationToken token = default)
{
@@ -118,6 +122,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpPost]
[Route("{uid}/user")]
+ [Permission]
public IActionResult PostUsers(string uid, [FromBody] List users)
{
telemetryUserService.Upsert(uid, users);
diff --git a/AsbCloudWebApi/Controllers/TelemetryDataBaseController.cs b/AsbCloudWebApi/Controllers/TelemetryDataBaseController.cs
index 869f4815..3c1f32f5 100644
--- a/AsbCloudWebApi/Controllers/TelemetryDataBaseController.cs
+++ b/AsbCloudWebApi/Controllers/TelemetryDataBaseController.cs
@@ -71,6 +71,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен завершения задачи
///
[HttpGet("{idWell}")]
+ [Permission]
public virtual async Task> GetDataAsync(int idWell, DateTime begin = default,
int intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default)
{
@@ -99,6 +100,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("{idWell}/datesRange")]
+ [Permission]
[ProducesResponseType(typeof(DatesRangeDto), (int)System.Net.HttpStatusCode.OK)]
public virtual async Task GetDataDatesRangeAsync(int idWell,
CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/WellCompositeController.cs b/AsbCloudWebApi/Controllers/WellCompositeController.cs
index a5915b8b..ee3314c5 100644
--- a/AsbCloudWebApi/Controllers/WellCompositeController.cs
+++ b/AsbCloudWebApi/Controllers/WellCompositeController.cs
@@ -29,6 +29,7 @@ namespace AsbCloudWebApi.Controllers
///
///
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetAsync(int idWell, CancellationToken token = default)
{
@@ -47,6 +48,7 @@ namespace AsbCloudWebApi.Controllers
///
///
[HttpPost]
+ [Permission]
public async Task SaveAsync(int idWell, IEnumerable wellComposites, CancellationToken token = default)
{
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
diff --git a/AsbCloudWebApi/Controllers/WellController.cs b/AsbCloudWebApi/Controllers/WellController.cs
index 336340e0..bd64cdbc 100644
--- a/AsbCloudWebApi/Controllers/WellController.cs
+++ b/AsbCloudWebApi/Controllers/WellController.cs
@@ -27,6 +27,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Список скважин
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetWellsAsync(CancellationToken token = default)
{
@@ -53,6 +54,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Информация о требуемой скважине
[HttpGet("{idWell}")]
+ [Permission]
[ProducesResponseType(typeof(WellDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetAsync(int idWell, CancellationToken token = default)
{
@@ -77,6 +79,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPut("{idWell}")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task UpdateWellAsync(int idWell, WellDto dto,
CancellationToken token = default)
diff --git a/AsbCloudWebApi/Controllers/WellOperationController.cs b/AsbCloudWebApi/Controllers/WellOperationController.cs
index ced24d5a..d5c3aee8 100644
--- a/AsbCloudWebApi/Controllers/WellOperationController.cs
+++ b/AsbCloudWebApi/Controllers/WellOperationController.cs
@@ -36,6 +36,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("sectionTypes")]
+ [Permission]
[ProducesResponseType(typeof(IDictionary), (int)System.Net.HttpStatusCode.OK)]
public IActionResult GetSectionTypes()
{
@@ -50,6 +51,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet]
[Route("categories")]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public IActionResult GetCategories()
{
@@ -73,6 +75,7 @@ namespace AsbCloudWebApi.Controllers
///
/// Список операций на скважине в контейнере для постраничного просмотра
[HttpGet]
+ [Permission]
[ProducesResponseType(typeof(PaginationContainer), (int)System.Net.HttpStatusCode.OK)]
public async Task GetOperationsAsync(
[FromRoute] int idWell,
@@ -115,6 +118,7 @@ namespace AsbCloudWebApi.Controllers
/// Нужную операцию на скважине
[HttpGet]
[Route("{idOperation}")]
+ [Permission]
[ProducesResponseType(typeof(WellOperationDto), (int)System.Net.HttpStatusCode.OK)]
public async Task GetAsync(int idWell, int idOperation,
CancellationToken token = default)
@@ -134,6 +138,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Количество добавленных в БД строк
[HttpPost]
+ [Permission]
[ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task InsertRangeAsync(int idWell, [FromBody] IEnumerable values,
CancellationToken token = default)
@@ -155,6 +160,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Количество обновленных в БД строк
[HttpPut("{idOperation}")]
+ [Permission]
[ProducesResponseType(typeof(WellOperationDto), (int)System.Net.HttpStatusCode.OK)]
public async Task UpdateAsync(int idWell, int idOperation,
[FromBody] WellOperationDto value, CancellationToken token = default)
@@ -175,6 +181,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
/// Количество удаленных из БД строк
[HttpDelete("{idOperation}")]
+ [Permission]
[ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)]
public async Task DeleteAsync(int idWell, int idOperation, CancellationToken token = default)
{
@@ -198,6 +205,7 @@ namespace AsbCloudWebApi.Controllers
/// Токен отмены задачи
///
[HttpPost]
+ [Permission]
[Route("import/{options}")]
public async Task ImportAsync(int idWell,
[FromForm] IFormFileCollection files,
@@ -242,6 +250,7 @@ namespace AsbCloudWebApi.Controllers
/// Запрашиваемый файл
[HttpGet]
[Route("export")]
+ [Permission]
[ProducesResponseType(typeof(PhysicalFileResult), (int)System.Net.HttpStatusCode.OK)]
public async Task ExportAsync([FromRoute] int idWell, CancellationToken token = default)
{