Files
iotlcm/internal/model/t_api_resource.go
T
2026-10-29 14:49:18 +08:00

186 lines
7.8 KiB
Go

// Package genin
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2026 LiXiujie
// @Author Lxj <xxx@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
// @AutoGenerate Version
package model
import (
"context"
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/consts"
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/library/xgorm/hook"
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model/entity"
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model/request"
"slices"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/text/gstr"
)
// TApiResourceUpdateFields 修改开放接口资源表字段过滤
type TApiResourceUpdateFields struct {
ApiName string `json:"apiName" dc:"接口名称"`
ApiCode string `json:"apiCode" dc:"接口权限标识"`
Method string `json:"method" dc:"请求方法:GET/POST/PUT/DELETE"`
Path string `json:"path" dc:"接口路径"`
Status int `json:"status" dc:"状态:0启用,1停用"`
Version string `json:"version" dc:"接口版本"`
Remark string `json:"remark" dc:"备注"`
TenantId string `json:"tenantId" dc:"租户ID"`
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
}
// TApiResourceInsertFields 新增开放接口资源表字段过滤
type TApiResourceInsertFields struct {
ApiName string `json:"apiName" dc:"接口名称"`
ApiCode string `json:"apiCode" dc:"接口权限标识"`
Method string `json:"method" dc:"请求方法:GET/POST/PUT/DELETE"`
Path string `json:"path" dc:"接口路径"`
Status int `json:"status" dc:"状态:0启用,1停用"`
Version string `json:"version" dc:"接口版本"`
Remark string `json:"remark" dc:"备注"`
TenantId string `json:"tenantId" dc:"租户ID"`
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
CreatedBy int64 `json:"createdBy" dc:"创建者"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
}
// TApiResourceEditParam 修改/新增开放接口资源表
type TApiResourceEditParam struct {
//entity.TApiResource
Id int64 `json:"id" dc:"主键ID"`
ApiName *string `json:"apiName" dc:"接口名称"`
ApiCode *string `json:"apiCode" dc:"接口权限标识"`
Method *int `json:"method" dc:"请求方法:GET/POST/PUT/DELETE"`
Path *string `json:"path" dc:"接口路径"`
Status *int `json:"status" dc:"状态:0启用,1停用"`
Version *string `json:"version" dc:"接口版本"`
Remark *string `json:"remark" dc:"备注"`
TenantId *string `json:"tenantId" dc:"租户ID"`
CreatedDept *int64 `json:"createdDept" dc:"创建部门"`
CreatedBy *int64 `json:"createdBy" dc:"创建者"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedBy *int64 `json:"updatedBy" dc:"更新者"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
}
func (in *TApiResourceEditParam) Filter(ctx context.Context) (err error) {
if in == nil {
return gerror.New("请求参数不能为空")
}
if in.ApiName == nil || gstr.Trim(*in.ApiName) == "" {
return gerror.New("接口名称不能为空")
}
if in.ApiCode == nil || gstr.Trim(*in.ApiCode) == "" {
return gerror.New("接口权限标识不能为空")
}
if in.Method == nil || !slices.Contains(consts.MethodSlice, *in.Method) {
return gerror.New("请求方法不能为空")
}
if in.Path == nil || gstr.Trim(*in.Path) == "" {
return gerror.New("接口路径不能为空")
}
if in.Status != nil && !slices.Contains(consts.StatusSlice, *in.Status) {
return gerror.New("状态不正确")
}
return
}
type TApiResourceEditModel struct{}
// TApiResourceDeleteParam 删除开放接口资源表
type TApiResourceDeleteParam struct {
Id interface{} `json:"id" v:"required#主键ID不能为空" dc:"主键ID"`
}
func (in *TApiResourceDeleteParam) Filter(ctx context.Context) (err error) {
return
}
type TApiResourceDeleteModel struct{}
// TApiResourceViewParam 获取指定开放接口资源表信息
type TApiResourceViewParam struct {
Id int64 `json:"id" v:"required#主键ID不能为空" dc:"主键ID"`
}
func (in *TApiResourceViewParam) Filter(ctx context.Context) (err error) {
return
}
type TApiResourceViewModel struct {
entity.TApiResource
CreatedBySumma *hook.MemberSumma `json:"createdBySumma" dc:"创建者摘要信息"`
UpdatedBySumma *hook.MemberSumma `json:"updatedBySumma" dc:"更新者摘要信息"`
}
// TApiResourceListParam 获取开放接口资源表列表
type TApiResourceListParam struct {
request.PageInfo
Id int64 `json:"id" dc:"主键ID"`
Status int `json:"status" dc:"状态:0启用,1停用"`
CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"`
ApiName string `json:"apiName" dc:"接口名称"`
Version string `json:"version" dc:"接口版本"`
}
func (in *TApiResourceListParam) Filter(ctx context.Context) (err error) {
return
}
type TApiResourceListModel struct {
Id int64 `json:"id" dc:"主键ID"`
ApiName string `json:"apiName" dc:"接口名称"`
ApiCode string `json:"apiCode" dc:"接口权限标识"`
Method int `json:"method" dc:"请求方法:GET/POST/PUT/DELETE"`
Path string `json:"path" dc:"接口路径"`
Status int `json:"status" dc:"状态:0启用,1停用"`
Version string `json:"version" dc:"接口版本"`
TenantId string `json:"tenantId" dc:"租户ID"`
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
CreatedBy int64 `json:"createdBy" dc:"创建者"`
CreatedBySumma *hook.MemberSumma `json:"createdBySumma" dc:"创建者摘要信息"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
UpdatedBySumma *hook.MemberSumma `json:"updatedBySumma" dc:"更新者摘要信息"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
}
// TApiResourceExportModel 导出开放接口资源表
type TApiResourceExportModel struct {
Id int64 `json:"id" dc:"主键ID"`
ApiName string `json:"apiName" dc:"接口名称"`
ApiCode string `json:"apiCode" dc:"接口权限标识"`
Method string `json:"method" dc:"请求方法:GET/POST/PUT/DELETE"`
Path string `json:"path" dc:"接口路径"`
Status int `json:"status" dc:"状态:0启用,1停用"`
Version string `json:"version" dc:"接口版本"`
TenantId string `json:"tenantId" dc:"租户ID"`
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
CreatedBy int64 `json:"createdBy" dc:"创建者"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
}
// TApiResourceStatusParam 更新开放接口资源表状态
type TApiResourceStatusParam struct {
Id int64 `json:"id" v:"required#主键ID不能为空" dc:"主键ID"`
Status int `json:"status" dc:"状态"`
}
func (in *TApiResourceStatusParam) Filter(ctx context.Context) (err error) {
if in.Id <= 0 {
return gerror.New("主键ID不能为空")
}
if !slices.Contains(consts.StatusSlice, in.Status) {
return gerror.New("状态不正确")
}
return
}
type TApiResourceStatusModel struct{}