src/SSCMS.Web/Controllers/Admin/InstallController.DatabaseConnect.cs
(完整代码) 1KBusing System.Threading.Tasks;
using Datory;
using Microsoft.AspNetCore.Mvc;
using SSCMS.Core.Utils;
using SSCMS.Utils;
namespace SSCMS.Web.Controllers.Admin
{
public partial class InstallController
{
[HttpPost, Route(RouteDatabaseConnect)]
public async Task<ActionResult<DatabaseConnectResult>> DatabaseConnect([FromBody]DatabaseConnectRequest request)
{
if (!await _configRepository.IsNeedInstallAsync()) return Unauthorized();
var databaseType = _settingsManager.Containerized ? _settingsManager.DatabaseType : request.DatabaseType;
var connectionString = _settingsManager.Containerized
? _settingsManager.DatabaseConnectionString
: InstallUtils.GetDatabaseConnectionString(request.DatabaseType, request.DatabaseHost,
request.IsDatabaseDefaultPort, TranslateUtils.ToInt(request.DatabasePort), request.DatabaseUserName,
request.DatabasePassword, string.Empty);
var db = new Database(databaseType, connectionString);
var (isConnectionWorks, message) = await db.IsConnectionWorksAsync();
if (!isConnectionWorks)
{
return this.Error(message);
}
var databaseNames = await db.GetDatabaseNamesAsync();
return new DatabaseConnectResult
{
DatabaseNames = databaseNames
};
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
