syntax = "proto2";

package FamilyResult;


option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "FamilyResult";

/** 家族管理数据**/
message FamilyManagerData {
    optional int32 status = 1;//家族状态 -1:未申请 0:申请中 1:已经创建 3:失败
    optional string familyId = 2;//家族ID
    optional int32 memberNUmber = 3;//成员数量
    optional int32 roomNumber = 4;//公会厅数量
    optional string familyCreateTime = 5;//家族创建时间（yyyy-mm-dd HH:MM:SS）
    repeated string roomIdList = 6;//公会厅ID列表

    optional bool canViewManage = 7;//是否展示管理入口
    optional int32 userType = 8;//用户类型 0:普通用户 1:家族长 2:管理员

    optional int32 statusDesc = 9;//家族状态描述(失败为失败原因)
}

message FamilyApplyList {
    repeated FamilyApplyInfo list = 1;
    optional int32 count = 2;
    optional int32 page = 3;
    optional int32 pageSize = 4;
    optional int32 totalPage = 5;

    optional int32 reviewCount = 6;//审核中数量
    optional int32 passCount = 7;//已经通过数量
    optional int32 unPassCount = 8;////未经通过数量
}

message FamilyApplyInfo {
    optional string userId = 1;//用户ID
    optional string nickName = 2;// 昵称
    optional int32 signYears = 3;//签约时长（单位/年）
    optional string headUrl = 4;//
    optional int32 sex = 5;//性别 0:未知 1:男 2:女
    optional string createTime = 6;//申请时间（YYYY-MM-DD hh:mm:ss）
    optional int32 age = 7;//年龄
}

message MemberList {
    optional MemberInfo masterInfo = 1;//家族长信息（只有第一个分页返回）
    repeated MemberInfo adminList = 2;//管理员列表（只有第一个分页返回）
    repeated MemberInfo list = 3;//主播列表
    optional int32 count = 4;//主播总列表总条数
    optional int32 page = 5;
    optional int32 pageSize = 6;
}

message MemberInfo {
    optional string userId = 1;//用户ID
    optional string nickName = 2;//昵称
    optional string headUrl = 3;//头像地址
    optional int32 sex = 4;//性别 0:未知 1:男 2:女
    optional int32 signYears = 6;//签约时长（单位/年）
    optional bool isLive = 7;//是否正在直播
    optional int32 canManage = 8;//是否可以操作管理
    optional int32 age = 9;//年龄
}

message MemberDetailInfo {

    optional MemberInfo memberInfo = 1;//成员基础信息

    optional int32 remainSignTime = 2;//剩余签约时长(分钟)
    optional string lastOpenLiveDesc = 3;//开播近况描述
    optional string lastOpenLiveDescI18n = 4;//开播近况描述国际化
    optional bool isLive = 5;//是否正在直播
    optional string roomId = 6;//当前公会厅ID

    optional bool admin = 7;//该成员是否为管理员
    optional bool kickOpt = 8;//该成员是否有踢出家族的权限
    optional int32 canKickOpt = 9;//是否可以操作踢出家族
    optional int32 canUpdateRoom = 10;//是否可以修改所属公会厅

    optional int32 canOptAdmin = 11;//是否可以操作管理员
}

message FamilyList {
    repeated FamilyInfo list = 1;
}

message FamilyInfo {
    optional string unionId = 1;
    optional string unionName = 2;
    optional string logo = 3;
    optional string countryIcon = 4;//国旗图标emoji
    optional string masterId = 5;//公会长ID
    optional int32 type = 6;// 家族类型
    optional int32 unionType = 7;//公会类型 1:系统公会,2:游戏公会,3:娱乐公会,4:语音公会
}