Class TeamServiceRepositoryBase<TTeamEntity, TMember>
public abstract class TeamServiceRepositoryBase<TTeamEntity, TMember> : TeamServiceBase, ITeamService where TTeamEntity : TeamEntityBase<TMember> where TMember : TeamMemberBase
Type Parameters
TTeamEntityTMember
- Inheritance
-
TeamServiceRepositoryBase<TTeamEntity, TMember>
- Implements
- Inherited Members
Constructors
TeamServiceRepositoryBase(IUserService, ITeamRepository<TTeamEntity, TMember>, IMongoDbServiceFactory)
protected TeamServiceRepositoryBase(IUserService userService, ITeamRepository<TTeamEntity, TMember> teamRepository, IMongoDbServiceFactory mongoDbServiceFactory)
Parameters
userServiceIUserServiceteamRepositoryITeamRepository<TTeamEntity, TMember>mongoDbServiceFactoryIMongoDbServiceFactory
Methods
AddTeamMemberAsync(string, InviteUserModel)
protected override Task AddTeamMemberAsync(string teamKey, InviteUserModel model)
Parameters
teamKeystringmodelInviteUserModel
Returns
CreateTeam(string, string, IUser, string)
protected abstract Task<TTeamEntity> CreateTeam(string teamKey, string name, IUser user, string displayName)
Parameters
Returns
- Task<TTeamEntity>
CreateTeamAsync(string, string, IUser, string)
protected override Task<ITeam> CreateTeamAsync(string teamKey, string name, IUser user, string displayName)
Parameters
Returns
CreateTeamMember(InviteUserModel)
protected abstract Task<TMember> CreateTeamMember(InviteUserModel model)
Parameters
modelInviteUserModel
Returns
- Task<TMember>
DeleteTeamAsync(string)
protected override Task DeleteTeamAsync(string teamKey)
Parameters
teamKeystring
Returns
GetConsentedTeamsInternalAsync(string[])
protected override IAsyncEnumerable<ITeam> GetConsentedTeamsInternalAsync(string[] userRoles)
Parameters
userRolesstring[]
Returns
GetInvitedMemberNameAsync(string, string)
Look up the (admin-entered) Name of the member identified by inviteKey
inside the given team. Used to capture the invitation Name before accept clears it,
so it can be promoted to User.Name. Default implementation returns null;
derivatives that have access to the typed team document override it.
protected override Task<string> GetInvitedMemberNameAsync(string teamKey, string inviteKey)
Parameters
Returns
GetTeamAsync(string)
protected override Task<ITeam> GetTeamAsync(string teamKey)
Parameters
teamKeystring
Returns
GetTeamMembersAsync(string, string)
protected override Task<ITeamMember> GetTeamMembersAsync(string teamKey, string userKey)
Parameters
Returns
GetTeamsAsync(IUser)
protected override IAsyncEnumerable<ITeam> GetTeamsAsync(IUser user)
Parameters
userIUser
Returns
RemoveTeamMemberAsync(string, string)
protected override Task RemoveTeamMemberAsync(string teamKey, string userKey)
Parameters
Returns
SetTeamConsentInternalAsync(string, string[], AccessLevel?)
protected override Task SetTeamConsentInternalAsync(string teamKey, string[] consentedRoles, AccessLevel? accessLevel)
Parameters
teamKeystringconsentedRolesstring[]accessLevelAccessLevel?
Returns
SetTeamMemberInvitationResponseAsync(string, string, string, bool)
protected override Task<ITeam> SetTeamMemberInvitationResponseAsync(string teamKey, string userKey, string inviteKey, bool accept)
Parameters
Returns
SetTeamMemberLastSeenAsync(string, string)
protected override Task SetTeamMemberLastSeenAsync(string teamKey, string userKey)
Parameters
Returns
SetTeamMemberNameAsync(string, string, string)
protected override Task SetTeamMemberNameAsync(string teamKey, string userKey, string name)
Parameters
Returns
SetTeamMemberRoleAsync(string, string, AccessLevel)
protected override Task SetTeamMemberRoleAsync(string teamKey, string userKey, AccessLevel accessLevel)
Parameters
teamKeystringuserKeystringaccessLevelAccessLevel
Returns
SetTeamMemberScopeOverridesAsync(string, string, string[])
protected override Task SetTeamMemberScopeOverridesAsync(string teamKey, string userKey, string[] scopeOverrides)
Parameters
Returns
SetTeamMemberTenantRolesAsync(string, string, string[])
protected override Task SetTeamMemberTenantRolesAsync(string teamKey, string userKey, string[] tenantRoles)
Parameters
Returns
SetTeamNameAsync(string, string)
protected override Task SetTeamNameAsync(string teamKey, string name)