This commit is contained in:
adm 2024-11-18 15:42:08 +03:00
parent 9f79f98478
commit 90d642bfde
48 changed files with 82 additions and 50 deletions

Binary file not shown.

Binary file not shown.

View File

@ -2,6 +2,10 @@
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\adm\\source\\repos\\presence_api\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|c:\\users\\adm\\source\\repos\\presence_api\\presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B61AE661-CF04-46B2-9862-386DD078A071}|data\\data.csproj|c:\\users\\adm\\source\\repos\\presence_api\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B61AE661-CF04-46B2-9862-386DD078A071}|data\\data.csproj|solutionrelative:data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@ -10,10 +14,6 @@
"AbsoluteMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|c:\\users\\adm\\source\\repos\\presence_api\\presence_api\\controllers\\groupcontroller\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\groupcontroller\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|c:\\users\\adm\\source\\repos\\presence_api\\presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{4C6194FF-B704-406B-89A7-03C2EE38A899}|domain\\domain.csproj|c:\\users\\adm\\source\\repos\\presence_api\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{4C6194FF-B704-406B-89A7-03C2EE38A899}|domain\\domain.csproj|solutionrelative:domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@ -84,17 +84,17 @@
},
{
"DockedWidth": 200,
"SelectedChildIndex": 0,
"SelectedChildIndex": 15,
"Children": [
{
"$type": "Document",
"DocumentIndex": 0,
"DocumentIndex": 1,
"Title": "SQLGroupRepositoryImpl.cs",
"DocumentMoniker": "C:\\Users\\adm\\source\\repos\\presence_api\\data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeDocumentMoniker": "data\\Repository\\SQLGroupRepositoryImpl.cs",
"ToolTip": "C:\\Users\\adm\\source\\repos\\presence_api\\data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeToolTip": "data\\Repository\\SQLGroupRepositoryImpl.cs",
"ViewState": "AgIAACQAAAAAAAAAAAAAADoAAAA7AAAAAAAAAA==",
"ViewState": "AgIAACQAAAAAAAAAAAAAADYAAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-18T12:17:41.535Z",
"EditorCaption": ""
@ -121,8 +121,7 @@
"RelativeToolTip": "domain\\UseCase\\GroupUseCase.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwAoAAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-18T12:17:31.246Z",
"EditorCaption": ""
"WhenOpened": "2024-11-18T12:17:31.246Z"
},
{
"$type": "Document",
@ -174,7 +173,7 @@
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 2,
"Title": "GroupController.cs",
"DocumentMoniker": "C:\\Users\\adm\\source\\repos\\presence_api\\presence_api\\Controllers\\GroupController\\GroupController.cs",
"RelativeDocumentMoniker": "presence_api\\Controllers\\GroupController\\GroupController.cs",
@ -182,8 +181,7 @@
"RelativeToolTip": "presence_api\\Controllers\\GroupController\\GroupController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-18T10:23:07.472Z",
"EditorCaption": ""
"WhenOpened": "2024-11-18T10:23:07.472Z"
},
{
"$type": "Document",
@ -255,8 +253,7 @@
"RelativeToolTip": "domain\\UseCase\\UseCaseGeneratePresence.cs",
"ViewState": "AgIAAB8AAAAAAAAAAAAAAB8AAAA5AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-14T09:28:46.588Z",
"EditorCaption": ""
"WhenOpened": "2024-11-14T09:28:46.588Z"
},
{
"$type": "Document",
@ -272,13 +269,13 @@
},
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 0,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\adm\\source\\repos\\presence_api\\presence_api\\Program.cs",
"RelativeDocumentMoniker": "presence_api\\Program.cs",
"ToolTip": "C:\\Users\\adm\\source\\repos\\presence_api\\presence_api\\Program.cs",
"RelativeToolTip": "presence_api\\Program.cs",
"ViewState": "AgIAAAIAAAAAAAAAAAAYwA8AAAArAAAAAAAAAA==",
"ViewState": "AgIAACcAAAAAAAAAAAAqwE0AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-14T08:15:53.477Z",
"EditorCaption": ""

View File

@ -2,6 +2,10 @@
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\adm\\source\\repos\\presence_api\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|c:\\users\\adm\\source\\repos\\presence_api\\presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B61AE661-CF04-46B2-9862-386DD078A071}|data\\data.csproj|c:\\users\\adm\\source\\repos\\presence_api\\data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B61AE661-CF04-46B2-9862-386DD078A071}|data\\data.csproj|solutionrelative:data\\repository\\sqlgrouprepositoryimpl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@ -10,10 +14,6 @@
"AbsoluteMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|c:\\users\\adm\\source\\repos\\presence_api\\presence_api\\controllers\\groupcontroller\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\controllers\\groupcontroller\\groupcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|c:\\users\\adm\\source\\repos\\presence_api\\presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{11DF6612-BF6E-4F12-8817-96FF552E7535}|presence_api\\presence_api.csproj|solutionrelative:presence_api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{4C6194FF-B704-406B-89A7-03C2EE38A899}|domain\\domain.csproj|c:\\users\\adm\\source\\repos\\presence_api\\domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{4C6194FF-B704-406B-89A7-03C2EE38A899}|domain\\domain.csproj|solutionrelative:domain\\usecase\\groupusecase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@ -84,11 +84,11 @@
},
{
"DockedWidth": 200,
"SelectedChildIndex": 0,
"SelectedChildIndex": 15,
"Children": [
{
"$type": "Document",
"DocumentIndex": 0,
"DocumentIndex": 1,
"Title": "SQLGroupRepositoryImpl.cs",
"DocumentMoniker": "C:\\Users\\adm\\source\\repos\\presence_api\\data\\Repository\\SQLGroupRepositoryImpl.cs",
"RelativeDocumentMoniker": "data\\Repository\\SQLGroupRepositoryImpl.cs",
@ -121,8 +121,7 @@
"RelativeToolTip": "domain\\UseCase\\GroupUseCase.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwAoAAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-18T12:17:31.246Z",
"EditorCaption": ""
"WhenOpened": "2024-11-18T12:17:31.246Z"
},
{
"$type": "Document",
@ -174,7 +173,7 @@
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 2,
"Title": "GroupController.cs",
"DocumentMoniker": "C:\\Users\\adm\\source\\repos\\presence_api\\presence_api\\Controllers\\GroupController\\GroupController.cs",
"RelativeDocumentMoniker": "presence_api\\Controllers\\GroupController\\GroupController.cs",
@ -182,8 +181,7 @@
"RelativeToolTip": "presence_api\\Controllers\\GroupController\\GroupController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-18T10:23:07.472Z",
"EditorCaption": ""
"WhenOpened": "2024-11-18T10:23:07.472Z"
},
{
"$type": "Document",
@ -255,8 +253,7 @@
"RelativeToolTip": "domain\\UseCase\\UseCaseGeneratePresence.cs",
"ViewState": "AgIAAB8AAAAAAAAAAAAAAB8AAAA5AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-14T09:28:46.588Z",
"EditorCaption": ""
"WhenOpened": "2024-11-14T09:28:46.588Z"
},
{
"$type": "Document",
@ -272,13 +269,13 @@
},
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 0,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\adm\\source\\repos\\presence_api\\presence_api\\Program.cs",
"RelativeDocumentMoniker": "presence_api\\Program.cs",
"ToolTip": "C:\\Users\\adm\\source\\repos\\presence_api\\presence_api\\Program.cs",
"RelativeToolTip": "presence_api\\Program.cs",
"ViewState": "AgIAAAIAAAAAAAAAAAAYwA8AAAArAAAAAAAAAA==",
"ViewState": "AgIAACcAAAAAAAAAAAAqwE0AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-14T08:15:53.477Z",
"EditorCaption": ""

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("console_ui")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bddc81ef284bbbbf10be363acf2bb158b2102a63")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9f79f9847845ff49353e3b216f9fd2c9185213f6")]
[assembly: System.Reflection.AssemblyProductAttribute("console_ui")]
[assembly: System.Reflection.AssemblyTitleAttribute("console_ui")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
bf5bfeac7696e20326f2cf27dc9ec5a098b603eb97ec42dfb31f66ae9625f66d
47709c570d2c2e65eee4b32d671b9186eebabf5b6e1e1009b32ab2f230e33e6b

Binary file not shown.

Binary file not shown.

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("data")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bddc81ef284bbbbf10be363acf2bb158b2102a63")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9f79f9847845ff49353e3b216f9fd2c9185213f6")]
[assembly: System.Reflection.AssemblyProductAttribute("data")]
[assembly: System.Reflection.AssemblyTitleAttribute("data")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
91bddb8eecc0ae3637464d3cceaec847a61062031a4a7f2712aebefead634d06
49850d798c1897701c3531cb1915c7b51d917ec86a78a46ed60f3f2c4aaa9df7

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("domain")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bddc81ef284bbbbf10be363acf2bb158b2102a63")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9f79f9847845ff49353e3b216f9fd2c9185213f6")]
[assembly: System.Reflection.AssemblyProductAttribute("domain")]
[assembly: System.Reflection.AssemblyTitleAttribute("domain")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
4fe77af6c3b4bdf9268cf843995d9cb439c869c4be4b835985bed4b436f58dd3
eed9ea9450c6da54dbbfc9def39da53ec9820234ae5bc3eef1cb6f2670d2443a

Binary file not shown.

Binary file not shown.

View File

@ -2,6 +2,7 @@ using data.Domain.UseCase;
using data.RemoteData.RemoteDataBase;
using data.Repository;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
var builder = WebApplication.CreateBuilder(args);
@ -15,25 +16,62 @@ builder.Services.AddScoped<IUserRepository, SQLUserRepositoryImpl>()
.AddScoped<UseCaseGeneratePresence>()
.AddScoped<GroupUseCase>();
// Äîáàâëåíèå êîíòðîëëåðîâ
builder.Services.AddControllers();
// Äîáàâëåíèå Swagger äëÿ API äîêóìåíòàöèè
builder.Services.AddEndpointsApiExplorer(); // Äëÿ ñîçäàíèÿ OpenAPI äîêóìåíòàöèè
builder.Services.AddSwaggerGen(); // Ãåíåðàöèÿ äîêóìåíòàöèè Swagger
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
// Äîáàâëÿåì ëîãèðîâàíèå
builder.Services.AddLogging(logging =>
{
logging.ClearProviders(); // Î÷èùàåì ñòàíäàðòíûõ ïðîâàéäåðîâ
logging.AddConsole(); // Äîáàâëÿåì ëîãèðîâàíèå â êîíñîëü
logging.AddDebug(); // Ëîãèðîâàíèå äëÿ îòëàäêè
});
var app = builder.Build();
// Êîíôèãóðàöèÿ Swagger UI äëÿ ðàçðàáîòêè
if (app.Environment.IsDevelopment())
{
app.UseSwagger(); // Âêëþ÷àåì Swagger
app.UseSwaggerUI(); // Âêëþ÷àåì Swagger UI
app.UseSwagger();
app.UseSwaggerUI();
}
// Îñíîâíûå Middleware
app.UseHttpsRedirection(); // Ïåðåíàïðàâëåíèå íà HTTPS
app.MapControllers(); // Ìàðøðóòèçàöèÿ äëÿ êîíòðîëëåðîâ
// Äîáàâëÿåì middleware äëÿ ëîãèðîâàíèÿ çàïðîñîâ
app.UseMiddleware<RequestLoggingMiddleware>();
app.Run(); // Çàïóñê ïðèëîæåíèÿ
// Îñíîâíûå Middleware
app.UseHttpsRedirection();
app.MapControllers();
app.Run();
// Middleware äëÿ ëîãèðîâàíèÿ çàïðîñîâ
public class RequestLoggingMiddleware
{
private readonly RequestDelegate _next;
private readonly ILogger<RequestLoggingMiddleware> _logger;
public RequestLoggingMiddleware(RequestDelegate next, ILogger<RequestLoggingMiddleware> logger)
{
_next = next;
_logger = logger;
}
public async Task InvokeAsync(HttpContext context)
{
// Ëîãèðóåì âõîäÿùèé çàïðîñ
_logger.LogInformation("Âõîäÿùèé çàïðîñ: {Method} {Path} â {Time}",
context.Request.Method, context.Request.Path, DateTime.UtcNow);
// Ïåðåäà¸ì çàïðîñ äàëüøå ïî êîíâåéåðó
await _next(context);
// Ëîãèðóåì èñõîäÿùèé îòâåò
_logger.LogInformation("Èñõîäÿùèé îòâåò: {StatusCode} äëÿ {Method} {Path} â {Time}",
context.Response.StatusCode, context.Request.Method, context.Request.Path, DateTime.UtcNow);
}
}

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("presence_api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bddc81ef284bbbbf10be363acf2bb158b2102a63")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9f79f9847845ff49353e3b216f9fd2c9185213f6")]
[assembly: System.Reflection.AssemblyProductAttribute("presence_api")]
[assembly: System.Reflection.AssemblyTitleAttribute("presence_api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
37cbb13a21da6ba86a5efeef48b37350223e0400c47c9ff304bb16ea0473d338
4ca0663b3d2ff4ab3ed81ab2240905bf007b04a5253ca85e22f1b5d2c670b1d8

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("ui")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bddc81ef284bbbbf10be363acf2bb158b2102a63")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9f79f9847845ff49353e3b216f9fd2c9185213f6")]
[assembly: System.Reflection.AssemblyProductAttribute("ui")]
[assembly: System.Reflection.AssemblyTitleAttribute("ui")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
854ad2f6ba0affcfd1fc07c11d24be101f4b6a693e86a76c0ba82184a0fd26ef
0480378913b488782d00993225273195c8995393e00f000c8dbeca80acebff2d