Table of Contents

Class TeamServiceBase

Namespace
Tharga.Team
Assembly
Tharga.Team.dll
public abstract class TeamServiceBase : ITeamService
Inheritance
TeamServiceBase
Implements
Derived
Inherited Members

Constructors

TeamServiceBase(IUserService, ILogger<TeamServiceBase>)

protected TeamServiceBase(IUserService userService, ILogger<TeamServiceBase> logger = null)

Parameters

userService IUserService
logger ILogger<TeamServiceBase>

Methods

AddMemberAsync(string, InviteUserModel)

public Task AddMemberAsync(string teamKey, InviteUserModel model)

Parameters

teamKey string
model InviteUserModel

Returns

Task

AddTeamMemberAsync(string, InviteUserModel)

protected abstract Task AddTeamMemberAsync(string teamKey, InviteUserModel model)

Parameters

teamKey string
model InviteUserModel

Returns

Task

CreateTeamAsync(string)

public Task<ITeam> CreateTeamAsync(string name)

Parameters

name string

Returns

Task<ITeam>

CreateTeamAsync(string, string, IUser, string)

protected abstract Task<ITeam> CreateTeamAsync(string teamKey, string name, IUser user, string displayName = null)

Parameters

teamKey string
name string
user IUser
displayName string

Returns

Task<ITeam>

DeleteTeamAsync(string)

protected abstract Task DeleteTeamAsync(string teamKey)

Parameters

teamKey string

Returns

Task

DeleteTeamAsync<TMember>(string)

public Task DeleteTeamAsync<TMember>(string teamKey) where TMember : ITeamMember

Parameters

teamKey string

Returns

Task

Type Parameters

TMember

GetConsentedTeamsAsync(string[])

public IAsyncEnumerable<ITeam> GetConsentedTeamsAsync(string[] userRoles)

Parameters

userRoles string[]

Returns

IAsyncEnumerable<ITeam>

GetConsentedTeamsInternalAsync(string[])

protected abstract 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 virtual Task<string> GetInvitedMemberNameAsync(string teamKey, string inviteKey)

Parameters

teamKey string
inviteKey string

Returns

Task<string>

GetMembersAsync(string)

public virtual IAsyncEnumerable<ITeamMember> GetMembersAsync(string teamKey)

Parameters

teamKey string

Returns

IAsyncEnumerable<ITeamMember>

GetTeamAsync(string)

protected abstract Task<ITeam> GetTeamAsync(string teamKey)

Parameters

teamKey string

Returns

Task<ITeam>

GetTeamAsync<TMember>(string)

public Task<ITeam<TMember>> GetTeamAsync<TMember>(string teamKey) where TMember : ITeamMember

Parameters

teamKey string

Returns

Task<ITeam<TMember>>

Type Parameters

TMember

GetTeamMemberAsync(string, string)

public Task<ITeamMember> GetTeamMemberAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task<ITeamMember>

GetTeamMembersAsync(string, string)

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

Parameters

teamKey string
userKey string

Returns

Task<ITeamMember>

GetTeamsAsync()

public IAsyncEnumerable<ITeam> GetTeamsAsync()

Returns

IAsyncEnumerable<ITeam>

GetTeamsAsync(IUser)

protected abstract IAsyncEnumerable<ITeam> GetTeamsAsync(IUser user)

Parameters

user IUser

Returns

IAsyncEnumerable<ITeam>

GetTeamsAsync<TMember>()

public IAsyncEnumerable<ITeam<TMember>> GetTeamsAsync<TMember>() where TMember : ITeamMember

Returns

IAsyncEnumerable<ITeam<TMember>>

Type Parameters

TMember

RemoveMemberAsync(string, string)

public Task RemoveMemberAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task

RemoveTeamMemberAsync(string, string)

protected abstract Task RemoveTeamMemberAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task

RenameTeamAsync<TMember>(string, string)

public Task RenameTeamAsync<TMember>(string teamKey, string name) where TMember : ITeamMember

Parameters

teamKey string
name string

Returns

Task

Type Parameters

TMember

ResolveDisplayName(IUser)

public static string ResolveDisplayName(IUser user)

Parameters

user IUser

Returns

string

SetInvitationResponseAsync(string, string, string, bool)

public Task SetInvitationResponseAsync(string teamKey, string userKey, string inviteKey, bool accept)

Parameters

teamKey string
userKey string
inviteKey string
accept bool

Returns

Task

SetMemberLastSeenAsync(string)

public Task SetMemberLastSeenAsync(string teamKey)

Parameters

teamKey string

Returns

Task

SetMemberNameAsync(string, string, string)

public Task SetMemberNameAsync(string teamKey, string userKey, string name)

Parameters

teamKey string
userKey string
name string

Returns

Task

SetMemberRoleAsync(string, string, AccessLevel)

public Task SetMemberRoleAsync(string teamKey, string userKey, AccessLevel accessLevel)

Parameters

teamKey string
userKey string
accessLevel AccessLevel

Returns

Task

SetMemberScopeOverridesAsync(string, string, string[])

public Task SetMemberScopeOverridesAsync(string teamKey, string userKey, string[] scopeOverrides)

Parameters

teamKey string
userKey string
scopeOverrides string[]

Returns

Task

SetMemberTenantRolesAsync(string, string, string[])

public Task SetMemberTenantRolesAsync(string teamKey, string userKey, string[] tenantRoles)

Parameters

teamKey string
userKey string
tenantRoles string[]

Returns

Task

SetTeamConsentAsync(string, string[], AccessLevel?)

public Task SetTeamConsentAsync(string teamKey, string[] consentedRoles, AccessLevel? accessLevel = null)

Parameters

teamKey string
consentedRoles string[]
accessLevel AccessLevel?

Returns

Task

SetTeamConsentInternalAsync(string, string[], AccessLevel?)

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

Parameters

teamKey string
consentedRoles string[]
accessLevel AccessLevel?

Returns

Task

SetTeamMemberInvitationResponseAsync(string, string, string, bool)

protected abstract 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 abstract Task SetTeamMemberLastSeenAsync(string teamKey, string userKey)

Parameters

teamKey string
userKey string

Returns

Task

SetTeamMemberNameAsync(string, string, string)

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

Parameters

teamKey string
userKey string
name string

Returns

Task

SetTeamMemberRoleAsync(string, string, AccessLevel)

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

Parameters

teamKey string
userKey string
accessLevel AccessLevel

Returns

Task

SetTeamMemberScopeOverridesAsync(string, string, string[])

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

Parameters

teamKey string
userKey string
scopeOverrides string[]

Returns

Task

SetTeamMemberTenantRolesAsync(string, string, string[])

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

Parameters

teamKey string
userKey string
tenantRoles string[]

Returns

Task

SetTeamNameAsync(string, string)

protected abstract Task SetTeamNameAsync(string teamKey, string name)

Parameters

teamKey string
name string

Returns

Task

TransferOwnershipAsync<TMember>(string, string)

public Task TransferOwnershipAsync<TMember>(string teamKey, string newOwnerUserKey) where TMember : ITeamMember

Parameters

teamKey string
newOwnerUserKey string

Returns

Task

Type Parameters

TMember

Events

SelectTeamEvent

public event EventHandler<SelectTeamEventArgs> SelectTeamEvent

Event Type

EventHandler<SelectTeamEventArgs>

TeamsListChangedEvent

public event EventHandler<TeamsListChangedEventArgs> TeamsListChangedEvent

Event Type

EventHandler<TeamsListChangedEventArgs>