fix(backend): return last_sid_reroll in API, update last sid reroll + last active correctly
This commit is contained in:
parent
b5f9ef9bd6
commit
e83895255e
3 changed files with 17 additions and 6 deletions
|
@ -128,13 +128,18 @@ public class MembersController(
|
|||
if (CurrentUser!.LastSidReroll > minTimeAgo)
|
||||
throw new ApiError.BadRequest("Cannot reroll short ID yet");
|
||||
|
||||
// Using ExecuteUpdateAsync here as the new short ID is generated by the database
|
||||
await db.Members.Where(m => m.Id == member.Id)
|
||||
.ExecuteUpdateAsync(s => s
|
||||
.SetProperty(m => m.Sid, _ => db.FindFreeMemberSid()));
|
||||
|
||||
// Re-fetch member so we can be sure the sid is correct
|
||||
var updatedMember = await db.ResolveMemberAsync(CurrentUser!.Id, memberRef);
|
||||
await db.Users.Where(u => u.Id == CurrentUser.Id)
|
||||
.ExecuteUpdateAsync(s => s
|
||||
.SetProperty(u => u.LastSidReroll, clock.GetCurrentInstant())
|
||||
.SetProperty(u => u.LastActive, clock.GetCurrentInstant()));
|
||||
|
||||
// Re-fetch member to fetch the new sid
|
||||
var updatedMember = await db.ResolveMemberAsync(CurrentUser!.Id, memberRef);
|
||||
return Ok(memberRenderer.RenderMember(updatedMember, CurrentToken));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue