server

package
v0.0.0-...-05eea06 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const MaxNumberOfOpenMarkets = 25

MaxNumberOfOpenMarkets is the maximum number of open markets allowed.

Variables

This section is empty.

Functions

This section is empty.

Types

type Arg

type Arg func(o *serverArgs)

Arg is an argument for constructing a Server.

func WithLogger

func WithLogger(logger log.Logger) Arg

WithLogger provides a logger to the Server.

func WithRepo

func WithRepo(repo repo.Repo) Arg

WithRepo provides a repo to the Server.

type Server

type Server struct {
	bettorv1alphaconnect.UnimplementedBettorServiceHandler
	Repo   repo.Repo
	Logger log.Logger
	// contains filtered or unexported fields
}

Server is an implementation of the Bettor service.

func New

func New(args ...Arg) (*Server, error)

New initializes a new Server.

func (*Server) CancelMarket

func (s *Server) CancelMarket(ctx context.Context, in *connect.Request[api.CancelMarketRequest]) (*connect.Response[api.CancelMarketResponse], error)

CancelMarket cancels a betting market and redunds all bettors.

func (*Server) CreateBet

func (s *Server) CreateBet(ctx context.Context, in *connect.Request[api.CreateBetRequest]) (*connect.Response[api.CreateBetResponse], error)

CreateBet places a bet on an open betting market.

func (*Server) CreateMarket

func (s *Server) CreateMarket(ctx context.Context, in *connect.Request[api.CreateMarketRequest]) (*connect.Response[api.CreateMarketResponse], error)

CreateMarket creates a new betting market.

func (*Server) CreateUser

func (s *Server) CreateUser(ctx context.Context, in *connect.Request[api.CreateUserRequest]) (*connect.Response[api.CreateUserResponse], error)

CreateUser creates a new user.

func (*Server) GetBet

func (s *Server) GetBet(ctx context.Context, in *connect.Request[api.GetBetRequest]) (*connect.Response[api.GetBetResponse], error)

GetBet returns a bet by ID.

func (*Server) GetMarket

func (s *Server) GetMarket(ctx context.Context, in *connect.Request[api.GetMarketRequest]) (*connect.Response[api.GetMarketResponse], error)

GetMarket returns a market by ID.

func (*Server) GetUser

func (s *Server) GetUser(ctx context.Context, in *connect.Request[api.GetUserRequest]) (*connect.Response[api.GetUserResponse], error)

GetUser returns a user by ID.

func (*Server) GetUserByUsername

func (s *Server) GetUserByUsername(ctx context.Context, in *connect.Request[api.GetUserByUsernameRequest]) (*connect.Response[api.GetUserByUsernameResponse], error)

GetUserByUsername returns a user by username.

func (*Server) ListBets

func (s *Server) ListBets(ctx context.Context, in *connect.Request[api.ListBetsRequest]) (*connect.Response[api.ListBetsResponse], error)

ListBets lists bets by filters.

func (*Server) ListMarkets

func (s *Server) ListMarkets(ctx context.Context, in *connect.Request[api.ListMarketsRequest]) (*connect.Response[api.ListMarketsResponse], error)

ListMarkets lists markets by filters.

func (*Server) ListUsers

func (s *Server) ListUsers(ctx context.Context, in *connect.Request[api.ListUsersRequest]) (*connect.Response[api.ListUsersResponse], error)

ListUsers lists users by filters. NOTE: "total_centipoints" cannot be paginated at the moment.

func (*Server) LockMarket

func (s *Server) LockMarket(ctx context.Context, in *connect.Request[api.LockMarketRequest]) (*connect.Response[api.LockMarketResponse], error)

LockMarket locks a betting market preventing further bets.

func (*Server) SettleMarket

func (s *Server) SettleMarket(ctx context.Context, in *connect.Request[api.SettleMarketRequest]) (*connect.Response[api.SettleMarketResponse], error)

SettleMarket settles a betting market and pays out bets.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL