import "../base.api"

type (
    // The data of wx card user information | WxCardUser信息
    WxCardUserInfo {
        BaseIDInfo

        // 微信id 
        Wxid  *string `json:"wxid,optional"`

        // 微信号 
        Account  *string `json:"account,optional"`

        // 头像 
        Avatar  *string `json:"avatar,optional"`

        // 昵称 
        Nickname  *string `json:"nickname,optional"`

        // 备注名 
        Remark  *string `json:"remark,optional"`

        // 手机号 
        Phone  *string `json:"phone,optional"`

        // OpenID 
        OpenId  *string `json:"openId,optional"`

		// UnionID
		UnionId  *string `json:"unionId,optional"`

		// SessionKey
		SessionKey  *string `json:"sessionKey,optional"`

		// IsVip
		IsVip  *string `json:"isVip,optional"`
    }

    // The response data of wx card user list | WxCardUser列表数据
    WxCardUserListResp {
        BaseDataInfo

        // WxCardUser list data | WxCardUser列表数据
        Data WxCardUserListInfo `json:"data"`
    }

    // WxCardUser list data | WxCardUser列表数据
    WxCardUserListInfo {
        BaseListInfo

        // The API list data | WxCardUser列表数据
        Data  []WxCardUserInfo  `json:"data"`
    }

    // Get wx card user list request params | WxCardUser列表请求参数
    WxCardUserListReq {
        PageInfo

        // 微信id 
        Wxid  *string `json:"wxid,optional"`

        // 微信号 
        Account  *string `json:"account,optional"`

        // 头像 
        Avatar  *string `json:"avatar,optional"`

        // 昵称
        Nickname  *string `json:"nickname,optional"`
    }

    // WxCardUser information response | WxCardUser信息返回体
    WxCardUserInfoResp {
        BaseDataInfo

        // WxCardUser information | WxCardUser数据
        Data WxCardUserInfo `json:"data"`
    }
)

@server(
	jwt: Auth
	group: wxcarduser
	middleware: Miniprogram
)

service Wechat {
	// Update wx card user information | 更新WxCardUser
	@handler updateApiWxCardUser
	post /api/user/update (WxCardUserInfo) returns (BaseMsgResp)
}

@server(
    jwt: Auth
    group: wxcarduser
    middleware: Authority
)

service Wechat {
    // Create wx card user information | 创建WxCardUser
    @handler createWxCardUser
    post /wx_card_user/create (WxCardUserInfo) returns (BaseMsgResp)

    // Update wx card user information | 更新WxCardUser
    @handler updateWxCardUser
    post /wx_card_user/update (WxCardUserInfo) returns (BaseMsgResp)

    // Delete wx card user information | 删除WxCardUser信息
    @handler deleteWxCardUser
    post /wx_card_user/delete (IDsReq) returns (BaseMsgResp)

    // Get wx card user list | 获取WxCardUser列表
    @handler getWxCardUserList
    post /wx_card_user/list (WxCardUserListReq) returns (WxCardUserListResp)

    // Get wx card user by ID | 通过ID获取WxCardUser
    @handler getWxCardUserById
    post /wx_card_user (IDReq) returns (WxCardUserInfoResp)
}
