mirror of
https://github.com/usebruno/bruno.git
synced 2026-07-09 06:55:03 +00:00
75 lines
1.5 KiB
Protocol Buffer
75 lines
1.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package order;
|
|
|
|
service Order {
|
|
rpc CreateOrder (OrderRequest) returns (OrderResponse);
|
|
rpc GetOrder (OrderId) returns (OrderResponse);
|
|
rpc ListOrders (ListOrdersRequest) returns (ListOrdersResponse);
|
|
rpc UpdateOrder (OrderRequest) returns (OrderResponse);
|
|
rpc DeleteOrder (OrderId) returns (DeleteOrderResponse);
|
|
|
|
// Stream of order status updates
|
|
rpc TrackOrderStatus (OrderId) returns (stream OrderStatusUpdate);
|
|
}
|
|
|
|
message OrderId {
|
|
string id = 1;
|
|
}
|
|
|
|
message OrderItem {
|
|
int32 product_id = 1;
|
|
int32 quantity = 2;
|
|
float unit_price = 3;
|
|
}
|
|
|
|
message OrderRequest {
|
|
string id = 1;
|
|
string user_id = 2;
|
|
repeated OrderItem items = 3;
|
|
string shipping_address = 4;
|
|
float total_amount = 5;
|
|
OrderStatus status = 6;
|
|
}
|
|
|
|
message OrderResponse {
|
|
string id = 1;
|
|
string user_id = 2;
|
|
repeated OrderItem items = 3;
|
|
string shipping_address = 4;
|
|
float total_amount = 5;
|
|
OrderStatus status = 6;
|
|
string created_at = 7;
|
|
string updated_at = 8;
|
|
}
|
|
|
|
enum OrderStatus {
|
|
PENDING = 0;
|
|
PROCESSING = 1;
|
|
SHIPPED = 2;
|
|
DELIVERED = 3;
|
|
CANCELLED = 4;
|
|
}
|
|
|
|
message ListOrdersRequest {
|
|
string user_id = 1;
|
|
int32 page = 2;
|
|
int32 limit = 3;
|
|
}
|
|
|
|
message ListOrdersResponse {
|
|
repeated OrderResponse orders = 1;
|
|
int32 total_count = 2;
|
|
}
|
|
|
|
message DeleteOrderResponse {
|
|
bool success = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message OrderStatusUpdate {
|
|
string order_id = 1;
|
|
OrderStatus status = 2;
|
|
string timestamp = 3;
|
|
string message = 4;
|
|
} |