Skip to content

Commit 0b1a40f

Browse files
committed
fix: wiring up resource definition to other repository constructors
1 parent 7a737aa commit 0b1a40f

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

src/Examples/JsonApiDotNetCoreExample/Resources/UserResource.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public override QueryFilters GetQueryFilters()
1919
};
2020
}
2121

22+
2223
private IQueryable<User> FirstCharacterFilter(IQueryable<User> users, FilterQuery filterQuery)
2324
{
2425
switch(filterQuery.Operation)

src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,19 @@ public class DefaultEntityRepository<TEntity>
2222
{
2323
public DefaultEntityRepository(
2424
IJsonApiContext jsonApiContext,
25-
IDbContextResolver contextResolver
25+
IDbContextResolver contextResolver,
26+
ResourceDefinition<TEntity> resourceDefinition = null
2627
)
27-
: base(jsonApiContext, contextResolver)
28+
: base(jsonApiContext, contextResolver, resourceDefinition)
2829
{ }
2930

3031
public DefaultEntityRepository(
3132
ILoggerFactory loggerFactory,
3233
IJsonApiContext jsonApiContext,
33-
IDbContextResolver contextResolver
34+
IDbContextResolver contextResolver,
35+
ResourceDefinition<TEntity> resourceDefinition = null
3436
)
35-
: base(loggerFactory, jsonApiContext, contextResolver)
37+
: base(loggerFactory, jsonApiContext, contextResolver, resourceDefinition)
3638
{ }
3739
}
3840

@@ -51,9 +53,10 @@ IDbContextResolver contextResolver
5153
public DefaultGuidEntityRepository(
5254
ILoggerFactory loggerFactory,
5355
IJsonApiContext jsonApiContext,
54-
IDbContextResolver contextResolver
56+
IDbContextResolver contextResolver,
57+
ResourceDefinition<TEntity> resourceDefinition = null
5558
)
56-
: base(loggerFactory, jsonApiContext, contextResolver)
59+
: base(loggerFactory, jsonApiContext, contextResolver, resourceDefinition)
5760
{ }
5861
}
5962

@@ -75,13 +78,15 @@ public class DefaultEntityRepository<TEntity, TId>
7578
private readonly ResourceDefinition<TEntity> _resourceDefinition;
7679
public DefaultEntityRepository(
7780
IJsonApiContext jsonApiContext,
78-
IDbContextResolver contextResolver
81+
IDbContextResolver contextResolver,
82+
ResourceDefinition<TEntity> resourceDefinition = null
7983
)
8084
{
8185
_context = contextResolver.GetContext();
8286
_dbSet = contextResolver.GetDbSet<TEntity>();
8387
_jsonApiContext = jsonApiContext;
8488
_genericProcessorFactory = _jsonApiContext.GenericProcessorFactory;
89+
_resourceDefinition = resourceDefinition;
8590
}
8691

8792
public DefaultEntityRepository(
@@ -122,6 +127,7 @@ public virtual IQueryable<TEntity> Filter(IQueryable<TEntity> entities, FilterQu
122127
return defaultQueryFilter(entities, filterQuery);
123128
}
124129
}
130+
var x = _genericProcessorFactory.GetProcessor<IResourceDefinition>(typeof(ResourceDefinition<>), typeof(TEntity));
125131
return entities.Filter(_jsonApiContext, filterQuery);
126132
}
127133

src/JsonApiDotNetCore/Hooks/Execution/HookExecutorHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ Type GetIdentifierType(Type entityType)
155155
IEnumerable<TEntity> GetWhereAndInclude<TEntity, TId>(IEnumerable<TId> ids, string[] relationshipPaths) where TEntity : class, IIdentifiable<TId>
156156
{
157157
var repo = GetRepository<TEntity, TId>();
158-
var query = repo.GetQueryable().Where(e => ids.Contains(e.Id));
158+
var query = repo.Get().Where(e => ids.Contains(e.Id));
159159
foreach (var path in relationshipPaths)
160160
{
161161
query = query.Include(path);

0 commit comments

Comments
 (0)