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 (
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1"
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 {
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:
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)
}
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang)
func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) {
return err
}

View File

@ -97,7 +97,7 @@ func (s *Server) GetCustomVerifyEmailMessageText(ctx context.Context, req *admin
}, 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))
if err != nil {
return nil, err

View File

@ -224,7 +224,7 @@ func (s *Server) GetDefaultDomainClaimedMessageText(ctx context.Context, req *mg
}, 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))
if err != nil {
return nil, err

View File

@ -105,7 +105,7 @@ func (m *CustomText) processCustomText(event *es_models.Event) (err error) {
if err != nil {
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:
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)
}
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang)
func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) {
return err
}

View File

@ -78,10 +78,11 @@ func PutCustomText(db *gorm.DB, table string, customText *model.CustomTextView)
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}
templateSearch := repository.Key{Key: model.CustomTextSearchKey(iam_model.CustomTextSearchKeyTemplate), Value: template}
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)
}

View File

@ -105,7 +105,7 @@ func (m *CustomText) processCustomText(event *es_models.Event) (err error) {
if err != nil {
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:
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)
}
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang)
func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) {
return err
}

View File

@ -2,6 +2,7 @@ package handler
import (
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1"
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 {
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:
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)
}
func (v *View) DeleteCustomText(aggregateID, textType, lang string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang)
func (v *View) DeleteCustomText(aggregateID, textType, lang, key string, event *models.Event) error {
err := view.DeleteCustomText(v.Db, customTextTable, aggregateID, textType, lang, key)
if err != nil && !errors.IsNotFound(err) {
return err
}

View File

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