syntax = "proto3";

package schema;

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;

    // Name of proto file to generae swagger.json from
    string swagger_from = 2;

    // Prefix of proto files which would require a yang file generated for it
    string yang_from = 3;

}

// Schema services
service SchemaService {

    // Return active grpc schemas
    rpc GetSchema(google.protobuf.Empty) returns (Schemas) {}

}
