Skip to content
Snippets Groups Projects
Commit 79c844e3 authored by ko_oler's avatar ko_oler
Browse files

перенос func UpdateCollectionSchemaMetadata() в пакет extension

parent 480677cf
Branches
Tags
No related merge requests found
...@@ -4,9 +4,11 @@ import ( ...@@ -4,9 +4,11 @@ import (
"context" "context"
"fmt" "fmt"
"git.perx.ru/perxis/perxis-go/pkg/collections"
"git.perx.ru/perxis/perxis-go/pkg/content" "git.perx.ru/perxis/perxis-go/pkg/content"
"git.perx.ru/perxis/perxis-go/pkg/errors" "git.perx.ru/perxis/perxis-go/pkg/errors"
"git.perx.ru/perxis/perxis-go/pkg/items" "git.perx.ru/perxis/perxis-go/pkg/items"
"git.perx.ru/perxis/perxis-go/pkg/setup"
pb "git.perx.ru/perxis/perxis-go/proto/extensions" pb "git.perx.ru/perxis/perxis-go/proto/extensions"
) )
...@@ -105,3 +107,19 @@ func ExtensionFromError(err error) string { ...@@ -105,3 +107,19 @@ func ExtensionFromError(err error) string {
ext, _ := v.(string) ext, _ := v.(string)
return ext return ext
} }
func UpdateCollectionSchemaMetadata() setup.CollectionsOption {
return func(c *setup.CollectionConfig) {
c.UpdateFn = func(s *setup.Setup, exist, new *collections.Collection) (coll *collections.Collection, upd bool, setSchema bool, err error) {
if !new.IsView() && !exist.IsView() {
if new.Schema.Metadata != nil && exist.Schema.Metadata == nil && !s.IsForce() {
return nil, false, false, collections.ErrAlreadyExists
}
if new.Schema.Metadata != nil && exist.Schema.Metadata != nil {
return new, true, true, nil
}
}
return new, true, true, nil
}
}
}
...@@ -80,22 +80,6 @@ func UpdateExistingCollection() CollectionsOption { ...@@ -80,22 +80,6 @@ func UpdateExistingCollection() CollectionsOption {
} }
} }
func UpdateCollectionSchemaMetadata() CollectionsOption {
return func(c *CollectionConfig) {
c.UpdateFn = func(s *Setup, exist, new *collections.Collection) (coll *collections.Collection, upd bool, setSchema bool, err error) {
if !new.IsView() && !exist.IsView() {
if new.Schema.Metadata != nil && exist.Schema.Metadata == nil && !s.IsForce() {
return nil, false, false, collections.ErrAlreadyExists
}
if new.Schema.Metadata != nil && exist.Schema.Metadata != nil {
return new, true, true, nil
}
}
return new, true, true, nil
}
}
}
func (s *Setup) InstallCollections(ctx context.Context) (err error) { func (s *Setup) InstallCollections(ctx context.Context) (err error) {
if len(s.Collections) == 0 { if len(s.Collections) == 0 {
return nil return nil
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment