syntax = "proto3";

package schema;

import "google/protobuf/empty.proto";
import "annotations.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 (googleapi.http) = {
            get: "/schema"
        };
    }

}
