Files
panels/protobufs/panel.proto
2023-09-27 16:01:41 +01:00

69 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package panels.panel.v1;
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
service PanelService {
rpc CreatePanel(CreatePanelRequest) returns (Panel) {}
rpc GetPanel(GetPanelByIdRequest) returns (Panel) {}
rpc GetPanelByName(GetPanelByNameRequest) returns (Panel) {}
rpc UpdatePanel(UpdatePanelByIdRequest) returns (Panel) {}
rpc UpdatePanelByName(UpdatePanelByNameRequest) returns (Panel) {}
rpc DeletePanel(DeletePanelByIdRequest) returns (google.protobuf.Empty) {}
rpc DeletePanelByName(DeletePanelByNameRequest) returns (google.protobuf.Empty) {}
}
message Panel {
string id = 1;
string name = 2;
string description = 3;
google.protobuf.Timestamp created_at = 4;
google.protobuf.Timestamp updated_at = 5;
}
message PanelMutable {
optional string name = 1;
optional string description = 2;
}
message CreatePanelRequest {
PanelMutable data = 1;
}
message GetPanelByIdRequest {
string id = 1;
}
message GetPanelByNameRequest {
string name = 1;
}
message UpdatePanelByIdRequest {
string id = 1;
PanelMutable data = 2;
}
message UpdatePanelByNameRequest {
string name = 1;
PanelMutable data = 2;
}
message DeletePanelByIdRequest {
string id = 1;
}
message DeletePanelByNameRequest {
string name = 1;
}
// Kafka Event Schema
message PanelEvent {
string type = 1;
Panel data = 2;
}