41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
# Library imports
|
|
from flask import jsonify
|
|
from flask import render_template
|
|
|
|
# Import accounts blueprint
|
|
from accounts import accounts
|
|
|
|
# Import db
|
|
from accounts.models import db
|
|
|
|
# Import db models
|
|
from accounts.models.dog import Dog
|
|
from accounts.models.user import User
|
|
from accounts.models.visit import Visit
|
|
|
|
@accounts.route('/users/<username>/dashboard', methods=['GET'])
|
|
def user_dashboard(username):
|
|
# Retrieve user data
|
|
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
|
|
|
|
return render_template('users/dashboard/base.html', user=user, user_dogs=user.get_dogs(), user_book_history=user.get_visits())
|
|
|
|
@accounts.route('/users/<username>/my_dogs', methods=['GET'])
|
|
def user_dogs_panel(username):
|
|
# Retrieve user data
|
|
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
|
|
|
|
return render_template('users/my_dogs/base.html', user=user, user_dogs=user.get_dogs())
|
|
|
|
@accounts.route('/users/<username>', methods=['POST'])
|
|
def user(username):
|
|
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
|
|
return jsonify(user.to_dict()), 201
|
|
|
|
@accounts.route('/users/<username>/dogs', methods=['POST'])
|
|
def user_dogs(username):
|
|
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
|
|
|
|
return jsonify(user.get_dogs()), 201
|
|
|