Table of Contents

Class TeamServiceRepositoryBase<TTeamEntity, TMember>

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll
public abstract class TeamServiceRepositoryBase<TTeamEntity, TMember> : TeamServiceBase, ITeamService where TTeamEntity : TeamEntityBase<TMember> where TMember : TeamMemberBase

Type Parameters

TTeamEntity
TMember
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

userService IUserService
teamRepository ITeamRepository<TTeamEntity, TMember>
mongoDbServiceFactory IMongoDbServiceFactory

Methods

AddTeamMemberAsync(string, InviteUserModel)

protected override Task AddTeamMemberAsync(string teamKey, InviteUserModel model)

Parameters

teamKey string
model InviteUserModel

Returns

Task

CreateTeam(string, string, IUser, string)

protected abstract Task<TTeamEntity> CreateTeam(string teamKey, string name, IUser user, string displayName)

Parameters

teamKey string
name string
user IUser
displayName string

Returns

Task<TTeamEntity>

CreateTeamAsync(string, string, IUser, string)

protected override Task<ITeam> CreateTeamAsync(string teamKey, string name, IUser user, string displayName)

Parameters

teamKey string
name string
user IUser
displayName string

Returns

Task<ITeam>

CreateTeamMember(InviteUserModel)

protected abstract Task<TMember> CreateTeamMember(InviteUserModel model)

Parameters

model InviteUserModel

Returns

Task<TMember>

DeleteTeamAsync(string)

protected override Task DeleteTeamAsync(string teamKey)

Parameters

teamKey string

Returns

Task

GetConsentedTeamsInternalAsync(string[])

protected override IAsyncEnumerable<ITeam> GetConsentedTeamsInternalAsync(string[] userRoles)

Parameters

userRoles string[]

Returns

IAsyncEnumerable<ITeam>

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

teamKey string
inviteKey string

Returns

Task<string>

GetTeamAsync(string)

protected override Task<ITeam> GetTeamAsync(string teamKey)

Parameters

teamKey string

Returns

Task<ITeam>

GetTeamMembersAsync(string, string)

protected override Task<ITeamMember> GetTeamMembersAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task<ITeamMember>

GetTeamsAsync(IUser)

protected override IAsyncEnumerable<ITeam> GetTeamsAsync(IUser user)

Parameters

user IUser

Returns

IAsyncEnumerable<ITeam>

RemoveTeamMemberAsync(string, string)

protected override Task RemoveTeamMemberAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task

SetTeamConsentInternalAsync(string, string[], AccessLevel?)

protected override Task SetTeamConsentInternalAsync(string teamKey, string[] consentedRoles, AccessLevel? accessLevel)

Parameters

teamKey string
consentedRoles string[]
accessLevel AccessLevel?

Returns

Task

SetTeamMemberInvitationResponseAsync(string, string, string, bool)

protected override Task<ITeam> SetTeamMemberInvitationResponseAsync(string teamKey, string userKey, string inviteKey, bool accept)

Parameters

teamKey string
userKey string
inviteKey string
accept bool

Returns

Task<ITeam>

SetTeamMemberLastSeenAsync(string, string)

protected override Task SetTeamMemberLastSeenAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task

SetTeamMemberNameAsync(string, string, string)

protected override Task SetTeamMemberNameAsync(string teamKey, string userKey, string name)

Parameters

teamKey string
userKey string
name string

Returns

Task

SetTeamMemberRoleAsync(string, string, AccessLevel)

protected override Task SetTeamMemberRoleAsync(string teamKey, string userKey, AccessLevel accessLevel)

Parameters

teamKey string
userKey string
accessLevel AccessLevel

Returns

Task

SetTeamMemberScopeOverridesAsync(string, string, string[])

protected override Task SetTeamMemberScopeOverridesAsync(string teamKey, string userKey, string[] scopeOverrides)

Parameters

teamKey string
userKey string
scopeOverrides string[]

Returns

Task

SetTeamMemberTenantRolesAsync(string, string, string[])

protected override Task SetTeamMemberTenantRolesAsync(string teamKey, string userKey, string[] tenantRoles)

Parameters

teamKey string
userKey string
tenantRoles string[]

Returns

Task

SetTeamNameAsync(string, string)

protected override Task SetTeamNameAsync(string teamKey, string name)

Parameters

teamKey string
name string

Returns

Task