選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

LuTokensDataAccess.cs 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Linq.Expressions;
  3. using Luticate2.Auth.DataAccess.Models;
  4. using Luticate2.Auth.Dbo.Tokens;
  5. using Luticate2.Utils.DataAccess;
  6. using Luticate2.Utils.Dbo.Filter;
  7. using Luticate2.Utils.Utils;
  8. using Microsoft.EntityFrameworkCore;
  9. using Newtonsoft.Json;
  10. namespace Luticate2.Auth.DataAccess
  11. {
  12. public class LuTokensDataAccess : LuEfCrudDataAccess<lu_tokens, LuTokensAddDbo, LuTokensDbo, LuTokensEditDbo, LuAuthDatabaseContext, string>
  13. {
  14. public LuTokensDataAccess(IServiceProvider serviceProvider) : base(serviceProvider)
  15. {
  16. }
  17. protected override object GetId(string id)
  18. {
  19. return id;
  20. }
  21. protected override DbSet<lu_tokens> GetTable(LuAuthDatabaseContext db)
  22. {
  23. return db.lu_tokens;
  24. }
  25. protected override Expression<Func<lu_tokens, bool>> GetFilterExpression(LuFilterDbo filter)
  26. {
  27. var userId = filter.GetFilterString("userId", null);
  28. return tokens => (userId == null || tokens.user_id.ToString() == userId);
  29. }
  30. protected override lu_tokens GetModelFromTCreate(LuTokensAddDbo obj)
  31. {
  32. return new lu_tokens
  33. {
  34. data = JsonConvert.SerializeObject(obj.Data),
  35. id = obj.Id,
  36. notAfter = obj.NotAfter,
  37. notBefore = obj.NotBefore,
  38. user_id = obj.UserId.ToGuid()
  39. };
  40. }
  41. protected override void EditModelFromTUpdate(LuTokensEditDbo obj, lu_tokens model)
  42. {
  43. throw new NotImplementedException();
  44. }
  45. protected override LuTokensDbo GetDboFromModel(lu_tokens model)
  46. {
  47. return model.ToDbo();
  48. }
  49. }
  50. }