using InnovEnergy.App.Backend.DataTypes; using InnovEnergy.App.Backend.DataTypes.Methods; using InnovEnergy.App.Backend.Relations; using InnovEnergy.Lib.Utils; namespace InnovEnergy.App.Backend.Database; public static partial class Db { public static Folder? GetFolderById(Int64? id) { return Folders .FirstOrDefault(f => f.Id == id); } public static Installation? GetInstallationById(Int64? id) { return Installations .FirstOrDefault(i => i.Id == id) .FillOrderNumbers(); } public static User? GetUserById(Int64? id) { return Users .FirstOrDefault(u => u.Id == id) .HidePassword(); } public static User? GetUserByName(String userName) { return Users .FirstOrDefault(u => u.Name == userName) .HidePassword(); } public static User? GetUserWithPasswordByName(String userName) { return Users .FirstOrDefault(u => u.Name == userName); } public static Session? GetSession(String token) { var session = Sessions .FirstOrDefault(s => s.Token == token); // cannot use session.Valid in the DB query above. // It does not exist in the db (IgnoreAttribute) if (session is null) return null; if (!session.Valid) { Delete(session); return null; } return session; } }