Files
im_manager/server/internal/model/input/sysin/im_external_config.go
T

86 lines
2.8 KiB
Go

package sysin
import (
"context"
"hotgo/internal/model/input/form"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/os/gtime"
)
type ImExternalConfigListInp struct {
form.PageReq
TenantId int64 `json:"tenantId" dc:"租户ID"`
Service string `json:"service" dc:"服务"`
Provider string `json:"provider" dc:"服务商"`
Enabled *int `json:"enabled" dc:"是否启用"`
}
func (in *ImExternalConfigListInp) Filter(ctx context.Context) (err error) { return }
type ImExternalConfigListModel struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
TenantName string `json:"tenantName" dc:"租户名称"`
Id int64 `json:"id" dc:"ID"`
Service string `json:"service" dc:"服务"`
Provider string `json:"provider" dc:"服务商"`
Endpoint string `json:"endpoint" dc:"端点"`
Enabled int `json:"enabled" dc:"是否启用"`
Status string `json:"status" dc:"配置状态"`
ConfigJson string `json:"configJson" dc:"普通配置"`
HasSecret bool `json:"hasSecret" dc:"是否有敏感配置"`
CheckedAt *gtime.Time `json:"checkedAt" dc:"检查时间"`
CheckResult string `json:"checkResult" dc:"检查结果"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
}
type ImExternalConfigViewInp struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
Service string `json:"service" v:"required#服务不能为空" dc:"服务"`
}
func (in *ImExternalConfigViewInp) Filter(ctx context.Context) (err error) {
if in.Service == "" {
return gerror.New("服务不能为空")
}
return
}
type ImExternalConfigViewModel struct {
ImExternalConfigListModel
}
type ImExternalConfigUpdateInp struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
Service string `json:"service" v:"required#服务不能为空" dc:"服务"`
Provider string `json:"provider" dc:"服务商"`
Endpoint string `json:"endpoint" dc:"端点"`
Enabled int `json:"enabled" dc:"是否启用"`
ConfigJson *gjson.Json `json:"configJson" dc:"普通配置"`
SecretJson *gjson.Json `json:"secretJson" dc:"敏感配置,空则保持原值"`
}
func (in *ImExternalConfigUpdateInp) Filter(ctx context.Context) (err error) {
if in.Service == "" {
return gerror.New("服务不能为空")
}
if in.Enabled != 0 && in.Enabled != 1 {
return gerror.New("启用状态不正确")
}
return
}
type ImExternalConfigCheckInp struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
Service string `json:"service" v:"required#服务不能为空" dc:"服务"`
}
func (in *ImExternalConfigCheckInp) Filter(ctx context.Context) (err error) {
if in.Service == "" {
return gerror.New("服务不能为空")
}
return
}