Initial commit - ERP

This commit is contained in:
2026-08-05 21:15:15 +03:00
commit 3908155685
1203 changed files with 85576 additions and 0 deletions
@@ -0,0 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FluentEmail.Core" Version="3.0.2" />
<PackageReference Include="FluentEmail.Razor" Version="3.0.2" />
<PackageReference Include="FluentEmail.Smtp" Version="3.0.2" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.5" />
<PackageReference Include="Scalar.AspNetCore" Version="2.12.11" />
<!-- <PackageReference Include="Npgsql" Version="8.0.3" /> -->
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.12.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.5" />
<!-- <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" /> -->
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Chat.Core/Chat.Core.csproj" />
<ProjectReference Include="../Chat.Contracts/Chat.Contracts.csproj" />
<!-- <ProjectReference Include="..\Domain\Domain.csproj" /> -->
</ItemGroup>
</Project>
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
namespace Commerce.Config;
public static class Authentication
{
public static IServiceCollection Authenticate(this IServiceCollection services, ConfigurationManager configuration)
{
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(o =>
{
var jwtKey = configuration["JWT:Key"] ?? throw new InvalidOperationException("JWT:Key is missing in configuration.");
var Key = Encoding.UTF8.GetBytes(jwtKey);
o.SaveToken = true;
o.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = false, // on production make it true
ValidateAudience = false, // on production make it true
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = configuration["JWT:Issuer"],
ValidAudience = configuration["JWT:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(Key),
ClockSkew = TimeSpan.Zero
};
o.Events = new JwtBearerEvents
{
OnAuthenticationFailed = context =>
{
if (context.Exception.GetType() == typeof(SecurityTokenExpiredException))
{
context.Response.Headers.Append("IS-TOKEN-EXPIRED", "true");
}
return Task.CompletedTask;
}
};
});
return services;
}
}
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Commerce.Config;
public static class Authorization
{
public static IServiceCollection Authorize(this IServiceCollection services)
{
services.AddAuthorization(options =>
{
options.AddPolicy("Admin", policy => policy.RequireRole("ADMIN"));
options.AddPolicy("Moderator", policy => policy.RequireRole("Moderator"));
options.AddPolicy("Seller", policy => policy.RequireRole("Seller"));
});
return services;
}
}
@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Commerce.Config;
public static class Cors
{
public static IServiceCollection AddCustomCors(this IServiceCollection services)
{
services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod()
.WithExposedHeaders("X-Pagination"); // This line!
});
options.AddPolicy(
"default",
builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod()
.WithExposedHeaders("X-Pagination"); // This line!
// .AllowCredentials()
// .SetIsOriginAllowedToAllowWildcardSubdomains() // For SameSite=None
// .WithExposedHeaders("*");
}
);
});
return services;
}
}
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Commerce.Config;
public static class FluentEmailExtensions
{
public static void RegFluentEmail(
this IServiceCollection services,
ConfigurationManager configuration
)
{
var emailSettings = configuration.GetSection("MailSettings");
var defaultFromEmail = emailSettings["Mail"];
var host = emailSettings["Host"];
var port = emailSettings.GetValue<int>("Port");
var userName = emailSettings["UserName"];
var password = emailSettings["Password"];
services
.AddFluentEmail(defaultFromEmail)
.AddSmtpSender(host, port, userName, password)
.AddRazorRenderer();
}
}
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Commerce.Core.Services;
using Microsoft.AspNetCore.Authorization;
namespace Commerce.Config;
public static class RegisteringServices
{
public static IServiceCollection RegisterServices(this IServiceCollection services)
{
//test
return services;
}
}
@@ -0,0 +1,29 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Scalar.AspNetCore;
namespace Commerce.Config;
public static class Swagger
{
public static IServiceCollection AddSwag(this IServiceCollection services)
{
services.AddOpenApi(options =>
{
options.AddDocumentTransformer((document, context, cancellationToken) =>
{
document.Info.Title = "";
document.Info.Version = "v1";
return Task.CompletedTask;
});
});
return services;
}
public static IEndpointRouteBuilder UseSwag(this IEndpointRouteBuilder app)
{
app.MapScalarApiReference();
return app;
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Commerce.Endpoints.v1;
namespace Commerce.Endpoints;
public static class RegisterEndpoints
{
public static void MapAPIv1(this IEndpointRouteBuilder app)
{
//hello
}
public static void MapAPIv2(this IEndpointRouteBuilder app)
{
//hello
}
}
@@ -0,0 +1,103 @@
using Commerce.Config;
using Commerce.Endpoints;
using Commerce.Contracts.Options;
using Commerce.Domain;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
#pragma warning disable CS0618
Npgsql.NpgsqlConnection.GlobalTypeMapper.EnableDynamicJson();
#pragma warning restore CS0618
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
// builder.Services.AddSwaggerGen();
builder.Services.Configure<JWT>(builder.Configuration.GetSection("JWT"));
// builder.Services.AddDbContext<Context>(
// options => options.(builder.Configuration["ConnectionStrings:maria"], ServerVersion.AutoDetect(builder.Configuration["ConnectionStrings:maria"])));
var connectionString = builder.Configuration.GetConnectionString("PostgreDB");
var dataSourceBuilder = new Npgsql.NpgsqlDataSourceBuilder(connectionString);
dataSourceBuilder.EnableDynamicJson();
var dataSource = dataSourceBuilder.Build();
builder.Services.AddDbContext<Context>(options =>
options.UseNpgsql(dataSource)
);
// builder.Services.AddCustomCors();
builder.Services.RegFluentEmail(builder.Configuration);
builder.Services.AddCustomCors();
builder.Services.AddSwag();
builder.Services.Authenticate(builder.Configuration);
builder.Services.Authorize();
builder.Services.RegisterServices();
// builder.Services.AddAntiforgery();
builder.WebHost.ConfigureKestrel(options =>
{
options.Limits.MaxRequestBodySize = 512 * 1024 * 1024; // 512 MB
});
// Configure form options for multipart body length
builder.Services.Configure<FormOptions>(options =>
{
options.MultipartBodyLengthLimit = 512 * 1024 * 1024; // 512 MB
});
// builder.WebHost.UseUrls("http://*:80"); // Explicit HTTP binding
var app = builder.Build();
using (var scope = app.Services.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<Context>();
db.Database.Migrate(); // Applies pending migrations
}
// if (args.Contains("--migrate"))
// {
// using var scope = app.Services.CreateScope();
// var db = scope.ServiceProvider.GetRequiredService<Context>();
// db.Database.Migrate();
// }
app.UseRouting();
app.UseStaticFiles();
app.UseCors("default");
app.UseAuthentication();
app.UseAuthorization();
// Configure the HTTP request pipeline.
// if (app.Environment.IsDevelopment())
// {
// app.UseSwagger();
// app.UseSwaggerUI();
// }
// app.UseAntiforgery();
// app.UseHttpsRedirection();
app.MapOpenApi();
if (app.Environment.IsDevelopment())
{
app.UseSwag();
}
app.MapAPIv1();
app.Run();
@@ -0,0 +1,41 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:20864",
"sslPort": 44342
}
},
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:2001",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7153;http://localhost:5141",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
@@ -0,0 +1,32 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"maria": "UserID=root;Password=ama111AMA!!!;Host=localhost;Port=3306;Database=Chat;Protocol=TCP;",
"PostgreDB": "Host=localhost;Database=Chat;Username=test;Password=test;Port=5432;IncludeErrorDetail=true;"
},
"JWT": {
"Key": "thisisasecretKeyIneedtoprovideenoughletterstomakeitwork",
"Issuer": "https://hello.com",
"Audience": "hello.com",
"DurationInMinutes": 10
},
"EmailTemplate": {
"EmailConfirmation": "placeHolder",
"ResetPassword": "placeHolder"
},
"hostname": "placeHolder",
"MailSettings": {
"Mail": "merge1942@gmail.com",
"DisplayName": "Merge",
"UserName": "merge1942@gmail.com",
"Password": "ftyqwyqpqtixalxp",
"Host": "smtp.gmail.com",
"Port": 587
}
}
@@ -0,0 +1,33 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"maria": "UserID=root;Password=ama111AMA!!!;Host=localhost;Port=3306;Database=Chat;Protocol=TCP;",
"PostgreDB": "Host=localhost;Database=Chat;Username=test;Password=test;Port=5432;"
},
"Domain": "https://api.mass-tech.net",
"JWT": {
"Key": "thisisasecretKeyIneedtoprovideenoughletterstomakeitwork",
"Issuer": "https://hello.com",
"Audience": "hello.com",
"DurationInMinutes": 10
},
"EmailTemplate": {
"EmailConfirmation": "placeHolder",
"ResetPassword": "placeHolder"
},
"hostname": "placeHolder",
"MailSettings": {
"Mail": "merge1942@gmail.com",
"DisplayName": "Merge",
"UserName": "merge1942@gmail.com",
"Password": "ftyqwyqpqtixalxp",
"Host": "smtp.gmail.com",
"Port": 587
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/yla/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/yla/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/yla/.nuget/packages/" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers/3.3.4/buildTransitive/Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers/3.3.4/buildTransitive/Microsoft.CodeAnalysis.Analyzers.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore/9.0.5/buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore/9.0.5/buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design/9.0.5/build/net8.0/Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design/9.0.5/build/net8.0/Microsoft.EntityFrameworkCore.Design.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">/home/yla/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.4</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup>
</Project>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers/3.3.4/buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers/3.3.4/buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets')" />
<Import Project="$(NuGetPackageRoot)mono.texttemplating/3.0.0/buildTransitive/Mono.TextTemplating.targets" Condition="Exists('$(NuGetPackageRoot)mono.texttemplating/3.0.0/buildTransitive/Mono.TextTemplating.targets')" />
</ImportGroup>
</Project>
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Chat.API")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+206dfeabd74212fb6442b2ac195b5904b0472cb7")]
[assembly: System.Reflection.AssemblyProductAttribute("Chat.API")]
[assembly: System.Reflection.AssemblyTitleAttribute("Chat.API")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.
@@ -0,0 +1 @@
5051085ba7f7ca171bd1fc82117cad411b342b85e5898c4c0d7f39e5ca6d44a6
@@ -0,0 +1,31 @@
is_global = true
build_property.TargetFramework = net10.0
build_property.TargetFramework = net10.0
build_property.TargetPlatformMinVersion =
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v10.0
build_property.RootNamespace = Chat.API
build_property.RootNamespace = Chat.API
build_property.ProjectDir = /mnt/data/Work/Programming/MainProgram/Backend/APIs/ERP/Managerial/Communication/Chat/Chat.API/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 9.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = /mnt/data/Work/Programming/MainProgram/Backend/APIs/ERP/Managerial/Communication/Chat/Chat.API
build_property._RazorSourceGeneratorDebug =
build_property.EffectiveAnalysisLevelStyle = 10.0
build_property.EnableCodeStyleSeverity =
@@ -0,0 +1,17 @@
// <auto-generated/>
global using Microsoft.AspNetCore.Builder;
global using Microsoft.AspNetCore.Hosting;
global using Microsoft.AspNetCore.Http;
global using Microsoft.AspNetCore.Routing;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using System;
global using System.Collections.Generic;
global using System.IO;
global using System.Linq;
global using System.Net.Http;
global using System.Net.Http.Json;
global using System.Threading;
global using System.Threading.Tasks;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,58 @@
{
"version": 2,
"dgSpecHash": "Rwd5zvEYYkE=",
"success": true,
"projectFilePath": "/mnt/data/Work/Programming/MainProgram/Backend/APIs/ERP/Managerial/Communication/Chat/Chat.API/Chat.API.csproj",
"expectedPackageFiles": [
"/home/yla/.nuget/packages/bogus/35.6.3/bogus.35.6.3.nupkg.sha512",
"/home/yla/.nuget/packages/castle.core/5.1.1/castle.core.5.1.1.nupkg.sha512",
"/home/yla/.nuget/packages/fluentemail.core/3.0.2/fluentemail.core.3.0.2.nupkg.sha512",
"/home/yla/.nuget/packages/fluentemail.razor/3.0.2/fluentemail.razor.3.0.2.nupkg.sha512",
"/home/yla/.nuget/packages/fluentemail.smtp/3.0.2/fluentemail.smtp.3.0.2.nupkg.sha512",
"/home/yla/.nuget/packages/fluentvalidation/12.1.1/fluentvalidation.12.1.1.nupkg.sha512",
"/home/yla/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.aspnetcore.authentication.jwtbearer/9.0.5/microsoft.aspnetcore.authentication.jwtbearer.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.aspnetcore.identity.entityframeworkcore/9.0.5/microsoft.aspnetcore.identity.entityframeworkcore.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.aspnetcore.mvc.razor.extensions/5.0.0/microsoft.aspnetcore.mvc.razor.extensions.5.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.aspnetcore.openapi/9.0.0/microsoft.aspnetcore.openapi.9.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.aspnetcore.razor.language/5.0.0/microsoft.aspnetcore.razor.language.5.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.bcl.asyncinterfaces/7.0.0/microsoft.bcl.asyncinterfaces.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.build.framework/17.8.3/microsoft.build.framework.17.8.3.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.build.locator/1.7.8/microsoft.build.locator.1.7.8.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.4/microsoft.codeanalysis.analyzers.3.3.4.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.common/4.8.0/microsoft.codeanalysis.common.4.8.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.csharp/4.8.0/microsoft.codeanalysis.csharp.4.8.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.csharp.workspaces/4.8.0/microsoft.codeanalysis.csharp.workspaces.4.8.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.razor/5.0.0/microsoft.codeanalysis.razor.5.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.workspaces.common/4.8.0/microsoft.codeanalysis.workspaces.common.4.8.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.codeanalysis.workspaces.msbuild/4.8.0/microsoft.codeanalysis.workspaces.msbuild.4.8.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.entityframeworkcore/9.0.5/microsoft.entityframeworkcore.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.entityframeworkcore.abstractions/9.0.5/microsoft.entityframeworkcore.abstractions.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.entityframeworkcore.analyzers/9.0.5/microsoft.entityframeworkcore.analyzers.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.entityframeworkcore.design/9.0.5/microsoft.entityframeworkcore.design.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.entityframeworkcore.proxies/9.0.5/microsoft.entityframeworkcore.proxies.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.entityframeworkcore.relational/9.0.5/microsoft.entityframeworkcore.relational.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.extensions.dependencymodel/9.0.5/microsoft.extensions.dependencymodel.9.0.5.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.identitymodel.abstractions/8.12.0/microsoft.identitymodel.abstractions.8.12.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.identitymodel.jsonwebtokens/8.12.0/microsoft.identitymodel.jsonwebtokens.8.12.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.identitymodel.logging/8.12.0/microsoft.identitymodel.logging.8.12.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.identitymodel.protocols/8.0.1/microsoft.identitymodel.protocols.8.0.1.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.identitymodel.protocols.openidconnect/8.0.1/microsoft.identitymodel.protocols.openidconnect.8.0.1.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.identitymodel.tokens/8.12.0/microsoft.identitymodel.tokens.8.12.0.nupkg.sha512",
"/home/yla/.nuget/packages/microsoft.openapi/1.6.17/microsoft.openapi.1.6.17.nupkg.sha512",
"/home/yla/.nuget/packages/mono.texttemplating/3.0.0/mono.texttemplating.3.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/npgsql/9.0.3/npgsql.9.0.3.nupkg.sha512",
"/home/yla/.nuget/packages/npgsql.entityframeworkcore.postgresql/9.0.4/npgsql.entityframeworkcore.postgresql.9.0.4.nupkg.sha512",
"/home/yla/.nuget/packages/razorlight/2.0.0-rc.3/razorlight.2.0.0-rc.3.nupkg.sha512",
"/home/yla/.nuget/packages/scalar.aspnetcore/2.12.11/scalar.aspnetcore.2.12.11.nupkg.sha512",
"/home/yla/.nuget/packages/system.codedom/6.0.0/system.codedom.6.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.composition/7.0.0/system.composition.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.composition.attributedmodel/7.0.0/system.composition.attributedmodel.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.composition.convention/7.0.0/system.composition.convention.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.composition.hosting/7.0.0/system.composition.hosting.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.composition.runtime/7.0.0/system.composition.runtime.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.composition.typedparts/7.0.0/system.composition.typedparts.7.0.0.nupkg.sha512",
"/home/yla/.nuget/packages/system.identitymodel.tokens.jwt/8.12.0/system.identitymodel.tokens.jwt.8.12.0.nupkg.sha512"
],
"logs": []
}