# -*- 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 Authen(object):
    pass


@to_json_decorator
@attr.s
class UserAccessTokenInfo(object):
    access_token = attr.ib(type=str, default=None, metadata={'json': 'access_token'})
    token_type = attr.ib(type=str, default=None, metadata={'json': 'token_type'})
    expires_in = attr.ib(type=int, default=None, metadata={'json': 'expires_in'})
    name = attr.ib(type=str, default=None, metadata={'json': 'name'})
    en_name = attr.ib(type=str, default=None, metadata={'json': 'en_name'})
    avatar_url = attr.ib(type=str, default=None, metadata={'json': 'avatar_url'})
    avatar_thumb = attr.ib(type=str, default=None, metadata={'json': 'avatar_thumb'})
    avatar_middle = attr.ib(type=str, default=None, metadata={'json': 'avatar_middle'})
    avatar_big = attr.ib(type=str, default=None, metadata={'json': 'avatar_big'})
    open_id = attr.ib(type=str, default=None, metadata={'json': 'open_id'})
    union_id = attr.ib(type=str, default=None, metadata={'json': 'union_id'})
    email = attr.ib(type=str, default=None, metadata={'json': 'email'})
    user_id = attr.ib(type=str, default=None, metadata={'json': 'user_id'})
    mobile = attr.ib(type=str, default=None, metadata={'json': 'mobile'})
    tenant_key = attr.ib(type=str, default=None, metadata={'json': 'tenant_key'})
    refresh_expires_in = attr.ib(type=int, default=None, metadata={'json': 'refresh_expires_in'})
    refresh_token = attr.ib(type=str, default=None, metadata={'json': 'refresh_token'})


@to_json_decorator
@attr.s
class UserInfo(object):
    name = attr.ib(type=str, default=None, metadata={'json': 'name'})
    en_name = attr.ib(type=str, default=None, metadata={'json': 'en_name'})
    avatar_url = attr.ib(type=str, default=None, metadata={'json': 'avatar_url'})
    avatar_thumb = attr.ib(type=str, default=None, metadata={'json': 'avatar_thumb'})
    avatar_middle = attr.ib(type=str, default=None, metadata={'json': 'avatar_middle'})
    avatar_big = attr.ib(type=str, default=None, metadata={'json': 'avatar_big'})
    open_id = attr.ib(type=str, default=None, metadata={'json': 'open_id'})
    union_id = attr.ib(type=str, default=None, metadata={'json': 'union_id'})
    email = attr.ib(type=str, default=None, metadata={'json': 'email'})
    user_id = attr.ib(type=str, default=None, metadata={'json': 'user_id'})
    mobile = attr.ib(type=str, default=None, metadata={'json': 'mobile'})
    tenant_key = attr.ib(type=str, default=None, metadata={'json': 'tenant_key'})



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



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


