fixes after testing
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
<PackageReference Include="Bazinga.AspNetCore.Authentication.Basic" Version="2.0.1" />
|
<PackageReference Include="Bazinga.AspNetCore.Authentication.Basic" Version="2.0.1" />
|
||||||
<PackageReference Include="Ben.BlockingDetector" Version="0.0.4" />
|
<PackageReference Include="Ben.BlockingDetector" Version="0.0.4" />
|
||||||
<PackageReference Include="EFCore.NamingConventions" Version="6.0.0" />
|
<PackageReference Include="EFCore.NamingConventions" Version="6.0.0" />
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.40.0" />
|
<PackageReference Include="Grpc.AspNetCore" Version="2.47.0" />
|
||||||
<PackageReference Include="Grpc.Net.Client" Version="2.47.0" />
|
<PackageReference Include="Grpc.Net.Client" Version="2.47.0" />
|
||||||
<PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" />
|
<PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" />
|
||||||
<PackageReference Include="lz4net" Version="1.0.15.93" />
|
<PackageReference Include="lz4net" Version="1.0.15.93" />
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="6.0.8" />
|
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="6.0.8" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.8" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.8" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="6.0.8" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="6.0.8" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.8">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.8">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ namespace MareSynchronosServer
|
|||||||
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"), builder =>
|
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"), builder =>
|
||||||
{
|
{
|
||||||
builder.MigrationsHistoryTable("_efmigrationshistory", "public");
|
builder.MigrationsHistoryTable("_efmigrationshistory", "public");
|
||||||
|
builder.MigrationsAssembly("MareSynchronosShared");
|
||||||
}).UseSnakeCaseNamingConvention();
|
}).UseSnakeCaseNamingConvention();
|
||||||
options.EnableThreadSafetyChecks(false);
|
options.EnableThreadSafetyChecks(false);
|
||||||
}, Configuration.GetValue("DbContextPoolSize", 1024));
|
}, Configuration.GetValue("DbContextPoolSize", 1024));
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"DbContextPoolSize": 2000,
|
"DbContextPoolSize": 2000,
|
||||||
"CdnFullUrl": "https://<url or ip to your server>/cache/",
|
"CdnFullUrl": "https://<url or ip to your server>/cache/",
|
||||||
"CacheDirectory": "G:\\ServerTest", // do not delete this key and set it to the path where the files will be stored
|
"CacheDirectory": "G:\\ServerTest", // do not delete this key and set it to the path where the files will be stored
|
||||||
"ServicesUrl": "http://localhost:5002",
|
"ServiceAddress": "http://localhost:5002",
|
||||||
|
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"Kestrel": {
|
"Kestrel": {
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"isRoot": true,
|
||||||
|
"tools": {
|
||||||
|
"dotnet-ef": {
|
||||||
|
"version": "6.0.8",
|
||||||
|
"commands": [
|
||||||
|
"dotnet-ef"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using MareSynchronosServices.Authentication;
|
using MareSynchronosServices.Authentication;
|
||||||
|
using MareSynchronosServices.Metrics;
|
||||||
using MareSynchronosShared.Data;
|
using MareSynchronosShared.Data;
|
||||||
using MareSynchronosShared.Metrics;
|
using MareSynchronosShared.Metrics;
|
||||||
using MareSynchronosShared.Models;
|
using MareSynchronosShared.Models;
|
||||||
@@ -10,16 +11,16 @@ namespace MareSynchronosServices
|
|||||||
{
|
{
|
||||||
public class CleanupService : IHostedService, IDisposable
|
public class CleanupService : IHostedService, IDisposable
|
||||||
{
|
{
|
||||||
private readonly MetricsService.MetricsServiceClient _metricsClient;
|
private readonly MareMetrics metrics;
|
||||||
private readonly SecretKeyAuthenticationHandler _authService;
|
private readonly SecretKeyAuthenticationHandler _authService;
|
||||||
private readonly ILogger<CleanupService> _logger;
|
private readonly ILogger<CleanupService> _logger;
|
||||||
private readonly IServiceProvider _services;
|
private readonly IServiceProvider _services;
|
||||||
private readonly IConfiguration _configuration;
|
private readonly IConfiguration _configuration;
|
||||||
private Timer _timer;
|
private Timer _timer;
|
||||||
|
|
||||||
public CleanupService(MetricsService.MetricsServiceClient metricsClient, SecretKeyAuthenticationHandler authService, ILogger<CleanupService> logger, IServiceProvider services, IConfiguration configuration)
|
public CleanupService(MareMetrics metrics, SecretKeyAuthenticationHandler authService, ILogger<CleanupService> logger, IServiceProvider services, IConfiguration configuration)
|
||||||
{
|
{
|
||||||
_metricsClient = metricsClient;
|
this.metrics = metrics;
|
||||||
_authService = authService;
|
_authService = authService;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_services = services;
|
_services = services;
|
||||||
@@ -64,8 +65,8 @@ namespace MareSynchronosServices
|
|||||||
}
|
}
|
||||||
else if (fi.LastAccessTime < prevTime)
|
else if (fi.LastAccessTime < prevTime)
|
||||||
{
|
{
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeFilesTotalSize, Value = fi.Length });
|
metrics.DecGaugeBy(MetricsAPI.GaugeFilesTotalSize, fi.Length);
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeFilesTotal, Value = 1 });
|
metrics.DecGaugeBy(MetricsAPI.GaugeFilesTotal, 1);
|
||||||
_logger.LogInformation("File outdated: {fileName}", fileName);
|
_logger.LogInformation("File outdated: {fileName}", fileName);
|
||||||
dbContext.Files.Remove(file);
|
dbContext.Files.Remove(file);
|
||||||
fi.Delete();
|
fi.Delete();
|
||||||
@@ -94,8 +95,8 @@ namespace MareSynchronosServices
|
|||||||
removedHashes.Add(oldestFile.Name.ToLower());
|
removedHashes.Add(oldestFile.Name.ToLower());
|
||||||
allLocalFiles.Remove(oldestFile);
|
allLocalFiles.Remove(oldestFile);
|
||||||
totalCacheSizeInBytes -= oldestFile.Length;
|
totalCacheSizeInBytes -= oldestFile.Length;
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeFilesTotalSize, Value = oldestFile.Length });
|
metrics.DecGaugeBy(MetricsAPI.GaugeFilesTotalSize, oldestFile.Length);
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeFilesTotal, Value = 1 });
|
metrics.DecGaugeBy(MetricsAPI.GaugeFilesTotal, 1);
|
||||||
oldestFile.Delete();
|
oldestFile.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,8 +195,8 @@ namespace MareSynchronosServices
|
|||||||
var fi = new FileInfo(Path.Combine(_configuration["CacheDirectory"], file.Hash));
|
var fi = new FileInfo(Path.Combine(_configuration["CacheDirectory"], file.Hash));
|
||||||
if (fi.Exists)
|
if (fi.Exists)
|
||||||
{
|
{
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeFilesTotalSize, Value = fi.Length });
|
metrics.DecGaugeBy(MetricsAPI.GaugeFilesTotalSize, fi.Length);
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeFilesTotal, Value = 1 });
|
metrics.DecGaugeBy(MetricsAPI.GaugeFilesTotal, 1);
|
||||||
fi.Delete();
|
fi.Delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -208,10 +209,11 @@ namespace MareSynchronosServices
|
|||||||
var otherPairData = dbContext.ClientPairs.Include(u => u.User)
|
var otherPairData = dbContext.ClientPairs.Include(u => u.User)
|
||||||
.Where(u => u.OtherUser.UID == user.UID).ToList();
|
.Where(u => u.OtherUser.UID == user.UID).ToList();
|
||||||
|
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugePairs, Value = ownPairData.Count + otherPairData.Count });
|
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugePairsPaused, Value = ownPairData.Count(c => c.IsPaused) });
|
metrics.DecGaugeBy(MetricsAPI.GaugePairs, ownPairData.Count + otherPairData.Count);
|
||||||
_metricsClient.DecGauge(new GaugeRequest() { GaugeName = MetricsAPI.GaugeUsersRegistered, Value = 1 });
|
metrics.DecGaugeBy(MetricsAPI.GaugePairsPaused, ownPairData.Count + ownPairData.Count(c => c.IsPaused));
|
||||||
|
metrics.DecGaugeBy(MetricsAPI.GaugeUsersRegistered, ownPairData.Count + 1);
|
||||||
|
|
||||||
dbContext.RemoveRange(otherPairData);
|
dbContext.RemoveRange(otherPairData);
|
||||||
dbContext.Remove(auth);
|
dbContext.Remove(auth);
|
||||||
dbContext.Remove(user);
|
dbContext.Remove(user);
|
||||||
|
|||||||
@@ -9,7 +9,12 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Discord.Net" Version="3.7.2" />
|
<PackageReference Include="Discord.Net" Version="3.7.2" />
|
||||||
<PackageReference Include="EFCore.NamingConventions" Version="6.0.0" />
|
<PackageReference Include="EFCore.NamingConventions" Version="6.0.0" />
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.40.0" />
|
<PackageReference Include="Grpc.AspNetCore" Version="2.47.0" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.8">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="6.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="6.0.0" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.6" />
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.6" />
|
||||||
<PackageReference Include="prometheus-net.AspNetCore" Version="6.0.0" />
|
<PackageReference Include="prometheus-net.AspNetCore" Version="6.0.0" />
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -16,7 +15,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="EFCore.NamingConventions" Version="6.0.0" />
|
<PackageReference Include="EFCore.NamingConventions" Version="6.0.0" />
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.40.0" />
|
<PackageReference Include="Grpc.AspNetCore" Version="2.47.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.Auth", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.Auth", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("HashedKey")
|
b.Property<string>("HashedKey")
|
||||||
.HasMaxLength(64)
|
.HasMaxLength(64)
|
||||||
@@ -42,7 +42,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("auth", (string)null);
|
b.ToTable("auth", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.Banned", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.Banned", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("CharacterIdentification")
|
b.Property<string>("CharacterIdentification")
|
||||||
.HasMaxLength(100)
|
.HasMaxLength(100)
|
||||||
@@ -65,7 +65,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("banned_users", (string)null);
|
b.ToTable("banned_users", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.BannedRegistrations", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.BannedRegistrations", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("DiscordIdOrLodestoneAuth")
|
b.Property<string>("DiscordIdOrLodestoneAuth")
|
||||||
.HasMaxLength(100)
|
.HasMaxLength(100)
|
||||||
@@ -78,7 +78,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("banned_registrations", (string)null);
|
b.ToTable("banned_registrations", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.ClientPair", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("UserUID")
|
b.Property<string>("UserUID")
|
||||||
.HasMaxLength(10)
|
.HasMaxLength(10)
|
||||||
@@ -116,7 +116,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("client_pairs", (string)null);
|
b.ToTable("client_pairs", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.FileCache", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("Hash")
|
b.Property<string>("Hash")
|
||||||
.HasMaxLength(40)
|
.HasMaxLength(40)
|
||||||
@@ -147,7 +147,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("file_caches", (string)null);
|
b.ToTable("file_caches", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.ForbiddenUploadEntry", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.ForbiddenUploadEntry", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("Hash")
|
b.Property<string>("Hash")
|
||||||
.HasMaxLength(40)
|
.HasMaxLength(40)
|
||||||
@@ -171,7 +171,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("forbidden_upload_entries", (string)null);
|
b.ToTable("forbidden_upload_entries", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.LodeStoneAuth", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b =>
|
||||||
{
|
{
|
||||||
b.Property<decimal>("DiscordId")
|
b.Property<decimal>("DiscordId")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -205,7 +205,7 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("lodestone_auth", (string)null);
|
b.ToTable("lodestone_auth", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.User", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.User", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("UID")
|
b.Property<string>("UID")
|
||||||
.HasMaxLength(10)
|
.HasMaxLength(10)
|
||||||
@@ -244,9 +244,9 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.ToTable("users", (string)null);
|
b.ToTable("users", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.Auth", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.Auth", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("MareSynchronosServer.Models.User", "User")
|
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("UserUID")
|
.HasForeignKey("UserUID")
|
||||||
.HasConstraintName("fk_auth_users_user_temp_id");
|
.HasConstraintName("fk_auth_users_user_temp_id");
|
||||||
@@ -254,16 +254,16 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.Navigation("User");
|
b.Navigation("User");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.ClientPair", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("MareSynchronosServer.Models.User", "OtherUser")
|
b.HasOne("MareSynchronosShared.Models.User", "OtherUser")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("OtherUserUID")
|
.HasForeignKey("OtherUserUID")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasConstraintName("fk_client_pairs_users_other_user_temp_id1");
|
.HasConstraintName("fk_client_pairs_users_other_user_temp_id1");
|
||||||
|
|
||||||
b.HasOne("MareSynchronosServer.Models.User", "User")
|
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("UserUID")
|
.HasForeignKey("UserUID")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
@@ -275,9 +275,9 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.Navigation("User");
|
b.Navigation("User");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.FileCache", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("MareSynchronosServer.Models.User", "Uploader")
|
b.HasOne("MareSynchronosShared.Models.User", "Uploader")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("UploaderUID")
|
.HasForeignKey("UploaderUID")
|
||||||
.HasConstraintName("fk_file_caches_users_uploader_uid");
|
.HasConstraintName("fk_file_caches_users_uploader_uid");
|
||||||
@@ -285,9 +285,9 @@ namespace MareSynchronosServer.Migrations
|
|||||||
b.Navigation("Uploader");
|
b.Navigation("Uploader");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("MareSynchronosServer.Models.LodeStoneAuth", b =>
|
modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("MareSynchronosServer.Models.User", "User")
|
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("UserUID")
|
.HasForeignKey("UserUID")
|
||||||
.HasConstraintName("fk_lodestone_auth_users_user_uid");
|
.HasConstraintName("fk_lodestone_auth_users_user_uid");
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"isRoot": true,
|
||||||
|
"tools": {
|
||||||
|
"dotnet-ef": {
|
||||||
|
"version": "6.0.8",
|
||||||
|
"commands": [
|
||||||
|
"dotnet-ef"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.40.0" />
|
<PackageReference Include="Grpc.AspNetCore" Version="2.47.0" />
|
||||||
<PackageReference Include="Grpc.Net.Client" Version="2.47.0" />
|
<PackageReference Include="Grpc.Net.Client" Version="2.47.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="6.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="6.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
|
||||||
"DefaultConnection": "Host=localhost;Port=5432;Database=mare;Username=postgres"
|
|
||||||
},
|
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Information",
|
||||||
@@ -17,5 +14,5 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"CacheDirectory": "G:\\ServerTest", // do not delete this key and set it to the path where the files will be stored
|
"CacheDirectory": "G:\\ServerTest", // do not delete this key and set it to the path where the files will be stored
|
||||||
"ServicesUrl": "http://localhost:5002"
|
"ServiceAddress": "http://localhost:5002"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user