From a47898af0595ce79fbd4e504920d7070cb1460ee Mon Sep 17 00:00:00 2001 From: Anton Sattarov <dirty.mew@gmail.com> Date: Fri, 20 Oct 2023 11:26:36 +0200 Subject: [PATCH] add revision_description --- perxis-proto | 2 +- pkg/items/item.go | 92 +++++++++++++++++++++++++---------------------- 2 files changed, 51 insertions(+), 43 deletions(-) diff --git a/perxis-proto b/perxis-proto index de4fde11..b6932f50 160000 --- a/perxis-proto +++ b/perxis-proto @@ -1 +1 @@ -Subproject commit de4fde11b4f304e1a9d27e41801003c0f77cbec6 +Subproject commit b6932f502c43944f278af9097607fd17af4b8b8d diff --git a/pkg/items/item.go b/pkg/items/item.go index faa92bbb..7c34d2bb 100644 --- a/pkg/items/item.go +++ b/pkg/items/item.go @@ -69,6 +69,7 @@ var SystemFields = []string{ "updated_at", "updated_by", "revision_id", + "revision_description", "data", "translations", "locale", @@ -136,23 +137,24 @@ func (i *Item) Clone() *Item { func (i *Item) ToMap() map[string]interface{} { return map[string]interface{}{ - "id": i.ID, - "space_id": i.SpaceID, - "env_id": i.EnvID, - "collection_id": i.CollectionID, - "state": i.State, - "created_rev_at": i.CreatedRevAt, - "created_by": i.CreatedBy, - "created_at": i.CreatedAt, - "updated_at": i.UpdatedAt, - "updated_by": i.UpdatedBy, - "revision_id": i.RevisionID, - "data": i.Data, - "translations": i.Translations, - "locale": i.Locale, - "deleted": i.Deleted, - "hidden": i.Hidden, - "template": i.Template, + "id": i.ID, + "space_id": i.SpaceID, + "env_id": i.EnvID, + "collection_id": i.CollectionID, + "state": i.State, + "created_rev_at": i.CreatedRevAt, + "created_by": i.CreatedBy, + "created_at": i.CreatedAt, + "updated_at": i.UpdatedAt, + "updated_by": i.UpdatedBy, + "revision_id": i.RevisionID, + "revision_description": i.RevisionDescription, + "data": i.Data, + "translations": i.Translations, + "locale": i.Locale, + "deleted": i.Deleted, + "hidden": i.Hidden, + "template": i.Template, } } @@ -305,6 +307,8 @@ func (i *Item) SetSystemField(field string, value interface{}) error { i.UpdatedAt, ok = value.(time.Time) case "revision_id": i.RevisionID, ok = value.(string) + case "revision_description": + i.RevisionDescription, ok = value.(string) case "hidden": i.Hidden, ok = value.(bool) case "deleted": @@ -345,6 +349,8 @@ func (i *Item) GetSystem(field string) (any, error) { return i.UpdatedAt, nil case "revision_id": return i.RevisionID, nil + case "revision_description": + return i.RevisionDescription, nil case "hidden": return i.Hidden, nil case "deleted": @@ -395,7 +401,7 @@ func (i *Item) Get(field string) (any, error) { // GetSystemField возвращает описание поля для системных аттрибутов Item func GetSystemField(fld string) (*field.Field, error) { switch fld { - case "id", "space_id", "env_id", "collection_id", "revision_id": + case "id", "space_id", "env_id", "collection_id", "revision_id", "revision_description": return field.String(), nil case "created_rev_at", "created_at", "updated_at", "published_at": return field.Time(), nil @@ -440,18 +446,19 @@ func ItemToProto(item *Item) *pb.Item { } protoItem := &pb.Item{ - Id: item.ID, - SpaceId: item.SpaceID, - EnvId: item.EnvID, - CollectionId: item.CollectionID, - State: pb.Item_State(item.State), - CreatedBy: item.CreatedBy, - UpdatedBy: item.UpdatedBy, - RevisionId: item.RevisionID, - Locale: item.Locale, - Hidden: item.Hidden, - Template: item.Template, - Deleted: item.Deleted, + Id: item.ID, + SpaceId: item.SpaceID, + EnvId: item.EnvID, + CollectionId: item.CollectionID, + State: pb.Item_State(item.State), + CreatedBy: item.CreatedBy, + UpdatedBy: item.UpdatedBy, + RevisionId: item.RevisionID, + RevisionDescription: item.RevisionDescription, + Locale: item.Locale, + Hidden: item.Hidden, + Template: item.Template, + Deleted: item.Deleted, } if item.Data != nil { @@ -488,18 +495,19 @@ func ItemFromProto(protoItem *pb.Item) *Item { } item := &Item{ - ID: protoItem.Id, - SpaceID: protoItem.SpaceId, - EnvID: protoItem.EnvId, - CollectionID: protoItem.CollectionId, - State: State(protoItem.State), - CreatedBy: protoItem.CreatedBy, - UpdatedBy: protoItem.UpdatedBy, - RevisionID: protoItem.RevisionId, - Locale: protoItem.Locale, - Hidden: protoItem.Hidden, - Template: protoItem.Template, - Deleted: protoItem.Deleted, + ID: protoItem.Id, + SpaceID: protoItem.SpaceId, + EnvID: protoItem.EnvId, + CollectionID: protoItem.CollectionId, + State: State(protoItem.State), + CreatedBy: protoItem.CreatedBy, + UpdatedBy: protoItem.UpdatedBy, + RevisionID: protoItem.RevisionId, + RevisionDescription: protoItem.RevisionDescription, + Locale: protoItem.Locale, + Hidden: protoItem.Hidden, + Template: protoItem.Template, + Deleted: protoItem.Deleted, } if protoItem.Data != nil { -- GitLab