fix: custom message texts (#2046)

* fix: grpc implementation of custom message texts

* fix: proto definition of RemoveHumanAvatar in mgmt api

* fix: DeleteCustomText in view (respect key)
This commit is contained in:
Livio Amstutz 2021-07-20 11:40:53 +02:00 committed by GitHub
parent 9413fc19ff
commit 413ed80611
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 20 additions and 17 deletions

View File

@ -2,6 +2,7 @@ package handler
import ( import (
"github.com/caos/logging" "github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors" caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1" "github.com/caos/zitadel/internal/eventstore/v1"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models" es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
@ -105,7 +106,7 @@ func (m *CustomText) processCustomText(event *es_models.Event) (err error) {
if err != nil { if err != nil {
return err return err
} }
return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, event) return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, text.Key, event)
default: default:
return m.view.ProcessedCustomTextSequence(event) return m.view.ProcessedCustomTextSequence(event)
} }

View File

@ -28,8 +28,8 @@ func (v *View) PutCustomText(template *model.CustomTextView, event *models.Event
return v.ProcessedCustomTextSequence(event) return v.ProcessedCustomTextSequence(event)
} }
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error { func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang) err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) { if err != nil && !errors.IsNotFound(err) {
return err return err
} }

View File

@ -97,7 +97,7 @@ func (s *Server) GetCustomVerifyEmailMessageText(ctx context.Context, req *admin
}, nil }, nil
} }
func (s *Server) SetVerifyEmailMessageCustomText(ctx context.Context, req *admin_pb.SetDefaultVerifyEmailMessageTextRequest) (*admin_pb.SetDefaultVerifyEmailMessageTextResponse, error) { func (s *Server) SetDefaultVerifyEmailMessageText(ctx context.Context, req *admin_pb.SetDefaultVerifyEmailMessageTextRequest) (*admin_pb.SetDefaultVerifyEmailMessageTextResponse, error) {
result, err := s.command.SetDefaultMessageText(ctx, SetVerifyEmailCustomTextToDomain(req)) result, err := s.command.SetDefaultMessageText(ctx, SetVerifyEmailCustomTextToDomain(req))
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -224,7 +224,7 @@ func (s *Server) GetDefaultDomainClaimedMessageText(ctx context.Context, req *mg
}, nil }, nil
} }
func (s *Server) SetCustomDomainClaimedMessageText(ctx context.Context, req *mgmt_pb.SetCustomDomainClaimedMessageTextRequest) (*mgmt_pb.SetCustomDomainClaimedMessageTextResponse, error) { func (s *Server) SetCustomDomainClaimedMessageCustomText(ctx context.Context, req *mgmt_pb.SetCustomDomainClaimedMessageTextRequest) (*mgmt_pb.SetCustomDomainClaimedMessageTextResponse, error) {
result, err := s.command.SetOrgMessageText(ctx, authz.GetCtxData(ctx).OrgID, SetDomainClaimedCustomTextToDomain(req)) result, err := s.command.SetOrgMessageText(ctx, authz.GetCtxData(ctx).OrgID, SetDomainClaimedCustomTextToDomain(req))
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -105,7 +105,7 @@ func (m *CustomText) processCustomText(event *es_models.Event) (err error) {
if err != nil { if err != nil {
return err return err
} }
return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, event) return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, text.Key, event)
default: default:
return m.view.ProcessedCustomTextSequence(event) return m.view.ProcessedCustomTextSequence(event)
} }

View File

@ -32,8 +32,8 @@ func (v *View) PutCustomText(template *model.CustomTextView, event *models.Event
return v.ProcessedCustomTextSequence(event) return v.ProcessedCustomTextSequence(event)
} }
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error { func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang) err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) { if err != nil && !errors.IsNotFound(err) {
return err return err
} }

View File

@ -78,10 +78,11 @@ func PutCustomText(db *gorm.DB, table string, customText *model.CustomTextView)
return save(db, customText) return save(db, customText)
} }
func DeleteCustomText(db *gorm.DB, table, aggregateID, template, lang string) error { func DeleteCustomText(db *gorm.DB, table, aggregateID, template, lang, key string) error {
aggregateIDSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyAggregateID), Value: aggregateID} aggregateIDSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyAggregateID), Value: aggregateID}
templateSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyTemplate), Value: template} templateSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyTemplate), Value: template}
languageSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyLanguage), Value: lang} languageSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyLanguage), Value: lang}
delete := repository.PrepareDeleteByKeys(table, aggregateIDSearch, templateSearch, languageSearch) keySearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyKey), Value: key}
delete := repository.PrepareDeleteByKeys(table, aggregateIDSearch, templateSearch, keySearch, languageSearch)
return delete(db) return delete(db)
} }

View File

@ -105,7 +105,7 @@ func (m *CustomText) processCustomText(event *es_models.Event) (err error) {
if err != nil { if err != nil {
return err return err
} }
return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, event) return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, text.Key, event)
default: default:
return m.view.ProcessedCustomTextSequence(event) return m.view.ProcessedCustomTextSequence(event)
} }

View File

@ -28,8 +28,8 @@ func (v *View) PutCustomText(template *model.CustomTextView, event *models.Event
return v.ProcessedCustomTextSequence(event) return v.ProcessedCustomTextSequence(event)
} }
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error { func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang) err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) { if err != nil && !errors.IsNotFound(err) {
return err return err
} }

View File

@ -2,6 +2,7 @@ package handler
import ( import (
"github.com/caos/logging" "github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors" caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1" "github.com/caos/zitadel/internal/eventstore/v1"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models" es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
@ -105,7 +106,7 @@ func (m *CustomText) processCustomText(event *es_models.Event) (err error) {
if err != nil { if err != nil {
return err return err
} }
return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, event) return m.view.DeleteCustomText(event.AggregateID, text.Template, text.Language, text.Key, event)
default: default:
return m.view.ProcessedCustomTextSequence(event) return m.view.ProcessedCustomTextSequence(event)
} }

View File

@ -32,8 +32,8 @@ func (v *View) PutCustomText(template *model.CustomTextView, event *models.Event
return v.ProcessedCustomTextSequence(event) return v.ProcessedCustomTextSequence(event)
} }
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error { func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang) err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) { if err != nil && !errors.IsNotFound(err) {
return err return err
} }

View File

@ -404,7 +404,7 @@ service ManagementService {
}; };
} }
// Removes the avatar number of the human // Removes the avatar number of the human
rpc RemoveMyAvatar(RemoveHumanAvatarRequest) returns (RemoveHumanAvatarResponse) { rpc RemoveHumanAvatar(RemoveHumanAvatarRequest) returns (RemoveHumanAvatarResponse) {
option (google.api.http) = { option (google.api.http) = {
delete: "/users/{user_id}/avatar" delete: "/users/{user_id}/avatar"
}; };