biz

package
v0.0.0-...-771d5d4 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrMemberLimitReached = errors.New("member limit reached")
View Source
var ProviderSet = wire.NewSet(NewRoomUseCase)

ProviderSet is biz providers.

Functions

This section is empty.

Types

type JoinedRoom

type JoinedRoom struct {
	Room
	UserId int64       `json:"userId"`
	Role   v1.RoomRole `json:"role"`
}

type Room

type Room struct {
	Id           int64     `json:"id"`
	Name         string    `json:"name"`
	Host         int64     `json:"host"`
	HostName     string    `json:"hostName"`
	Private      bool      `json:"private"`
	Password     string    `json:"password"`
	PasswordHash string    `json:"passwordHash"`
	MemberCount  int       `json:"memberCount"`
	MemberLimit  int       `json:"memberLimit"`
	CreateTime   time.Time `json:"createTime"`
	EmulatorType string    `json:"emulatorType"`
}

type RoomMember

type RoomMember struct {
	Id       int64       `json:"id"`
	UserId   int64       `json:"userId"`
	Role     v1.RoomRole `json:"role"`
	RoomId   int64       `json:"roomId"`
	JoinedAt time.Time   `json:"joinedTime"`
}

type RoomRepo

type RoomRepo interface {
	CreateRoom(ctx context.Context, room *Room) error
	GetRoom(ctx context.Context, id int64) (*Room, error)
	ListRooms(ctx context.Context, page int, pageSize int) ([]*Room, int, error)
	ListJoinedRooms(ctx context.Context, userId int64, page int, pageSize int) ([]*JoinedRoom, int, error)
	GetRoomMember(ctx context.Context, roomId int64, userId int64) (*RoomMember, error)
	AddRoomMember(ctx context.Context, member *RoomMember, room *Room) error
	GetOrCreateRoomSession(ctx context.Context, roomId int64, game string, emulatorType string) (*RoomSession, bool, error)
	GetRoomSession(ctx context.Context, roomId int64) (*RoomSession, error)
	GetOwnedRoom(ctx context.Context, name string, host int64) (*Room, error)
	CountMember(ctx context.Context, roomId int64) (int64, error)
	ListMembers(ctx context.Context, roomId int64) ([]*RoomMember, error)
	UpdateRoom(ctx context.Context, room *Room) error
	DeleteRoom(ctx context.Context, roomId int64) error
	UpdateMember(ctx context.Context, member *RoomMember) error
	DeleteMember(ctx context.Context, roomId, userId int64) error
	DeleteRoomSession(ctx context.Context, roomId int64, instanceId string) error
}

type RoomSession

type RoomSession struct {
	RoomId     int64  `json:"roomId"`
	Endpoint   string `json:"endpoint"`
	InstanceId string `json:"instanceId"`
}

type RoomUseCase

type RoomUseCase struct {
	// contains filtered or unexported fields
}

func NewRoomUseCase

func NewRoomUseCase(rr RoomRepo, logger log.Logger) *RoomUseCase

func (*RoomUseCase) AddDeleteRoomSessionTask

func (uc *RoomUseCase) AddDeleteRoomSessionTask(ctx context.Context, roomId int64, instanceId string) error

func (*RoomUseCase) CreateRoom

func (uc *RoomUseCase) CreateRoom(ctx context.Context, room *Room) error

func (*RoomUseCase) DeleteMember

func (uc *RoomUseCase) DeleteMember(ctx context.Context, roomId, userId int64) error

func (*RoomUseCase) DeleteRoom

func (uc *RoomUseCase) DeleteRoom(ctx context.Context, roomId, userId int64) error

func (*RoomUseCase) GetCreateRoomSession

func (uc *RoomUseCase) GetCreateRoomSession(ctx context.Context, roomId, userId int64, game string) (*RoomSession, error)

func (*RoomUseCase) GetRoom

func (uc *RoomUseCase) GetRoom(ctx context.Context, id int64) (*Room, error)

func (*RoomUseCase) GetRoomMember

func (uc *RoomUseCase) GetRoomMember(ctx context.Context, roomId, userId int64) (*RoomMember, error)

func (*RoomUseCase) GetRoomSession

func (uc *RoomUseCase) GetRoomSession(ctx context.Context, roomId int64) (*RoomSession, error)

func (*RoomUseCase) JoinRoom

func (uc *RoomUseCase) JoinRoom(ctx context.Context, userId int64, roomId int64, password string) error

func (*RoomUseCase) ListJoinedRooms

func (uc *RoomUseCase) ListJoinedRooms(ctx context.Context, userId int64, page int, pageSize int) ([]*JoinedRoom, int, error)

func (*RoomUseCase) ListRoomMembers

func (uc *RoomUseCase) ListRoomMembers(ctx context.Context, roomId int64) ([]*RoomMember, error)

func (*RoomUseCase) ListRooms

func (uc *RoomUseCase) ListRooms(ctx context.Context, page int, pageSize int) ([]*Room, int, error)

func (*RoomUseCase) RemoveRoomSession

func (uc *RoomUseCase) RemoveRoomSession(ctx context.Context, roomId int64) error

func (*RoomUseCase) UpdateMember

func (uc *RoomUseCase) UpdateMember(ctx context.Context, member *RoomMember) error

func (*RoomUseCase) UpdateRoom

func (uc *RoomUseCase) UpdateRoom(ctx context.Context, room *Room, userId int64) error

Jump to

Keyboard shortcuts

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