fix: 公有云日志添加brand字段

This commit is contained in:
Qu Xuan
2020-01-18 16:03:19 +08:00
parent fd94dc7839
commit 83336a36d4
5 changed files with 36 additions and 3 deletions
+26
View File
@@ -50,6 +50,7 @@ func init() {
type SCloudevent struct {
db.SModelBase
Id int64 `primary:"true" auto_increment:"true" list:"user"`
Name string `width:"128" charset:"utf8" nullable:"false" index:"true" list:"user"`
Service string `width:"64" charset:"utf8" nullable:"true" list:"user"`
ResourceType string `width:"64" charset:"utf8" nullable:"true" list:"user"`
@@ -63,6 +64,7 @@ type SCloudevent struct {
CloudproviderId string `width:"64" charset:"utf8" nullable:"true" list:"user"`
Manager string `width:"128" charset:"utf8" nullable:"false" index:"true" list:"user"`
Provider string `width:"64" charset:"ascii" nullable:"false" list:"user"`
Brand string `width:"64" charset:"ascii" list:"domain"`
}
func (self *SCloudeventManager) AllowCreateItem(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool {
@@ -101,6 +103,10 @@ func (manager *SCloudeventManager) ListItemFilter(ctx context.Context, q *sqlche
q = q.In("provider", input.Providers)
}
if len(input.Brands) > 0 {
q = q.In("brand", input.Brands)
}
if !input.Since.IsZero() {
q = q.GT("created_at", input.Since)
}
@@ -129,6 +135,7 @@ func (manager *SCloudeventManager) SyncCloudevent(ctx context.Context, userCred
Success: iEvent.IsSuccess(),
Manager: cloudprovider.Name,
Provider: cloudprovider.Provider,
Brand: cloudprovider.Brand,
CloudproviderId: cloudprovider.Id,
}
@@ -151,3 +158,22 @@ func (manager *SCloudeventManager) GetPagingConfig() *db.SPagingConfig {
DefaultLimit: 20,
}
}
func (manager *SCloudeventManager) InitializeData() error {
events := []SCloudevent{}
q := manager.Query().IsNullOrEmpty("brand")
err := db.FetchModelObjects(manager, q, &events)
if err != nil {
return err
}
for i := range events {
_, err = db.Update(&events[i], func() error {
events[i].Brand = events[i].Provider
return nil
})
if err != nil {
return err
}
}
return nil
}
+3 -1
View File
@@ -67,12 +67,13 @@ type SCloudprovider struct {
Secret string `length:"0" charset:"ascii" nullable:"false" list:"domain"`
Provider string `width:"64" charset:"ascii" list:"domain"`
Brand string `width:"64" charset:"ascii" list:"domain"`
}
func (manager *SCloudproviderManager) GetRegionCloudproviders(ctx context.Context, userCred mcclient.TokenCredential) ([]SCloudprovider, error) {
s := session.GetSession(ctx, userCred)
params := jsonutils.NewDict()
params.Add(jsonutils.NewString("public"), "cloud_env")
params.Add(jsonutils.JSONTrue, "details")
result, err := modules.Cloudproviders.List(s, params)
if err != nil {
return nil, errors.Wrap(err, "modules.Cloudproviders.List")
@@ -151,6 +152,7 @@ func (provider *SCloudprovider) syncWithRegionProvider(ctx context.Context, user
provider.Status = cloudprovider.Status
provider.Secret = cloudprovider.Secret
provider.Enabled = cloudprovider.Enabled
provider.Brand = cloudprovider.Brand
return nil
})
return err
+1
View File
@@ -29,6 +29,7 @@ func InitDB() error {
db.TenantCacheManager,
CloudproviderManager,
CloudeventManager,
} {
err := manager.InitializeData()
if err != nil {