hotgo/server/internal/model/input/sysin/serve_license.go
2023-07-24 09:35:30 +08:00

191 lines
7.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Package sysin
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.7.6
package sysin
import (
"context"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
"hotgo/internal/consts"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/form"
"hotgo/utility/validate"
)
// ServeLicenseUpdateFields 修改服务许可证字段过滤
type ServeLicenseUpdateFields struct {
Group string `json:"group" dc:"分组"`
Name string `json:"name" dc:"许可名称"`
Appid string `json:"appid" dc:"应用ID"`
SecretKey string `json:"secretKey" dc:"应用秘钥"`
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制默认1"`
// Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
AllowedIps string `json:"allowedIps" dc:"白名单,*代表所有只有允许的IP才能连接到tcp服务"`
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
Remark string `json:"remark" dc:"备注"`
Status int `json:"status" dc:"状态"`
}
// ServeLicenseInsertFields 新增服务许可证字段过滤
type ServeLicenseInsertFields struct {
Group string `json:"group" dc:"分组"`
Name string `json:"name" dc:"许可名称"`
Appid string `json:"appid" dc:"应用ID"`
SecretKey string `json:"secretKey" dc:"应用秘钥"`
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制默认1"`
// Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
AllowedIps string `json:"allowedIps" dc:"白名单,*代表所有只有允许的IP才能连接到tcp服务"`
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
Remark string `json:"remark" dc:"备注"`
Status int `json:"status" dc:"状态"`
}
// ServeLicenseEditInp 修改/新增服务许可证
type ServeLicenseEditInp struct {
entity.SysServeLicense
}
func (in *ServeLicenseEditInp) Filter(ctx context.Context) (err error) {
// 验证分组
if err := g.Validator().Rules("required").Data(in.Group).Messages("分组不能为空").Run(ctx); err != nil {
return err.Current()
}
// 验证许可名称
if err := g.Validator().Rules("required").Data(in.Name).Messages("许可名称不能为空").Run(ctx); err != nil {
return err.Current()
}
// 验证应用ID
if err := g.Validator().Rules("required").Data(in.Appid).Messages("应用ID不能为空").Run(ctx); err != nil {
return err.Current()
}
// 验证授权结束时间
if err := g.Validator().Rules("required").Data(in.EndAt).Messages("授权结束时间不能为空").Run(ctx); err != nil {
return err.Current()
}
return
}
type ServeLicenseEditModel struct{}
// ServeLicenseDeleteInp 删除服务许可证
type ServeLicenseDeleteInp struct {
Id interface{} `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
}
func (in *ServeLicenseDeleteInp) Filter(ctx context.Context) (err error) {
return
}
type ServeLicenseDeleteModel struct{}
// ServeLicenseViewInp 获取指定服务许可证信息
type ServeLicenseViewInp struct {
Id int64 `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
}
func (in *ServeLicenseViewInp) Filter(ctx context.Context) (err error) {
return
}
type ServeLicenseViewModel struct {
entity.SysServeLicense
}
// ServeLicenseListInp 获取服务许可证列表
type ServeLicenseListInp struct {
form.PageReq
Id int64 `json:"id" dc:"许可ID"`
Group string `json:"group" dc:"分组"`
Name string `json:"name" dc:"许可名称"`
Appid string `json:"appid" dc:"应用ID"`
EndAt []*gtime.Time `json:"endAt" dc:"授权结束时间"`
Status int `json:"status" dc:"状态"`
CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"`
}
func (in *ServeLicenseListInp) Filter(ctx context.Context) (err error) {
return
}
type ServeLicenseListModel struct {
Id int64 `json:"id" dc:"许可ID"`
Group string `json:"group" dc:"分组"`
Name string `json:"name" dc:"许可名称"`
Appid string `json:"appid" dc:"应用ID"`
SecretKey string `json:"secretKey" dc:"应用秘钥"`
RemoteAddr string `json:"remoteAddr" dc:"最后连接地址"`
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制默认1"`
LoginTimes int64 `json:"loginTimes" dc:"登录次数"`
LastLoginAt *gtime.Time `json:"lastLoginAt" dc:"最后登录时间"`
LastActiveAt *gtime.Time `json:"lastActiveAt" dc:"最后活跃时间"`
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
Status int `json:"status" dc:"状态"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
Online int `json:"online" dc:"在线"`
}
// ServeLicenseExportModel 导出服务许可证
type ServeLicenseExportModel struct {
Id int64 `json:"id" dc:"许可ID"`
Group string `json:"group" dc:"分组"`
Name string `json:"name" dc:"许可名称"`
Appid string `json:"appid" dc:"应用ID"`
SecretKey string `json:"secretKey" dc:"应用秘钥"`
RemoteAddr string `json:"remoteAddr" dc:"最后连接地址"`
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制默认1"`
LoginTimes int64 `json:"loginTimes" dc:"登录次数"`
LastLoginAt *gtime.Time `json:"lastLoginAt" dc:"最后登录时间"`
LastActiveAt *gtime.Time `json:"lastActiveAt" dc:"最后活跃时间"`
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
Status int `json:"status" dc:"状态"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
}
// ServeLicenseStatusInp 更新服务许可证状态
type ServeLicenseStatusInp struct {
Id int64 `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
Status int `json:"status" dc:"状态"`
}
func (in *ServeLicenseStatusInp) Filter(ctx context.Context) (err error) {
if in.Id <= 0 {
err = gerror.New("许可ID不能为空")
return
}
if in.Status <= 0 {
err = gerror.New("状态不能为空")
return
}
if !validate.InSlice(consts.StatusSlice, in.Status) {
err = gerror.New("状态不正确")
return
}
return
}
type ServeLicenseStatusModel struct{}
type ServeLicenseAssignRouterInp struct {
Id int64 `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
}
func (in *ServeLicenseAssignRouterInp) Filter(ctx context.Context) (err error) {
return
}