diff --git a/perxis-proto b/perxis-proto index 8606df02e0df6807e503bf22471a295020a47fba..f000812a1eef24093c0d0abf1318e3179b679773 160000 --- a/perxis-proto +++ b/perxis-proto @@ -1 +1 @@ -Subproject commit 8606df02e0df6807e503bf22471a295020a47fba +Subproject commit f000812a1eef24093c0d0abf1318e3179b679773 diff --git a/pkg/items/service.go b/pkg/items/service.go index 51d65d5bc9f7b3cc039f3e40da5e1abf53c4e51f..6a550dd0ad642f2dd1e02f7966b5963bf2147979 100644 --- a/pkg/items/service.go +++ b/pkg/items/service.go @@ -149,3 +149,25 @@ func EncodeAggregateResult(ctx context.Context, request map[string]string, r map return result, nil } + +func CreateAndPublishItem(ctx context.Context, items Items, item *Item) error { + var err error + if item, err = items.Create(ctx, item); err != nil { + return errors.Wrap(err, "create item") + } + if err = items.Publish(ctx, item); err != nil { + return errors.Wrap(err, "publish item") + } + return nil +} + +func UpdateAndPublishItem(ctx context.Context, items Items, item *Item) error { + var err error + if err = items.Update(ctx, item); err != nil { + return errors.Wrap(err, "update item") + } + if err = items.Publish(ctx, item); err != nil { + return errors.Wrap(err, "publish item") + } + return nil +}