timoth-y/kicksware-api

View on GitHub
service-protos/orders.proto

Summary

Maintainability
Test Coverage
syntax = "proto3";

package proto;

import "google/protobuf/timestamp.proto";
import "google/protobuf/struct.proto";
import "common.proto";

option go_package = "go.kicksware.com/api/services/orders/api/gRPC/proto";
option csharp_namespace = "Proto";

message Order {
  string uniqueID = 1;
  string userID = 2;
  string referenceID = 3;
  string productID = 4;
  double price = 5;
  string status = 6;
  string sourceURL = 7;
  google.protobuf.Timestamp AddedAt = 8;
}

service OrderService {
  rpc GetOrders(OrderFilter) returns (OrderResponse) {}
  rpc CountOrders(OrderFilter) returns (OrderResponse) {}
  rpc AddOrder(OrderInput) returns (OrderResponse) {}
  rpc EditOrder(OrderInput) returns (OrderResponse) {}
  rpc DeleteOrder(OrderFilter) returns (OrderResponse) {}
}

message OrderFilter {
  repeated string orderID = 1;
  google.protobuf.Struct requestQuery = 2;
  proto.RequestParams requestParams = 3;
}

message OrderInput {
  string userID = 2;
  string referenceID = 3;
  string productID = 4;
  Order order = 5;
}

message OrderResponse {
  repeated Order orders = 1;
  int64 count = 2;
}