# -*- coding: UTF-8 -*-
# Code generated by lark suite oapi sdk gen

from typing import List, Dict, Any
from ....utils.dt import to_json_decorator
import attr




@to_json_decorator
@attr.s
class DocsApi(object):
    pass


@to_json_decorator
@attr.s
class DocsEntity(object):
    docs_token = attr.ib(type=str, default=None, metadata={'json': 'docs_token'})
    docs_type = attr.ib(type=str, default=None, metadata={'json': 'docs_type'})
    title = attr.ib(type=str, default=None, metadata={'json': 'title'})
    docs_owner = attr.ib(type=str, default=None, metadata={'json': 'docs_owner'})


@to_json_decorator
@attr.s
class DocsMeta(object):
    docs_token = attr.ib(type=str, default=None, metadata={'json': 'docs_token'})
    docs_type = attr.ib(type=str, default=None, metadata={'json': 'docs_type'})
    title = attr.ib(type=str, default=None, metadata={'json': 'title'})
    owner_id = attr.ib(type=str, default=None, metadata={'json': 'owner_id'})
    create_time = attr.ib(type=int, default=None, metadata={'json': 'create_time'})
    latest_modify_user = attr.ib(type=str, default=None, metadata={'json': 'latest_modify_user'})
    latest_modify_time = attr.ib(type=int, default=None, metadata={'json': 'latest_modify_time'})


@to_json_decorator
@attr.s
class RequestDoc(object):
    token = attr.ib(type=str, default=None, metadata={'json': 'token'})
    type = attr.ib(type=str, default=None, metadata={'json': 'type'})



@to_json_decorator
@attr.s
class DocsApiMetaReqBody(object):
    request_docs = attr.ib(type=List[RequestDoc], default=None, metadata={'json': 'request_docs'})


@attr.s
class DocsApiMetaResult(object):
    docs_metas = attr.ib(type=List[DocsMeta], default=None, metadata={'json': 'docs_metas'})


@to_json_decorator
@attr.s
class DocsApiSearchReqBody(object):
    search_key = attr.ib(type=str, default=None, metadata={'json': 'search_key'})
    count = attr.ib(type=int, default=None, metadata={'json': 'count'})
    offset = attr.ib(type=int, default=None, metadata={'json': 'offset'})
    owner_ids = attr.ib(type=List[str], default=None, metadata={'json': 'owner_ids'})
    chat_ids = attr.ib(type=List[str], default=None, metadata={'json': 'chat_ids'})
    docs_types = attr.ib(type=str, default=None, metadata={'json': 'docs_types'})


@attr.s
class DocsApiSearchResult(object):
    docs_entities = attr.ib(type=List[DocsEntity], default=None, metadata={'json': 'docs_entities'})
    has_more = attr.ib(type=bool, default=None, metadata={'json': 'has_more'})
    total = attr.ib(type=int, default=None, metadata={'json': 'total'})