Interface ITeamRepository<TTeamEntity, TMember>
public interface ITeamRepository<TTeamEntity, TMember> : IRepository where TTeamEntity : TeamEntityBase<TMember> where TMember : TeamMemberBase
Type Parameters
TTeamEntityTMember
Methods
AddAsync(TTeamEntity)
Task AddAsync(TTeamEntity teamEntity)
Parameters
teamEntityTTeamEntity
Returns
AddMemberAsync(string, TMember)
Task AddMemberAsync(string teamKey, TMember member)
Parameters
teamKeystringmemberTMember
Returns
DeleteAsync(string)
Task DeleteAsync(string teamKey)
Parameters
teamKeystring
Returns
GetAllTeamsAsync()
Every team, regardless of membership — backs the cross-team discovery path authorized by Read.
IAsyncEnumerable<TTeamEntity> GetAllTeamsAsync()
Returns
- IAsyncEnumerable<TTeamEntity>
Remarks
Declared with a default implementation so existing custom repositories keep compiling. The default throws rather than returning empty: a silently empty cross-team list is indistinguishable from a working feature that happens to have nothing to show, which hides the missing implementation.
GetAsync(string)
Task<TTeamEntity> GetAsync(string teamKey)
Parameters
teamKeystring
Returns
- Task<TTeamEntity>
GetTeamsByConsentAsync(string[])
IAsyncEnumerable<TTeamEntity> GetTeamsByConsentAsync(string[] roles)
Parameters
rolesstring[]
Returns
- IAsyncEnumerable<TTeamEntity>
GetTeamsByUserAsync(string)
IAsyncEnumerable<TTeamEntity> GetTeamsByUserAsync(string userKey)
Parameters
userKeystring
Returns
- IAsyncEnumerable<TTeamEntity>
RemoveMemberAsync(string, string)
Task RemoveMemberAsync(string teamKey, string userKey)
Parameters
Returns
RenameAsync(string, string)
Task RenameAsync(string teamKey, string name)
Parameters
Returns
SetConsentAsync(string, string[], AccessLevel?)
Task SetConsentAsync(string teamKey, string[] consentedRoles, AccessLevel? accessLevel = null)
Parameters
teamKeystringconsentedRolesstring[]accessLevelAccessLevel?
Returns
SetCustomRolesAsync(string, IReadOnlyList<TenantRoleDefinition>)
Task SetCustomRolesAsync(string teamKey, IReadOnlyList<TenantRoleDefinition> customRoles)
Parameters
teamKeystringcustomRolesIReadOnlyList<TenantRoleDefinition>
Returns
SetInvitationResponseAsync(string, string, string, bool)
Task<ITeam> SetInvitationResponseAsync(string teamKey, string userKey, string inviteKey, bool accept)
Parameters
Returns
SetLastSeenAsync(string, string, DateTime)
Task SetLastSeenAsync(string teamKey, string userKey, DateTime utcNow)
Parameters
Returns
SetMemberNameAsync(string, string, string)
Task SetMemberNameAsync(string teamKey, string userKey, string name)
Parameters
Returns
SetMemberRoleAsync(string, string, AccessLevel)
Task SetMemberRoleAsync(string teamKey, string userKey, AccessLevel accessLevel)
Parameters
teamKeystringuserKeystringaccessLevelAccessLevel
Returns
SetMemberScopeOverridesAsync(string, string, string[])
Task SetMemberScopeOverridesAsync(string teamKey, string userKey, string[] scopeOverrides)
Parameters
Returns
SetMemberTenantRolesAsync(string, string, string[])
Task SetMemberTenantRolesAsync(string teamKey, string userKey, string[] tenantRoles)