# This file was generated by the Julia Swagger Code Generator
# Do not modify this file directly. Modify the swagger specification instead.

struct UsergroupsUsersApi <: SwaggerApi
    client::Swagger.Client
end

function _swaggerinternal_usergroupsUsersList(_api::UsergroupsUsersApi, usergroup::String; include_disabled=nothing, _mediaType=nothing)
    _ctx = Swagger.Ctx(_api.client, "GET", Dict{String, Any}, "/usergroups.users.list", ["slackAuth"])
    Swagger.set_param(_ctx.query, "include_disabled", include_disabled)  # type Bool
    Swagger.set_param(_ctx.query, "usergroup", usergroup)  # type String
    Swagger.set_header_accept(_ctx, ["application/json"])
    Swagger.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/x-www-form-urlencoded"] : [_mediaType])
    return _ctx
end

"""

List all users in a User Group
Param: usergroup::String (required)
Param: include_disabled::Bool
Return: Dict{String, Any}
"""
function usergroupsUsersList(_api::UsergroupsUsersApi, usergroup::String; include_disabled=nothing, _mediaType=nothing)
    _ctx = _swaggerinternal_usergroupsUsersList(_api, usergroup; include_disabled=include_disabled, _mediaType=_mediaType)
    Swagger.exec(_ctx)
end

function usergroupsUsersList(_api::UsergroupsUsersApi, response_stream::Channel, usergroup::String; include_disabled=nothing, _mediaType=nothing)
    _ctx = _swaggerinternal_usergroupsUsersList(_api, usergroup; include_disabled=include_disabled, _mediaType=_mediaType)
    Swagger.exec(_ctx, response_stream)
end

function _swaggerinternal_usergroupsUsersUpdate(_api::UsergroupsUsersApi, usergroup::String, users::String; include_count=nothing, _mediaType=nothing)
    _ctx = Swagger.Ctx(_api.client, "POST", Dict{String, Any}, "/usergroups.users.update", ["slackAuth"])
    Swagger.set_param(_ctx.form, "include_count", include_count)  # type Bool
    Swagger.set_param(_ctx.form, "usergroup", usergroup)  # type String
    Swagger.set_param(_ctx.form, "users", users)  # type String
    Swagger.set_header_accept(_ctx, ["application/json"])
    Swagger.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/x-www-form-urlencoded", "application/json"] : [_mediaType])
    return _ctx
end

"""

Update the list of users for a User Group
Param: usergroup::String (required)
Param: users::String (required)
Param: include_count::Bool
Return: Dict{String, Any}
"""
function usergroupsUsersUpdate(_api::UsergroupsUsersApi, usergroup::String, users::String; include_count=nothing, _mediaType=nothing)
    _ctx = _swaggerinternal_usergroupsUsersUpdate(_api, usergroup, users; include_count=include_count, _mediaType=_mediaType)
    Swagger.exec(_ctx)
end

function usergroupsUsersUpdate(_api::UsergroupsUsersApi, response_stream::Channel, usergroup::String, users::String; include_count=nothing, _mediaType=nothing)
    _ctx = _swaggerinternal_usergroupsUsersUpdate(_api, usergroup, users; include_count=include_count, _mediaType=_mediaType)
    Swagger.exec(_ctx, response_stream)
end

export usergroupsUsersList, usergroupsUsersUpdate
