def messages_channel():
    channel_id = int(request.args.get('channel_id'))
    #channel_id = 1
    #print('ch_id is :{channel_id}')
    messages = channel_messages(request.args.get('token'), channel_id,
                                int(request.args.get('start')))
    return sendSuccess(messages)
def login_auth():
    loginDict = auth_login(request.form.get('email'),
                           request.form.get('password'))

    return sendSuccess({
        'u_id': loginDict['u_id'],
        'token': str(loginDict['token'])
    })
def register_auth():
    # arguments
    email = request.form.get('email')
    password = request.form.get('password')
    name_first = request.form.get('name_first')
    name_last = request.form.get('name_last')

    registerDict = auth_register(email, password, name_first, name_last)
    return sendSuccess({
        'u_id': registerDict['u_id'],
        'token': str(registerDict['token']),
    })
def search_fn():
    msg_dict = search(request.args.get('token'), request.args.get('query_str'))
    return sendSuccess({'messages': msg_dict})
def create_channels():
    is_public = stringToBoolean(request.form.get('is_public'))
    channel_id = channels_create(request.form.get('token'),
                                 request.form.get('name'),
                                 is_public)['channel_id']
    return sendSuccess({'channel_id': channel_id})
def listall_channels():
    all_channels = channels_listall(request.args.get('token'))
    return sendSuccess(all_channels)
def list_channels():
    user_channel_list = channels_list(request.args.get('token'))
    return sendSuccess(user_channel_list)
def removeowner_channel():
    channel_id = int(request.form.get('channel_id'))
    channel_removeowner(request.form.get('token'), channel_id,
                        int(request.form.get('u_id')))
    return sendSuccess({})
def msg_send():
    channel_id = int(request.form.get('channel_id'))
    msg_dict = message_send(request.form.get('token'), channel_id,
                            request.form.get('message'))
    return sendSuccess(msg_dict)
def details_channel():
    channel_id = int(request.args.get('channel_id'))
    details = channel_details(request.args.get('token'), channel_id)
    return sendSuccess(details)
def invite_channel():
    channel_id = int(request.form.get('channel_id'))
    channel_invite(request.form.get('token'), channel_id,
                   int(request.form.get('u_id')))
    return sendSuccess({})
def unpin():
    message_id = int(request.form.get('message_id'))
    message_unpin(request.form.get('token'), message_id)
    return sendSuccess({})
def unreact():
    message_id = int(request.form.get('message_id'))
    react_id = int(request.form.get('react_id'))
    message_unreact(request.form.get('token'), message_id, react_id)
    return sendSuccess({})
def msg_edit():
    message_edit(request.form.get('token'),
                 int(request.form.get('message_id')),
                 request.form.get('message'))
    return sendSuccess({})
def msg_remove():
    message_id = int(request.form.get('message_id'))
    message_remove(request.form.get('token'), message_id)
    return sendSuccess({})
def admin_userpermission_change_fn():
    admin_userpermission_change(request.form.get('token'),
                                int(request.form.get('u_id')),
                                int(request.form.get('permission_id')))
    return sendSuccess({})
def leave_channel():
    channel_id = int(request.form.get('channel_id'))
    channel_leave(request.form.get('token'), channel_id)
    return sendSuccess({})
def join_channel():
    channel_id = int(request.form.get('channel_id'))
    channel_join(request.form.get('token'), channel_id)
    return sendSuccess({})
def logout_auth():
    is_success = auth_logout(request.form.get('token'))
    return sendSuccess({'is_success': is_success})
def msg_send_later():
    channel_id = int(request.form.get('channel_id'))
    message_sendlater(request.form.get('token'), channel_id,
                      request.form.get('message'),
                      request.form.get('time_sent'))
    return sendSuccess({})