From cd4a99990dbcc832517a3fbe0e01a69a03c175dc Mon Sep 17 00:00:00 2001 From: Jordan Blasenhauer Date: Fri, 8 Dec 2023 14:07:25 +0100 Subject: [PATCH] remove useless files *remove models.py because is now handle on common/utils *ignore output setup because can be build on localhost *remove setup folder after using node build.js with docker (useless) --- src/ui/Dockerfile | 2 +- src/ui/models.py | 229 ---------------------------------------- src/ui/setup/.gitignore | 2 + 3 files changed, 3 insertions(+), 230 deletions(-) delete mode 100644 src/ui/models.py diff --git a/src/ui/Dockerfile b/src/ui/Dockerfile index 963a65be..dab0bbf8 100644 --- a/src/ui/Dockerfile +++ b/src/ui/Dockerfile @@ -75,7 +75,7 @@ RUN cd client && \ RUN node build.js # Remove no longer needed files -RUN rm -rf client build.js +RUN rm -rf client setup build.js USER ui:ui diff --git a/src/ui/models.py b/src/ui/models.py deleted file mode 100644 index d6b050a6..00000000 --- a/src/ui/models.py +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/python3 -# -*- coding: utf-8 -*- - -from datetime import datetime -from typing import Dict, List, Literal, Optional, Union - -from pydantic import BaseModel, Field - - -class Instance(BaseModel): - hostname: str = Field(examples=["bunkerweb-1"], description="The server hostname") - port: int = Field(examples=[5000], description="The server port") - server_name: str = Field( - examples=["bwapi"], - description="The instance's server name to be used in the API", - ) - - -class ResponseModel(BaseModel): - type: str = Field(examples=["success"], description="success or error communicating with core API") - status: str | int = Field(examples=[200], description="Status return by core API or fallback") - message: str = Field( - examples=["Get global config succeed"], - description="Feedback message to display on UI", - ) - data: str | dict | list = Field( - examples=[""], - description="Any type of data that can be convert to string", - ) - - -class InstanceWithMethod(Instance): - method: str = Field(examples=["static"], description="The method used by the API") - - -class InstanceWithInfo(InstanceWithMethod): - status: str = Field(examples=["up"], description="The instance status") - - -class Plugin(BaseModel): - id: str = Field(examples=["blacklist"], description="The plugin id") - stream: str = Field(examples=["partial"], description="The plugin stream") - name: str = Field(examples=["Blacklist"], description="The plugin name") - description: str = Field( - examples=["Deny access based on internal and external IP/network/rDNS/ASN blacklists."], - description="The plugin description", - ) - version: str = Field(examples=["1.0"], description="The plugin version") - external: bool = Field(examples=[False], description="If the plugin is external") - method: str = Field(examples=["core"], description="Which service created the plugin") - page: bool = Field(examples=[False], description="If the plugin has a page") - settings: Dict[ - str, - Dict[ - Union[ - Literal[ - "context", - "default", - "help", - "id", - "label", - "regex", - "type", - ], - Literal[ - "context", - "default", - "help", - "id", - "label", - "regex", - "type", - "select", - "multiple", - ], - Literal[ - "context", - "default", - "help", - "id", - "label", - "regex", - "type", - "multiple", - ], - Literal[ - "context", - "default", - "help", - "id", - "label", - "regex", - "type", - "select", - ], - ], - Union[str, List[str]], - ], - ] = Field( - examples=[ - { - "USE_BLACKLIST": { - "context": "multisite", - "default": "yes", - "help": "Activate blacklist feature.", - "id": "use-blacklist", - "label": "Activate blacklisting", - "regex": "^(yes|no)$", - "type": "check", - } - } - ], - description="The plugin settings", - ) - jobs: List[Dict[Literal["name", "file", "every", "reload"], Union[str, bool]]] = Field( - None, - examples=[ - [ - { - "name": "blacklist-download", - "file": "blacklist-download.py", - "every": "hour", - "reload": True, - } - ] - ], - description="The jobs that the plugin has", - ) - - -class AddedPlugin(Plugin): - data: bytes = Field(examples=[b"BunkerWeb forever"], description="The plugin data") - checksum: str = Field( - None, - examples=["b935addf904d374ad57b7985e821d6bab74ee1c18757479b33b855622ab78290ddb00b39be41e60df41bf4502b9c8796e975c2177e8000f068a5a4d6d9acac3d"], - description="SHA512 checksum of the plugin file", - ) - template_file: bytes = Field(None, examples=[b"BunkerWeb forever"], description="The template file data") - actions_file: bytes = Field(None, examples=[b"BunkerWeb forever"], description="The actions file data") - template_checksum: str = Field( - None, - examples=["b935addf904d374ad57b7985e821d6bab74ee1c18757479b33b855622ab78290ddb00b39be41e60df41bf4502b9c8796e975c2177e8000f068a5a4d6d9acac3d"], - description="SHA512 checksum of the template file", - ) - actions_checksum: str = Field( - None, - examples=["b935addf904d374ad57b7985e821d6bab74ee1c18757479b33b855622ab78290ddb00b39be41e60df41bf4502b9c8796e975c2177e8000f068a5a4d6d9acac3d"], - description="SHA512 checksum of the actions file", - ) - - -class Job(BaseModel): - every: str = Field( - examples=["hour"], - description="The job execution frequency, can be: hour, day, week, month or a cron expression", - ) - reload: bool = Field( - examples=[True], - description="Data about if the job should reload BunkerWeb after execution", - ) - history: List[Dict[str, Union[str, bool]]] = Field( - examples=[ - [ - { - "start_date": "2021-01-01T00:00:00.000Z", - "end_date": "2021-01-01T00:00:00.000Z", - "success": True, - } - ] - ], - description="The last 10 job executions information", - ) - cache: List[Dict[str, Optional[str]]] = Field( - examples=[ - [ - { - "service_id": None, - "file_name": "ASN.txt", - "last_update": "2021-01-01T00:00:00.000Z", - "checksum": "b935addf904d374ad57b7985e821d6bab74ee1c18757479b33b855622ab78290ddb00b39be41e60df41bf4502b9c8796e975c2177e8000f068a5a4d6d9acac3d", - } - ] - ], - description="The cache files, if any, that the job has", - ) - - -class JobCache(BaseModel): - last_update: Optional[float] = Field(None, examples=["1609459200.0"]) - checksum: Optional[str] = Field( - None, - examples=["b935addf904d374ad57b7985e821d6bab74ee1c18757479b33b855622ab78290ddb00b39be41e60df41bf4502b9c8796e975c2177e8000f068a5a4d6d9acac3d"], - description="SHA512 checksum of the cache file", - ) - data: Optional[bytes] = Field(None, examples=[b"BunkerWeb forever"], description="The cache file data") - - -class ErrorMessage(BaseModel): - message: str - - -class CacheFileModel(BaseModel): - service_id: Optional[str] = Field( - None, - examples=["www.example.com"], - description="The service that the cache file belongs to", - ) - - -class CacheFileDataModel(CacheFileModel): - with_info: bool = Field( - False, - examples=[True], - description="Will return the cache file info, being: last_update and checksum", - ) - with_data: bool = Field( - True, - examples=[False], - description="Will return the cache file data", - ) - - -class CacheFileInfoModel(CacheFileModel): - last_update: Union[datetime, float] = Field(examples=["1609459200.0"], description="The last update date") - checksum: Optional[str] = Field( - None, - examples=["b935addf904d374ad57b7985e821d6bab74ee1c18757479b33b855622ab78290ddb00b39be41e60df41bf4502b9c8796e975c2177e8000f068a5a4d6d9acac3d"], - description="SHA512 checksum of the cache file", - ) diff --git a/src/ui/setup/.gitignore b/src/ui/setup/.gitignore index a547bf36..fa7b31d5 100644 --- a/src/ui/setup/.gitignore +++ b/src/ui/setup/.gitignore @@ -12,6 +12,8 @@ dist dist-ssr *.local +setup/output + # Editor directories and files .vscode/* !.vscode/extensions.json