mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #6328 from swordqiu/hotfix/qj-status-resource-action-log-no-owner
fix: status-base resource's action log missing owner project/domain
This commit is contained in:
@@ -367,3 +367,18 @@ type IAdminSharableVirtualModel interface {
|
||||
|
||||
GetIAdminSharableVirtualModel() IAdminSharableVirtualModel
|
||||
}
|
||||
|
||||
type IStatusStandaloneModel interface {
|
||||
IStandaloneModel
|
||||
IStatusBase
|
||||
}
|
||||
|
||||
type IStatusDomainLevelModel interface {
|
||||
IDomainLevelModel
|
||||
IStatusBase
|
||||
}
|
||||
|
||||
type IStatusInfrasModel interface {
|
||||
IInfrasModel
|
||||
IStatusBase
|
||||
}
|
||||
|
||||
@@ -37,11 +37,15 @@ type SStatusResourceBase struct {
|
||||
}
|
||||
|
||||
type IStatusBase interface {
|
||||
IModel
|
||||
SetStatusValue(status string)
|
||||
GetStatus() string
|
||||
}
|
||||
|
||||
type IStatusBaseModel interface {
|
||||
IModel
|
||||
IStatusBase
|
||||
}
|
||||
|
||||
func (model *SStatusResourceBase) SetStatusValue(status string) {
|
||||
model.Status = status
|
||||
}
|
||||
@@ -50,7 +54,7 @@ func (model SStatusResourceBase) GetStatus() string {
|
||||
return model.Status
|
||||
}
|
||||
|
||||
func statusBaseSetStatus(model IStatusBase, userCred mcclient.TokenCredential, status string, reason string) error {
|
||||
func statusBaseSetStatus(model IStatusBaseModel, userCred mcclient.TokenCredential, status string, reason string) error {
|
||||
if model.GetStatus() == status {
|
||||
return nil
|
||||
}
|
||||
@@ -73,7 +77,7 @@ func statusBaseSetStatus(model IStatusBase, userCred mcclient.TokenCredential, s
|
||||
return nil
|
||||
}
|
||||
|
||||
func StatusBasePerformStatus(model IStatusBase, userCred mcclient.TokenCredential, input apis.PerformStatusInput) error {
|
||||
func StatusBasePerformStatus(model IStatusBaseModel, userCred mcclient.TokenCredential, input apis.PerformStatusInput) error {
|
||||
if len(input.Status) == 0 {
|
||||
return httperrors.NewMissingParameterError("status")
|
||||
}
|
||||
|
||||
@@ -51,9 +51,13 @@ func (self *SStatusDomainLevelResourceBase) AllowPerformStatus(ctx context.Conte
|
||||
return IsDomainAllowPerform(userCred, self, "status")
|
||||
}
|
||||
|
||||
func (self *SStatusDomainLevelResourceBase) GetIStatusDomainLevelModel() IStatusDomainLevelModel {
|
||||
return self.GetVirtualObject().(IStatusDomainLevelModel)
|
||||
}
|
||||
|
||||
// 更新资源状态
|
||||
func (self *SStatusDomainLevelResourceBase) PerformStatus(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformStatusInput) (jsonutils.JSONObject, error) {
|
||||
err := StatusBasePerformStatus(self, userCred, input)
|
||||
err := StatusBasePerformStatus(self.GetIStatusDomainLevelModel(), userCred, input)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "StatusBasePerformStatus")
|
||||
}
|
||||
@@ -61,7 +65,7 @@ func (self *SStatusDomainLevelResourceBase) PerformStatus(ctx context.Context, u
|
||||
}
|
||||
|
||||
func (model *SStatusDomainLevelResourceBase) SetStatus(userCred mcclient.TokenCredential, status string, reason string) error {
|
||||
return statusBaseSetStatus(model, userCred, status, reason)
|
||||
return statusBaseSetStatus(model.GetIStatusDomainLevelModel(), userCred, status, reason)
|
||||
}
|
||||
|
||||
func (manager *SStatusDomainLevelResourceBaseManager) ValidateCreateData(
|
||||
|
||||
@@ -51,9 +51,13 @@ func (self *SStatusInfrasResourceBase) AllowPerformStatus(ctx context.Context, u
|
||||
return IsDomainAllowPerform(userCred, self, "status")
|
||||
}
|
||||
|
||||
func (self *SStatusInfrasResourceBase) GetIStatusInfrasModel() IStatusInfrasModel {
|
||||
return self.GetVirtualObject().(IStatusInfrasModel)
|
||||
}
|
||||
|
||||
// 更新资源状态
|
||||
func (self *SStatusInfrasResourceBase) PerformStatus(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformStatusInput) (jsonutils.JSONObject, error) {
|
||||
err := StatusBasePerformStatus(self, userCred, input)
|
||||
err := StatusBasePerformStatus(self.GetIStatusInfrasModel(), userCred, input)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "StatusBasePerformStatus")
|
||||
}
|
||||
@@ -61,7 +65,7 @@ func (self *SStatusInfrasResourceBase) PerformStatus(ctx context.Context, userCr
|
||||
}
|
||||
|
||||
func (model *SStatusInfrasResourceBase) SetStatus(userCred mcclient.TokenCredential, status string, reason string) error {
|
||||
return statusBaseSetStatus(model, userCred, status, reason)
|
||||
return statusBaseSetStatus(model.GetIStatusInfrasModel(), userCred, status, reason)
|
||||
}
|
||||
|
||||
func (manager *SStatusInfrasResourceBaseManager) ValidateCreateData(
|
||||
|
||||
@@ -51,9 +51,13 @@ func (self *SStatusStandaloneResourceBase) AllowPerformStatus(ctx context.Contex
|
||||
return IsAdminAllowPerform(userCred, self, "status")
|
||||
}
|
||||
|
||||
func (self *SStatusStandaloneResourceBase) GetIStatusStandaloneModel() IStatusStandaloneModel {
|
||||
return self.GetVirtualObject().(IStatusStandaloneModel)
|
||||
}
|
||||
|
||||
// 更新资源状态
|
||||
func (self *SStatusStandaloneResourceBase) PerformStatus(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input apis.PerformStatusInput) (jsonutils.JSONObject, error) {
|
||||
err := StatusBasePerformStatus(self, userCred, input)
|
||||
err := StatusBasePerformStatus(self.GetIStatusStandaloneModel(), userCred, input)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "StatusBasePerformStatus")
|
||||
}
|
||||
@@ -61,7 +65,7 @@ func (self *SStatusStandaloneResourceBase) PerformStatus(ctx context.Context, us
|
||||
}
|
||||
|
||||
func (model *SStatusStandaloneResourceBase) SetStatus(userCred mcclient.TokenCredential, status string, reason string) error {
|
||||
return statusBaseSetStatus(model, userCred, status, reason)
|
||||
return statusBaseSetStatus(model.GetIStatusStandaloneModel(), userCred, status, reason)
|
||||
}
|
||||
|
||||
func (manager *SStatusStandaloneResourceBaseManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, input apis.StatusStandaloneResourceCreateInput) (apis.StatusStandaloneResourceCreateInput, error) {
|
||||
|
||||
Reference in New Issue
Block a user