import "../base.api"

type (
    // The data of xunji information | Xunji信息
    XunjiInfo {
        BaseIDInfo

        // Status 1: normal 2: ban | 状态 1 正常 2 禁用 
        Status  *uint8 `json:"status,optional"`

        // AppKey 
        AppKey  *string `json:"appKey,optional"`

        // AppSecret 
        AppSecret  *string `json:"appSecret,optional"`

        // Token 
        Token  *string `json:"token,optional"`

        // 加密key 
        EncodingKey  *string `json:"encodingKey,optional"`

        // organization_id | 租户ID 
        OrganizationId  *uint64 `json:"organizationId,optional"`
    }

    // The response data of xunji list | Xunji列表数据
    XunjiListResp {
        BaseDataInfo

        // Xunji list data | Xunji列表数据
        Data XunjiListInfo `json:"data"`
    }

    // Xunji list data | Xunji列表数据
    XunjiListInfo {
        BaseListInfo

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

    // Get xunji list request params | Xunji列表请求参数
    XunjiListReq {
        PageInfo

        // AppKey 
        AppKey  *string `json:"appKey,optional"`

        // AppSecret 
        AppSecret  *string `json:"appSecret,optional"`

        // Token 
        Token  *string `json:"token,optional"`
    }

    // Xunji information response | Xunji信息返回体
    XunjiInfoResp {
        BaseDataInfo

        // Xunji information | Xunji数据
        Data XunjiInfo `json:"data"`
    }
)

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

service Wechat {
    // Create xunji information | 创建Xunji
    @handler createXunji
    post /xunji/create (XunjiInfo) returns (BaseMsgResp)

    // Update xunji information | 更新Xunji
    @handler updateXunji
    post /xunji/update (XunjiInfo) returns (BaseMsgResp)

    // Delete xunji information | 删除Xunji信息
    @handler deleteXunji
    post /xunji/delete (IDsReq) returns (BaseMsgResp)

    // Get xunji list | 获取Xunji列表
    @handler getXunjiList
    post /xunji/list (XunjiListReq) returns (XunjiListResp)

    // Get xunji by ID | 通过ID获取Xunji
    @handler getXunjiById
    post /xunji (IDReq) returns (XunjiInfoResp)

	// Get xunji  | 通过机构ID获取Xunji
	@handler getXunji
	post /xunji/detail () returns (XunjiInfoResp)
}
