DocSpace-client/web/ASC.Web.Api/Core/BuildVersion.cs

93 lines
2.3 KiB
C#
Raw Normal View History

2022-03-01 10:58:02 +00:00
namespace ASC.Api.Settings;
[Scope]
public class BuildVersion
2022-03-01 08:59:06 +00:00
{
2022-03-01 10:58:02 +00:00
public string CommunityServer { get; set; }
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
public string DocumentServer { get; set; }
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
public string MailServer { get; set; }
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
public string XmppServer { get; set; }
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
[JsonIgnore]
private readonly IConfiguration _configuration;
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
[JsonIgnore]
private readonly FilesLinkUtility _filesLinkUtility;
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
[JsonIgnore]
private readonly DocumentServiceConnector _documentServiceConnector;
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
public BuildVersion(IConfiguration configuration, FilesLinkUtility filesLinkUtility, DocumentServiceConnector documentServiceConnector)
{
_configuration = configuration;
_filesLinkUtility = filesLinkUtility;
_documentServiceConnector = documentServiceConnector;
}
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
public async Task<BuildVersion> GetCurrentBuildVersionAsync()
{
CommunityServer = GetCommunityVersion();
DocumentServer = await GetDocumentVersionAsync();
MailServer = GetMailServerVersion();
XmppServer = GetXmppServerVersion();
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
return this;
}
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
private string GetCommunityVersion()
{
return _configuration["version:number"] ?? "8.5.0";
}
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
private Task<string> GetDocumentVersionAsync()
{
if (string.IsNullOrEmpty(_filesLinkUtility.DocServiceApiUrl))
return null;
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
return _documentServiceConnector.GetVersionAsync();
}
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
private static string GetMailServerVersion()
{
//TODO
return "";
/*
try
2022-03-01 08:59:06 +00:00
{
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
var engineFactory = new EngineFactory(
CoreContext.TenantManager.GetCurrentTenant().Id,
SecurityContext.CurrentAccount.ID.ToString());
2019-08-12 10:53:12 +00:00
2022-03-01 10:58:02 +00:00
var version = engineFactory.ServerEngine.GetServerVersion();
return version;
}
catch (Exception e)
{
LogManager.GetLogger("ASC").Warn(e.Message, e);
2022-03-01 08:59:06 +00:00
}
2022-03-01 10:58:02 +00:00
return null;*/
}
2022-03-01 08:59:06 +00:00
2022-03-01 10:58:02 +00:00
private static string GetXmppServerVersion()
{
//try
//{
// if (ConfigurationManagerExtension.AppSettings["web.talk"] != "true")
// return null;
// return new JabberServiceClient().GetVersion();
//}
//catch (Exception e)
//{
// LogManager.GetLogger("ASC").Warn(e.Message, e);
//}
return null;
2019-08-12 10:53:12 +00:00
}
}