3
0

Send back changed message

This commit is contained in:
Denis Arh
2018-11-06 10:07:15 +01:00
parent 170c0a13ee
commit 8dd11b6b0e
2 changed files with 11 additions and 10 deletions
+3 -2
View File
@@ -3,12 +3,13 @@ package rest
import (
"context"
"github.com/pkg/errors"
"github.com/crusttech/crust/internal/payload"
"github.com/crusttech/crust/internal/payload/outgoing"
"github.com/crusttech/crust/sam/rest/request"
"github.com/crusttech/crust/sam/service"
"github.com/crusttech/crust/sam/types"
"github.com/pkg/errors"
)
var _ = errors.Wrap
@@ -93,7 +94,7 @@ func (ctrl *Message) ReactionRemove(ctx context.Context, r *request.MessageReact
}
func (ctrl *Message) wrap(ctx context.Context) func(m *types.Message, err error) (*outgoing.Message, error) {
return func(m *types.Message, err error) (*outgoing.Message, error) {
if err != nil {
if err != nil || m == nil {
return nil, err
} else {
return payload.Message(ctx, m), nil
+8 -8
View File
@@ -205,28 +205,28 @@ func (svc *message) Update(in *types.Message) (message *types.Message, err error
_ = currentUserID
return message, svc.db.Transaction(func() (err error) {
original, err := svc.message.FindMessageByID(in.ID)
message, err = svc.message.FindMessageByID(in.ID)
if err != nil {
return err
return errors.Wrap(err, "Could not load message for editing")
}
if original.Message == in.Message {
if message.Message == in.Message {
// Nothing changed
return nil
}
if original.UserID != currentUserID {
if message.UserID != currentUserID {
return errors.New("Not an owner")
}
// Allow message content to be changed, ignore everything else
original.Message = in.Message
// Allow message content to be changed
message.Message = in.Message
if message, err = svc.message.UpdateMessage(original); err != nil {
if message, err = svc.message.UpdateMessage(message); err != nil {
return err
}
return svc.sendEvent(original)
return svc.sendEvent(message)
})
}