示例#1
0
import logging
from typing import List

from watchmen.common.data_page import DataPage
from watchmen.common.mongo.index import build_code_options
from watchmen.common.storage.engine.storage_engine import get_client
from watchmen.common.utils.data_utils import build_data_pages, build_collection_name

client = get_client()

log = logging.getLogger("app." + __name__)

log.info("mongo template initialized")


def create(collection_name, instance, base_model):
    collections = client.get_collection(collection_name)
    collections.insert_one(__convert_to_dict(instance))
    return base_model.parse_obj(instance)


def create_or_update(collection_name, query_dict, instance, base_model):
    collections = client.get_collection(collection_name)
    collections.update_one(query_dict, {"$set": __convert_to_dict(instance)},
                           upsert=True)
    return base_model.parse_obj(instance)


def update_one(collection_name, query_dict, instance, base_model):
    collections = client.get_collection(collection_name)
    collections.update_one(query_dict, {"$set": __convert_to_dict(instance)})
from bson import regex

from watchmen.auth.user_group import UserGroup
from watchmen.common.pagination import Pagination
from watchmen.common.snowflake.snowflake import get_surrogate_key
from watchmen.common.storage.engine.storage_engine import get_client
from watchmen.common.utils.data_utils import build_data_pages, check_fake_id

db = get_client()
user_groups = db.get_collection('user_groups')


def get_user_group(user_group_id):
    return user_groups.find_one({"userGroupId": user_group_id})


def get_user_group_list_by_ids(user_group_ids: list):
    result = user_groups.find({"userGroupId": {"$in": user_group_ids}})
    return list(result)


def load_group_list_by_name(query_name):
    result = user_groups.find({"name": regex.Regex(query_name)})
    return list(result)


def create_user_group_storage(user_group: UserGroup):
    if user_group.userGroupId is None or check_fake_id(user_group.userGroupId):
        user_group.userGroupId = get_surrogate_key()
    if type(user_group) is not dict:
        user_group = user_group.dict()
示例#3
0
def get_db():
    return get_client()