2025-03-02 17:41:18 +08:00
|
|
|
package resource
|
|
|
|
|
|
|
|
import (
|
|
|
|
context "context"
|
|
|
|
|
|
|
|
"github.com/infraboard/mcube/v2/exception"
|
|
|
|
"github.com/infraboard/mcube/v2/ioc"
|
|
|
|
"github.com/infraboard/mcube/v2/ioc/config/validator"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
AppName = "resource"
|
|
|
|
)
|
|
|
|
|
|
|
|
func GetService() Service {
|
|
|
|
return ioc.Controller().Get(AppName).(Service)
|
|
|
|
}
|
|
|
|
|
|
|
|
type Service interface {
|
|
|
|
// 需要对外暴露为rpc的
|
|
|
|
RpcServer
|
|
|
|
// 删除
|
|
|
|
DeleteResource(context.Context, *DeleteResourceRequest) error
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewDeleteResourceRequest() *DeleteResourceRequest {
|
|
|
|
return &DeleteResourceRequest{}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 支持多个
|
|
|
|
type DeleteResourceRequest struct {
|
|
|
|
ResourceIds []string `json:"resource_ids"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *Resource) Validate() error {
|
|
|
|
err := validator.Validate(s)
|
|
|
|
if err != nil {
|
|
|
|
return exception.NewBadRequest("参数校验失败, %s", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
2025-03-09 10:05:28 +08:00
|
|
|
|
|
|
|
func (s *SearchRequest) Skip() int64 {
|
|
|
|
return (s.PageNumber - 1) * s.PageSize
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewResourceSet() *ResourceSet {
|
|
|
|
return &ResourceSet{
|
|
|
|
Items: []*Resource{},
|
|
|
|
}
|
|
|
|
}
|
2025-03-09 11:27:50 +08:00
|
|
|
|
|
|
|
func NewSearchRequest() *SearchRequest {
|
|
|
|
return &SearchRequest{
|
|
|
|
PageSize: 10,
|
|
|
|
PageNumber: 1,
|
|
|
|
Tag: map[string]string{},
|
|
|
|
}
|
|
|
|
}
|