コード例 #1
0
ファイル: teams.py プロジェクト: Galtvam/Tournament-Sekai
    def get(initials):
        team = TeamsModel.find_by_initials(initials)
        if team:  #Verifica se possui conteúdo
            team = team[0]
            return Controller.format_response(team.to_dict(), status_code=200)

        else:
            return Controller.format_response(errors=15, status_code=404)
コード例 #2
0
ファイル: auth.py プロジェクト: Galtvam/Tournament-Sekai
    def sign_in():
        data = request.get_json()
        user = UsersModel.find_by_login(data['login'])
        if user and Controller.bycrpt.check_password_hash(
                user[0].password, data['password']):
            access_token = create_access_token(identity=user[0].login)
            return Controller.format_response({'token': access_token},
                                              status_code=200)

        return Controller.format_response(errors=11, status_code=401)
コード例 #3
0
    def put(login):
        data = request.get_json()

        logged_user = Controller.authenticated_user()
        if logged_user.login == login:
            for field in ('name', 'email', 'birthday', 'password', 'country',
                          'state', 'city', 'neighborhood', 'street', 'number',
                          'complement'):
                if field in data:
                    setattr(logged_user, field, data[field])
            logged_user.update()
            return Controller.format_response(status_code=200)
        return Controller.format_response(errors=10, status_code=400)
コード例 #4
0
    def delete_by_code(code):
        tournament = TournamentsModel.find_by_cod_tournament(int(code))
        if tournament:
            tournament = tournament[0]

            current_user = Controller.authenticated_user()

            if not current_user.login == tournament.owner_login:
                return Controller.format_response(errors=13, status_code=403)

            tournament.delete_by_code()
            return Controller.format_response(status_code=200)
        else:
            return Controller.format_response(status_code=404)
コード例 #5
0
ファイル: teams.py プロジェクト: Galtvam/Tournament-Sekai
    def delete(initials
               ):  #TESTAR averiguar se o usuário autenticado é o dono do time
        team = TeamsModel.find_by_initials(initials)
        current_user = Controller.authenticated_user()

        if not current_user.login == team.owner_login:
            return Controller.format_response(errors=13, status_code=403)

        if team:
            team = team[0]
            team.delete()
            return Controller.format_response(status_code=200)
        else:
            return Controller.format_response(status_code=404)
コード例 #6
0
 def view_members(cod_tournament, initials):
     tournament = TournamentsModel.find_by_cod_tournament(int(code))
     team = TeamsModel.find_by_initials(initials)
     if tournament and team:
         pass  #falta
     else:
         return Controller.format_response(status_code=404)
コード例 #7
0
ファイル: auth.py プロジェクト: Galtvam/Tournament-Sekai
    def sign_up():
        data = request.get_json()
        password = Controller.bycrpt.generate_password_hash(
            data['password']).decode('utf-8')

        if UsersModel.find_by_login(data['login']):
            return Controller.format_response(errors=9, status_code=400)

        if UsersModel.find_by_email(data['email']):
            return Controller.format_response(errors=10, status_code=400)

        user = UsersModel(data['login'], data['name'], data['email'],
                          data['birthday'], password)
        user.insert()

        return Controller.format_response(status_code=201)
コード例 #8
0
ファイル: teams.py プロジェクト: Galtvam/Tournament-Sekai
 def index():
     all_teams = TeamsModel.get_all()
     search_keyword = request.args.get('search')
     if search_keyword:
         k = search_keyword.lower()
         all_teams = [
             t for t in all_teams if k in t.to_dict()['initials'].lower()
             or k in t.to_dict()['name'].lower()
         ]
     result = []
     for team in all_teams:
         result.append(team.to_dict())
     # Somente retornar erro se for uma pesquisa por palavra chave e não for encontrado nada
     if search_keyword and not result:
         return Controller.format_response(errors=16, status_code=404)
     return Controller.format_response(result, status_code=200)
コード例 #9
0
    def create():
        current_user = Controller.authenticated_user()
        data = request.get_json()
        tournament = TournamentsModel(data['name'], data['description'],
                                      data['start_date'], data['end_date'],
                                      current_user.login)

        tournament.insert()
        return Controller.format_response(status_code=201)
コード例 #10
0
    def update_by_code(code):
        data = request.get_json()
        tournament = TournamentsModel.find_by_cod_tournament(int(code))
        if tournament:
            tournament = tournament[0]

            current_user = Controller.authenticated_user()
            if not current_user.login == tournament.owner_login:
                return Controller.format_response(errors=13, status_code=403)

            for field in ('name', 'description', 'start_date', 'end_date'):
                if field in data:
                    setattr(tournament, field, data[field])

            tournament.update_by_code()
            return Controller.format_response(status_code=200)

        else:
            return Controller.format_response(status_code=404)
コード例 #11
0
ファイル: teams.py プロジェクト: Galtvam/Tournament-Sekai
    def update(initials
               ):  #TESTAR averiguar se o usuário autenticado é o dono do time
        team = TeamsModel.find_by_initials(initials)
        if team:  #Verifica se possui conteúdo
            team = team[0]
            data = request.get_json()
            current_user = Controller.authenticated_user()

            if not current_user.login == team.owner_login:
                return Controller.format_response(errors=13, status_code=403)

            for field in ('initials', 'name', 'owner_login'):
                if field in data:
                    setattr(team, field, data[field])
            team.update()
            return Controller.format_response(status_code=200)

        else:
            return Controller.format_response(status_code=404)
コード例 #12
0
    def get():
        code = request.args.get('code')
        name = request.args.get('name')
        limit = request.args.get('limit', '20')
        offset = request.args.get('offset', '0')

        limit, offset = int(limit), int(offset)
        if name is not None:
            tournaments = TournamentsModel.search_by_name(name, limit, offset)

        elif code is not None:
            tournaments = TournamentsModel.find_by_cod_tournament(int(code))

        else:
            tournaments = TournamentsModel.get_all(limit, offset)
        result = []
        for tournament in tournaments:
            result.append(tournament.to_dict())
        return Controller.format_response(result, status_code=200)
コード例 #13
0
 def get(login):
     user = UsersModel.find_by_login(login)
     if user:
         return Controller.format_response(user[0].to_dict(),
                                           status_code=200)
     return Controller.format_response(errors=14, status_code=404)
コード例 #14
0
ファイル: teams.py プロジェクト: Galtvam/Tournament-Sekai
 def create():  #TESTAR Adicionar owner_login
     data = request.get_json()
     current_user = Controller.authenticated_user()
     team = TeamsModel(data['initials'], data['name'], current_user.login)
     team.insert()
     return Controller.format_response(team.to_dict(), status_code=201)