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

feat(core): Добавлено системное поле SearchScore в Item

Close #PRXS-2445
parents 8ca77dad d0e97459
No related branches found
No related tags found
No related merge requests found
Subproject commit 2fd02d31a11e9c98547acc4f8416d17c5367411c Subproject commit 0c9587bc749ae4150552445173078ab5b36ef42c
...@@ -76,6 +76,7 @@ var SystemFields = []string{ ...@@ -76,6 +76,7 @@ var SystemFields = []string{
"deleted", "deleted",
"hidden", "hidden",
"template", "template",
"search_score",
} }
type Permissions struct { type Permissions struct {
...@@ -103,6 +104,7 @@ type Item struct { ...@@ -103,6 +104,7 @@ type Item struct {
RevisionID string `json:"revId,omitempty" bson:"revision_id"` RevisionID string `json:"revId,omitempty" bson:"revision_id"`
RevisionDescription string `json:"revDescription,omitempty" bson:"revision_description"` RevisionDescription string `json:"revDescription,omitempty" bson:"revision_description"`
Permissions *Permissions `json:"permissions,omitempty" bson:"-"` Permissions *Permissions `json:"permissions,omitempty" bson:"-"`
SearchScore float64 `json:"searchScore,omitempty" bson:"search_score,omitempty"`
// Флаги записи // Флаги записи
Deleted bool `json:"deleted" bson:"deleted,omitempty"` Deleted bool `json:"deleted" bson:"deleted,omitempty"`
...@@ -155,6 +157,7 @@ func (i *Item) ToMap() map[string]interface{} { ...@@ -155,6 +157,7 @@ func (i *Item) ToMap() map[string]interface{} {
"deleted": i.Deleted, "deleted": i.Deleted,
"hidden": i.Hidden, "hidden": i.Hidden,
"template": i.Template, "template": i.Template,
"search_score": i.SearchScore,
} }
} }
...@@ -315,6 +318,8 @@ func (i *Item) SetSystemField(field string, value interface{}) error { ...@@ -315,6 +318,8 @@ func (i *Item) SetSystemField(field string, value interface{}) error {
i.Deleted, ok = value.(bool) i.Deleted, ok = value.(bool)
case "template": case "template":
i.Template, ok = value.(bool) i.Template, ok = value.(bool)
case "search_score":
i.SearchScore, ok = value.(float64)
default: default:
return ErrNotSystemField return ErrNotSystemField
} }
...@@ -326,7 +331,7 @@ func (i *Item) SetSystemField(field string, value interface{}) error { ...@@ -326,7 +331,7 @@ func (i *Item) SetSystemField(field string, value interface{}) error {
return nil return nil
} }
// GetSystem устанавливает значение системного поля // GetSystem возвращает значение системного поля
func (i *Item) GetSystem(field string) (any, error) { func (i *Item) GetSystem(field string) (any, error) {
switch field { switch field {
case "id": case "id":
...@@ -357,6 +362,8 @@ func (i *Item) GetSystem(field string) (any, error) { ...@@ -357,6 +362,8 @@ func (i *Item) GetSystem(field string) (any, error) {
return i.Deleted, nil return i.Deleted, nil
case "template": case "template":
return i.Template, nil return i.Template, nil
case "search_score":
return i.SearchScore, nil
} }
return nil, ErrNotSystemField return nil, ErrNotSystemField
...@@ -419,6 +426,8 @@ func GetSystemField(fld string) (*field.Field, error) { ...@@ -419,6 +426,8 @@ func GetSystemField(fld string) (*field.Field, error) {
return field.String(), nil return field.String(), nil
case "hidden", "deleted", "template": case "hidden", "deleted", "template":
return field.Bool(), nil return field.Bool(), nil
case "search_score":
return field.Number(field.NumberFormatFloat), nil
} }
return nil, ErrNotSystemField return nil, ErrNotSystemField
...@@ -469,6 +478,7 @@ func ItemToProto(item *Item) *pb.Item { ...@@ -469,6 +478,7 @@ func ItemToProto(item *Item) *pb.Item {
Hidden: item.Hidden, Hidden: item.Hidden,
Template: item.Template, Template: item.Template,
Deleted: item.Deleted, Deleted: item.Deleted,
SearchScore: item.SearchScore,
} }
if item.Data != nil { if item.Data != nil {
...@@ -518,6 +528,7 @@ func ItemFromProto(protoItem *pb.Item) *Item { ...@@ -518,6 +528,7 @@ func ItemFromProto(protoItem *pb.Item) *Item {
Hidden: protoItem.Hidden, Hidden: protoItem.Hidden,
Template: protoItem.Template, Template: protoItem.Template,
Deleted: protoItem.Deleted, Deleted: protoItem.Deleted,
SearchScore: protoItem.SearchScore,
} }
if protoItem.Data != nil { if protoItem.Data != nil {
......
This diff is collapsed.
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT. // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions: // versions:
// - protoc-gen-go-grpc v1.3.0 // - protoc-gen-go-grpc v1.3.0
// - protoc v4.24.3 // - protoc v4.25.1
// source: items/items.proto // source: items/items.proto
package items package items
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment