86 lines
2.1 KiB
Go
Raw Normal View History

2025-06-15 18:10:04 +08:00
package application
import (
"context"
2025-06-22 11:22:04 +08:00
"122.51.31.227/go-course/go18/devcloud/mcenter/apps/policy"
"github.com/infraboard/mcube/v2/http/request"
"github.com/infraboard/mcube/v2/ioc"
2025-06-15 18:10:04 +08:00
"github.com/infraboard/mcube/v2/types"
)
2025-06-22 11:22:04 +08:00
const (
APP_NAME = "application"
)
func GetService() Service {
return ioc.Controller().Get(APP_NAME).(Service)
}
2025-06-15 18:10:04 +08:00
type Service interface {
// 创建应用
2025-06-22 11:22:04 +08:00
CreateApplication(context.Context, *CreateApplicationRequest) (*Application, error)
2025-06-15 18:10:04 +08:00
// 查询应用
2025-06-22 11:22:04 +08:00
QueryApplication(context.Context, *QueryApplicationRequest) (*types.Set[*Application], error)
2025-06-15 18:10:04 +08:00
// 更新应用
2025-06-22 11:22:04 +08:00
UpdateApplication(context.Context, *UpdateApplicationRequest) (*Application, error)
2025-06-15 18:10:04 +08:00
// 删除应用
2025-06-22 11:22:04 +08:00
DeleteApplication(context.Context, *DeleteApplicationRequest) (*Application, error)
2025-06-15 18:10:04 +08:00
// 获取应用
2025-06-22 11:22:04 +08:00
DescribeApplication(context.Context, *DescribeApplicationRequest) (*Application, error)
2025-06-15 18:10:04 +08:00
}
2025-06-22 16:29:42 +08:00
func NewQueryApplicationRequest() *QueryApplicationRequest {
return &QueryApplicationRequest{
QueryApplicationRequestSpec: QueryApplicationRequestSpec{
PageRequest: request.NewDefaultPageRequest(),
},
}
}
2025-06-15 18:10:04 +08:00
type QueryApplicationRequest struct {
2025-06-22 11:22:04 +08:00
policy.ResourceScope
QueryApplicationRequestSpec
}
type QueryApplicationRequestSpec struct {
2025-06-22 12:08:39 +08:00
*request.PageRequest
2025-06-15 18:10:04 +08:00
// 应用ID
2025-08-17 18:25:13 +08:00
Id string `json:"id" form:"id"`
2025-06-15 18:10:04 +08:00
// 应用名称
2025-08-17 18:25:13 +08:00
Name string `json:"name" form:"name"`
2025-06-22 11:22:04 +08:00
// 应用是否就绪
2025-08-17 18:25:13 +08:00
Ready *bool `json:"ready" form:"ready"`
// 关键字
Keywords string `json:"keywords" form:"keywords"`
2025-06-15 18:10:04 +08:00
}
type UpdateApplicationRequest struct {
// 更新人
UpdateBy string `json:"update_by" bson:"update_by"`
DescribeApplicationRequest
CreateApplicationSpec
}
2025-08-17 18:25:13 +08:00
func NewDeleteApplicationRequest(appId string) *DeleteApplicationRequest {
return &DeleteApplicationRequest{
DescribeApplicationRequest: *NewDescribeApplicationRequest(appId),
}
}
2025-06-15 18:10:04 +08:00
type DeleteApplicationRequest struct {
DescribeApplicationRequest
}
2025-08-17 18:25:13 +08:00
func NewDescribeApplicationRequest(appId string) *DescribeApplicationRequest {
return &DescribeApplicationRequest{
Id: appId,
}
}
2025-06-15 18:10:04 +08:00
type DescribeApplicationRequest struct {
2025-06-22 15:14:10 +08:00
policy.ResourceScope
2025-06-15 18:10:04 +08:00
// 应用ID
Id string `json:"id" bson:"_id"`
}