--[[
modpol calls this function when someone starts a new request for this module
--]]

function module:initiate(org) {
    
    form = {
        {
            "name": "to_remove",
            "display": "Which user should be removed?",
            "type": "drop-down",
            "values": org:list_members()
        },
        {
            "name": "reason",
            "type": "text-box",
            "prompt": "Reason for removing member:"
        }
    }

    return form
}

--[[
modpol prompts the user with this form, and after receiving the data asynchronously
the returned form would look like: 

{
    "to_remove": luke,
    "reason": stealing food
}

based on provided "name" fields and the input given by the user
now module:request is called 
--]]

function module:request(form) {
    self.data = form
}

--[[
after the module request function runs, modpol will initiate the consent process
if consent is approved, the implement function is called
--]]

function module:implement() {
    org:remove_member(self.data.to_remove)
}