import "../base.api"

type (

    ContactFieldTemplateOptions {
        Label *string `json:"label,optional"`

        Value    *string `json:"value,optional"`
    }
    ContactFieldTemplate {
        Type  *string `json:"type,optional"`

        Id    *string `json:"id,optional"`

        Label *string `json:"label,optional"`

        Options []ContactFieldTemplateOptions `json:"options,optional"`

        Value    []string `json:"value,optional"`
    }

    ContactFieldTemplateInfo {
        BaseIDInfo

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

        // 组织ID
        OrganizationId *uint64 `json:"organizationId,optional"`

        Template []ContactFieldTemplate `json:"template,optional"`
    }

    // Contact information response | Contact信息返回体
    ContactFieldTemplateInfoResp {
        BaseDataInfo

        // Contact information | Contact数据
        Data []ContactFieldTemplate `json:"data"`
    }
)

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

service Wechat {
    // Create contact_field_template information | 创建 ContactFieldTemplate
    @handler createContactFieldTemplate
    post /contact_field_template/create (ContactFieldTemplateInfo) returns (BaseMsgResp)

    // Update contact_field_template information | 更新 ContactFieldTemplate
    @handler updateContactFieldTemplate
    post /contact_field_template/update (ContactFieldTemplateInfo) returns (BaseMsgResp)

    // Delete contact_field_template information | 删除 ContactFieldTemplate 信息
    @handler deleteContactFieldTemplate
    post /contact_field_template/delete (IDsReq) returns (BaseMsgResp)

    // Get contact_field_template by ID | 通过ID获取 ContactFieldTemplate
    @handler getContactFieldTemplateById
    post /contact_field_template () returns (ContactFieldTemplateInfoResp)
}
