clearml-server/server/services/organization.py

23 lines
771 B
Python

from collections import defaultdict
from apimodels.organization import TagsRequest
from bll.organization import OrgBLL, Tags
from service_repo import endpoint, APICall
from services.utils import get_tags_filter_dictionary, get_tags_response
org_bll = OrgBLL()
@endpoint("organization.get_tags", request_data_model=TagsRequest)
def get_tags(call: APICall, company, request: TagsRequest):
filter_dict = get_tags_filter_dictionary(request.filter)
ret = defaultdict(set)
for entity in Tags.Model, Tags.Task:
tags = org_bll.get_tags(
company, entity, include_system=request.include_system, filter_=filter_dict,
)
for field, vals in tags.items():
ret[field] |= vals
call.result.data = get_tags_response(ret)