diff --git a/atst/app.py b/atst/app.py index 9a8372c3..5a540b05 100644 --- a/atst/app.py +++ b/atst/app.py @@ -12,6 +12,7 @@ from atst.assets import environment as assets_environment from atst.routes import bp from atst.routes.workspaces import bp as workspace_routes from atst.routes.requests import requests_bp +from atst.routes.dev import bp as dev_routes ENV = os.getenv("FLASK_ENV", "dev") @@ -40,6 +41,8 @@ def make_app(config): app.register_blueprint(bp) app.register_blueprint(workspace_routes) app.register_blueprint(requests_bp) + if ENV != "production": + app.register_blueprint(dev_routes) return app diff --git a/atst/routes/dev.py b/atst/routes/dev.py new file mode 100644 index 00000000..25c176c5 --- /dev/null +++ b/atst/routes/dev.py @@ -0,0 +1,59 @@ +from flask import Blueprint, request, session, redirect, url_for +from flask import current_app as app + +from atst.domain.users import Users + +bp = Blueprint("dev", __name__) + +_DEV_USERS = { + "sam": { + "dod_id": "1234567890", + "first_name": "Sam", + "last_name": "Seeceepio", + "atat_role": "ccpo", + }, + "amanda": { + "dod_id": "2345678901", + "first_name": "Amanda", + "last_name": "Adamson", + "atat_role": "default", + }, + "brandon": { + "dod_id": "3456789012", + "first_name": "Brandon", + "last_name": "Buchannan", + "atat_role": "default", + }, + "christina": { + "dod_id": "4567890123", + "first_name": "Christina", + "last_name": "Collins", + "atat_role": "default", + }, + "dominick": { + "dod_id": "5678901234", + "first_name": "Dominick", + "last_name": "Domingo", + "atat_role": "default", + }, + "erica": { + "dod_id": "6789012345", + "first_name": "Erica", + "last_name": "Eichner", + "atat_role": "default", + }, +} + + +@bp.route("/login-dev") +def get(): + role = request.args.get("username", "amanda") + user_data = _DEV_USERS[role] + user = _set_user_permissions(user_data["dod_id"], user_data["atat_role"]) + session["user_id"] = user.id + app.logger.warning(session) + return redirect(url_for("atst.home")) + + +def _set_user_permissions(dod_id, role): + return Users.get_or_create_by_dod_id(dod_id, atat_role_name=role)