public async Task Delete(Context ctx, PKMember target) { ctx.CheckSystem().CheckOwnMember(target); await ctx.Reply($"{Emojis.Warn} Are you sure you want to delete \"{target.NameFor(ctx)}\"? If so, reply to this message with the member's ID (`{target.Hid}`). __***This cannot be undone!***__"); if (!await ctx.ConfirmWithReply(target.Hid)) { throw Errors.MemberDeleteCancelled; } await _db.Execute(conn => _repo.DeleteMember(conn, target.Id)); await ctx.Reply($"{Emojis.Success} Member deleted."); }
public async Task <ActionResult> DeleteMember(string hid) { var member = await _repo.GetMemberByHid(hid); if (member == null) { return(NotFound("Member not found.")); } var res = await _auth.AuthorizeAsync(User, member, "EditMember"); if (!res.Succeeded) { return(StatusCode(StatusCodes.Status403Forbidden, $"Member '{hid}' is not part of your system.")); } await _repo.DeleteMember(member.Id); return(Ok()); }
public async Task <ActionResult> DeleteMember(string hid) { await using var conn = await _db.Obtain(); var member = await _repo.GetMemberByHid(conn, hid); if (member == null) { return(NotFound("Member not found.")); } var res = await _auth.AuthorizeAsync(User, member, "EditMember"); if (!res.Succeeded) { return(Unauthorized($"Member '{hid}' is not part of your system.")); } await _repo.DeleteMember(conn, member.Id); return(Ok()); }