diff options
Diffstat (limited to 'plugins/VNLib.Plugins.Essentials.Accounts.Admin')
-rw-r--r-- | plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Endpoints/UsersEndpoint.cs | 2 | ||||
-rw-r--r-- | plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Model/UserStore.cs | 44 |
2 files changed, 28 insertions, 18 deletions
diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Endpoints/UsersEndpoint.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Endpoints/UsersEndpoint.cs index dcd7799..5020e72 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Endpoints/UsersEndpoint.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Endpoints/UsersEndpoint.cs @@ -31,11 +31,11 @@ using VNLib.Utils; using VNLib.Plugins.Essentials.Users; using VNLib.Plugins.Essentials.Extensions; using VNLib.Plugins.Essentials.Accounts.Admin.Model; -using VNLib.Plugins.Extensions.Data; using VNLib.Plugins.Extensions.Loading; using VNLib.Plugins.Extensions.Loading.Sql; using VNLib.Plugins.Extensions.Loading.Users; using VNLib.Plugins.Essentials.Accounts.Admin.Helpers; +using VNLib.Plugins.Extensions.Data.Extensions; namespace VNLib.Plugins.Essentials.Accounts.Admin.Endpoints { diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Model/UserStore.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Model/UserStore.cs index 2f44108..82a4331 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Model/UserStore.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Model/UserStore.cs @@ -27,6 +27,7 @@ using System; using Microsoft.EntityFrameworkCore; using VNLib.Plugins.Extensions.Data; +using VNLib.Plugins.Extensions.Data.Abstractions; namespace VNLib.Plugins.Essentials.Accounts.Admin.Model { @@ -40,29 +41,38 @@ namespace VNLib.Plugins.Essentials.Accounts.Admin.Model Options = options; } - //Item id's are not used - public override string RecordIdBuilder => ""; - protected override IQueryable<User> GetCollectionQueryBuilder(TransactionalDbContext context, params string[] constraints) - { - return (from user in context.Set<User>() - orderby user.Created descending - select user); - } + ///<inheritdoc/> + public override IDbContextHandle GetNewContext() => new UserContext(Options); - protected override IQueryable<User> GetSingleQueryBuilder(TransactionalDbContext context, params string[] constraints) - { - string userId = constraints[0]; - return (from user in context.Set<User>() - where user.UserId == userId - select user); - } + ///<inheritdoc/> + public override string GetNewRecordId() => string.Empty; //IDs are not created here - public override TransactionalDbContext NewContext() => new UserContext(Options); + ///<inheritdoc/> + public override IDbQueryLookup<User> QueryTable { get; } = new DbQueries(); - protected override void OnRecordUpdate(User newRecord, User currentRecord) + ///<inheritdoc/> + public override void OnRecordUpdate(User newRecord, User currentRecord) { currentRecord.Privilages = currentRecord.Privilages; } + + private sealed class DbQueries : IDbQueryLookup<User> + { + public IQueryable<User> GetCollectionQueryBuilder(IDbContextHandle context, params string[] constraints) + { + return (from user in context.Set<User>() + orderby user.Created descending + select user); + } + + public IQueryable<User> GetSingleQueryBuilder(IDbContextHandle context, params string[] constraints) + { + string userId = constraints[0]; + return (from user in context.Set<User>() + where user.UserId == userId + select user); + } + } } } |