def update_book(): decoded_token = au.validate_jwt_token(request.cookies.get('token')) if decoded_token['role'] == 'admin': data = request.json['form_input'] book_id = data['book_id'] title = data['title'] author = data['author'] isbn = data['isbn'] pub_year = data['publication_year'] description = data['description'] query = "UPDATE books SET books_title=%s, books_author_id=%s, books_isbn=%s, books_pub_year=%s, books_description=%s WHERE books_id=%s;" values = (title, author, isbn, pub_year, description, book_id) conn = DatabaseConnection() conn.db_connect() result = conn.db_write(query = query, vals = values) if result['response'] == 200: query = "SELECT * FROM books b LEFT JOIN authors a ON b.books_author_id = a.authors_id WHERE b.books_id = %s" values = (book_id,) book = conn.db_read(query=query, vals=values, format_type="book") conn.db_close() return make_response({"books": book}, 200) else: conn.db_close() return Response(status=result['response']) else: return Response(status=401)
def create_book_record(): decoded_token = au.validate_jwt_token(request.cookies.get('token')) print(request.json) if decoded_token['role'] == 'admin': data = request.json['form_input'] title = data['title'] author = data['author'] isbn = data['isbn'] pub_year = data['publication_year'] date = datetime.datetime.now() query = "INSERT INTO books(books_title, books_author_id, books_isbn, books_pub_year, books_date_added) VALUES (%s, %s, %s, %s, %s);" values = (title, author, isbn, pub_year, date) conn = DatabaseConnection() conn.db_connect() result = conn.db_write(query = query, vals = values) if result['response'] == 200: query = "SELECT * FROM books b LEFT JOIN authors a ON b.books_author_id = a.authors_id WHERE b.books_title = %s AND b.books_author_id = %s AND b.books_date_added = %s" values = (title, author, date) book = conn.db_read(query=query, vals=values, format_type="book") conn.db_close() return make_response({"books": book}, 200) else: conn.db_close() return Response(status=result['response']) else: return Response(status=401)
def validate_user_role(): if 'token' in request.cookies: token = request.cookies.get('token') decoded = au.validate_jwt_token(token) return jsonify({ "user": { "id": decoded['id'], "email": decoded['email'], "user_role": decoded['role'] } }) else: return jsonify({"user": {"id": 0, "email": '', "user_role": 'guest'}})
def delete_author(): decoded_token = au.validate_jwt_token(request.cookies.get('token')) if decoded_token['role'] == 'admin': query = "DELETE FROM authors WHERE authors_id=%s" values = (request.json["author_id"], ) conn = DatabaseConnection() conn.db_connect() resp = conn.db_write(query=query, vals=values) conn.db_close() return resp else: return Response(status=401)
def delete_book(id): decoded_token = au.validate_jwt_token(request.cookies.get('token')) if decoded_token['role'] == 'admin': query = "DELETE FROM books WHERE books_id=%s" values = (id,) conn = DatabaseConnection() conn.db_connect() result = conn.db_write(query = query, vals = values) conn.db_close() return Response(status=result['response']) else: return Response(status=401)
def create_author(): decoded_token = au.validate_jwt_token(request.cookies.get('token')) if decoded_token['role'] == 'admin': last_name = request.json['last_name'] first_name = request.json['first_name'] query = "INSERT INTO authors(authors_last_name, authors_first_name) VALUES(%s, %s);" values = (last_name, first_name) conn = DatabaseConnection() conn.db_connect() resp = conn.db_write(query=query, vals=values) conn.db_close() return jsonify({"authors": resp}) else: return Response(status=401)
def update_author(): decoded_token = au.validate_jwt_token(request.json["jwt_token"]) if decoded_token['role'] == 'admin': data = request.json['form_input'] author_id = data['author_id'] last_name = data['last_name'] first_name = data['first_name'] query = "UPDATE authors SET authors_last_name=%s, authors_first_name=%s WHERE authors_id=%s;" values = (last_name, first_name, author_id) conn = DatabaseConnection() conn.db_connect() resp = conn.db_write(query=query, vals=values) conn.db_close() return resp else: return Response(status=401)