Class DefaultTeamService
The standard team service, storing DefaultTeamEntity teams with DefaultTeamMember members. Register it and write no team storage code at all.
public class DefaultTeamService : TeamServiceRepositoryBase<DefaultTeamEntity, DefaultTeamMember>
- Inheritance
-
DefaultTeamService
- Inherited Members
Remarks
The two members it implements are the only ones
TeamServiceRepositoryBase<TTeamEntity, TMember> leaves abstract, and neither carries a
decision: they exist because a base class cannot new a generic type parameter it does not
control, so every host was writing the same two object initializers.
Everything stays overridable. Derive from this to change any of it — the twenty-odd storage
members are virtual on the base, and both factories below are virtual too. Use
TeamServiceRepositoryBase<TTeamEntity, TMember> directly instead when the team or member
needs properties of your own; that is what the three-argument RegisterTeamService overload is
for.
Constructors
DefaultTeamService(IUserService, ITeamRepository<DefaultTeamEntity, DefaultTeamMember>, IMongoDbServiceFactory, IIconStore)
public DefaultTeamService(IUserService userService, ITeamRepository<DefaultTeamEntity, DefaultTeamMember> teamRepository, IMongoDbServiceFactory mongoDbServiceFactory, IIconStore iconStore = null)
Parameters
userServiceIUserServiceteamRepositoryITeamRepository<DefaultTeamEntity, DefaultTeamMember>mongoDbServiceFactoryIMongoDbServiceFactoryiconStoreIIconStore
Methods
CreateTeam(string, string, IUser, string)
protected override Task<DefaultTeamEntity> CreateTeam(string teamKey, string name, IUser user, string displayName)
Parameters
Returns
Remarks
teamKey is supplied by TeamServiceBase, which generates it and has
already checked it is unused — this method does not invent one.
CreateTeamMember(InviteUserModel)
protected override Task<DefaultTeamMember> CreateTeamMember(InviteUserModel model)
Parameters
modelInviteUserModel
Returns
Remarks
The member starts with a null Key and an invitation: they are not a member of anything
until they accept, and the key is theirs, not one this service may invent for them.