From 149937ed8836853dc431d2adf4c7b12cb1eb1984 Mon Sep 17 00:00:00 2001 From: Dvurechensky <46356631+Dvurechensky@users.noreply.github.com> Date: Mon, 12 May 2025 07:49:45 +0300 Subject: [PATCH] 2.0.3 --- .gitignore | 3 +- .../Companies/Controllers/AjaxController.cs | 10 +++- .../Companies/Controllers/HomeController.cs | 10 +++- Companies/Companies/Data/Ajax/Requests.cs | 10 +++- Companies/Companies/Data/Home/Company.cs | 10 +++- Companies/Companies/Extensions/AuthExt.cs | 10 +++- Companies/Companies/Extensions/JsonExt.cs | 10 +++- .../Middleware/AntiforgeryMiddleware.cs | 10 +++- Companies/Companies/Models/ErrorViewModel.cs | 8 +++ Companies/Companies/Models/HomeViewModel.cs | 10 +++- Companies/Companies/Program.cs | 52 +++++++++++-------- .../Companies/Services/DatabaseContext .cs | 10 +++- 12 files changed, 121 insertions(+), 32 deletions(-) diff --git a/.gitignore b/.gitignore index 71ec0d1..9fe81d4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,8 @@ # # or wget: # wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore - +pre_commit.log +pre_commit.ps1 # User-specific files *.suo *.user diff --git a/Companies/Companies/Controllers/AjaxController.cs b/Companies/Companies/Controllers/AjaxController.cs index 1d03be7..41682ad 100644 --- a/Companies/Companies/Controllers/AjaxController.cs +++ b/Companies/Companies/Controllers/AjaxController.cs @@ -1,4 +1,12 @@ -using Companies.Data.Ajax; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using Companies.Data.Ajax; using Companies.Data.Home; using Companies.Services; using Extensions; diff --git a/Companies/Companies/Controllers/HomeController.cs b/Companies/Companies/Controllers/HomeController.cs index a32f0b0..8d80557 100644 --- a/Companies/Companies/Controllers/HomeController.cs +++ b/Companies/Companies/Controllers/HomeController.cs @@ -1,4 +1,12 @@ -using Companies.Data.Home; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using Companies.Data.Home; using Companies.Models; using Companies.Services; using Microsoft.AspNetCore.Mvc; diff --git a/Companies/Companies/Data/Ajax/Requests.cs b/Companies/Companies/Data/Ajax/Requests.cs index 5fa1cd1..53db8d7 100644 --- a/Companies/Companies/Data/Ajax/Requests.cs +++ b/Companies/Companies/Data/Ajax/Requests.cs @@ -1,4 +1,12 @@ -using Companies.Data.Home; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using Companies.Data.Home; using System.Text.Json.Serialization; namespace Companies.Data.Ajax diff --git a/Companies/Companies/Data/Home/Company.cs b/Companies/Companies/Data/Home/Company.cs index 50d1434..17e16b5 100644 --- a/Companies/Companies/Data/Home/Company.cs +++ b/Companies/Companies/Data/Home/Company.cs @@ -1,4 +1,12 @@ -using System.ComponentModel.DataAnnotations.Schema; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; diff --git a/Companies/Companies/Extensions/AuthExt.cs b/Companies/Companies/Extensions/AuthExt.cs index 5019612..3dbb9c3 100644 --- a/Companies/Companies/Extensions/AuthExt.cs +++ b/Companies/Companies/Extensions/AuthExt.cs @@ -1,4 +1,12 @@ -namespace Extensions; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +namespace Extensions; /// /// Класс вспомогательных методов для авторизации diff --git a/Companies/Companies/Extensions/JsonExt.cs b/Companies/Companies/Extensions/JsonExt.cs index 7a9f005..a1d4346 100644 --- a/Companies/Companies/Extensions/JsonExt.cs +++ b/Companies/Companies/Extensions/JsonExt.cs @@ -1,4 +1,12 @@ -using System.Text.Json; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.AspNetCore.Mvc; diff --git a/Companies/Companies/Middleware/AntiforgeryMiddleware.cs b/Companies/Companies/Middleware/AntiforgeryMiddleware.cs index 25cda82..0c81409 100644 --- a/Companies/Companies/Middleware/AntiforgeryMiddleware.cs +++ b/Companies/Companies/Middleware/AntiforgeryMiddleware.cs @@ -1,4 +1,12 @@ -using Microsoft.AspNetCore.Antiforgery; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using Microsoft.AspNetCore.Antiforgery; namespace Middleware; diff --git a/Companies/Companies/Models/ErrorViewModel.cs b/Companies/Companies/Models/ErrorViewModel.cs index 5f9d96e..0cd97b4 100644 --- a/Companies/Companies/Models/ErrorViewModel.cs +++ b/Companies/Companies/Models/ErrorViewModel.cs @@ -1,3 +1,11 @@ +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + namespace Companies.Models { public class ErrorViewModel diff --git a/Companies/Companies/Models/HomeViewModel.cs b/Companies/Companies/Models/HomeViewModel.cs index 584ca6c..a398e48 100644 --- a/Companies/Companies/Models/HomeViewModel.cs +++ b/Companies/Companies/Models/HomeViewModel.cs @@ -1,4 +1,12 @@ -using Companies.Data.Home; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using Companies.Data.Home; namespace Models; diff --git a/Companies/Companies/Program.cs b/Companies/Companies/Program.cs index b5c7d60..36ab8ac 100644 --- a/Companies/Companies/Program.cs +++ b/Companies/Companies/Program.cs @@ -1,3 +1,11 @@ +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + using Companies.Services; using Extensions; using Microsoft.EntityFrameworkCore; @@ -11,38 +19,38 @@ var connection = builder.Configuration.GetConnectionString("DefaultConnection"); // Configure Database builder.Services.AddDbContext(options => options.UseSqlite(connection)); -// +//конфигурация политики кук builder.Services.Configure(options => { - options.CheckConsentNeeded = _ => false; // - options.MinimumSameSitePolicy = SameSiteMode.None; // cookie - options.Secure = CookieSecurePolicy.Always; // cookie + options.CheckConsentNeeded = _ => false; //политики согласия не оцениваются + options.MinimumSameSitePolicy = SameSiteMode.None; //запрет переопределения значений cookie + options.Secure = CookieSecurePolicy.Always; //файлы cookie должны быть безопасными }); -builder.Services.AddSession(options =>// +builder.Services.AddSession(options =>//конфигурируем параметры сессии { - options.Cookie.Name = AuthExt.NameSessionCookie; // - options.IdleTimeout = TimeSpan.FromMinutes(10); // - options.Cookie.HttpOnly = true; // - options.Cookie.IsEssential = true; // cookie (true- ) + options.Cookie.Name = AuthExt.NameSessionCookie; //ставим название куку сессии + options.IdleTimeout = TimeSpan.FromMinutes(10); //время хранения сессии при бездействии + options.Cookie.HttpOnly = true; //доступ только с сервера + options.Cookie.IsEssential = true; //нужен ли файл cookie для работы (true-проверки политики согласия пропускаются) }); -builder.Services.AddAntiforgery(options =>// +builder.Services.AddAntiforgery(options =>//настройки службы против подделки запросов { options.HeaderName = "X-CSRF-TOKEN"; }); builder.Services.AddControllersWithViews();// Add services to the container. -builder.Services.AddCors(); // CORS +builder.Services.AddCors(); //добавляем политику CORS -// Swagger +//добавляем Swagger builder.Services.AddSwaggerGen(options => { - // Swagger + //пишем опции Swagger options.SwaggerDoc("v1", new OpenApiInfo { Version = "1.0.1", Title = "REST API Strategy Risk", - Description = " ", + Description = "Тестовове задание", Contact = new OpenApiContact { Name = "Nikolay", @@ -59,7 +67,7 @@ var app = builder.Build(); app.UseSwagger(); app.UseSwaggerUI(c => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", ""); + c.SwaggerEndpoint("/swagger/v1/swagger.json", "Документация"); c.RoutePrefix = "docs"; }); @@ -77,17 +85,17 @@ else app.UseStaticFiles(); -app.UseCookiePolicy(); // +app.UseCookiePolicy(); //использовать политику куки -app.UseSession(); // +app.UseSession(); //использовать сессии app.UseRouting(); -app.UseMiddleware(); // +app.UseMiddleware(); //обработчик службы против подделки запросов app.UseAuthorization(); -app.UseCors(options =>// CORS +app.UseCors(options =>//используем CORS с любых хостов { options.SetIsOriginAllowed(_ => true) .AllowAnyMethod() @@ -96,10 +104,10 @@ app.UseCors(options =>// }); #pragma warning disable ASP0014 -app.UseEndpoints(endpoints =>// +app.UseEndpoints(endpoints =>//маршрутизация { - endpoints.MapDefaultControllerRoute();// - endpoints.MapControllers();// + endpoints.MapDefaultControllerRoute();//дефолтный роутер + endpoints.MapControllers();//для маршрутизации если используются атрибуты }); #pragma warning restore ASP0014 diff --git a/Companies/Companies/Services/DatabaseContext .cs b/Companies/Companies/Services/DatabaseContext .cs index 7b89883..338d8dd 100644 --- a/Companies/Companies/Services/DatabaseContext .cs +++ b/Companies/Companies/Services/DatabaseContext .cs @@ -1,4 +1,12 @@ -using Companies.Data.Home; +/* + * Author: Nikolay Dvurechensky + * Site: https://www.dvurechensky.pro/ + * Gmail: dvurechenskysoft@gmail.com + * Last Updated: 12 мая 2025 07:46:05 + * Version: 1.0.8 + */ + +using Companies.Data.Home; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.Extensions.Options;