diff --git a/titanembeds/blueprints/api/api.py b/titanembeds/blueprints/api/api.py index 2da61ed..772d0c4 100644 --- a/titanembeds/blueprints/api/api.py +++ b/titanembeds/blueprints/api/api.py @@ -1,4 +1,4 @@ -from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers +from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers, KeyValueProperties from titanembeds.decorators import valid_session_required, discord_users_only from titanembeds.utils import check_guild_existance, guild_query_unauth_users_bool, get_client_ipaddr, discord_api, rate_limiter, channel_ratelimit_key, guild_ratelimit_key from titanembeds.oauth import user_has_permission, generate_avatar_url, check_user_can_administrate_guild @@ -373,3 +373,13 @@ def create_authenticated_user(): response = jsonify(status=status) response.status_code = 403 return response + +@api.route("/cleanup-keyval-db", methods=["DELETE"]) +def cleanup_keyval_db(): + if request.form.get("secret", None) == config["app-secret"]: + q = KeyValueProperties.query.filter(KeyValueProperties.expiration < datetime.datetime.now()).all() + for m in q: + db.session.delete(m) + db.session.commit() + return ('', 204) + abort(401) \ No newline at end of file