grpc-proto/plug.proto
2024-08-24 23:12:13 +00:00

69 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
import "google/protobuf/timestamp.proto";
option go_package = "git.dragse.it/anthrove/plug-[REPLACE_ME]/api/gRPC";
service PlugConnector {
rpc TaskStart(PlugTaskCreation) returns (PlugTaskStatus);
rpc TaskStatus(PlugTask) returns (PlugTaskStatus);
rpc TaskCancel(PlugTask) returns (PlugTaskStatus);
rpc Ping(PingRequest) returns (PongResponse); // Added Ping endpoint
rpc SendMessage(SendMessageRequest) returns (SendMessageResponse);
rpc GetUserMessages(GetMessagesRequest) returns (GetMessagesResponse);
}
message PingRequest {
string message = 1; // Optional message field, can be removed if not needed
google.protobuf.Timestamp timestamp = 2;
}
message PongResponse {
string message = 1; // Optional message field, can be removed if not needed
google.protobuf.Timestamp timestamp = 2;
}
message PlugTaskStatus {
string task_id = 1;
PlugTaskState task_state = 2;
}
enum PlugTaskState {
UNKNOWN = 0;
STARTED = 1;
RUNNING = 2;
STOPPED = 3;
}
message PlugTask {
string task_id = 1;
}
message PlugTaskCreation {
string user_source_id = 1;
bool deep_scrape = 2;
string api_key = 3;
}
message SendMessageRequest {
string user_source_id = 1;
string message = 2;
}
message SendMessageResponse {
bool success = 1;
}
message GetMessagesRequest {
string user_source_id = 1;
}
message GetMessagesResponse {
repeated Message messages = 1;
}
message Message {
string from_user_source_id = 1;
google.protobuf.Timestamp created_at = 2;
string body = 3;
string title = 4;
}