syntax = "proto3";

option go_package = "github.com/opencord/voltha-go/protos/schema";

package schema;

import "google/api/annotations.proto";
import "google/protobuf/empty.proto";

// Contains the name and content of a *.proto file
message ProtoFile {
    string file_name = 1;  // name of proto file
    string proto = 2;  // content of proto file
    bytes descriptor = 3;  // compiled descriptor for proto (zlib compressed)
}

// Proto files and compiled descriptors for this interface
message Schemas {

    // Proto files
    repeated ProtoFile protos = 1;

    // Proto file name from which swagger.json shall be generated
    string swagger_from = 2;

    // Proto file name from which yang schemas shall be generated
    string yang_from = 3;
}

// Schema services
service SchemaService {

    // Return active grpc schemas
    rpc GetSchema(google.protobuf.Empty) returns (Schemas) {
        option (google.api.http) = {
            get: "/schema"
        };
    }

}
