mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(region): external project (#17996)
This commit is contained in:
@@ -26,6 +26,7 @@ type SKeystoneCacheObjectManager struct {
|
||||
|
||||
type SKeystoneCacheObject struct {
|
||||
SStandaloneResourceBase
|
||||
SPendingDeletedBase
|
||||
|
||||
DomainId string `width:"128" charset:"ascii" nullable:"true"`
|
||||
Domain string `width:"128" charset:"utf8" nullable:"true"`
|
||||
|
||||
@@ -350,6 +350,10 @@ func (manager *STenantCacheManager) Save(ctx context.Context, item SCachedTenant
|
||||
if obj.Id == item.Id && obj.Name == item.Name && obj.Domain == item.ProjectDomain && obj.DomainId == item.DomainId {
|
||||
Update(obj, func() error {
|
||||
obj.LastCheck = now
|
||||
obj.PendingDeleted = item.PendingDeleted
|
||||
if obj.PendingDeleted {
|
||||
obj.PendingDeletedAt = item.PendingDeletedAt
|
||||
}
|
||||
return nil
|
||||
})
|
||||
if saveMeta {
|
||||
@@ -363,6 +367,10 @@ func (manager *STenantCacheManager) Save(ctx context.Context, item SCachedTenant
|
||||
obj.Domain = item.ProjectDomain
|
||||
obj.DomainId = item.DomainId
|
||||
obj.LastCheck = now
|
||||
obj.PendingDeleted = item.PendingDeleted
|
||||
if obj.PendingDeleted {
|
||||
obj.PendingDeletedAt = item.PendingDeletedAt
|
||||
}
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
@@ -381,6 +389,10 @@ func (manager *STenantCacheManager) Save(ctx context.Context, item SCachedTenant
|
||||
obj.Domain = item.ProjectDomain
|
||||
obj.DomainId = item.DomainId
|
||||
obj.LastCheck = now
|
||||
obj.PendingDeleted = item.PendingDeleted
|
||||
if obj.PendingDeleted {
|
||||
obj.PendingDeletedAt = item.PendingDeletedAt
|
||||
}
|
||||
err = manager.TableSpec().InsertOrUpdate(ctx, obj)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "InsertOrUpdate")
|
||||
|
||||
@@ -14,15 +14,20 @@
|
||||
|
||||
package db
|
||||
|
||||
import identityapi "yunion.io/x/onecloud/pkg/apis/identity"
|
||||
import (
|
||||
"time"
|
||||
|
||||
identityapi "yunion.io/x/onecloud/pkg/apis/identity"
|
||||
)
|
||||
|
||||
type SCachedTenant struct {
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
DomainId string `json:"domain_id"`
|
||||
ProjectDomain string `json:"project_domain"`
|
||||
Metadata map[string]string `json:"metadata"`
|
||||
PendingDeleted bool `json:"pending_deleted"`
|
||||
Id string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
DomainId string `json:"domain_id"`
|
||||
ProjectDomain string `json:"project_domain"`
|
||||
Metadata map[string]string `json:"metadata"`
|
||||
PendingDeleted bool `json:"pending_deleted"`
|
||||
PendingDeletedAt time.Time `json:"pending_deleted_at"`
|
||||
}
|
||||
|
||||
func (s SCachedTenant) objType() string {
|
||||
|
||||
Reference in New Issue
Block a user