sprawl/sprawl

View on GitHub
interfaces/OrderService.go

Summary

Maintainability
A
0 mins
Test Coverage
package interfaces

import (
    "context"

    "github.com/libp2p/go-libp2p-core/crypto"
    peer "github.com/libp2p/go-libp2p-core/peer"
    "github.com/sprawl/sprawl/pb"
)

// OrderService is an interface to the Order endpoints in sprawl.proto
type OrderService interface {
    RegisterStorage(db Storage)
    RegisterP2p(p2p P2p)
    RegisterWebsocket(websocket WebsocketService)
    Create(ctx context.Context, in *pb.CreateRequest) (*pb.CreateResponse, error)
    Receive(data []byte, from peer.ID) error
    Delete(ctx context.Context, in *pb.OrderSpecificRequest) (*pb.Empty, error)
    Lock(ctx context.Context, in *pb.OrderSpecificRequest) (*pb.Empty, error)
    Unlock(ctx context.Context, in *pb.OrderSpecificRequest) (*pb.Empty, error)
    GetOrder(ctx context.Context, in *pb.OrderSpecificRequest) (*pb.Order, error)
    GetAllOrders(ctx context.Context, in *pb.Empty) (*pb.OrderList, error)
    GetSignature(order *pb.Order) ([]byte, error)
    VerifyOrder(publicKey crypto.PubKey, order *pb.Order) (bool, error)
}