using PrivaPub.Models.Data; using PrivaPub.StaticServices; namespace PrivaPub.Services.ClientToServer.Public { public class DataService : IDataService { readonly DbEntities DbEntities; readonly AppConfigurationService AppConfigurationService; public DataService(DbEntities dbCollections, AppConfigurationService appConfigurationService) { DbEntities = dbCollections; AppConfigurationService = appConfigurationService; } // the build's ref (its tag, or the branch a manual deploy ran from), as /build.json and NodeInfo name it public string GetCurrentVersion() => string.IsNullOrEmpty(BuildInfo.Ref) ? BuildInfo.Commit : BuildInfo.Ref; public async Task> GetLanguages(CancellationToken cancellationToken) { return (await DbEntities.Languages .Match(l => AppConfigurationService.AppConfiguration.SupportedLanguages.Contains(l.International2Code)) .ExecuteAsync(cancellationToken)).OrderBy(l => l.NativeName).ToArray(); } } }