From c2d7dd6a45147cb728a2c0f30025a127416dc58d Mon Sep 17 00:00:00 2001 From: rainzm Date: Tue, 3 Aug 2021 17:08:57 +0800 Subject: [PATCH] feat(notify): add ResourceAttributionName for subscriber --- pkg/apis/notify/subscriber.go | 2 ++ pkg/notify/models/subscriber.go | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkg/apis/notify/subscriber.go b/pkg/apis/notify/subscriber.go index 4632079a85..d55bc4aa33 100644 --- a/pkg/apis/notify/subscriber.go +++ b/pkg/apis/notify/subscriber.go @@ -31,6 +31,8 @@ type SubscriberCreateInput struct { // example: 1e3824756bac4ac084e784ed297ec652 ResourceAttributionId string + ResourceAttributionName string + // description: domain id of resource // example: 1e3824756bac4ac084e784ed297ec652 DomainId string diff --git a/pkg/notify/models/subscriber.go b/pkg/notify/models/subscriber.go index 9a7955e6f0..100ae7d326 100644 --- a/pkg/notify/models/subscriber.go +++ b/pkg/notify/models/subscriber.go @@ -76,14 +76,15 @@ type SSubscriber struct { db.SStandaloneAnonResourceBase db.SEnabledResourceBase - TopicID string `width:"128" charset:"ascii" nullable:"false" index:"true" get:"user" list:"user" create:"required"` - Type string `width:"16" charset:"ascii" nullable:"false" index:"true" get:"user" list:"user" create:"required"` - Identification string `width:"128" charset:"ascii" nullable:"false" index:"true"` - RoleScope string `width:"8" charset:"ascii" nullable:"false" get:"user" list:"user" create:"optional"` - ResourceScope string `width:"8" charset:"ascii" nullable:"false" get:"user" list:"user" create:"required"` - ResourceAttributionId string `width:"128" charset:"ascii" nullable:"false" get:"user" list:"user" create:"optional"` - Scope string `width:"128" charset:"ascii" nullable:"false" create:"required"` - DomainId string `width:"128" charset:"ascii" nullable:"false" create:"optional"` + TopicID string `width:"128" charset:"ascii" nullable:"false" index:"true" get:"user" list:"user" create:"required"` + Type string `width:"16" charset:"ascii" nullable:"false" index:"true" get:"user" list:"user" create:"required"` + Identification string `width:"128" charset:"ascii" nullable:"false" index:"true"` + RoleScope string `width:"8" charset:"ascii" nullable:"false" get:"user" list:"user" create:"optional"` + ResourceScope string `width:"8" charset:"ascii" nullable:"false" get:"user" list:"user" create:"required"` + ResourceAttributionId string `width:"128" charset:"ascii" nullable:"false" get:"user" list:"user" create:"optional"` + ResourceAttributionName string `width:"128" charset:"utf8" list:"user" create:"optional"` + Scope string `width:"128" charset:"ascii" nullable:"false" create:"required"` + DomainId string `width:"128" charset:"ascii" nullable:"false" create:"optional"` } func (sm *SSubscriberManager) validateReceivers(ctx context.Context, receivers []string) ([]string, error) { @@ -149,6 +150,7 @@ func (sm *SSubscriberManager) ValidateCreateData(ctx context.Context, userCred m domainId = tenant.DomainId input.DomainId = domainId input.ResourceAttributionId = tenant.GetId() + input.ResourceAttributionName = tenant.GetName() case api.SUBSCRIBER_SCOPE_DOMAIN: tenant, err := db.TenantCacheManager.FetchDomainByIdOrName(ctx, input.ResourceAttributionId) if err != nil { @@ -157,6 +159,7 @@ func (sm *SSubscriberManager) ValidateCreateData(ctx context.Context, userCred m domainId = tenant.DomainId input.DomainId = domainId input.ResourceAttributionId = tenant.DomainId + input.ResourceAttributionName = tenant.Domain } if input.Scope == sDomain && domainId != userCred.GetDomainId() { return input, httperrors.NewForbiddenError("domain %s admin can't create subscriber for domain %s", userCred.GetDomainId(), domainId)