from protobuf3.message import Message
from protobuf3.fields import Int32Field, UInt64Field, StringField, Int64Field, MessageField


class User(Message):
    pass


class GameItemEntry(Message):
    pass


class CatalogItemEntry(Message):
    pass


class RechargeButton(Message):

    class InfoEntry(Message):
        pass


class Mail(Message):
    pass


class Activity(Message):
    pass


class Notice(Message):
    pass


class Marquee(Message):
    pass

User.add_field('guid', UInt64Field(field_number=1, optional=True))
User.add_field('account', StringField(field_number=2, optional=True))
User.add_field('nickname', StringField(field_number=3, optional=True))
User.add_field('token', StringField(field_number=4, optional=True))
User.add_field('phone', StringField(field_number=5, optional=True))
User.add_field('icon', Int32Field(field_number=6, optional=True))
User.add_field('alipay', StringField(field_number=7, optional=True))
User.add_field('password', StringField(field_number=8, optional=True))
User.add_field('name', StringField(field_number=9, optional=True))
User.add_field('wepay', StringField(field_number=10, optional=True))
User.add_field('bankCard', StringField(field_number=11, optional=True))
User.add_field('channel', StringField(field_number=12, optional=True))
User.add_field('agent', UInt64Field(field_number=16, optional=True))
User.add_field('createdAt', Int64Field(field_number=17, optional=True))
User.add_field('lastAccess', Int64Field(field_number=18, optional=True))
User.add_field('status', Int32Field(field_number=20, optional=True))
User.add_field('ip', StringField(field_number=21, optional=True))
User.add_field('area', StringField(field_number=22, optional=True))
User.add_field('bets', Int64Field(field_number=23, optional=True))
User.add_field('vip', Int32Field(field_number=26, optional=True))
User.add_field('balance', Int64Field(field_number=27, optional=True))
User.add_field('bank', Int64Field(field_number=28, optional=True))
User.add_field('freezed', Int64Field(field_number=29, optional=True))
User.add_field('recharged', Int64Field(field_number=31, optional=True))
User.add_field('withdrawed', Int64Field(field_number=32, optional=True))
User.add_field('qq', StringField(field_number=33, optional=True))
User.add_field('wechat', StringField(field_number=34, optional=True))
User.add_field('bankPass', StringField(field_number=35, optional=True))
GameItemEntry.add_field('id', Int64Field(field_number=1, optional=True))
GameItemEntry.add_field('name', StringField(field_number=2, optional=True))
GameItemEntry.add_field('enabled', Int32Field(field_number=3, optional=True))
GameItemEntry.add_field('order', Int32Field(field_number=4, optional=True))
GameItemEntry.add_field('addr', StringField(field_number=5, optional=True))
GameItemEntry.add_field('icon', StringField(field_number=6, optional=True))
GameItemEntry.add_field('iconSize', Int32Field(field_number=7, optional=True))
GameItemEntry.add_field('thumbNorm', StringField(field_number=8, optional=True))
GameItemEntry.add_field('thumbHl', StringField(field_number=9, optional=True))
GameItemEntry.add_field('isGame', Int32Field(field_number=10, optional=True))
GameItemEntry.add_field('parentId', Int64Field(field_number=11, optional=True))
GameItemEntry.add_field('maxLimit', Int64Field(field_number=13, optional=True))
GameItemEntry.add_field('minLimit', Int64Field(field_number=14, optional=True))
GameItemEntry.add_field('unit', Int64Field(field_number=17, optional=True))
CatalogItemEntry.add_field('id', Int64Field(field_number=1, optional=True))
CatalogItemEntry.add_field('name', StringField(field_number=2, optional=True))
CatalogItemEntry.add_field('enabled', Int32Field(field_number=3, optional=True))
CatalogItemEntry.add_field('order', Int32Field(field_number=4, optional=True))
CatalogItemEntry.add_field('icon', StringField(field_number=6, optional=True))
CatalogItemEntry.add_field('iconSize', Int32Field(field_number=7, optional=True))
CatalogItemEntry.add_field('thumbnail', StringField(field_number=8, optional=True))
CatalogItemEntry.add_field('thumbnailSize', Int32Field(field_number=9, optional=True))
CatalogItemEntry.add_field('isGame', Int32Field(field_number=10, optional=True))
CatalogItemEntry.add_field('parentId', Int64Field(field_number=11, optional=True))
CatalogItemEntry.add_field('maxLimit', Int64Field(field_number=13, optional=True))
CatalogItemEntry.add_field('minLimit', Int64Field(field_number=14, optional=True))
CatalogItemEntry.add_field('unit', Int64Field(field_number=17, optional=True))
RechargeButton.InfoEntry.add_field('key', StringField(field_number=1, optional=True))
RechargeButton.InfoEntry.add_field('value', StringField(field_number=2, optional=True))
RechargeButton.add_field('name', StringField(field_number=1, optional=True))
RechargeButton.add_field('info', MessageField(field_number=2, repeated=True, message_cls=RechargeButton.InfoEntry))
RechargeButton.add_field('value', Int64Field(field_number=3, repeated=True))
Mail.add_field('id', Int32Field(field_number=1, optional=True))
Mail.add_field('title', StringField(field_number=2, optional=True))
Mail.add_field('content', StringField(field_number=3, optional=True))
Mail.add_field('time', Int64Field(field_number=4, optional=True))
Activity.add_field('id', Int32Field(field_number=1, optional=True))
Activity.add_field('banner', StringField(field_number=2, optional=True))
Activity.add_field('details', StringField(field_number=3, optional=True))
Activity.add_field('title', StringField(field_number=4, optional=True))
Activity.add_field('start', Int64Field(field_number=5, optional=True))
Activity.add_field('type', Int32Field(field_number=6, optional=True))
Notice.add_field('id', Int32Field(field_number=1, optional=True))
Notice.add_field('title', StringField(field_number=2, optional=True))
Notice.add_field('content', StringField(field_number=3, optional=True))
Marquee.add_field('id', Int32Field(field_number=1, optional=True))
Marquee.add_field('content', StringField(field_number=2, optional=True))
Marquee.add_field('start', Int64Field(field_number=4, optional=True))
Marquee.add_field('end', Int64Field(field_number=5, optional=True))
Marquee.add_field('enabled', Int32Field(field_number=6, optional=True))
