mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-05 10:42:41 -05:00
notify-api-412 use black to enforce python style standards
This commit is contained in:
@@ -25,22 +25,20 @@ from app.template_folder.template_folder_schema import (
|
||||
)
|
||||
|
||||
template_folder_blueprint = Blueprint(
|
||||
'template_folder',
|
||||
__name__,
|
||||
url_prefix='/service/<uuid:service_id>/template-folder'
|
||||
"template_folder", __name__, url_prefix="/service/<uuid:service_id>/template-folder"
|
||||
)
|
||||
register_errors(template_folder_blueprint)
|
||||
|
||||
|
||||
@template_folder_blueprint.errorhandler(IntegrityError)
|
||||
def handle_integrity_error(exc):
|
||||
if 'template_folder_parent_id_fkey' in str(exc):
|
||||
return jsonify(result='error', message='parent_id not found'), 400
|
||||
if "template_folder_parent_id_fkey" in str(exc):
|
||||
return jsonify(result="error", message="parent_id not found"), 400
|
||||
|
||||
raise
|
||||
|
||||
|
||||
@template_folder_blueprint.route('', methods=['GET'])
|
||||
@template_folder_blueprint.route("", methods=["GET"])
|
||||
def get_template_folders_for_service(service_id):
|
||||
service = dao_fetch_service_by_id(service_id)
|
||||
|
||||
@@ -48,14 +46,16 @@ def get_template_folders_for_service(service_id):
|
||||
return jsonify(template_folders=template_folders)
|
||||
|
||||
|
||||
@template_folder_blueprint.route('', methods=['POST'])
|
||||
@template_folder_blueprint.route("", methods=["POST"])
|
||||
def create_template_folder(service_id):
|
||||
data = request.get_json()
|
||||
|
||||
validate(data, post_create_template_folder_schema)
|
||||
if data.get('parent_id') is not None:
|
||||
if data.get("parent_id") is not None:
|
||||
try:
|
||||
parent_folder = dao_get_template_folder_by_id_and_service_id(data['parent_id'], service_id)
|
||||
parent_folder = dao_get_template_folder_by_id_and_service_id(
|
||||
data["parent_id"], service_id
|
||||
)
|
||||
users_with_permission = parent_folder.users
|
||||
except NoResultFound:
|
||||
raise InvalidRequest("parent_id not found", status_code=400)
|
||||
@@ -63,8 +63,8 @@ def create_template_folder(service_id):
|
||||
users_with_permission = dao_get_active_service_users(service_id)
|
||||
template_folder = TemplateFolder(
|
||||
service_id=service_id,
|
||||
name=data['name'].strip(),
|
||||
parent_id=data['parent_id'],
|
||||
name=data["name"].strip(),
|
||||
parent_id=data["parent_id"],
|
||||
users=users_with_permission,
|
||||
)
|
||||
|
||||
@@ -73,37 +73,46 @@ def create_template_folder(service_id):
|
||||
return jsonify(data=template_folder.serialize()), 201
|
||||
|
||||
|
||||
@template_folder_blueprint.route('/<uuid:template_folder_id>', methods=['POST'])
|
||||
@template_folder_blueprint.route("/<uuid:template_folder_id>", methods=["POST"])
|
||||
def update_template_folder(service_id, template_folder_id):
|
||||
data = request.get_json()
|
||||
|
||||
validate(data, post_update_template_folder_schema)
|
||||
|
||||
template_folder = dao_get_template_folder_by_id_and_service_id(template_folder_id, service_id)
|
||||
template_folder.name = data['name']
|
||||
if 'users_with_permission' in data:
|
||||
template_folder.users = [dao_get_service_user(user_id, service_id) for user_id in data['users_with_permission']]
|
||||
template_folder = dao_get_template_folder_by_id_and_service_id(
|
||||
template_folder_id, service_id
|
||||
)
|
||||
template_folder.name = data["name"]
|
||||
if "users_with_permission" in data:
|
||||
template_folder.users = [
|
||||
dao_get_service_user(user_id, service_id)
|
||||
for user_id in data["users_with_permission"]
|
||||
]
|
||||
|
||||
dao_update_template_folder(template_folder)
|
||||
|
||||
return jsonify(data=template_folder.serialize()), 200
|
||||
|
||||
|
||||
@template_folder_blueprint.route('/<uuid:template_folder_id>', methods=['DELETE'])
|
||||
@template_folder_blueprint.route("/<uuid:template_folder_id>", methods=["DELETE"])
|
||||
def delete_template_folder(service_id, template_folder_id):
|
||||
template_folder = dao_get_template_folder_by_id_and_service_id(template_folder_id, service_id)
|
||||
template_folder = dao_get_template_folder_by_id_and_service_id(
|
||||
template_folder_id, service_id
|
||||
)
|
||||
|
||||
# don't allow deleting if there's anything in the folder (even if it's just more empty subfolders)
|
||||
if template_folder.subfolders or template_folder.templates:
|
||||
return jsonify(result='error', message='Folder is not empty'), 400
|
||||
return jsonify(result="error", message="Folder is not empty"), 400
|
||||
|
||||
dao_delete_template_folder(template_folder)
|
||||
|
||||
return '', 204
|
||||
return "", 204
|
||||
|
||||
|
||||
@template_folder_blueprint.route('/contents', methods=['POST'])
|
||||
@template_folder_blueprint.route('/<uuid:target_template_folder_id>/contents', methods=['POST'])
|
||||
@template_folder_blueprint.route("/contents", methods=["POST"])
|
||||
@template_folder_blueprint.route(
|
||||
"/<uuid:target_template_folder_id>/contents", methods=["POST"]
|
||||
)
|
||||
@autocommit
|
||||
def move_to_template_folder(service_id, target_template_folder_id=None):
|
||||
data = request.get_json()
|
||||
@@ -111,46 +120,60 @@ def move_to_template_folder(service_id, target_template_folder_id=None):
|
||||
validate(data, post_move_template_folder_schema)
|
||||
|
||||
if target_template_folder_id:
|
||||
target_template_folder = dao_get_template_folder_by_id_and_service_id(target_template_folder_id, service_id)
|
||||
target_template_folder = dao_get_template_folder_by_id_and_service_id(
|
||||
target_template_folder_id, service_id
|
||||
)
|
||||
else:
|
||||
target_template_folder = None
|
||||
|
||||
for template_folder_id in data['folders']:
|
||||
for template_folder_id in data["folders"]:
|
||||
try:
|
||||
template_folder = dao_get_template_folder_by_id_and_service_id(template_folder_id, service_id)
|
||||
template_folder = dao_get_template_folder_by_id_and_service_id(
|
||||
template_folder_id, service_id
|
||||
)
|
||||
except NoResultFound:
|
||||
msg = 'No folder found with id {} for service {}'.format(
|
||||
template_folder_id,
|
||||
service_id
|
||||
msg = "No folder found with id {} for service {}".format(
|
||||
template_folder_id, service_id
|
||||
)
|
||||
raise InvalidRequest(msg, status_code=400)
|
||||
_validate_folder_move(target_template_folder, target_template_folder_id, template_folder, template_folder_id)
|
||||
_validate_folder_move(
|
||||
target_template_folder,
|
||||
target_template_folder_id,
|
||||
template_folder,
|
||||
template_folder_id,
|
||||
)
|
||||
|
||||
template_folder.parent = target_template_folder
|
||||
|
||||
for template_id in data['templates']:
|
||||
for template_id in data["templates"]:
|
||||
try:
|
||||
template = dao_get_template_by_id_and_service_id(template_id, service_id)
|
||||
except NoResultFound:
|
||||
msg = 'Could not move to folder: No template found with id {} for service {}'.format(
|
||||
template_id,
|
||||
service_id
|
||||
msg = "Could not move to folder: No template found with id {} for service {}".format(
|
||||
template_id, service_id
|
||||
)
|
||||
raise InvalidRequest(msg, status_code=400)
|
||||
|
||||
if template.archived:
|
||||
current_app.logger.info('Could not move to folder: Template {} is archived. (Skipping)'.format(
|
||||
template_id
|
||||
))
|
||||
current_app.logger.info(
|
||||
"Could not move to folder: Template {} is archived. (Skipping)".format(
|
||||
template_id
|
||||
)
|
||||
)
|
||||
else:
|
||||
template.folder = target_template_folder
|
||||
return '', 204
|
||||
return "", 204
|
||||
|
||||
|
||||
def _validate_folder_move(target_template_folder, target_template_folder_id, template_folder, template_folder_id):
|
||||
def _validate_folder_move(
|
||||
target_template_folder,
|
||||
target_template_folder_id,
|
||||
template_folder,
|
||||
template_folder_id,
|
||||
):
|
||||
if str(target_template_folder_id) == str(template_folder_id):
|
||||
msg = 'You cannot move a folder to itself'
|
||||
msg = "You cannot move a folder to itself"
|
||||
raise InvalidRequest(msg, status_code=400)
|
||||
if target_template_folder and template_folder.is_parent_of(target_template_folder):
|
||||
msg = 'You cannot move a folder to one of its subfolders'
|
||||
msg = "You cannot move a folder to one of its subfolders"
|
||||
raise InvalidRequest(msg, status_code=400)
|
||||
|
||||
@@ -6,9 +6,9 @@ post_create_template_folder_schema = {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {"type": "string", "minLength": 1},
|
||||
"parent_id": nullable_uuid
|
||||
"parent_id": nullable_uuid,
|
||||
},
|
||||
"required": ["name", "parent_id"]
|
||||
"required": ["name", "parent_id"],
|
||||
}
|
||||
|
||||
post_update_template_folder_schema = {
|
||||
@@ -17,9 +17,9 @@ post_update_template_folder_schema = {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {"type": "string", "minLength": 1},
|
||||
"users_with_permission": {"type": "array", "items": uuid}
|
||||
"users_with_permission": {"type": "array", "items": uuid},
|
||||
},
|
||||
"required": ["name"]
|
||||
"required": ["name"],
|
||||
}
|
||||
|
||||
post_move_template_folder_schema = {
|
||||
@@ -30,5 +30,5 @@ post_move_template_folder_schema = {
|
||||
"templates": {"type": "array", "items": uuid},
|
||||
"folders": {"type": "array", "items": uuid},
|
||||
},
|
||||
"required": ["templates", "folders"]
|
||||
"required": ["templates", "folders"],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user