adding project logic
This commit is contained in:
32
src/domain/order.go
Normal file
32
src/domain/order.go
Normal file
@ -0,0 +1,32 @@
|
||||
// Package domain defines all the domain models
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/shopspring/decimal"
|
||||
)
|
||||
|
||||
// Order represents a FIX NewOrderSingle message received from a client.
|
||||
type Order struct {
|
||||
ClOrdID string
|
||||
Symbol string
|
||||
Side string
|
||||
OrdType string
|
||||
OrderQty decimal.Decimal
|
||||
Price decimal.Decimal
|
||||
SessionID string
|
||||
ReceivedAt time.Time
|
||||
}
|
||||
|
||||
// OrderStore is the port for persisting and retrieving orders.
|
||||
type OrderStore interface {
|
||||
SaveOrder(order Order)
|
||||
GetOrders() []Order
|
||||
GetOrderByClOrdID(id string) (Order, bool)
|
||||
}
|
||||
|
||||
// FIXSender is the port for sending FIX messages back to clients.
|
||||
type FIXSender interface {
|
||||
SendQuote(clOrdID, quoteID, symbol, currency string, bidPx, offerPx, bidSize, offerSize decimal.Decimal) error
|
||||
}
|
||||
Reference in New Issue
Block a user