Пример #1
0
        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.");
        }
Пример #2
0
    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());
        }