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

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




@to_json_decorator
@attr.s
class UserId(object):
    user_id = attr.ib(type=str, default=None, metadata={'json': 'user_id'})
    open_id = attr.ib(type=str, default=None, metadata={'json': 'open_id'})
    union_id = attr.ib(type=str, default=None, metadata={'json': 'union_id'})


@to_json_decorator
@attr.s
class EventAwemeUser(object):
    user_id = attr.ib(type=UserId, default=None, metadata={'json': 'user_id'})
    aweme_user_id = attr.ib(type=str, default=None, metadata={'json': 'aweme_user_id'})
    is_binded = attr.ib(type=bool, default=None, metadata={'json': 'is_binded'})


@to_json_decorator
@attr.s
class AwemeUser(object):
    __int_to_string_fields__ = attr.ib(type=List[str], default=["aweme_user_id"])
    aweme_user_id = attr.ib(type=int, default=None, metadata={'json': 'aweme_user_id'})
    user_id = attr.ib(type=str, default=None, metadata={'json': 'user_id'})
    is_binded = attr.ib(type=bool, default=None, metadata={'json': 'is_binded'})




@attr.s
class AwemeUserGetBindInfoResult(object):
    aweme_user = attr.ib(type=AwemeUser, default=None, metadata={'json': 'aweme_user'})


@attr.s
class AwemeUserBindedAccountEventData(object):
    event_aweme_user = attr.ib(type=EventAwemeUser, default=None, metadata={'json': 'event_aweme_user'})


@attr.s
class AwemeUserBindedAccountEvent(BaseEventV2):
    event = attr.ib(type=AwemeUserBindedAccountEventData, default=None)
