diff --git a/.gitignore b/.gitignore index e72499f..0c6fbaf 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ htmlcov/ dist/ build/ *.egg-info/ +*.db \ No newline at end of file diff --git a/ecsopendata/database.py b/ecsopendata/database.py index a7fbd1c..cb5c751 100644 --- a/ecsopendata/database.py +++ b/ecsopendata/database.py @@ -16,8 +16,10 @@ Base = declarative_base() Base.query = db_session.query_property() +from models import * def init_db(): - import models +# import models +# from models import * Base.metadata.create_all(bind=engine) if not os.path.exists(DATABASE_PATH): # replace this if statement with sqlalchemy if table doesn't exist in master table: diff --git a/ecsopendata/server.py b/ecsopendata/server.py index bf277c5..5edfe90 100644 --- a/ecsopendata/server.py +++ b/ecsopendata/server.py @@ -23,13 +23,30 @@ @app.before_first_request def create_user(): init_db() + + # Check if admin role exists, create new role if not + admin_role = user_datastore.find_or_create_role(name='admin') + + # Check if admin user exists, create new user if not if not user_datastore.get_user('admin'): print("creating new 'admin' user with password 'password'") - admin_user = user_datastore.create_user(email='admin', password='password') - user_datastore.add_role_to_user(user=admin_user, role='admin') + admin_user = user_datastore.create_user(email='admin', + password='password') + user_datastore.add_role_to_user(user=admin_user, role=admin_role) + + # Check if user exists, create if not if not user_datastore.get_user('user'): user_datastore.create_user(email='user', password='password') db_session.commit() +#def create_user(): +# init_db() +# if not user_datastore.get_user('admin'): +# print("creating new 'admin' user with password 'password'") +# admin_user = user_datastore.create_user(email='admin', password='password') +## user_datastore.add_role_to_user(user=admin_user, role='admin') +## if not user_datastore.get_user('user'): +## user_datastore.create_user(email='user', password='password') +## db_session.commit() # Views @app.route('/')