Class ResourceRepositoryAccessor
- Namespace
- JsonApiDotNetCore.Repositories
- Assembly
- JsonApiDotNetCore.dll
Retrieves an IResourceRepository<TResource, TId> instance from the D/I container and invokes a method on it.
[PublicAPI]
public class ResourceRepositoryAccessor : IResourceRepositoryAccessor
- Inheritance
-
ResourceRepositoryAccessor
- Implements
- Inherited Members
Constructors
ResourceRepositoryAccessor(IServiceProvider, IResourceGraph, IJsonApiRequest)
public ResourceRepositoryAccessor(IServiceProvider serviceProvider, IResourceGraph resourceGraph, IJsonApiRequest request)
Parameters
serviceProviderIServiceProviderresourceGraphIResourceGraphrequestIJsonApiRequest
Methods
AddToToManyRelationshipAsync<TResource, TId>(TResource?, TId, ISet<IIdentifiable>, CancellationToken)
Invokes AddToToManyRelationshipAsync(TResource?, TId, ISet<IIdentifiable>, CancellationToken) for the specified resource type.
public Task AddToToManyRelationshipAsync<TResource, TId>(TResource? leftResource, TId leftId, ISet<IIdentifiable> rightResourceIds, CancellationToken cancellationToken) where TResource : class, IIdentifiable<TId>
Parameters
leftResourceTResourceleftIdTIdrightResourceIdsISet<IIdentifiable>cancellationTokenCancellationToken
Returns
Type Parameters
TResourceTId
CountAsync(ResourceType, FilterExpression?, CancellationToken)
Invokes CountAsync(FilterExpression?, CancellationToken) for the specified resource type.
public Task<int> CountAsync(ResourceType resourceType, FilterExpression? filter, CancellationToken cancellationToken)
Parameters
resourceTypeResourceTypefilterFilterExpressioncancellationTokenCancellationToken
Returns
CreateAsync<TResource>(TResource, TResource, CancellationToken)
Invokes CreateAsync(TResource, TResource, CancellationToken) for the specified resource type.
public Task CreateAsync<TResource>(TResource resourceFromRequest, TResource resourceForDatabase, CancellationToken cancellationToken) where TResource : class, IIdentifiable
Parameters
resourceFromRequestTResourceresourceForDatabaseTResourcecancellationTokenCancellationToken
Returns
Type Parameters
TResource
DeleteAsync<TResource, TId>(TResource?, TId, CancellationToken)
Invokes DeleteAsync(TResource?, TId, CancellationToken) for the specified resource type.
public Task DeleteAsync<TResource, TId>(TResource? resourceFromDatabase, TId id, CancellationToken cancellationToken) where TResource : class, IIdentifiable<TId>
Parameters
resourceFromDatabaseTResourceidTIdcancellationTokenCancellationToken
Returns
Type Parameters
TResourceTId
GetAsync(ResourceType, QueryLayer, CancellationToken)
Invokes GetAsync(QueryLayer, CancellationToken) for the specified resource type.
public Task<IReadOnlyCollection<IIdentifiable>> GetAsync(ResourceType resourceType, QueryLayer queryLayer, CancellationToken cancellationToken)
Parameters
resourceTypeResourceTypequeryLayerQueryLayercancellationTokenCancellationToken
Returns
GetAsync<TResource>(QueryLayer, CancellationToken)
Invokes GetAsync(QueryLayer, CancellationToken) for the specified resource type.
public Task<IReadOnlyCollection<TResource>> GetAsync<TResource>(QueryLayer queryLayer, CancellationToken cancellationToken) where TResource : class, IIdentifiable
Parameters
queryLayerQueryLayercancellationTokenCancellationToken
Returns
- Task<IReadOnlyCollection<TResource>>
Type Parameters
TResource
GetForCreateAsync<TResource, TId>(Type, TId, CancellationToken)
Invokes GetForCreateAsync(Type, TId, CancellationToken) for the specified resource type.
public Task<TResource> GetForCreateAsync<TResource, TId>(Type resourceClrType, TId id, CancellationToken cancellationToken) where TResource : class, IIdentifiable<TId>
Parameters
resourceClrTypeTypeidTIdcancellationTokenCancellationToken
Returns
- Task<TResource>
Type Parameters
TResourceTId
GetForUpdateAsync<TResource>(QueryLayer, CancellationToken)
Invokes GetForUpdateAsync(QueryLayer, CancellationToken) for the specified resource type.
public Task<TResource?> GetForUpdateAsync<TResource>(QueryLayer queryLayer, CancellationToken cancellationToken) where TResource : class, IIdentifiable
Parameters
queryLayerQueryLayercancellationTokenCancellationToken
Returns
- Task<TResource>
Type Parameters
TResource
LookupResourceType(Type)
Uses the IResourceGraph to lookup the corresponding ResourceType for the specified CLR type.
public ResourceType LookupResourceType(Type resourceClrType)
Parameters
resourceClrTypeType
Returns
RemoveFromToManyRelationshipAsync<TResource>(TResource, ISet<IIdentifiable>, CancellationToken)
Invokes RemoveFromToManyRelationshipAsync(TResource, ISet<IIdentifiable>, CancellationToken) for the specified resource type.
public Task RemoveFromToManyRelationshipAsync<TResource>(TResource leftResource, ISet<IIdentifiable> rightResourceIds, CancellationToken cancellationToken) where TResource : class, IIdentifiable
Parameters
leftResourceTResourcerightResourceIdsISet<IIdentifiable>cancellationTokenCancellationToken
Returns
Type Parameters
TResource
ResolveReadRepository(ResourceType)
protected virtual object ResolveReadRepository(ResourceType resourceType)
Parameters
resourceTypeResourceType
Returns
ResolveReadRepository(Type)
protected object ResolveReadRepository(Type resourceClrType)
Parameters
resourceClrTypeType
Returns
ResolveWriteRepository(Type)
protected virtual object ResolveWriteRepository(Type resourceClrType)
Parameters
resourceClrTypeType
Returns
SetRelationshipAsync<TResource>(TResource, object?, CancellationToken)
Invokes SetRelationshipAsync(TResource, object?, CancellationToken) for the specified resource type.
public Task SetRelationshipAsync<TResource>(TResource leftResource, object? rightValue, CancellationToken cancellationToken) where TResource : class, IIdentifiable
Parameters
leftResourceTResourcerightValueobjectcancellationTokenCancellationToken
Returns
Type Parameters
TResource
UpdateAsync<TResource>(TResource, TResource, CancellationToken)
Invokes UpdateAsync(TResource, TResource, CancellationToken) for the specified resource type.
public Task UpdateAsync<TResource>(TResource resourceFromRequest, TResource resourceFromDatabase, CancellationToken cancellationToken) where TResource : class, IIdentifiable
Parameters
resourceFromRequestTResourceresourceFromDatabaseTResourcecancellationTokenCancellationToken
Returns
Type Parameters
TResource