using System; using System.Linq.Expressions; using Luticate2.Auth.DataAccess.Models; using Luticate2.Auth.Dbo.Tokens; using Luticate2.Utils.DataAccess; using Luticate2.Utils.Dbo.Filter; using Luticate2.Utils.Utils; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; namespace Luticate2.Auth.DataAccess { public class LuTokensDataAccess : LuEfCrudDataAccess { public LuTokensDataAccess(IServiceProvider serviceProvider) : base(serviceProvider) { } protected override object GetId(string id) { return id; } protected override DbSet GetTable(LuAuthDatabaseContext db) { return db.lu_tokens; } protected override Expression> GetFilterExpression(LuFilterDbo filter) { var userId = filter.GetFilterString("userId", null); return tokens => (userId == null || tokens.user_id.ToString() == userId); } protected override lu_tokens GetModelFromTCreate(LuTokensAddDbo obj) { return new lu_tokens { data = JsonConvert.SerializeObject(obj.Data), id = obj.Id, notAfter = obj.NotAfter, notBefore = obj.NotBefore, user_id = obj.UserId.ToGuid() }; } protected override void EditModelFromTUpdate(LuTokensEditDbo obj, lu_tokens model) { throw new NotImplementedException(); } protected override LuTokensDbo GetDboFromModel(lu_tokens model) { return model.ToDbo(); } } }