mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
Fix when we are retrieving the cache_files from the database (errors with new plugin_id filter)
This commit is contained in:
parent
122b64c2d4
commit
dd525b4f58
2 changed files with 46 additions and 88 deletions
|
|
@ -1709,16 +1709,17 @@ class Database:
|
|||
filters = {"job_name": job_name, "file_name": file_name}
|
||||
if service_id:
|
||||
filters["service_id"] = service_id
|
||||
if plugin_id:
|
||||
filters["plugin_id"] = plugin_id
|
||||
|
||||
with self.__db_session() as session:
|
||||
if plugin_id:
|
||||
job = session.query(Jobs).filter_by(name=job_name, plugin_id=plugin_id).first()
|
||||
if not job:
|
||||
return None
|
||||
data = session.query(Jobs_cache).with_entities(*entities).filter_by(**filters).first()
|
||||
|
||||
if not data:
|
||||
return None
|
||||
|
||||
if with_data and not with_info:
|
||||
elif with_data and not with_info:
|
||||
return data.data
|
||||
|
||||
ret_data = {}
|
||||
|
|
@ -1738,24 +1739,36 @@ class Database:
|
|||
|
||||
query = session.query(Jobs_cache).with_entities(*entities)
|
||||
|
||||
filters = {}
|
||||
if job_name:
|
||||
filters["job_name"] = job_name
|
||||
query = query.filter_by(job_name=job_name)
|
||||
|
||||
db_cache = query.all()
|
||||
|
||||
if not db_cache:
|
||||
return []
|
||||
|
||||
job_names = []
|
||||
if plugin_id:
|
||||
filters["plugin_id"] = plugin_id
|
||||
filters = {"plugin_id": plugin_id}
|
||||
if job_name:
|
||||
filters["name"] = job_name
|
||||
job_names = [name for name in session.query(Jobs).with_entities(Jobs.name).filter_by(**filters)]
|
||||
if not job_names:
|
||||
return []
|
||||
|
||||
if filters:
|
||||
query = query.filter_by(**filters)
|
||||
|
||||
return [
|
||||
{
|
||||
"job_name": cache.job_name,
|
||||
"service_id": cache.service_id,
|
||||
"file_name": cache.file_name,
|
||||
"data": "Download file to view content" if not with_data else cache.data,
|
||||
}
|
||||
for cache in query
|
||||
]
|
||||
cache_files = []
|
||||
for cache in db_cache:
|
||||
if cache.job_name not in job_names:
|
||||
continue
|
||||
cache_files.append(
|
||||
{
|
||||
"job_name": cache.job_name,
|
||||
"service_id": cache.service_id,
|
||||
"file_name": cache.file_name,
|
||||
"data": "Download file to view content" if not with_data else cache.data,
|
||||
}
|
||||
)
|
||||
return cache_files
|
||||
|
||||
def add_instance(self, hostname: str, port: int, server_name: str, changed: Optional[bool] = True) -> str:
|
||||
"""Add instance."""
|
||||
|
|
|
|||
|
|
@ -72,11 +72,7 @@ class Settings(Base):
|
|||
|
||||
id = Column(String(256), primary_key=True)
|
||||
name = Column(String(256), primary_key=True)
|
||||
plugin_id = Column(
|
||||
String(64),
|
||||
ForeignKey("bw_plugins.id", onupdate="cascade", ondelete="cascade"),
|
||||
nullable=False,
|
||||
)
|
||||
plugin_id = Column(String(64), ForeignKey("bw_plugins.id", onupdate="cascade", ondelete="cascade"), nullable=False)
|
||||
context = Column(CONTEXTS_ENUM, nullable=False)
|
||||
default = Column(String(4096), nullable=True, default="")
|
||||
help = Column(String(512), nullable=False)
|
||||
|
|
@ -94,11 +90,7 @@ class Settings(Base):
|
|||
class Global_values(Base):
|
||||
__tablename__ = "bw_global_values"
|
||||
|
||||
setting_id = Column(
|
||||
String(256),
|
||||
ForeignKey("bw_settings.id", onupdate="cascade", ondelete="cascade"),
|
||||
primary_key=True,
|
||||
)
|
||||
setting_id = Column(String(256), ForeignKey("bw_settings.id", onupdate="cascade", ondelete="cascade"), primary_key=True)
|
||||
value = Column(String(8192), nullable=False)
|
||||
suffix = Column(Integer, primary_key=True, nullable=True, default=0)
|
||||
method = Column(METHODS_ENUM, nullable=False)
|
||||
|
|
@ -121,16 +113,8 @@ class Services(Base):
|
|||
class Services_settings(Base):
|
||||
__tablename__ = "bw_services_settings"
|
||||
|
||||
service_id = Column(
|
||||
String(64),
|
||||
ForeignKey("bw_services.id", onupdate="cascade", ondelete="cascade"),
|
||||
primary_key=True,
|
||||
)
|
||||
setting_id = Column(
|
||||
String(256),
|
||||
ForeignKey("bw_settings.id", onupdate="cascade", ondelete="cascade"),
|
||||
primary_key=True,
|
||||
)
|
||||
service_id = Column(String(64), ForeignKey("bw_services.id", onupdate="cascade", ondelete="cascade"), primary_key=True)
|
||||
setting_id = Column(String(256), ForeignKey("bw_settings.id", onupdate="cascade", ondelete="cascade"), primary_key=True)
|
||||
value = Column(String(8192), nullable=False)
|
||||
suffix = Column(Integer, primary_key=True, nullable=True, default=0)
|
||||
method = Column(METHODS_ENUM, nullable=False)
|
||||
|
|
@ -144,10 +128,7 @@ class Jobs(Base):
|
|||
__table_args__ = (UniqueConstraint("name", "plugin_id"),)
|
||||
|
||||
name = Column(String(128), primary_key=True)
|
||||
plugin_id = Column(
|
||||
String(64),
|
||||
ForeignKey("bw_plugins.id", onupdate="cascade", ondelete="cascade"),
|
||||
)
|
||||
plugin_id = Column(String(64), ForeignKey("bw_plugins.id", onupdate="cascade", ondelete="cascade"))
|
||||
file_name = Column(String(256), nullable=False)
|
||||
every = Column(SCHEDULES_ENUM, nullable=False)
|
||||
reload = Column(Boolean, default=False, nullable=False)
|
||||
|
|
@ -161,16 +142,8 @@ class Jobs(Base):
|
|||
class Plugin_pages(Base):
|
||||
__tablename__ = "bw_plugin_pages"
|
||||
|
||||
id = Column(
|
||||
Integer,
|
||||
Identity(start=1, increment=1),
|
||||
primary_key=True,
|
||||
)
|
||||
plugin_id = Column(
|
||||
String(64),
|
||||
ForeignKey("bw_plugins.id", onupdate="cascade", ondelete="cascade"),
|
||||
nullable=False,
|
||||
)
|
||||
id = Column(Integer, Identity(start=1, increment=1), primary_key=True)
|
||||
plugin_id = Column(String(64), ForeignKey("bw_plugins.id", onupdate="cascade", ondelete="cascade"), nullable=False)
|
||||
template_file = Column(LargeBinary(length=(2**32) - 1), nullable=False)
|
||||
template_checksum = Column(String(128), nullable=False)
|
||||
actions_file = Column(LargeBinary(length=(2**32) - 1), nullable=False)
|
||||
|
|
@ -181,27 +154,11 @@ class Plugin_pages(Base):
|
|||
|
||||
class Jobs_cache(Base):
|
||||
__tablename__ = "bw_jobs_cache"
|
||||
__table_args__ = (UniqueConstraint("job_name", "service_id", "file_name"),)
|
||||
|
||||
id = Column(
|
||||
Integer,
|
||||
Identity(start=1, increment=1),
|
||||
primary_key=True,
|
||||
)
|
||||
job_name = Column(
|
||||
String(128),
|
||||
ForeignKey("bw_jobs.name", onupdate="cascade", ondelete="cascade"),
|
||||
nullable=False,
|
||||
)
|
||||
service_id = Column(
|
||||
String(64),
|
||||
ForeignKey("bw_services.id", onupdate="cascade", ondelete="cascade"),
|
||||
nullable=True,
|
||||
)
|
||||
file_name = Column(
|
||||
String(256),
|
||||
nullable=False,
|
||||
)
|
||||
id = Column(Integer, Identity(start=1, increment=1), primary_key=True)
|
||||
job_name = Column(String(128), ForeignKey("bw_jobs.name", onupdate="cascade", ondelete="cascade"), nullable=False)
|
||||
service_id = Column(String(64), ForeignKey("bw_services.id", onupdate="cascade", ondelete="cascade"), nullable=True)
|
||||
file_name = Column(String(256), nullable=False)
|
||||
data = Column(LargeBinary(length=(2**32) - 1), nullable=True)
|
||||
last_update = Column(DateTime, nullable=True)
|
||||
checksum = Column(String(128), nullable=True)
|
||||
|
|
@ -214,16 +171,8 @@ class Custom_configs(Base):
|
|||
__tablename__ = "bw_custom_configs"
|
||||
__table_args__ = (UniqueConstraint("service_id", "type", "name"),)
|
||||
|
||||
id = Column(
|
||||
Integer,
|
||||
Identity(start=1, increment=1),
|
||||
primary_key=True,
|
||||
)
|
||||
service_id = Column(
|
||||
String(64),
|
||||
ForeignKey("bw_services.id", onupdate="cascade", ondelete="cascade"),
|
||||
nullable=True,
|
||||
)
|
||||
id = Column(Integer, Identity(start=1, increment=1), primary_key=True)
|
||||
service_id = Column(String(64), ForeignKey("bw_services.id", onupdate="cascade", ondelete="cascade"), nullable=True)
|
||||
type = Column(CUSTOM_CONFIGS_TYPES_ENUM, nullable=False)
|
||||
name = Column(String(256), nullable=False)
|
||||
data = Column(LargeBinary(length=(2**32) - 1), nullable=False)
|
||||
|
|
@ -236,11 +185,7 @@ class Custom_configs(Base):
|
|||
class Selects(Base):
|
||||
__tablename__ = "bw_selects"
|
||||
|
||||
setting_id = Column(
|
||||
String(256),
|
||||
ForeignKey("bw_settings.id", onupdate="cascade", ondelete="cascade"),
|
||||
primary_key=True,
|
||||
)
|
||||
setting_id = Column(String(256), ForeignKey("bw_settings.id", onupdate="cascade", ondelete="cascade"), primary_key=True)
|
||||
value = Column(String(256), primary_key=True)
|
||||
|
||||
setting = relationship("Settings", back_populates="selects")
|
||||
|
|
|
|||
Loading…
Reference in a new issue