From a31ddde9192e341e58e1d2e853d2d5dd878d55ff Mon Sep 17 00:00:00 2001 From: Danis Kirasirov <kirasirov@perx.ru> Date: Wed, 28 Aug 2024 08:42:45 +0000 Subject: [PATCH] =?UTF-8?q?feat(api):=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20API:=20=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BA=D1=82=D1=83=D1=80=D0=B0=20Collection=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8F=20"=D0=91=D0=B5=D0=B7=20=D0=B0=D1=80=D1=85=D0=B8=D0=B2?= =?UTF-8?q?=D0=B0"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Close #PRXS-2600 --- pkg/collections/collection.go | 21 ++++++++++++------- pkg/collections/collection_test.go | 4 +++- .../grpc/protobuf_type_converters.microgen.go | 2 ++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/pkg/collections/collection.go b/pkg/collections/collection.go index 1f44028a..5d58bae5 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 48ada244..89097a2b 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 5f16c5f8..948ff094 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, } -- GitLab