inmemory

package
v0.0.0-...-897d125 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2018 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DummyRoom1 = domain.Room{ID: 1, Name: "title1", MemberIDSet: domain.NewUserIDSet(), MemberReadTimes: domain.NewTimeSet()}
	DummyRoom2 = domain.Room{ID: 2, Name: "title2", MemberIDSet: domain.NewUserIDSet(2, 3), MemberReadTimes: domain.NewTimeSet(2, 3)}
	DummyRoom3 = domain.Room{ID: 3, Name: "title3", MemberIDSet: domain.NewUserIDSet(2), MemberReadTimes: domain.NewTimeSet(2)}
)
View Source
var (
	DummyUser = domain.User{
		ID:        0,
		Name:      "user",
		FirstName: "u-",
		LastName:  "ser",
		Password:  "password",
	}
	DummyUser2 = domain.User{
		ID:        2,
		Name:      "user2",
		FirstName: "u-",
		LastName:  "ser",
		Password:  "password",
		FriendIDs: domain.NewUserIDSet(3),
	}
	DummyUser3 = domain.User{
		ID:        3,
		Name:      "user3",
		FirstName: "u-",
		LastName:  "ser",
		Password:  "password",
	}
)

Functions

This section is empty.

Types

type EventRepository

type EventRepository struct{}

func (EventRepository) FindAllByStreamID

func (EventRepository) FindAllByStreamID(ctx context.Context, streamID event.StreamID, after time.Time, limit int) ([]event.Event, error)

func (EventRepository) FindAllByTimeCursor

func (EventRepository) FindAllByTimeCursor(ctx context.Context, after time.Time, limit int) ([]event.Event, error)

func (EventRepository) Store

func (EventRepository) Store(ctx context.Context, ev ...event.Event) ([]uint64, error)

type MessageRepository

type MessageRepository struct {
	domain.EmptyTxBeginner
	// contains filtered or unexported fields
}

func NewMessageRepository

func NewMessageRepository(pubsub chat.Pubsub) *MessageRepository

func (*MessageRepository) Find

func (repo *MessageRepository) Find(ctx context.Context, msgID uint64) (domain.Message, error)

func (*MessageRepository) FindRoomMessagesOrderByLatest

func (repo *MessageRepository) FindRoomMessagesOrderByLatest(ctx context.Context, roomID uint64, before time.Time, limit int) ([]domain.Message, error)

func (*MessageRepository) FindUnreadRoomMessages

func (repo *MessageRepository) FindUnreadRoomMessages(ctx context.Context, userID, roomID uint64, limit int) (*queried.UnreadRoomMessages, error)

func (*MessageRepository) RemoveAllByRoomID

func (repo *MessageRepository) RemoveAllByRoomID(ctx context.Context, roomID uint64) error

func (*MessageRepository) Store

func (repo *MessageRepository) Store(ctx context.Context, m domain.Message) (uint64, error)

func (*MessageRepository) UpdatingService

func (repo *MessageRepository) UpdatingService(ctx context.Context)

It runs infinite loop for updating query data by domain events. if context is canceled, the infinite loop quits. It must be called to be updated to latest query data.

type Repositories

func OpenRepositories

func OpenRepositories(pubsub chat.Pubsub) *Repositories

func (*Repositories) Close

func (r *Repositories) Close() error

func (Repositories) Events

func (r Repositories) Events() event.EventRepository

func (Repositories) Messages

func (r Repositories) Messages() domain.MessageRepository

func (Repositories) Rooms

func (*Repositories) UpdatingService

func (r *Repositories) UpdatingService(ctx context.Context)

run UpdatingService to make the query data is latest. User should call this with new Repositories instance. If context is done, then the services will be stopped.

func (Repositories) Users

type RoomRepository

type RoomRepository struct {
	domain.EmptyTxBeginner
}

func NewRoomRepository

func NewRoomRepository() *RoomRepository

func (*RoomRepository) Create

func (repo *RoomRepository) Create(ctx context.Context, r domain.Room) (uint64, error)

func (*RoomRepository) Find

func (repo *RoomRepository) Find(ctx context.Context, roomID uint64) (domain.Room, error)

func (*RoomRepository) FindAllByUserID

func (repo *RoomRepository) FindAllByUserID(ctx context.Context, userID uint64) ([]domain.Room, error)

func (*RoomRepository) FindRoomInfo

func (repo *RoomRepository) FindRoomInfo(ctx context.Context, userID, roomID uint64) (*queried.RoomInfo, error)

func (*RoomRepository) Remove

func (repo *RoomRepository) Remove(ctx context.Context, r domain.Room) error

func (*RoomRepository) Store

func (repo *RoomRepository) Store(ctx context.Context, r domain.Room) (uint64, error)

func (*RoomRepository) Update

func (repo *RoomRepository) Update(ctx context.Context, r domain.Room) (uint64, error)

type UserRepository

type UserRepository struct {
	domain.EmptyTxBeginner
}

func (*UserRepository) Create

func (repo *UserRepository) Create(ctx context.Context, u domain.User) (uint64, error)

func (UserRepository) Find

func (repo UserRepository) Find(ctx context.Context, id uint64) (domain.User, error)

func (UserRepository) FindByNameAndPassword

func (repo UserRepository) FindByNameAndPassword(ctx context.Context, name, password string) (*queried.AuthUser, error)

func (UserRepository) FindUserRelation

func (repo UserRepository) FindUserRelation(ctx context.Context, userID uint64) (*queried.UserRelation, error)

func (UserRepository) Store

func (repo UserRepository) Store(ctx context.Context, u domain.User) (uint64, error)

func (*UserRepository) Update

func (repo *UserRepository) Update(ctx context.Context, u domain.User) (uint64, error)

Jump to

Keyboard shortcuts

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