Exemple #1
0
def create_transaction():
    # Get the token in the parameters
    params = request.get_json()
    paramsToken = params.get('token')
    paramsAmount = params.get('amount')
    paramsBank = params.get('bank')

    # Check if the token exist
    try:
        token = Token.get(Token.token == paramsToken)
        if time.time() < token.expiration_date:
            transaction = Transaction.create(user_id=token.user_id,
                                             amount=paramsAmount,
                                             bank=paramsBank)
            transaction.save()
            transactionData = model_to_dict(transaction)
            return jsonify({
                'response': 'Transaction well created',
                'transaction': transactionData
            }), 201
        else:
            return str(
                'Your token is expired. Please update it by login again on: /tokens/update/<id>.'
            )
    except Exception as identifier:
        return jsonify({
            'error':
            'Token not found {message}'.format(message=identifier.message)
        }), 404
Exemple #2
0
def create_code(id):
    # Get the parameters
    params = request.get_json()
    paramsName = params.get('name')
    hashedParamsPassword = hashlib.md5(params.get('password')).hexdigest()
    # Check if there is already a token created
    try:
        tokenAlreadyCreated = Token.get(Token.user_id == id)
        return str('The ID given already match with a token')
    except:
        # Then check if there is an user with the ID given
        try:
            user = User.get(User.id == id)
            if user.name == paramsName and user.password == hashedParamsPassword:
                generatedMobileCode = binascii.b2a_hex(os.urandom(2))
                client.send_message({
                    'from': 'Token - Python TP',
                    'to': user.phone_number,
                    'text': generatedMobileCode,
                })
                code = MobileCode.create(user_id=user.id,
                                         mobile_code=generatedMobileCode)
                code.save()
                codeData = model_to_dict(code)
                return jsonify({
                    'response': 'Code well send for user:'******'code': codeData
                }), 201
            return str('Params given did not match to user ID')
        except Exception as identifier:
            return jsonify({
                'error':
                'User not found {message}'.format(message=identifier.message)
            }), 404
Exemple #3
0
 def post(self, id):
     try:
         token = Token.get((Token.user == self.current_user) & (Token.id == id))
         token.delete_instance()
         self.redirect(self.reverse_url("web:settings"))
     except:
         raise HTTPError(404)
Exemple #4
0
def delete_transaction(id):
    # Get the token in the parameters
    params = request.get_json()
    paramsToken = params.get('token')

    # Check if the token exist
    try:
        token = Token.get(Token.token == paramsToken)
        if time.time() < token.expiration_date:
            transaction = Transaction.get(Transaction.id == id)
            if transaction.user_id == token.user_id:
                is_deleted = transaction.delete_instance()
                return str(is_deleted)
            else:
                return str(
                    'The token is not matching with the user_id of the specific transaction'
                )
        else:
            return str(
                'Your token is expired. Please delete this one, and create another one.'
            )
    except Exception as identifier:
        return jsonify({
            'error':
            'Token not found {message}'.format(message=identifier.message)
        }), 404
def remove(team_id):
    try:
        DBHelper.connect()
        token = Token.get(Token.issuer == team_id)
        delete_count = token.delete_instance()
    finally:
        DBHelper.close()
Exemple #6
0
 def post(self, id):
     try:
         token = Token.get((Token.user == self.current_user)
                           & (Token.id == id))
         token.delete_instance()
         self.redirect(self.reverse_url("web:settings"))
     except:
         raise HTTPError(404)
Exemple #7
0
def logged_checker(token):
    try:
        token = Token.get(Token.token == token)
        currentTime = int(time.time())
        if (currentTime < token.expiration_date):
            return token
        else:
            return False
    except Exception as error:
        return False
Exemple #8
0
def delete_token(id):
    try:
        token = Token.get(Token.id == id)
        is_deleted = token.delete_instance()
        return str(is_deleted)
    except Exception as identifier:
        return jsonify({
            'error':
            'Not found {message}.'.format(message=identifier.message)
        }), 404
Exemple #9
0
def login():
    params = request.form  # Dict
    sender_id = params['sender_id']
    receiver_id = params['receiver_id']
    gif_sent = params['gif_sent']
    gif = Gif.get(Gif.gif_name == gif_sent)
    gifs = list(Gif.select().dicts())
    users = list(User.select().dicts())

    try:
        sender = User.get(User.id == sender_id)
        try:
            token = Token.get(Token.user_id == sender.id)
            try:
                receiver = User.get(User.id == receiver_id)
                if gif.user_id == sender.id:
                    gif.user_id = receiver.id
                    gif.save()
                    gifs = list(Gif.select().dicts())
                    return render_template('index.html',
                                           page='user',
                                           transaction='ok',
                                           gif_sent=gif,
                                           user=sender,
                                           gifs=gifs,
                                           users=users,
                                           receiver_gif=receiver), 201
                else:
                    return render_template('index.html',
                                           page='user',
                                           transaction='not_owner',
                                           user=sender,
                                           gifs=gifs,
                                           users=users), 201
            except:
                return render_template('index.html',
                                       page='user',
                                       transaction='no_receiver',
                                       user=sender,
                                       gifs=gifs,
                                       users=users), 201
        except:
            return render_template('index.html',
                                   page='user',
                                   transaction='no_token',
                                   user=sender,
                                   gifs=gifs,
                                   users=users), 201
    except:
        return render_template('index.html',
                               page='user',
                               transaction='no_user',
                               user=sender,
                               gifs=gifs,
                               users=users), 201
def check_user(token, payment):
    try:
        test_token = Token.get(Token.value == token)
        test_payment = Payment.get(Payment.id == payment)
    
        if test_token.user_id.id == test_payment.user.id:
            return True
        else:
            return False
    
    except Exception as error:
        return False
def check_token(tokenString):
    try:
        token = Token.get(Token.value == tokenString)

        if (token.created_at + datetime.timedelta(seconds=3600)) > datetime.datetime.now():
            return token
        
        else:
            token.delete_instance()
            return False
    
    except Exception as error:
        return False
Exemple #12
0
def one_token(id):
    try:
        # Build query to get token by URL id
        token = Token.get(Token.id == id)

        # Convert to dictionnary & send JSON to browser
        one_token = model_to_dict(token)
        return jsonify({ 'one_token': one_token }), 200

    # Catch error if request fails
    except Exception as error:
        print error

        # Send error to browser
        return jsonify({ 'error': 'Not found' }), 404
Exemple #13
0
def auth_user():

    params = request.get_json()
    user_code = params.get('code')
    user_id = params.get('user_id')

    try:
        user = User.get(User.id == user_id)
        code = Code.get(Code.user_id == user_id)

        if user_code == code.value:
            code.delete_instance()
            token_generated = generate_token()
            token_model = None

            try:
                token_model = Token.get(Token.user_id == user_id)
                data = model_to_dict(token_model)
                return jsonify({
                    'error': False,
                    'message': 'User already has a token',
                    'token': data
                })

            except:
                token = create_token(token_generated, user_id)
                data = model_to_dict(token)
                return jsonify({
                    'error': False,
                    'message': 'Token created',
                    'token': data
                })

        else:
            return jsonify({'error': True, 'message': 'Incorrect code'}), 400

    except Exception as identifier:
        return jsonify({
            'error': True,
            'message': 'Error during authentification'
        }), 400
Exemple #14
0
def login():
    params = request.form # Dict
    email = params['email']
    pwd = md5(params['password']).hexdigest()
    try:
        user = User.get(User.email == email)
        if user.password == pwd:
            gifs = list(Gif.select().dicts())
            users = list(User.select().dicts())
            try:
                token = Token.get(Token.user_id == user.id)
                return render_template('index.html', page='user', user=user, gifs=gifs, users=users, token='0'), 201
            except:
                token_created = md5(str(user.id) + user.email).hexdigest()
                query = Token.create(token=token_created, user_id=user.id)
                query.save()
                return render_template('index.html', page='user', user=user, gifs=gifs, users=users, token='1'), 201
        else:
            return render_template('index.html', page='home', login='******'), 201
    except:
        return render_template('index.html', page='home', login='******'), 201
Exemple #15
0
def update_token(id):
    # Get the parameters
    params = request.get_json()
    paramsName = params.get('name')
    hashedParamsPassword = hashlib.md5(params.get('password')).hexdigest()
    # Check if there is already a token created
    try:
        token = Token.get(Token.user_id == id)
        user = User.get(User.id == id)
        if user.name == paramsName and user.password == hashedParamsPassword:
            currentTime = int(time.time())
            token.updated_at = currentTime
            token.expiration_date = currentTime + 3600
            token.save()
            tokenData = model_to_dict(token)
            return jsonify({'token': tokenData}), 201
        else:
            return str(
                'The ID / Password is not matching with the user_id given')
    except:
        return str('There is no token matching the user_id given')
Exemple #16
0
def get_transactions():
    # Get the token in the parameters
    params = request.get_json()
    paramsToken = params.get('token')

    # Check if the token exist
    try:
        token = Token.get(Token.token == paramsToken)
        if time.time() < token.expiration_date:
            transactions = list(Transaction.select().where(
                Transaction.user_id == token.user_id).dicts())
            return jsonify({'transactions': transactions}), 201
        else:
            return str(
                'Your token is expired. Please delete this one, and create another one.'
            )
    except Exception as identifier:
        return jsonify({
            'error':
            'Token not found {message}'.format(message=identifier.message)
        }), 404
def get(team_id):
    try:
        DBHelper.connect()
        return Token.get(Token.issuer == team_id).token
    finally:
        DBHelper.close()