Skip to content
Snippets Groups Projects
Commit 7605d499 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'feature/PRXS-1617-SyncReasons' into 'master'

Добавлено поле RevisionDescription в Item

See merge request perxis/perxis-go!100
parents d2f57a88 a47898af
No related branches found
No related tags found
No related merge requests found
Subproject commit 8c2633f87320a29c7abd9389cedda60a64f88bfa Subproject commit b6932f502c43944f278af9097607fd17af4b8b8d
...@@ -69,6 +69,7 @@ var SystemFields = []string{ ...@@ -69,6 +69,7 @@ var SystemFields = []string{
"updated_at", "updated_at",
"updated_by", "updated_by",
"revision_id", "revision_id",
"revision_description",
"data", "data",
"translations", "translations",
"locale", "locale",
...@@ -86,21 +87,22 @@ type Permissions struct { ...@@ -86,21 +87,22 @@ type Permissions struct {
} }
type Item struct { type Item struct {
ID string `json:"id" bson:"_id"` // ID - Идентификатор записи. Автоматически генерируется системой при сохранении первой ревизии. ID string `json:"id" bson:"_id"` // ID - Идентификатор записи. Автоматически генерируется системой при сохранении первой ревизии.
SpaceID string `json:"spaceId" bson:"-"` SpaceID string `json:"spaceId" bson:"-"`
EnvID string `json:"envId" bson:"-"` EnvID string `json:"envId" bson:"-"`
CollectionID string `json:"collectionId" bson:"-"` CollectionID string `json:"collectionId" bson:"-"`
State State `json:"state" bson:"state"` State State `json:"state" bson:"state"`
CreatedRevAt time.Time `json:"createdRevAt,omitempty" bson:"created_rev_at,omitempty"` CreatedRevAt time.Time `json:"createdRevAt,omitempty" bson:"created_rev_at,omitempty"`
CreatedBy string `json:"createdBy,omitempty" bson:"created_by,omitempty"` CreatedBy string `json:"createdBy,omitempty" bson:"created_by,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"created_at,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty" bson:"created_at,omitempty"`
UpdatedAt time.Time `json:"updatedAt,omitempty" bson:"updated_at,omitempty"` UpdatedAt time.Time `json:"updatedAt,omitempty" bson:"updated_at,omitempty"`
UpdatedBy string `json:"updatedBy,omitempty" bson:"updated_by,omitempty"` UpdatedBy string `json:"updatedBy,omitempty" bson:"updated_by,omitempty"`
Data map[string]interface{} `json:"data" bson:"data"` Data map[string]interface{} `json:"data" bson:"data"`
Locale string `json:"locale" bson:"-"` Locale string `json:"locale" bson:"-"`
Translations map[string]map[string]interface{} `json:"translations" bson:"translations,omitempty"` Translations map[string]map[string]interface{} `json:"translations" bson:"translations,omitempty"`
RevisionID string `json:"revId,omitempty" bson:"revision_id"` RevisionID string `json:"revId,omitempty" bson:"revision_id"`
Permissions *Permissions `json:"permissions,omitempty" bson:"-"` RevisionDescription string `json:"revDescription,omitempty" bson:"revision_description"`
Permissions *Permissions `json:"permissions,omitempty" bson:"-"`
// Флаги записи // Флаги записи
Deleted bool `json:"deleted" bson:"deleted,omitempty"` Deleted bool `json:"deleted" bson:"deleted,omitempty"`
...@@ -135,23 +137,24 @@ func (i *Item) Clone() *Item { ...@@ -135,23 +137,24 @@ func (i *Item) Clone() *Item {
func (i *Item) ToMap() map[string]interface{} { func (i *Item) ToMap() map[string]interface{} {
return map[string]interface{}{ return map[string]interface{}{
"id": i.ID, "id": i.ID,
"space_id": i.SpaceID, "space_id": i.SpaceID,
"env_id": i.EnvID, "env_id": i.EnvID,
"collection_id": i.CollectionID, "collection_id": i.CollectionID,
"state": i.State, "state": i.State,
"created_rev_at": i.CreatedRevAt, "created_rev_at": i.CreatedRevAt,
"created_by": i.CreatedBy, "created_by": i.CreatedBy,
"created_at": i.CreatedAt, "created_at": i.CreatedAt,
"updated_at": i.UpdatedAt, "updated_at": i.UpdatedAt,
"updated_by": i.UpdatedBy, "updated_by": i.UpdatedBy,
"revision_id": i.RevisionID, "revision_id": i.RevisionID,
"data": i.Data, "revision_description": i.RevisionDescription,
"translations": i.Translations, "data": i.Data,
"locale": i.Locale, "translations": i.Translations,
"deleted": i.Deleted, "locale": i.Locale,
"hidden": i.Hidden, "deleted": i.Deleted,
"template": i.Template, "hidden": i.Hidden,
"template": i.Template,
} }
} }
...@@ -304,6 +307,8 @@ func (i *Item) SetSystemField(field string, value interface{}) error { ...@@ -304,6 +307,8 @@ func (i *Item) SetSystemField(field string, value interface{}) error {
i.UpdatedAt, ok = value.(time.Time) i.UpdatedAt, ok = value.(time.Time)
case "revision_id": case "revision_id":
i.RevisionID, ok = value.(string) i.RevisionID, ok = value.(string)
case "revision_description":
i.RevisionDescription, ok = value.(string)
case "hidden": case "hidden":
i.Hidden, ok = value.(bool) i.Hidden, ok = value.(bool)
case "deleted": case "deleted":
...@@ -344,6 +349,8 @@ func (i *Item) GetSystem(field string) (any, error) { ...@@ -344,6 +349,8 @@ func (i *Item) GetSystem(field string) (any, error) {
return i.UpdatedAt, nil return i.UpdatedAt, nil
case "revision_id": case "revision_id":
return i.RevisionID, nil return i.RevisionID, nil
case "revision_description":
return i.RevisionDescription, nil
case "hidden": case "hidden":
return i.Hidden, nil return i.Hidden, nil
case "deleted": case "deleted":
...@@ -394,7 +401,7 @@ func (i *Item) Get(field string) (any, error) { ...@@ -394,7 +401,7 @@ func (i *Item) Get(field string) (any, error) {
// GetSystemField возвращает описание поля для системных аттрибутов Item // GetSystemField возвращает описание поля для системных аттрибутов Item
func GetSystemField(fld string) (*field.Field, error) { func GetSystemField(fld string) (*field.Field, error) {
switch fld { 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 return field.String(), nil
case "created_rev_at", "created_at", "updated_at", "published_at": case "created_rev_at", "created_at", "updated_at", "published_at":
return field.Time(), nil return field.Time(), nil
...@@ -439,18 +446,19 @@ func ItemToProto(item *Item) *pb.Item { ...@@ -439,18 +446,19 @@ func ItemToProto(item *Item) *pb.Item {
} }
protoItem := &pb.Item{ protoItem := &pb.Item{
Id: item.ID, Id: item.ID,
SpaceId: item.SpaceID, SpaceId: item.SpaceID,
EnvId: item.EnvID, EnvId: item.EnvID,
CollectionId: item.CollectionID, CollectionId: item.CollectionID,
State: pb.Item_State(item.State), State: pb.Item_State(item.State),
CreatedBy: item.CreatedBy, CreatedBy: item.CreatedBy,
UpdatedBy: item.UpdatedBy, UpdatedBy: item.UpdatedBy,
RevisionId: item.RevisionID, RevisionId: item.RevisionID,
Locale: item.Locale, RevisionDescription: item.RevisionDescription,
Hidden: item.Hidden, Locale: item.Locale,
Template: item.Template, Hidden: item.Hidden,
Deleted: item.Deleted, Template: item.Template,
Deleted: item.Deleted,
} }
if item.Data != nil { if item.Data != nil {
...@@ -487,18 +495,19 @@ func ItemFromProto(protoItem *pb.Item) *Item { ...@@ -487,18 +495,19 @@ func ItemFromProto(protoItem *pb.Item) *Item {
} }
item := &Item{ item := &Item{
ID: protoItem.Id, ID: protoItem.Id,
SpaceID: protoItem.SpaceId, SpaceID: protoItem.SpaceId,
EnvID: protoItem.EnvId, EnvID: protoItem.EnvId,
CollectionID: protoItem.CollectionId, CollectionID: protoItem.CollectionId,
State: State(protoItem.State), State: State(protoItem.State),
CreatedBy: protoItem.CreatedBy, CreatedBy: protoItem.CreatedBy,
UpdatedBy: protoItem.UpdatedBy, UpdatedBy: protoItem.UpdatedBy,
RevisionID: protoItem.RevisionId, RevisionID: protoItem.RevisionId,
Locale: protoItem.Locale, RevisionDescription: protoItem.RevisionDescription,
Hidden: protoItem.Hidden, Locale: protoItem.Locale,
Template: protoItem.Template, Hidden: protoItem.Hidden,
Deleted: protoItem.Deleted, Template: protoItem.Template,
Deleted: protoItem.Deleted,
} }
if protoItem.Data != nil { if protoItem.Data != nil {
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment