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/pagination.go b/pkg/items/pagination.go index 6fe197d7d36c1e191e300dfb2a7799d4eac58a94..2e6fdd56d075f462fa2c875248943d1010ec20bd 100644 --- a/pkg/items/pagination.go +++ b/pkg/items/pagination.go @@ -10,7 +10,9 @@ import ( ) type BatchProcessor struct { - Items Items + Items Items // fixme: после того как здесь Content поменяли на Items (из-за цикличного импорта) + // использование в perxis BatchProcessor'a необходимо менять + // стоит ли это так делать или лучше в perxis-go BatchProcessor вынести в отдельный пакет чтобы не было цикличного импорта? SpaceID, EnvID, CollectionID string FindOptions *FindOptions FindPublishedOptions *FindPublishedOptions 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 +}