storage

package
v0.0.0-...-23ae872 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidUserOrPassword = errors.New("invalid password or user not found")
)

Functions

This section is empty.

Types

type ChatsService

type ChatsService interface {
	// GetChat Получить информацию о чате по id
	GetChat(ctx context.Context, chatId int64) (model.Chat, error)
	// UserGetChats Получить список чатов
	UserGetChats(ctx context.Context, userId int64) ([]model.Chat, error)
	// ChatCreate Создать новый чат
	ChatCreate(ctx context.Context, title string, participants ...int64) (model.Chat, error)
	// ChatDelete Удалить чат
	ChatDelete(ctx context.Context, chatId int64) (model.Chat, error)
	// ChatGetParticipants Получить список участников чата
	ChatGetParticipants(ctx context.Context, chatId int64) ([]int64, error)
	// ChatAddParticipants Добавить участников чата
	ChatAddParticipants(ctx context.Context, chatId int64, userIds []int64) error
	// ChatLeave Покинуть чат
	ChatLeave(ctx context.Context, chatId, userId int64) error
	// MessageSave Отправить сообщение в чат
	MessageSave(ctx context.Context, chatId, userFromId int64, date time.Time, message string) (model.Message, error)
	// ChatMessages Получение списка сообщений из чата
	ChatMessages(ctx context.Context, chatId int64, limit, offset int64) ([]model.Message, error)
	// MessageGet Получить сообщение по id
	MessageGet(ctx context.Context, id int64) (model.Message, error)
}

type UserService

type UserService interface {
	// GetById Получение информации о пользователе по id
	GetById(ctx context.Context, id int64) (model.User, error)
	// GetByLogin Поиск пользователя по логину
	GetByLogin(ctx context.Context, login string) (model.User, error)
	// GetUsers Поиск пользователей с фильтрацией по полям
	GetUsers(ctx context.Context, filter map[string]string, order map[string]string, offset, limit int) ([]model.User, error)
	// ValidateUser Проверка пароля пользователя
	ValidateUser(ctx context.Context, login string, password string) (bool, error)
	// CheckPasswordHash Сравнение хэша с паролем
	CheckPasswordHash(ctx context.Context, password, hash string) bool
	// Create Создать пользователя
	Create(ctx context.Context, user model.User) (model.User, error)
	// Update Обновить пользователя
	Update(ctx context.Context, user model.User, fieldsForUpdating map[string]struct{}) (model.User, error)
	// GetFriends Получение списка пользователей
	GetFriends(ctx context.Context, id int64) ([]model.User, error)
	// GetUserFollowers Получить список followers пользователей
	GetUserFollowers(ctx context.Context, id int64) ([]int64, error)
	// AddFriend Добавить пользователя
	AddFriend(ctx context.Context, user int64, friend int64) (bool, error)
	// DelFriend Удалить пользователя из друзей
	DelFriend(ctx context.Context, user int64, friend int64) (bool, error)
	// PublishPost Опубликовать запись
	PublishPost(ctx context.Context, user int64, title, message string) (model.Post, error)
	// GetFriendsPosts Получение ленты друзей
	GetFriendsPosts(ctx context.Context, id int64, limit int64) ([]model.Post, error)
	// GetPostsByUserId Получить список постов пользователя
	GetPostsByUserId(ctx context.Context, userId int64, limit, offset int64) ([]model.Post, error)
	// GetPostById Получить post по его Id
	GetPostById(ctx context.Context, postId int64) (model.Post, error)
	// GetUserName Получить имя пользователя
	GetUserName(ctx context.Context, userId int64) (string, error)
	// GetLogin Получить логин пользователя
	GetLogin(ctx context.Context, userId int64) (string, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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