aboutsummaryrefslogtreecommitdiff
path: root/plugins/VNLib.Plugins.Essentials.Accounts.Admin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/VNLib.Plugins.Essentials.Accounts.Admin')
-rw-r--r--plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Endpoints/UsersEndpoint.cs2
-rw-r--r--plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/Model/UserStore.cs44
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);
+ }
+ }
}
}