diff --git a/pkg/collections/collection.go b/pkg/collections/collection.go index 1f44028ab4b2a8e9f62348e4503c957f27fd1e67..5d58bae5bdab40b52a061ffa8462c3f3ceff1486 100644 --- a/pkg/collections/collection.go +++ b/pkg/collections/collection.go @@ -53,14 +53,15 @@ func (a Access) Can(action permission.Action) bool { } type Collection struct { - ID string `json:"id" bson:"id"` - SpaceID string `json:"spaceId" bson:"-"` - EnvID string `json:"envId" bson:"-"` - Name string `json:"name" bson:"name"` - Single *bool `json:"single" bson:"single,omitempty"` // В коллекции может быть только один документ - System *bool `json:"system" bson:"system,omitempty"` // Системная коллекция - NoData *bool `json:"no_data" bson:"no_data"` // Коллекция не содержит элементы. Схема используется для включения в другие схемы - Hidden bool `json:"hidden" bson:"hidden"` // Коллекция скрыта в административном интерфейсе + ID string `json:"id" bson:"id"` + SpaceID string `json:"spaceId" bson:"-"` + EnvID string `json:"envId" bson:"-"` + Name string `json:"name" bson:"name"` + Single *bool `json:"single" bson:"single,omitempty"` // В коллекции может быть только один документ + System *bool `json:"system" bson:"system,omitempty"` // Системная коллекция + NoData *bool `json:"no_data" bson:"no_data"` // Коллекция не содержит элементы. Схема используется для включения в другие схемы + Hidden bool `json:"hidden" bson:"hidden"` // Коллекция скрыта в административном интерфейсе + NoArchive bool `json:"no_archive" bson:"no_archive,omitempty"` // Коллекция без архива // Все записи коллекции считаются опубликованными, функции публикации и снятия с публикации недоступны. // При включении параметра коллекции "без публикации" все записи, независимо от статуса, будут считаться опубликованными. @@ -150,6 +151,7 @@ func (c Collection) Clone() *Collection { NoData: c.NoData, Hidden: c.Hidden, NoPublish: c.NoPublish, + NoArchive: c.NoArchive, } if c.Single != nil { @@ -232,6 +234,9 @@ func FromSchemaMetadata(schemas ...*schema.Schema) []*Collection { if disablePublishing, ok := sch.Metadata["collection_no_publish"]; ok && disablePublishing == "true" { coll.NoPublish = true } + if noArchive, ok := sch.Metadata["collection_no_archive"]; ok && noArchive == "true" { + coll.NoArchive = true + } if _, ok := sch.Metadata["collection_view_id"]; ok { coll.View = &View{ diff --git a/pkg/collections/collection_test.go b/pkg/collections/collection_test.go index 48ada2447f417348ee032cfb1f33e3eaff29790c..89097a2b56be8c073aa57e228209645f53f80d24 100644 --- a/pkg/collections/collection_test.go +++ b/pkg/collections/collection_test.go @@ -135,6 +135,7 @@ func TestFromSchemaMetadata(t *testing.T) { "collection_nodata", "true", "collection_hidden", "true", "collection_no_publish", "true", + "collection_no_archive", "true", "collection_view_space", "viewSpaceID", "collection_view_env", "viewEnvID", "collection_view_id", "viewCollID", @@ -148,7 +149,8 @@ func TestFromSchemaMetadata(t *testing.T) { NoData: optional.True, Hidden: true, NoPublish: true, - Schema: schema.New("a", field.String()).WithMetadata("collection_id", "collID", "collection_name", "collName", "collection_single", "true", "collection_system", "true", "collection_nodata", "true", "collection_hidden", "true", "collection_no_publish", "true", "collection_view_space", "viewSpaceID", "collection_view_env", "viewEnvID", "collection_view_id", "viewCollID", "collection_view_filter", "viewFilter"), + NoArchive: true, + Schema: schema.New("a", field.String()).WithMetadata("collection_id", "collID", "collection_name", "collName", "collection_single", "true", "collection_system", "true", "collection_nodata", "true", "collection_hidden", "true", "collection_no_publish", "true", "collection_no_archive", "true", "collection_view_space", "viewSpaceID", "collection_view_env", "viewEnvID", "collection_view_id", "viewCollID", "collection_view_filter", "viewFilter"), View: &View{ SpaceID: "viewSpaceID", EnvID: "viewEnvID", diff --git a/pkg/collections/transport/grpc/protobuf_type_converters.microgen.go b/pkg/collections/transport/grpc/protobuf_type_converters.microgen.go index 5f16c5f8d1b111be626c1bfb83c1643f141a834d..948ff094824081278c352dd53fff83205b0fa218 100644 --- a/pkg/collections/transport/grpc/protobuf_type_converters.microgen.go +++ b/pkg/collections/transport/grpc/protobuf_type_converters.microgen.go @@ -71,6 +71,7 @@ func PtrCollectionToProto(coll *service.Collection) (*pb.Collection, error) { Access: access, Hidden: coll.Hidden, NoPublish: coll.NoPublish, + NoArchive: coll.NoArchive, Tags: coll.Tags, } @@ -136,6 +137,7 @@ func ProtoToPtrCollection(protoCollection *pb.Collection) (*service.Collection, Access: access, Hidden: protoCollection.Hidden, NoPublish: protoCollection.NoPublish, + NoArchive: protoCollection.NoArchive, Tags: protoCollection.Tags, }