syntax = "proto3";

package wix.catalog.api.v1;

import "wix/catalog/api/v1/media.proto";
import "wix/api/validations.proto";
import "wix/api/annotations.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/timestamp.proto";
import "wix/api/entity.proto";
import "advanced-seo-api.proto";

option java_package = "com.wix.ecommerce.catalog.api.v1";

message Collection {
    option (wix.api.entity) = {
        fqdn: "wix.stores.catalog.v1.collection"
        segment: USERS
        appendix_files: {
            type: AUTO_VELO
            path: "appendices/velo/collection"
        };
    };
    // Collection ID (generated automatically by the catalog).
    google.protobuf.StringValue id = 1 [(wix.api.minLength) = 35, (wix.api.maxLength) = 36, (wix.api.readOnly) = true];
    // Collection name.
    google.protobuf.StringValue name = 2 [(wix.api.minLength) = 1, (wix.api.maxLength) = 50];
    // Media items (images, videos etc) associated with this collection. Read only.
    Media media = 3 [(wix.api.readOnly) = true];
    // Number of products in the collection. Read only.
    int32 number_of_products = 4 [(wix.api.readOnly) = true];
    // Collection description.
    google.protobuf.StringValue description = 5 [(wix.api.minLength) = 0, (wix.api.maxLength) = 600];
    // Collection slug.
    google.protobuf.StringValue slug = 6 [(wix.api.minLength) = 1, (wix.api.maxLength) = 100];
    // Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`.
    google.protobuf.BoolValue visible = 7;
    // Custom SEO data for the collection.
    com.wixpress.advanced.seo.SeoSchema seo_schema = 8 [(.wix.api.field_exposure) = INTERNAL];
    // Date and time the collection was updated.
    google.protobuf.Timestamp last_updated = 9 [(.wix.api.readOnly) = true, (.wix.api.field_maturity) = ALPHA];
}
