&mut self,
key: K,
auth: Authorisation<AccountName>,
- set_access: Option<Arc<dyn PlayerAccessSpec>>,
+ set_access: Option<AccessRecord>,
f: F
)
-> Result<T, (InternalError, T)>
acctid,
|ig, player| ig.invalidate_tokens(player)
)?;
- entry.access = AccessRecord(new_access);
+ entry.access = new_access;
}
let output = f(&mut *entry, acctid);
let ok = self.save_accounts_now();
UpdateAccont(AccountDetails { account, nick, timezone, access }) => {
let mut ag = AccountsGuard::lock();
let auth = authorise_for_account(cs, &ag, &account)?;
- let access = access.map(Into::into);
+ let access = cs.accountrecord_from_spec(access)?;
ag.with_entry_mut(&account, auth, access, |record, _acctid|{
fn update_from<T>(spec: Option<T>, record: &mut T) {
if let Some(new) = spec { *record = new; }
DeletePiece(PieceId),
ResetPlayerAccess(PlayerId),
- // xxx ^ prevent use of Fixed when not wanted
RedeliverPlayerAccess(PlayerId),
JoinGame { details: MgmtPlayerDetails },
player: PlayerId,
auth: Authorisation<AccountName>)
-> Option<AccessTokenReport> {
- // xxx call this function when access method changes
self.player_access_reset_redeliver(accounts, player, auth, true)?
}