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
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
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)
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()
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
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
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
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
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
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
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')
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()