using System; using System.Collections; using System.Threading; using System.Threading.Tasks; using xDataService.Models; using xIdentityModels.Models; namespace xIdentityService.Interfaces { /// /// a Referenced Service is a Service which can Referenced to other Items ... /// public interface IXBaseReferenced { /// /// Get Reference Identifier for Specified Provider and Specified Item ... /// /// /// /// string GetIdentifier( string providedFor, TKey forProvidedId ); /// /// Check Specified Item has Refernce to Provider ... /// /// /// /// /// /// Task IsProvidedFor( string providedFor, TKey forProvidedId, Guid id, CancellationToken cancellationToken = default ); /// /// Add Specified Reference to Specified Item ... /// /// /// /// /// /// /// /// /// Task AddReference( string providedFor, TKey forProvidedId, Guid id, int forIndex = 0, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Remove Specified Reference from Specified Item ... /// /// /// /// /// /// /// /// /// Task RemoveReference( string providedFor, TKey forProvidedId, Guid id, int forIndex = 0, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); Task>> GetReferences( Guid id, ); } }