// Extracted from: Spotify 1.1.61.583 (Windows)

syntax = "proto3";

package spotify.mdata.proto;

import "extension_kind.proto";
import "google/protobuf/any.proto";

option cc_enable_arenas = true;
option optimize_for = CODE_SIZE;

message LocalExtensionQuery {
    extendedmetadata.ExtensionKind extension_kind = 1;
    repeated string entity_uri = 2;
}

message LocalBatchedEntityRequest {
    repeated LocalExtensionQuery extension_query = 1;
}

message LocalBatchedExtensionResponse {
    repeated Extension extension = 1;
    message Extension {
        extendedmetadata.ExtensionKind extension_kind = 1;
        repeated EntityExtension entity_extension = 2;
    }
    
    message ExtensionHeader {
        bool cache_valid = 1;
        bool offline_valid = 2;
        int32 status_code = 3;
        bool is_empty = 4;
        int64 cache_expiry_timestamp = 5;
        int64 offline_expiry_timestamp = 6;
    }
    
    message EntityExtension {
        string entity_uri = 1;
        ExtensionHeader header = 2;
        google.protobuf.Any extension_data = 3;
    }
}
