def post(self):
        args = self.parser.parse_args()
        email = args['email']
        password = args['password']
        first = args['first']
        last = args['last']
        age_check = args.get('ageCheck', "true")
        age_check = True if age_check == "true" else False

        if email is None or len(email) < 3:
            return {'status': 'false', 'message': 'Invalid email'}, 400
        
        if password is None or len(password) < 4:
            return {'status': 'false', 'message': 'Invalid password (minimum length of 4)'}, 400

        if len(first) == 0 or len(last) == 0:
            return {'status': 'false', 'message': 'You must enter a first name and last name'}, 400

        if User.fetch_user_by_email(email) is not None:
            return {"status": "false", 'message': 'Email already in use'}, 400

        user = User.create_user(email, password, first, last, age_check)
        
        if user:
            return {'status': 'true'}, 201
        else:
            return {'status': 'false'}, 400
    def post(self):
        args = self.invite_parser.parse_args()
        team_unid = args['team_unid']
        invitee_unid = args['invitee_unid']
        invitee_email = args['invitee_email']

        if not invitee_unid and not invitee_email:
            return {'status': 'false', 'message': 'Must invite by email or unid'}, 400
        
        if invitee_unid:
            user = get_user(invitee_unid)
        else:
            user = User.fetch_user_by_email(invitee_email)
            if not user:
                return {'status': 'false', 'message': 'No user found'}, 404

        team = get_team(team_unid)

        user_team_exist = UserTeam.get_user_team_by_user_and_team(invitee_unid, team.unid)

        if user_team_exist:
            return {'status': 'false', 'message': 'User already on that team'}, 400

        invitation = TeamInvite(team_unid, invitee_unid)

        return {'status': 'true', 'message': 'Invitation sent successfully', 'invitation_unid': invitation.unid}, 201
Beispiel #3
0
    def post(self):
        args = self.parser.parse_args()
        email = args['email']
        password = args['password']

        if email is None or len(email) < 3:
            return {'status': 'false', 'message': 'Invalid email'}, 403

        authed = User.authenticate(email, password)

        if authed:
            user = User.fetch_user_by_email(email)
            user_team = UserTeam.get_team_by_user(user.unid)
            team_unid = user_team.team_unid if user_team else None
            token = Token(user.unid)
            return {'status': 'true', 'token': token.token, 'user_unid': user.unid, 'team_unid':team_unid}, 200
        else:
            return {'status': 'false', 'message': 'Incorrect login credentials'}, 403