Table of Contents

Interface IUserNoticeTeamService

Namespace
Tharga.Team
Assembly
Tharga.Team.dll

A team's defaults for automatic notices, used for its members who have not chosen; every member requires the team scope Manage.

public interface IUserNoticeTeamService

Remarks

Gated: registered as a team service, so a caller without the scope on the team named first is refused before the implementation runs and the refusal is audited. A change is audited by the service itself.

Methods

GetTeamDefaultsAsync(string, CancellationToken)

The team's default for every notice in the catalogue, in catalogue order.

[RequireScope("notices:manage", Audit = AuditMode.None)]
Task<UserNoticeTeamDefault[]> GetTeamDefaultsAsync(string teamKey, CancellationToken cancellationToken = default)

Parameters

teamKey string
cancellationToken CancellationToken

Returns

Task<UserNoticeTeamDefault[]>

SetTeamDefaultAsync(string, string, bool, UserNoticeDelivery, CancellationToken)

Sets whether the team's members receive a notice and how until they choose, audited when it changes.

[RequireScope("notices:manage", Audit = AuditMode.None)]
Task<UserNoticeTeamDefault> SetTeamDefaultAsync(string teamKey, string noticeKey, bool enabled, UserNoticeDelivery delivery, CancellationToken cancellationToken = default)

Parameters

teamKey string
noticeKey string
enabled bool
delivery UserNoticeDelivery
cancellationToken CancellationToken

Returns

Task<UserNoticeTeamDefault>

Exceptions

ArgumentException

The notice is not in the catalogue, or it does not allow delivery.