Exemplo n.º 1
0
    def default_api_gw_handler_call(*args, **kwargs):
        event = kwargs.get('event')
        if not event and len(args) > 0 and isinstance(args[0], dict):
            event = args[0]

        current.CURRENT_EVENT = event

        try:
            response = func(*args, **kwargs)

        except RequestException as e:
            response = buid_default_response(status=e.status_code,
                                             body=json.dumps({
                                                 'ok':
                                                 False,
                                                 'message':
                                                 e.message
                                             }))

        except Exception as e:
            traceback.print_exc()
            response = buid_default_response(status=500,
                                             body=json.dumps({
                                                 'ok': False,
                                                 'message': str(e)
                                             }))

        jwt = get_jwt_from_authorizer(event)
        define_headers(response, jwt)

        return response
Exemplo n.º 2
0
def handler(event, context):
    field, value = get_key_value_param(event)

    code, jwt_token = generate_jwt_token(field, value)

    headers = {
        'Set-Cookie': get_jwt_cookie_value(jwt_token),
        'X-SWM-AUTHORIZATION': jwt_token
    }

    print(f'New OTP request for {field} {value}')
    user = UserFacade.get_user(field, value)
    print(f'User {"found" if user else "not found"}')
    if user:
        code_text = f'Código para acessar o Startup Weekend {code.code}'
        send_sms(code_text, user)
        send_email(code_text, user)

    return buid_default_response(
        status=200,
        body=json.dumps(
            {
                'message':
                'Um código de verificação de identidade foi enviado para o seu telefone e e-mail '
                'caso o telefone ou e-mail informado esteja cadastrado'
            },
            cls=SWMJSONEncoder),
        headers=headers)
Exemplo n.º 3
0
def handler(event, context):
    session = SessionFacade.get_session_from_event(event)

    team = TeamRequestFacade.get_team_by_oid(session.real_user.team.oid)
    if team is not None and team.leader.oid == session.user.oid:
        requests = TeamRequestFacade.get_requests_by_oid_team(session.real_user.team.oid)
    else:
        requests = TeamRequestFacade.get_requests_by_oid_user(session.user.oid)

    return buid_default_response(status=200, body=json.dumps(requests, cls=SWMJSONEncoder))
Exemplo n.º 4
0
def handler(event, context):
    body = get_json_body(event)
    if not body:
        raise RequestException("Request inválido!")

    user = UserBuilder().from_json(body, encrypt_password=True).build()

    UserFacade.create_user(user)

    return buid_default_response(status=201,
                                 body=json.dumps(user, cls=SWMJSONEncoder))
Exemplo n.º 5
0
def handler(event, context):
    old_phase, actual_phase, message = PhaseFacade.next_phase()

    return buid_default_response(status=200,
                                 body=json.dumps(
                                     {
                                         'old_phase': old_phase,
                                         'actual_phase': actual_phase,
                                         'message': message
                                     },
                                     cls=SWMJSONEncoder))
Exemplo n.º 6
0
def handler(event, context):
    phases = PhaseFacade.list_phases()
    current_phase = PhaseFacade.get_current_phase()

    return buid_default_response(status=200,
                                 body=json.dumps(
                                     {
                                         'current': current_phase,
                                         'phases': phases
                                     },
                                     cls=SWMJSONEncoder))
Exemplo n.º 7
0
def handler(event, context):
    path_params = get_path_params(event)
    oid = path_params.get('oid', None)
    if not oid:
        print(json.dumps(path_params))
        raise RequestException("ID inválido")

    session = SessionFacade.get_session_from_event(event)

    user_photo = UserPhotoFacade.get_user_photo(session, oid)

    if user_photo:
        return buid_default_response(status=200,
                                     body=user_photo.data,
                                     headers={'Content-Type': 'image/jpeg'},
                                     base64encoded=True)
    else:
        return buid_default_response(status=404,
                                     body=json.dumps(
                                         {'message': 'Imagem não encontrada'},
                                         cls=SWMJSONEncoder))
Exemplo n.º 8
0
def handler(event, context):
    session = SessionFacade.get_session_from_event(event)
    user = session.real_user

    json_body = user.to_dict()
    json_body.pop('password')
    json_body.pop('oid_team')
    json_body['team'] = user.team

    return buid_default_response(status=200,
                                 body=json.dumps(json_body,
                                                 cls=SWMJSONEncoder))
Exemplo n.º 9
0
def handler(event, context):
    body = get_json_body(event)
    if not body:
        raise RequestException("Request inválido!")

    if not isinstance(body, list):
        raise RequestException("Esperado uma lista!")

    teams = TeamFacade.define_teams_position(body)

    return buid_default_response(status=200,
                                 body=json.dumps(teams, cls=SWMJSONEncoder))
Exemplo n.º 10
0
def handler(event, context):
    path_params = get_path_params(event)
    if not path_params:
        raise RequestException("Request inválido!")

    oid_request_team = path_params.get('oid')
    if not oid_request_team:
        raise RequestException("Solicitação de entrada no time não informado")

    session = SessionFacade.get_session_from_event(event)

    team_request = TeamRequestFacade.approve_request(session.real_user, oid_request_team)

    return buid_default_response(status=200, body=json.dumps(team_request, cls=SWMJSONEncoder))
Exemplo n.º 11
0
def handler(event, context):
    path_parameters = get_path_params(event)
    oid_pitch = path_parameters.get('oid')

    session = SessionFacade.get_session_from_event(event)

    PitchFacade.vote_pitch(oid_pitch, session)

    return buid_default_response(
        status=200,
        body=json.dumps(
            {'vote': True},
            cls=SWMJSONEncoder
        )
    )
Exemplo n.º 12
0
def handler(event, context):
    query_params = get_query_params(event)

    limit = query_params.get(LIMIT, LIMIT_DEFAULT)
    pagination_key = query_params.get(PAGINATION_KEY, {})

    teams, last_evaluated_key = TeamFacade.list_teams(limit, pagination_key)

    return buid_default_response(status=200,
                                 body=json.dumps(
                                     {
                                         'paginationKey': last_evaluated_key,
                                         'items': teams
                                     },
                                     cls=SWMJSONEncoder))
Exemplo n.º 13
0
def handler(event, context):
    body = get_json_body(event)
    phase_name = body.get('phase')

    old_phase, actual_phase, message = PhaseFacade.select_phase_by_name(
        phase_name)

    return buid_default_response(status=200,
                                 body=json.dumps(
                                     {
                                         'old_phase': old_phase,
                                         'actual_phase': actual_phase,
                                         'message': message
                                     },
                                     cls=SWMJSONEncoder))
Exemplo n.º 14
0
def handler(event, context):
    body = get_json_body(event)
    if not body:
        raise RequestException("Request inválido!")

    oid_team = body.get('oid_team')
    if not oid_team:
        raise RequestException("Time não informado")

    session = SessionFacade.get_session_from_event(event)

    team_request = TeamRequestFacade.create_new_request(
        session.real_user, oid_team)

    return buid_default_response(status=201,
                                 body=json.dumps(team_request,
                                                 cls=SWMJSONEncoder))
Exemplo n.º 15
0
def handler(event, context):
    body = get_json_body(event)
    if not body:
        raise RequestException("Request inválido!")

    path_params = get_path_params(event)
    oid = path_params.get('oid', None)
    if not oid:
        print(json.dumps(path_params))
        raise RequestException("ID inválido")

    pitch = PitchBuilder().from_json(body).build()

    oid_user = body.get('oid_user')
    PitchFacade.edit_pitch(oid, pitch, oid_user)

    return buid_default_response(status=201,
                                 body=json.dumps(pitch, cls=SWMJSONEncoder))
Exemplo n.º 16
0
def handler(event, context):
    body = event.get('body')
    if not body:
        raise RequestException("Request inválido!")

    path_params = get_path_params(event)
    oid = path_params.get('oid', None)
    if not oid:
        print(json.dumps(path_params))
        raise RequestException("ID inválido")

    session = SessionFacade.get_session_from_event(event)

    user_photo = UserPhotoFacade.update_user_photo(session, oid, body)

    return buid_default_response(status=200,
                                 body=json.dumps(user_photo,
                                                 cls=SWMJSONEncoder))
Exemplo n.º 17
0
def handler(event, context):
    ssm = boto3.client('ssm')

    private_key = _get_ssm_value(ssm, PRIVATE_KEY, True)
    public_key = _get_ssm_value(ssm, PUBLIC_KEY, True)

    jwt = JWT(private_key=private_key.encode(), public_key=public_key.encode())
    token = jwt.encode(expired=(datetime.now() +
                                timedelta(days=365)).timestamp(),
                       oid=1,
                       name='Ariel')

    print(token)

    return buid_default_response(
        status=200,
        body=json.dumps({}),
        headers={'Set-Cookie': 'jwt=' + token + '; path=/'})
Exemplo n.º 18
0
def handler(event, context):
    query_params = get_query_params(event)

    limit = query_params.get(LIMIT, LIMIT_DEFAULT)
    pagination_key = query_params.get(PAGINATION_KEY, {})

    users, last_evaluated_key = UserFacade.list_users(limit, pagination_key)

    for user in users:
        user.team = None
        UserFacade.save(user)

    return buid_default_response(status=200,
                                 body=json.dumps(
                                     {
                                         'paginationKey': last_evaluated_key,
                                         'items': users
                                     },
                                     cls=SWMJSONEncoder))
Exemplo n.º 19
0
def handler(event, context):
    current_phase = PhaseFacade.get_current_phase()

    return buid_default_response(status=200,
                                 body=json.dumps(current_phase,
                                                 cls=SWMJSONEncoder))
Exemplo n.º 20
0
def handler(event, context):
    return buid_default_response(
        status=200, headers={'Set-Cookie': get_jwt_cookie_value('')})