def build_storage(datasource: DataSource): storage_template = find_storage_template() if datasource.dataSourceType == "mongodb": from watchmen_boot.storage.mongo.mongo_client import MongoEngine engine = MongoEngine(datasource) return MongoTopicStorage(client=engine.get_engine(), storage_template=storage_template) elif datasource.dataSourceType == "mysql": from watchmen_boot.storage.mysql.mysql_client import MysqlEngine engine = MysqlEngine(datasource) return MysqlTopicStorage(client=engine.get_engine(), storage_template=storage_template) elif datasource.dataSourceType == "oracle": from watchmen_boot.storage.oracle.oracle_client import OracleEngine engine = OracleEngine(datasource) return OracleTopicStorage(client=engine.get_engine(), storage_template=storage_template)
from model.model.common.data_page import DataPage from model.model.common.pagination import Pagination from model.model.enum.enum import Enum from watchmen_boot.guid.snowflake import get_surrogate_key from watchmen.common.utils.data_utils import check_fake_id from watchmen.database.find_storage_template import find_storage_template ENUMS = "enums" ENUM_ITEMS = "enum_items" # template = find_template() storage_template = find_storage_template() def save_enum_to_storage(enum: Enum): if check_fake_id(enum.enumId): enum.enumId = get_surrogate_key() # enum.items = [] # result = template.create(ENUMS, enum, Enum) result = storage_template.insert_one(enum, Enum, ENUMS) # items = __add_enum_id(items_copy, result.enumId) # save_enum_items_to_storage(items_copy, enum.name) return result else: # items_copy = enum.items.copy() # # enum.items = [] # # items = __add_enum_id(items_copy, enum.enumId)
async def clear_table_metadata(): find_storage_template().clear_metadata()
async def remove_topic_collection(collections: List[str], current_user: User = Depends( deps.get_current_user)): for collection in collections: find_storage_template().delete_topic_collection(collection)