Common
This commit is contained in:
		
							
								
								
									
										24
									
								
								utils/db.py
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								utils/db.py
									
									
									
									
									
								
							@ -2,7 +2,7 @@ import datetime
 | 
			
		||||
 | 
			
		||||
from CTFd.models import db
 | 
			
		||||
from CTFd.utils import get_config
 | 
			
		||||
from ..models import WhaleContainer, WhaleRedirectTemplate
 | 
			
		||||
from ..models import WhaleContainer, WhaleContainerLog, WhaleRedirectTemplate
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DBContainer:
 | 
			
		||||
@ -14,6 +14,14 @@ class DBContainer:
 | 
			
		||||
 | 
			
		||||
        return container
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def create_container_log(container):
 | 
			
		||||
        container = WhaleContainerLog(container)
 | 
			
		||||
        db.session.add(container)
 | 
			
		||||
        db.session.commit()
 | 
			
		||||
 | 
			
		||||
        return container
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def get_current_containers(user_id):
 | 
			
		||||
        q = db.session.query(WhaleContainer)
 | 
			
		||||
@ -55,6 +63,14 @@ class DBContainer:
 | 
			
		||||
        )
 | 
			
		||||
        return q.all()
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def get_all_container_logs_page(page_start, page_end):
 | 
			
		||||
        q = db.session.query(WhaleContainerLog)
 | 
			
		||||
        q = q.slice(page_start, page_end)
 | 
			
		||||
 | 
			
		||||
        return q.all()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def get_all_container():
 | 
			
		||||
        q = db.session.query(WhaleContainer)
 | 
			
		||||
@ -72,6 +88,12 @@ class DBContainer:
 | 
			
		||||
        q = q.slice(page_start, page_end)
 | 
			
		||||
        return q.all()
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def get_all_container_logs_count():
 | 
			
		||||
        q = db.session.query(WhaleContainerLog)
 | 
			
		||||
 | 
			
		||||
        return q.count()
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def get_all_alive_container_count():
 | 
			
		||||
        timeout = int(get_config("whale:docker_timeout", "3600"))
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user