Skip to content

Commit e93e12e

Browse files
committed
fix(#394): register shorthand service types during discovery
1 parent 113ab03 commit e93e12e

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

Diff for: src/JsonApiDotNetCore/Graph/ServiceDiscoveryFacade.cs

+26-2
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,25 @@ private string FormatResourceName(Type resourceType, IResourceNameFormatter reso
107107
/// <param name="assembly">The assembly to search for resources in.</param>
108108
public ServiceDiscoveryFacade AddAssemblyServices(Assembly assembly)
109109
{
110+
RegisterServiceImplementations(assembly, typeof(IResourceService<>));
110111
RegisterServiceImplementations(assembly, typeof(IResourceService<,>));
112+
113+
RegisterServiceImplementations(assembly, typeof(ICreateService<>));
111114
RegisterServiceImplementations(assembly, typeof(ICreateService<,>));
115+
116+
RegisterServiceImplementations(assembly, typeof(IGetAllService<>));
112117
RegisterServiceImplementations(assembly, typeof(IGetAllService<,>));
118+
119+
RegisterServiceImplementations(assembly, typeof(IGetByIdService<>));
113120
RegisterServiceImplementations(assembly, typeof(IGetByIdService<,>));
121+
122+
RegisterServiceImplementations(assembly, typeof(IGetRelationshipService<>));
114123
RegisterServiceImplementations(assembly, typeof(IGetRelationshipService<,>));
124+
125+
RegisterServiceImplementations(assembly, typeof(IUpdateService<>));
115126
RegisterServiceImplementations(assembly, typeof(IUpdateService<,>));
127+
128+
RegisterServiceImplementations(assembly, typeof(IDeleteService<>));
116129
RegisterServiceImplementations(assembly, typeof(IDeleteService<,>));
117130

118131
return this;
@@ -122,8 +135,19 @@ public ServiceDiscoveryFacade AddAssemblyServices(Assembly assembly)
122135
/// Add <see cref="IEntityRepository{T, TId}"/> implementations to container.
123136
/// </summary>
124137
/// <param name="assembly">The assembly to search for resources in.</param>
125-
public ServiceDiscoveryFacade AddAssemblyRepositories(Assembly assembly)
126-
=> RegisterServiceImplementations(assembly, typeof(IEntityRepository<,>));
138+
public ServiceDiscoveryFacade AddAssemblyRepositories(Assembly assembly)
139+
{
140+
RegisterServiceImplementations(assembly, typeof(IEntityRepository<>));
141+
RegisterServiceImplementations(assembly, typeof(IEntityRepository<,>));
142+
143+
RegisterServiceImplementations(assembly, typeof(IEntityWriteRepository<>));
144+
RegisterServiceImplementations(assembly, typeof(IEntityWriteRepository<,>));
145+
146+
RegisterServiceImplementations(assembly, typeof(IEntityReadRepository<>));
147+
RegisterServiceImplementations(assembly, typeof(IEntityReadRepository<,>));
148+
149+
return this;
150+
}
127151

128152
private ServiceDiscoveryFacade RegisterServiceImplementations(Assembly assembly, Type interfaceType)
129153
{

0 commit comments

Comments
 (0)