
yamcs.protobuf.commanding.clearance_service.proto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of yamcs-api Show documentation
Show all versions of yamcs-api Show documentation
Used by external clients to communicate with Yamcs
syntax="proto2";
package yamcs.protobuf.commanding;
option java_package = "org.yamcs.protobuf";
option java_outer_classname = "ClearanceServiceProto";
option java_multiple_files = true;
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "yamcs/api/annotations.proto";
import "yamcs/protobuf/mdb/mdb.proto";
service ClearanceApi {
// List clearances
rpc ListClearances(google.protobuf.Empty) returns (ListClearancesResponse) {
option (yamcs.api.route) = {
get: "/api/clearances"
};
}
// Update a user's clearance
rpc UpdateClearance(UpdateClearanceRequest) returns (ClearanceInfo) {
option (yamcs.api.route) = {
patch: "/api/clearances/{username}"
body: "*"
log: "Clearance of '{username}' changed to {level}"
};
}
// Delete a user's clearance
rpc DeleteClearance(DeleteClearanceRequest) returns (google.protobuf.Empty) {
option (yamcs.api.route) = {
delete: "/api/clearances/{username}"
log: "Clearance revoked from user '{username}'"
};
}
// Receive updates on own clearance
rpc SubscribeClearance(google.protobuf.Empty) returns (stream ClearanceInfo) {
option (yamcs.api.websocket) = {
topic: "clearance"
};
}
}
message ListClearancesResponse {
repeated ClearanceInfo clearances = 1;
}
message ClearanceInfo {
optional string username = 1;
optional mdb.SignificanceInfo.SignificanceLevelType level = 2;
optional string issuedBy = 3;
optional google.protobuf.Timestamp issueTime = 4;
optional bool hasCommandPrivileges = 5;
}
message UpdateClearanceRequest {
optional string username = 1;
optional mdb.SignificanceInfo.SignificanceLevelType level = 2;
}
message DeleteClearanceRequest {
optional string username = 1;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy