using Microsoft.EntityFrameworkCore; using OwnChar.Data.Model.Base; using Pilz.Configuration; using System.Diagnostics.CodeAnalysis; using ILogger = Castle.Core.Logging.ILogger; namespace OwnChar.Server.Api; public interface IServer { ISettings Settings { get; } DbContext? Data { get; } ILogger Log { get; } [MemberNotNull(nameof(Data))] void CheckLogin(string secret); [MemberNotNullWhen(true, nameof(Data))] bool IsLoggedIn(string secret); [MemberNotNullWhen(true, nameof(Data))] UserAccountBase? GetUser(string secret); }