Documentation
¶
Index ¶
- Variables
- type EventRepository
- func (EventRepository) FindAllByStreamID(ctx context.Context, streamID event.StreamID, after time.Time, limit int) ([]event.Event, error)
- func (EventRepository) FindAllByTimeCursor(ctx context.Context, after time.Time, limit int) ([]event.Event, error)
- func (EventRepository) Store(ctx context.Context, ev ...event.Event) ([]uint64, error)
- type MessageRepository
- func (repo *MessageRepository) Find(ctx context.Context, msgID uint64) (domain.Message, error)
- func (repo *MessageRepository) FindRoomMessagesOrderByLatest(ctx context.Context, roomID uint64, before time.Time, limit int) ([]domain.Message, error)
- func (repo *MessageRepository) FindUnreadRoomMessages(ctx context.Context, userID, roomID uint64, limit int) (*queried.UnreadRoomMessages, error)
- func (repo *MessageRepository) RemoveAllByRoomID(ctx context.Context, roomID uint64) error
- func (repo *MessageRepository) Store(ctx context.Context, m domain.Message) (uint64, error)
- func (repo *MessageRepository) UpdatingService(ctx context.Context)
- type Repositories
- func (r *Repositories) Close() error
- func (r Repositories) Events() event.EventRepository
- func (r Repositories) Messages() domain.MessageRepository
- func (r Repositories) Rooms() domain.RoomRepository
- func (r *Repositories) UpdatingService(ctx context.Context)
- func (r Repositories) Users() domain.UserRepository
- type RoomRepository
- func (repo *RoomRepository) Create(ctx context.Context, r domain.Room) (uint64, error)
- func (repo *RoomRepository) Find(ctx context.Context, roomID uint64) (domain.Room, error)
- func (repo *RoomRepository) FindAllByUserID(ctx context.Context, userID uint64) ([]domain.Room, error)
- func (repo *RoomRepository) FindRoomInfo(ctx context.Context, userID, roomID uint64) (*queried.RoomInfo, error)
- func (repo *RoomRepository) Remove(ctx context.Context, r domain.Room) error
- func (repo *RoomRepository) Store(ctx context.Context, r domain.Room) (uint64, error)
- func (repo *RoomRepository) Update(ctx context.Context, r domain.Room) (uint64, error)
- type UserRepository
- func (repo *UserRepository) Create(ctx context.Context, u domain.User) (uint64, error)
- func (repo UserRepository) Find(ctx context.Context, id uint64) (domain.User, error)
- func (repo UserRepository) FindByNameAndPassword(ctx context.Context, name, password string) (*queried.AuthUser, error)
- func (repo UserRepository) FindUserRelation(ctx context.Context, userID uint64) (*queried.UserRelation, error)
- func (repo UserRepository) Store(ctx context.Context, u domain.User) (uint64, error)
- func (repo *UserRepository) Update(ctx context.Context, u domain.User) (uint64, error)
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) FindAllByTimeCursor ¶
type MessageRepository ¶
type MessageRepository struct {
domain.EmptyTxBeginner
// contains filtered or unexported fields
}
func NewMessageRepository ¶
func NewMessageRepository(pubsub chat.Pubsub) *MessageRepository
func (*MessageRepository) FindRoomMessagesOrderByLatest ¶
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) 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 ¶
type Repositories struct {
*UserRepository
*MessageRepository
*RoomRepository
*EventRepository
}
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 (r Repositories) Rooms() domain.RoomRepository
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 ¶
func (r Repositories) Users() domain.UserRepository
type RoomRepository ¶
type RoomRepository struct {
domain.EmptyTxBeginner
}
func NewRoomRepository ¶
func NewRoomRepository() *RoomRepository
func (*RoomRepository) FindAllByUserID ¶
func (*RoomRepository) FindRoomInfo ¶
type UserRepository ¶
type UserRepository struct {
domain.EmptyTxBeginner
}
func (UserRepository) FindByNameAndPassword ¶
func (UserRepository) FindUserRelation ¶
func (repo UserRepository) FindUserRelation(ctx context.Context, userID uint64) (*queried.UserRelation, error)
Click to show internal directories.
Click to hide internal directories.