mirror of
				https://github.com/TitanEmbeds/Titan.git
				synced 2025-11-04 07:47:10 +01:00 
			
		
		
		
	Delete extra messages in each guild endpoint
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers, KeyValueProperties, GuildMembers, get_channel_messages, list_all_guild_members
 | 
			
		||||
from titanembeds.database import db, Guilds, UnauthenticatedUsers, UnauthenticatedBans, AuthenticatedUsers, KeyValueProperties, GuildMembers, Messages, get_channel_messages, list_all_guild_members
 | 
			
		||||
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
 | 
			
		||||
@@ -398,12 +398,24 @@ def create_authenticated_user():
 | 
			
		||||
            response.status_code = 403
 | 
			
		||||
            return response
 | 
			
		||||
 | 
			
		||||
@api.route("/cleanup-keyval-db", methods=["DELETE"])
 | 
			
		||||
@api.route("/cleanup-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)
 | 
			
		||||
 | 
			
		||||
        guilds = Guilds.query.all()
 | 
			
		||||
        for guild in guilds:
 | 
			
		||||
            channelsjson = json.loads(guild.channels)
 | 
			
		||||
            for channel in channelsjson:
 | 
			
		||||
                chanid = channel["id"]
 | 
			
		||||
                dbmsg = Messages.query.filter(Messages.channel_id == chanid).all()
 | 
			
		||||
                for idx, val in enumerate(dbmsg):
 | 
			
		||||
                    if len(dbmsg) - idx > 50:
 | 
			
		||||
                        db.session.delete(val)
 | 
			
		||||
                    else:
 | 
			
		||||
                        continue
 | 
			
		||||
        db.session.commit()
 | 
			
		||||
        return ('', 204)
 | 
			
		||||
    abort(401)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user