Skip to content
Snippets Groups Projects
Commit a31ddde9 authored by Danis Kirasirov's avatar Danis Kirasirov :8ball: Committed by Pavel Antonov
Browse files

feat(api): Обновлена API: структура Collection добавлено поля "Без архива"

Close #PRXS-2600
parent 4c8a9dfa
No related branches found
No related tags found
No related merge requests found
......@@ -61,6 +61,7 @@ type Collection struct {
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{
......
......@@ -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",
......
......@@ -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,
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment