Esempio n. 1
0
def fetch_datetime(request: HttpRequest) -> HttpResponse:
    if request.method != "GET":
        return json_error(get_INCORRECT_REQUEST_METHOD_ERROR('GET'))

    result, ret = validate_datetime_fields(request)
    if result:
        field, predicate, value = ret
    else:
        return ret

    return json_success({'ids': fetch_using_datetime(field, predicate, value)})
Esempio n. 2
0
def fetch_users(request: HttpRequest) -> HttpResponse:
    if request.method != "GET":
        return json_error(get_INCORRECT_REQUEST_METHOD_ERROR('GET'))

    result, ret = validate_string_fields(request, users=True)
    if result:
        field, predicate, value = ret
    else:
        return ret

    fetch_using_subject(field, predicate, value)
    return json_success({'ids': fetch_using_users(field, predicate, value)})
Esempio n. 3
0
def update_messages(request: HttpRequest) -> HttpResponse:
    if request.method != "POST":
        return json_error(get_INCORRECT_REQUEST_METHOD_ERROR('POST'))

    result, ids_list, action_dict = validate_actions(request)
    if not result:
        return action_dict

    result = update_mail_messages(ids_list, action_dict)
    if not result:
        return json_error(
            {'data': "Check rules, error received from GMail API."})

    return json_success({})
Esempio n. 4
0
def display_messages(request: HttpRequest) -> HttpResponse:
    if request.method != "GET":
        return json_error(get_INCORRECT_REQUEST_METHOD_ERROR('GET'))

    ids = request.GET.get('ids', '')
    ids_list = ids.split(',')

    # If True (or not passed, for normal cases) just returns the foreign key id.
    # Else when called through the script, returns other keys as well.
    config = request.GET.get('config', 'True')
    config = config == 'True'  # Convert string to boolean

    return json_success(
        {'ids': fetch_messages_using_id(ids_list, config=config)})
Esempio n. 5
0
def upload(request: HttpRequest) -> HttpResponse:
  rule_file = list(request.FILES.values())[0]

  ROOT_DIR: str = dirname(dirname(realpath(__file__)))
  completeName = join(ROOT_DIR, "../rules.json")
  with open(completeName, "w") as f:
    f.write(rule_file.read().decode("UTF-8"))

  os.system("python manage.py execute_rules")

  msg_ids = open(join(ROOT_DIR, "../msg_ids.txt"), "r").read()
  msg_ids = msg_ids.split(',')

  return json_success(
    {"data": list(fetch_content_using_ids(msg_ids))}
  )
Esempio n. 6
0
def signin(request: HttpRequest) -> HttpResponse:
  os.system("python manage.py google_oauth2")
  return json_success()
Esempio n. 7
0
def reset(request: HttpRequest) -> HttpResponse:
  os.system("python manage.py flush_db")
  return json_success()