biz

package
v0.0.0-...-4c0fd1a Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUserNotFound = status.Errorf(codes.NotFound, "reason: %v", v1.ErrorReason_USER_NOT_FOUND.String())
	ErrChatNotFound = status.Errorf(codes.NotFound, "reason: %v", v1.ErrorReason_CHAT_NOT_FOUND.String())
)

ProviderSet is biz providers.

Functions

This section is empty.

Types

type Chat

type Chat struct {
	ID      int64
	OwnerID int64
}

Chat model

type ChatMessage

type ChatMessage struct {
	ID        int64
	ChatID    int64
	UserID    int64
	Text      string
	Timestamp time.Time
}

ChatMessage is a chat message model

type MessengerRepo

type MessengerRepo interface {
	FindChatByID(context.Context, int64) (*Chat, error)
	FindUserByID(context.Context, int64) (*User, error)
	SaveMessage(context.Context, *ChatMessage) (*ChatMessage, error)
}

MessengerRepo is a Messenger repo.

type MessengerUsecase

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

MessengerUsecase is a Messenger usecase.

func NewMessengerUsecase

func NewMessengerUsecase(repo MessengerRepo, logger log.Logger, observer observer.ChatsObserver) *MessengerUsecase

NewMessengerUsecase new a Messenger usecase.

func (*MessengerUsecase) Chat

func (*MessengerUsecase) Send

func (uc *MessengerUsecase) Send(ctx context.Context, chatId int64, text string, ts time.Time) (*ChatMessage, *User, error)

type User

type User struct {
	ID    int64
	Name  string
	Color int32 // hex color, max: 16777215
}

User is a user model.

Jump to

Keyboard shortcuts

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