Release v1.0.0 #16
.envDbInitializer.csDependencyInjection.csPersistence.csprojUberDbContext.cs
.gitea/workflows
ApiDto
ApiDto.csproj
Common
Requests
Responses
Application
Application.csprojDependencyInjection.cs
Backend.slnCommon
Behaviors
Exceptions
Mappings
Cqrs
Campus
Queries
Discipline
Queries
Faculty
Queries
Group
Queries
LectureHall
Queries
Professor
Queries
Schedule
Interfaces
Domain/Schedule
Campus.csDiscipline.csFaculty.csGroup.csLectureHall.csLesson.csLessonAssociation.csProfessor.csSpecificWeek.csTypeOfOccupation.cs
Endpoint
Common
Attributes
BadRequestResponseAttribute.csLocalhostAttribute.csMaintenanceModeIgnoreAttribute.csNotFoundResponseAttribute.csTokenAuthenticationAttribute.cs
Exceptions
Interfaces
Services
Configuration
EnvironmentManager.cs
General
Swagger
Controllers
BaseController.cs
Endpoint.csprojConfiguration
V1
CampusController.csDisciplineController.csFacultyController.csGroupController.csLectureHallController.csProfessorController.csScheduleController.cs
WeatherForecastController.csMiddleware
Program.csWeatherForecast.csPersistence
Contexts
Schedule
EntityTypeConfigurations
Schedule
@ -14,6 +14,7 @@ using Mirea.Api.Endpoint.Configuration.General;
|
|||||||
using Mirea.Api.Endpoint.Configuration.General.Settings;
|
using Mirea.Api.Endpoint.Configuration.General.Settings;
|
||||||
using MySqlConnector;
|
using MySqlConnector;
|
||||||
using Npgsql;
|
using Npgsql;
|
||||||
|
using StackExchange.Redis;
|
||||||
using System;
|
using System;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
|
||||||
@ -139,6 +140,52 @@ public class SetupController(ISetupToken setupToken, IMaintenanceModeNotConfigur
|
|||||||
|
|
||||||
return SetDatabase<SqliteConnection, SqliteException>(connectionString, DbSettings.DatabaseEnum.Sqlite);
|
return SetDatabase<SqliteConnection, SqliteException>(connectionString, DbSettings.DatabaseEnum.Sqlite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("SetRedis")]
|
||||||
|
[TokenAuthentication]
|
||||||
|
[BadRequestResponse]
|
||||||
|
public ActionResult<bool> SetRedis([FromBody] CacheRequest request)
|
||||||
|
{
|
||||||
|
string connectionString = $"{request.Server}:{request.Port},ssl=false";
|
||||||
|
if (request.Password != null)
|
||||||
|
connectionString += $",password={request.Password}";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var redis = ConnectionMultiplexer.Connect(connectionString);
|
||||||
|
redis.Close();
|
||||||
|
|
||||||
|
var general = GeneralConfig;
|
||||||
|
general.CacheSettings = new CacheSettings
|
||||||
|
{
|
||||||
|
ConnectionString = connectionString,
|
||||||
|
TypeDatabase = CacheSettings.CacheEnum.Redis
|
||||||
|
};
|
||||||
|
GeneralConfig = general;
|
||||||
|
|
||||||
|
return Ok(true);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
throw new ControllerArgumentException("Error when connecting to Redis: " + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("SetMemcached")]
|
||||||
|
[TokenAuthentication]
|
||||||
|
[BadRequestResponse]
|
||||||
|
public ActionResult<bool> SetMemcached()
|
||||||
|
{
|
||||||
|
var general = GeneralConfig;
|
||||||
|
general.CacheSettings = new CacheSettings
|
||||||
|
{
|
||||||
|
ConnectionString = null,
|
||||||
|
TypeDatabase = CacheSettings.CacheEnum.Memcached
|
||||||
|
};
|
||||||
|
GeneralConfig = general;
|
||||||
|
|
||||||
|
return Ok(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user