diff --git a/Interfaces/IXBaseReferenced.cs b/Interfaces/IXBaseReferenced.cs
index 0888c78..62cfdf8 100644
--- a/Interfaces/IXBaseReferenced.cs
+++ b/Interfaces/IXBaseReferenced.cs
@@ -1,16 +1,19 @@
using System;
using System.Collections;
+using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using xDataService.Models;
using xIdentityModels.Models;
+using xModels.Base;
namespace xIdentityService.Interfaces
{
///
/// a Referenced Service is a Service which can Referenced to other Items ...
///
- public interface IXBaseReferenced
+ public interface IXBaseReferenced
+ where TEntity : XBaseEntity
{
///
/// Get Reference Identifier for Specified Provider and Specified Item ...
@@ -18,9 +21,9 @@ namespace xIdentityService.Interfaces
///
///
///
- string GetIdentifier(
+ string GetIdentifier(
string providedFor,
- TKey forProvidedId
+ TReferenceKey forProvidedId
);
///
@@ -31,10 +34,10 @@ namespace xIdentityService.Interfaces
///
///
///
- Task IsProvidedFor(
+ Task IsProvidedFor(
string providedFor,
- TKey forProvidedId,
- Guid id,
+ TReferenceKey forProvidedId,
+ TKey id,
CancellationToken cancellationToken = default
);
@@ -49,10 +52,10 @@ namespace xIdentityService.Interfaces
///
///
///
- Task AddReference(
+ Task AddReference(
string providedFor,
- TKey forProvidedId,
- Guid id,
+ TReferenceKey forProvidedId,
+ TKey id,
int forIndex = 0,
XUserClaimsInfoDto userInfo = null,
string connectionId = null,
@@ -70,19 +73,28 @@ namespace xIdentityService.Interfaces
///
///
///
- Task RemoveReference(
+ Task RemoveReference(
string providedFor,
- TKey forProvidedId,
- Guid id,
+ TReferenceKey forProvidedId,
+ TKey id,
int forIndex = 0,
XUserClaimsInfoDto userInfo = null,
string connectionId = null,
CancellationToken cancellationToken = default
);
+ ///
+ /// Get Specified References ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
Task>> GetReferences(
- Guid id,
-
+ string providedFor,
+ TKey id,
+ CancellationToken cancellationToken = default
);
}
}
\ No newline at end of file
diff --git a/Interfaces/IXBaseReferencedController.cs b/Interfaces/IXBaseReferencedController.cs
index f607a55..dc28c17 100644
--- a/Interfaces/IXBaseReferencedController.cs
+++ b/Interfaces/IXBaseReferencedController.cs
@@ -1,6 +1,8 @@
+using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
+using xDataService.Models;
using xModels.Base;
namespace xIdentityService.Interfaces
@@ -58,6 +60,20 @@ namespace xIdentityService.Interfaces
[FromQuery] object forProvidedId,
[FromQuery] int forIndex = 0,
CancellationToken cancellationToken = default
- );
+ );
+
+ ///
+ /// Retrieve References of Specified Itemfor providedFor ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("{id}/References")]
+ Task>>> GetReferences(
+ [FromRoute] TKey id,
+ [FromQuery] string providedFor,
+ CancellationToken cancellationToken = default
+ );
}
}
\ No newline at end of file