Documentation
¶
Index ¶
- Constants
- Variables
- type AssembleFilePart
- type AuthUseCase
- func (a *AuthUseCase) BlacklistToken(ctx context.Context, token string, ttl time.Duration) error
- func (a *AuthUseCase) CodeTemplate(data map[string]string) (string, error)
- func (a *AuthUseCase) Delete(ctx context.Context, channel string, token string) error
- func (a *AuthUseCase) GetDevices(ctx context.Context, userId int) ([]*domain.TokenDevice, error)
- func (a *AuthUseCase) GetSessionByToken(ctx context.Context, token string) (*postgresModel.UserSession, error)
- func (a *AuthUseCase) Login(ctx context.Context, guard string, _email string) (*string, error)
- func (a *AuthUseCase) Logout(ctx context.Context, userId int) error
- func (a *AuthUseCase) LogoutByAccessToken(ctx context.Context, token string) error
- func (a *AuthUseCase) RefreshToken(ctx context.Context, refreshToken string) (string, string, error)
- func (a *AuthUseCase) Register(ctx context.Context, email string) (*postgresModel.User, error)
- func (a *AuthUseCase) RequestEmailChange(ctx context.Context, userID int, newEmail string) (string, error)
- func (a *AuthUseCase) RequestEmailLogin(ctx context.Context, email string) (string, int64, error)
- func (a *AuthUseCase) RevokeDevice(ctx context.Context, userId int, deviceId int) error
- func (a *AuthUseCase) Send(ctx context.Context, channel string, _email string, token string) (*string, error)
- func (a *AuthUseCase) ValidateToken(ctx context.Context, token string) (*domain.User, error)
- func (a *AuthUseCase) Verify(ctx context.Context, channel string, token string, code string) bool
- func (a *AuthUseCase) VerifyEmailChange(ctx context.Context, token, code string) error
- func (a *AuthUseCase) VerifyEmailLogin(ctx context.Context, verificationToken, code string) (*domain.User, string, string, error)
- type BotCreateOpt
- type BotUseCase
- func (b *BotUseCase) Chats(ctx context.Context, botId int) ([]*entity.SearchChat, error)
- func (b *BotUseCase) Create(ctx context.Context, opt *BotCreateOpt) (*string, error)
- func (b *BotUseCase) CreateBot(ctx context.Context, ownerId int, name, username string) (token string, err error)
- func (b *BotUseCase) DeleteBot(ctx context.Context, ownerId int, botUsername string) error
- func (b *BotUseCase) FileDocumentUpload(ctx context.Context, file *multipart.FileHeader) (*string, error)
- func (b *BotUseCase) FileUpload(ctx context.Context, file *multipart.FileHeader) (*string, error)
- func (b *BotUseCase) GetBotByToken(ctx context.Context, token string) (*postgresModel.Bot, error)
- func (b *BotUseCase) GetByBotUserId(ctx context.Context, botUserId int) (*domain.UserBot, error)
- func (b *BotUseCase) GetByToken(ctx context.Context, token string) (*domain.UserBot, error)
- func (b *BotUseCase) GetLoginBot(ctx context.Context) (*postgresModel.Bot, error)
- func (b *BotUseCase) List(ctx context.Context, uid int) ([]*postgresModel.Bot, error)
- func (b *BotUseCase) ListBots(ctx context.Context, ownerId int) ([]*domain.UserBot, error)
- func (b *BotUseCase) RegenerateToken(ctx context.Context, ownerId int, botUsername string) (newToken string, err error)
- type ChatDisturbOpt
- type ChatFolderUseCase
- func (c *ChatFolderUseCase) Delete(ctx context.Context, id int, uid int) error
- func (c *ChatFolderUseCase) ListFolders(ctx context.Context, uid int) ([]*postgresModel.ChatFolder, error)
- func (c *ChatFolderUseCase) SaveFolderLayout(ctx context.Context, uid int, inserts, updates []*postgresModel.ChatFolder, ...) error
- func (c *ChatFolderUseCase) SetPeerFolder(ctx context.Context, uid int, peerType, peerId, folderId int) error
- type ChatTopOpt
- type ChatUseCase
- func (c *ChatUseCase) AcquireLock(ctx context.Context, key string, seconds int) bool
- func (c *ChatUseCase) AddGroupMembers(ctx context.Context, uid int, groupId int, userIds []int) error
- func (c *ChatUseCase) AssertPrivateMessagingNotBlocked(ctx context.Context, fromUserId, toUserId int) error
- func (c *ChatUseCase) BatchAddList(ctx context.Context, uid int, values map[string]int)
- func (c *ChatUseCase) ClearHistory(ctx context.Context, uid int, peerType int, peerId int) error
- func (c *ChatUseCase) Collect(ctx context.Context, uid int, messageId int64) error
- func (c *ChatUseCase) ComposeDisabledForPeer(ctx context.Context, peerType, peerId int) int32
- func (c *ChatUseCase) Create(ctx context.Context, opt *CreateChatOpt) (*postgresModel.Chat, error)
- func (c *ChatUseCase) CreateChat(ctx context.Context, uid int, userId int) (*event.Chat, *event.User, error)
- func (c *ChatUseCase) CreateGroupChat(ctx context.Context, uid int, title string, userIds []int) (*event.Chat, *event.ChatGroup, error)
- func (c *ChatUseCase) CreatePoll(ctx context.Context, uid int, peerType int, peerId int, question string, ...) (*event.Message, error)
- func (c *ChatUseCase) Delete(ctx context.Context, uid int, id int) error
- func (c *ChatUseCase) DeleteChat(ctx context.Context, uid int, peerType int, peerId int) error
- func (c *ChatUseCase) DeleteMessage(ctx context.Context, uid int, messageId int64) error
- func (c *ChatUseCase) DeleteMessages(ctx context.Context, uid int, messageIds []int64, forEveryone bool) error
- func (c *ChatUseCase) DeleteRecordList(ctx context.Context, opt *RemoveRecordListOpt) error
- func (c *ChatUseCase) Disturb(ctx context.Context, opt *ChatDisturbOpt) error
- func (c *ChatUseCase) EditMessage(ctx context.Context, uid int, peerType int, peerId int, messageId int64, ...) (*event.Message, error)
- func (c *ChatUseCase) FindGroupSessionID(uid int, groupID int) int
- func (c *ChatUseCase) FindPrivateSessionID(uid int, receiverId int) int
- func (c *ChatUseCase) GetAllUnread(ctx context.Context, uid int) map[string]int
- func (c *ChatUseCase) GetAllUserIds(ctx context.Context, uid int) []int64
- func (c *ChatUseCase) GetCachedMessage(ctx context.Context, chatType int, uid int, receiverID int) (*entity.MessageItem, error)
- func (c *ChatUseCase) GetCallbackQueriesForBot(ctx context.Context, botUserId int, afterId int64, limit int) ([]*event.BotCallbackQuery, error)
- func (c *ChatUseCase) GetChats(ctx context.Context, uid int) ([]*event.Chat, []*event.User, []*event.ChatGroup, error)
- func (c *ChatUseCase) GetGroupInfo(ctx context.Context, uid int, groupId int) (*event.ChatGroup, []*event.ChatGroupMember, []*event.User, error)
- func (c *ChatUseCase) GetHistory(ctx context.Context, uid int, peerUserId int64, messageId int64, limit int64) ([]*event.Message, []*event.User, error)
- func (c *ChatUseCase) GetHistoryByPeer(ctx context.Context, uid int, peerType int, peerId int, messageId int64, ...) ([]*event.Message, []*event.User, error)
- func (c *ChatUseCase) GetIncomingForBot(ctx context.Context, botUserId int, afterId int64, limit int) ([]*event.Message, error)
- func (c *ChatUseCase) GetMessageById(ctx context.Context, messageId int64) (*event.Message, error)
- func (c *ChatUseCase) GetNotifySettings(ctx context.Context, chatType int, uid int, chatId int64) (*entity.NotifySettings, error)
- func (c *ChatUseCase) GetTotalUnreadCount(ctx context.Context, uid int) (int, error)
- func (c *ChatUseCase) GetUnread(ctx context.Context, chatType int, receiverID int, uid int) int
- func (c *ChatUseCase) GroupMemberIDs(ctx context.Context, groupID int) ([]int, error)
- func (c *ChatUseCase) IsDisturb(uid int, receiverID int, chatType int) bool
- func (c *ChatUseCase) IsOnline(ctx context.Context, channel string, uid int) bool
- func (c *ChatUseCase) List(ctx context.Context, uid int) ([]*entity.SearchChat, error)
- func (c *ChatUseCase) ListPinnedMessageIDs(ctx context.Context, uid int, peerType, peerId int, topicID int64) ([]int64, error)
- func (c *ChatUseCase) PinMessage(ctx context.Context, uid int, peerType, peerId int, topicID, messageID int64) error
- func (c *ChatUseCase) PublishMessageDeleted(ctx context.Context, peerId, fromPeerId int, messageIds []int64) error
- func (c *ChatUseCase) PublishMessageRead(ctx context.Context, readerUID, peerID int, lastReadMessageID int64) error
- func (c *ChatUseCase) PublishNewMessage(ctx context.Context, msg *event.Message) error
- func (c *ChatUseCase) PublishTyping(ctx context.Context, typerUID, peerType, peerRoomID int) error
- func (c *ChatUseCase) ReleaseLock(ctx context.Context, key string)
- func (c *ChatUseCase) RemoveGroupMembers(ctx context.Context, uid int, groupId int, userIds []int) error
- func (c *ChatUseCase) ReportInlineCallback(ctx context.Context, fromUserId int, peerType int, peerId int, messageId int64, ...) error
- func (c *ChatUseCase) ResetUnread(ctx context.Context, chatType int, receiverID int, uid int)
- func (c *ChatUseCase) SearchChatMessagesByPeer(ctx context.Context, uid int, peerType int, peerId int, query string, ...) ([]*event.Message, []*event.User, error)
- func (c *ChatUseCase) SendCodeToPeer(ctx context.Context, uid int, peerType int, peerId int, lang, code string, ...) (*event.Message, error)
- func (c *ChatUseCase) SendLocationToPeer(ctx context.Context, uid int, peerType int, peerId int, ...) (*event.Message, error)
- func (c *ChatUseCase) SendMessage(ctx context.Context, uid int, peerUserId int, content string, ...) (*event.Message, error)
- func (c *ChatUseCase) SendMessageToPeer(ctx context.Context, uid int, peerType int, peerId int, content string, ...) (*event.Message, error)
- func (c *ChatUseCase) SendStickerToPeer(ctx context.Context, uid int, peerType int, peerId int, stickerId int64, ...) (*event.Message, error)
- func (c *ChatUseCase) SetChatNotifications(ctx context.Context, uid int, peerType int, peerID int, muted bool) error
- func (c *ChatUseCase) SetGroupMemberRole(ctx context.Context, uid int, groupId int, targetUserId int, role int) error
- func (c *ChatUseCase) SetGroupTopicPinnedMessage(ctx context.Context, uid, groupID int, topicID int64, messageID int64) (*entity.GroupTopic, error)
- func (c *ChatUseCase) SetLoginBot(h *bot.Handler, botUserID int)
- func (c *ChatUseCase) SetMessageReaction(ctx context.Context, uid int, peerType int, peerId int, messageId int64, ...) error
- func (c *ChatUseCase) SetPeerBlock(ctx context.Context, uid int, peerType int, peerID int, blocked bool) error
- func (c *ChatUseCase) Top(ctx context.Context, opt *ChatTopOpt) error
- func (c *ChatUseCase) TouchGroupChatsAfterGroupUpdate(ctx context.Context, groupId int)
- func (c *ChatUseCase) UnpinMessage(ctx context.Context, uid int, peerType, peerId int, topicID, messageID int64) error
- func (c *ChatUseCase) UpdateNotifySettings(ctx context.Context, chatType int, uid int, chatId int64, ...) error
- func (c *ChatUseCase) UploadGroupPhoto(ctx context.Context, uid int, groupId int, fileId int64) (avatarFileID int64, err error)
- func (c *ChatUseCase) UserMayReadFile(ctx context.Context, uid int, fileID int64) error
- func (c *ChatUseCase) VotePoll(ctx context.Context, uid int, peerType int, peerId int, messageId int64, ...) error
- type ContactUseCase
- func (c *ContactUseCase) AddContact(ctx context.Context, uid, friendId int) error
- func (c *ContactUseCase) Delete(ctx context.Context, uid, friendId int) error
- func (c *ContactUseCase) GetContactIds(ctx context.Context, uid int) []int64
- func (c *ContactUseCase) GetFriendStatus(ctx context.Context, uid, friendId int) (int32, error)
- func (c *ContactUseCase) HasContact(ctx context.Context, uid, friendId int) bool
- func (c *ContactUseCase) IsFriend(ctx context.Context, uid, friendId int, useCache bool) bool
- func (c *ContactUseCase) List(ctx context.Context, uid int) ([]*entity.ContactListItem, error)
- type CreateChatOpt
- type GroupChatMemberUseCase
- func (g *GroupChatMemberUseCase) FindMasterByGroup(ctx context.Context, gid int) (*postgresModel.GroupChatMember, error)
- func (g *GroupChatMemberUseCase) GetLeaderGroupIds(ctx context.Context, uid int) ([]int, error)
- func (g *GroupChatMemberUseCase) GetUserGroupIds(ctx context.Context, uid int) []int
- func (g *GroupChatMemberUseCase) Handover(ctx context.Context, groupId int, userId int, memberId int) error
- func (g *GroupChatMemberUseCase) IsLeader(ctx context.Context, gid, uid int) bool
- func (g *GroupChatMemberUseCase) IsMaster(ctx context.Context, gid, uid int) bool
- func (g *GroupChatMemberUseCase) IsMember(ctx context.Context, gid, uid int, cache bool) bool
- func (g *GroupChatMemberUseCase) SetLeaderStatus(ctx context.Context, groupId int, userId int, leader int) error
- func (g *GroupChatMemberUseCase) SetMuteStatus(ctx context.Context, groupId int, userId int, status int) error
- type GroupChatRequestUseCase
- func (g *GroupChatRequestUseCase) Auth(ctx context.Context, id, userId int) bool
- func (g *GroupChatRequestUseCase) Create(ctx context.Context, req *postgresModel.GroupChatRequest) error
- func (g *GroupChatRequestUseCase) Delete(ctx context.Context, id, userId int) error
- func (g *GroupChatRequestUseCase) FindByGroupAndStatus(ctx context.Context, groupId, status int) (*postgresModel.GroupChatRequest, error)
- func (g *GroupChatRequestUseCase) FindByID(ctx context.Context, id int) (*postgresModel.GroupChatRequest, error)
- func (g *GroupChatRequestUseCase) GetUnread(ctx context.Context, uid int) int
- func (g *GroupChatRequestUseCase) IncrementUnread(ctx context.Context, uid int)
- func (g *GroupChatRequestUseCase) List(ctx context.Context, groupIds []int) ([]*entity.GroupApplyList, error)
- func (g *GroupChatRequestUseCase) PublishNewRequest(ctx context.Context, groupId, userId int)
- func (g *GroupChatRequestUseCase) ResetUnread(ctx context.Context, uid int)
- func (g *GroupChatRequestUseCase) Touch(ctx context.Context, id int) error
- func (g *GroupChatRequestUseCase) UpdateStatus(ctx context.Context, id, status int) error
- type GroupChatUseCase
- func (g *GroupChatUseCase) AcquireLock(ctx context.Context, key string, seconds int) bool
- func (g *GroupChatUseCase) ApplyGroupPhotoID(ctx context.Context, uid, groupId int, fileID int64) error
- func (g *GroupChatUseCase) CountGroupMemberNum(ids []int) ([]*domain.CountGroupMember, error)
- func (g *GroupChatUseCase) Create(ctx context.Context, opt *GroupCreateOpt) (int, error)
- func (g *GroupChatUseCase) CreateGroupTopic(ctx context.Context, uid, groupID int, name string) (*entity.GroupTopic, error)
- func (g *GroupChatUseCase) Dismiss(ctx context.Context, groupId int, uid int) error
- func (g *GroupChatUseCase) FindByID(ctx context.Context, id int) (*postgresModel.GroupChat, error)
- func (g *GroupChatUseCase) GetGroupApplyNotificationData(ctx context.Context, groupId, applicantUserId int) (leaderUserId int, groupName, applicantUsername string, err error)
- func (g *GroupChatUseCase) GetGroupNamesByIDs(ctx context.Context, groupIDs []int) (map[int]string, error)
- func (g *GroupChatUseCase) GetGroupTopics(ctx context.Context, uid, groupID int) ([]*entity.GroupTopic, error)
- func (g *GroupChatUseCase) GetMemberIDs(ctx context.Context, groupID int) []int
- func (g *GroupChatUseCase) GetMembers(ctx context.Context, groupID int) []*entity.MemberItem
- func (g *GroupChatUseCase) Invite(ctx context.Context, opt *GroupInviteOpt) error
- func (g *GroupChatUseCase) List(userId int) ([]*entity.GroupItem, error)
- func (g *GroupChatUseCase) ReleaseLock(ctx context.Context, key string)
- func (g *GroupChatUseCase) RemoveMember(ctx context.Context, opt *GroupRemoveMembersOpt) error
- func (g *GroupChatUseCase) SearchOvertList(ctx context.Context, opt *domain.SearchOvertListOpt) ([]*postgresModel.GroupChat, error)
- func (g *GroupChatUseCase) Secede(ctx context.Context, groupId int, uid int) error
- func (g *GroupChatUseCase) SetGroupTopicCreationPolicy(ctx context.Context, uid, groupID int, policy int) error
- func (g *GroupChatUseCase) SetGroupTopicsEnabled(ctx context.Context, uid, groupID int, enabled bool) error
- func (g *GroupChatUseCase) Update(ctx context.Context, opt *GroupUpdateOpt) error
- func (g *GroupChatUseCase) UpdateByID(ctx context.Context, id int, data map[string]any) (int, error)
- func (g *GroupChatUseCase) UpdateGroupProfile(ctx context.Context, uid, groupID int, title, description string) error
- type GroupCreateOpt
- type GroupInviteOpt
- type GroupInviteUseCase
- type GroupRemoveMembersOpt
- type GroupUpdateOpt
- type IpAddressResponse
- type IpAddressUseCase
- type MessageExtraMapper
- func (m *MessageExtraMapper) AudioFromMap(extra map[string]any) *entity.MessageExtraAudio
- func (m *MessageExtraMapper) CodeFromMap(extra map[string]any) *entity.MessageExtraCode
- func (m *MessageExtraMapper) FileFromMap(extra map[string]any) *entity.MessageExtraFile
- func (m *MessageExtraMapper) ForwardFromMap(extra map[string]any) *entity.MessageExtraForward
- func (m *MessageExtraMapper) GroupMutedFromMap(extra map[string]any) (ownerId int, ownerName string)
- func (m *MessageExtraMapper) ImageFromMap(extra map[string]any) *entity.MessageExtraImage
- func (m *MessageExtraMapper) LocationFromMap(extra map[string]any) *entity.MessageExtraLocation
- func (m *MessageExtraMapper) LoginFromMap(extra map[string]any) *entity.MessageExtraLogin
- func (m *MessageExtraMapper) MentionFromExtraMap(extra map[string]any) *entity.Mention
- func (m *MessageExtraMapper) ReplyFromExtra(extra map[string]any) *entity.Reply
- func (m *MessageExtraMapper) VideoFromMap(extra map[string]any) *entity.MessageExtraVideo
- type MessageUseCase
- func (m *MessageUseCase) GetForwardMessages(ctx context.Context, uid int, messageId int64) ([]*entity.MessageItem, error)
- func (m *MessageUseCase) GetHistory(ctx context.Context, opt *entity.QueryGetHistoryOpt) ([]*entity.MessageItem, error)
- func (m *MessageUseCase) GetMessage(ctx context.Context, messageId int64) (*entity.MessageItem, error)
- func (m *MessageUseCase) GetMessageActions(ctx context.Context, uid int, messageId int64, chatType, receiverId int) (*entity.MessageActions, error)
- func (m *MessageUseCase) GetMessageAttachmentStorage(ctx context.Context, messageId int, msgType int) (*entity.MessageAttachmentStorage, error)
- func (m *MessageUseCase) GetMessageByMessageId(ctx context.Context, messageId int64) (*postgresModel.Message, error)
- func (m *MessageUseCase) GetMessageFileExtra(ctx context.Context, messageId int) (*entity.MessageExtraFile, error)
- func (m *MessageUseCase) HandleMessages(ctx context.Context, items []*entity.QueryMessageItem) ([]*entity.MessageItem, error)
- func (m *MessageUseCase) IsAccess(ctx context.Context, opt *entity.MessageAccess) error
- func (m *MessageUseCase) PersistPrivateReadReceipts(ctx context.Context, readerUserId, receiverId int, messageIDs []string) error
- func (m *MessageUseCase) Revoke(ctx context.Context, uid int, messageId string) error
- func (m *MessageUseCase) SendAudio(ctx context.Context, uid int, req *entity.SendAudio) error
- func (m *MessageUseCase) SendBotFile(ctx context.Context, uid int, req *entity.SendBotFile) error
- func (m *MessageUseCase) SendCode(ctx context.Context, uid int, req *dto.CodeMessageRequest) error
- func (m *MessageUseCase) SendFile(ctx context.Context, uid int, req *entity.SendFile) error
- func (m *MessageUseCase) SendForward(ctx context.Context, uid int, req *dto.ForwardMessageRequest) error
- func (m *MessageUseCase) SendImage(ctx context.Context, uid int, req *entity.SendImage) error
- func (m *MessageUseCase) SendLocation(ctx context.Context, uid int, req *dto.LocationMessageRequest) error
- func (m *MessageUseCase) SendLogin(ctx context.Context, uid int, req *entity.SendLogin) error
- func (m *MessageUseCase) SendSticker(ctx context.Context, uid int, req *dto.StickerMessageRequest) error
- func (m *MessageUseCase) SendSysOther(ctx context.Context, data *postgresModel.Message, extraContent string) error
- func (m *MessageUseCase) SendSystemText(ctx context.Context, uid int, req *entity.TextMessageRequest) error
- func (m *MessageUseCase) SendText(ctx context.Context, uid int, req *entity.SendText) error
- func (m *MessageUseCase) SendVideo(ctx context.Context, uid int, req *entity.SendVideo) error
- func (m *MessageUseCase) SendVote(ctx context.Context, uid int, req *dto.VoteMessageRequest) error
- func (m *MessageUseCase) Vote(ctx context.Context, uid int, messageId int64, optionsValue string) (*domain.VoteStatistics, error)
- type MultipartInitiateOpt
- type MultipartUploadOpt
- type RemoveRecordListOpt
- type Session
- type StickerUseCase
- func (s *StickerUseCase) AcquireLock(ctx context.Context, key string, seconds int) bool
- func (s *StickerUseCase) AddUserSysSticker(uid int, stickerId int) error
- func (s *StickerUseCase) CreateCustomStickerItem(ctx context.Context, uid int, url, fileSuffix string, fileSize int, ...) (*model.StickerItem, error)
- func (s *StickerUseCase) CreateStickerFromUploadedFileID(ctx context.Context, uid int, fileID int64) (*model.StickerItem, error)
- func (s *StickerUseCase) DeleteCollect(uid int, ids []int) error
- func (s *StickerUseCase) FindByID(ctx context.Context, id int) (*model.Sticker, error)
- func (s *StickerUseCase) FindByIDs(ctx context.Context, ids []int) ([]*model.Sticker, error)
- func (s *StickerUseCase) GetDetailsAll(stickerID int, uid int) ([]*model.StickerItem, error)
- func (s *StickerUseCase) GetSystemStickerList(ctx context.Context) ([]*model.Sticker, error)
- func (s *StickerUseCase) GetUserInstallIDs(uid int) []int
- func (s *StickerUseCase) ReleaseLock(ctx context.Context, key string)
- func (s *StickerUseCase) RemoveUserSysSticker(uid int, stickerId int) error
- type StorageUseCase
- func (s *StorageUseCase) AbortMultipartUpload(ctx context.Context, objectKey, uploadID string) error
- func (s *StorageUseCase) AbortResumableMultipartUpload(ctx context.Context, uid int, fileID int64, objectKey, uploadID string) error
- func (s *StorageUseCase) BeginResumableMultipartUpload(ctx context.Context, uid int, filename, mimeType string, totalBytes int64) (fileID int64, uploadID, objectKey string, minPartBytes int64, err error)
- func (s *StorageUseCase) CompleteMultipartUpload(ctx context.Context, objectKey, uploadID string, fileID int64, ...) (*domain.File, error)
- func (s *StorageUseCase) CompleteResumableMultipartUpload(ctx context.Context, uid int, fileID int64, ...) (*domain.File, error)
- func (s *StorageUseCase) GetFileContent(ctx context.Context, fileID int64) ([]byte, string, error)
- func (s *StorageUseCase) GetObject(bucketName string, objectName string) (io.ReadCloser, error)
- func (s *StorageUseCase) GetObjectRange(bucketName string, objectName string, start, endInclusive int64) (io.ReadCloser, error)
- func (s *StorageUseCase) PublicURL(bucketName string, objectName string) string
- func (s *StorageUseCase) PutPart(ctx context.Context, objectKey, uploadID string, partNumber int, data []byte) (minio.ObjectPart, error)
- func (s *StorageUseCase) RegisterStoredObject(ctx context.Context, scope, scopeID, fileName, mimeType string, size int64, ...) (*domain.File, error)
- func (s *StorageUseCase) ResumableMultipartProgress(ctx context.Context, uid int, fileID int64, objectKey, uploadID string) (uploadedBytes int64, nextPart int32, partsCount int32, err error)
- func (s *StorageUseCase) SaveAttachment(ctx context.Context, scope, scopeID, fileName, mimeType string, content []byte) (*domain.File, error)
- func (s *StorageUseCase) SendResumableMultipartPart(ctx context.Context, uid int, fileID int64, objectKey, uploadID string, ...) (uploadedBytes int64, err error)
- func (s *StorageUseCase) StartMultipartUpload(ctx context.Context, scope, scopeID, fileName, mimeType string) (fileID int64, uploadID, objectKey string, err error)
- func (s *StorageUseCase) Stat(bucketName string, objectName string) (*minio.FileStatInfo, error)
- func (s *StorageUseCase) WriteObject(bucketName string, objectName string, content []byte) error
- type UploadUseCase
- func (u *UploadUseCase) AssembleFileParts(ctx context.Context, uid int, fileId int64, totalParts int32, ...) (*AssembleFilePart, error)
- func (u *UploadUseCase) GetFile(ctx context.Context, fileId int64, offset int64, limit int32) ([]byte, error)
- func (u *UploadUseCase) InitiateMultipartUpload(ctx context.Context, params *MultipartInitiateOpt) (*postgresModel.FileSplit, error)
- func (u *UploadUseCase) MultipartUpload(ctx context.Context, opt *MultipartUploadOpt) error
- func (u *UploadUseCase) RetrySaveFilePart(uid int, maxRetries int, fileId int64, filePart int32, data []byte) error
- type UserUseCase
- func (u *UserUseCase) ApplyUserPhotoID(ctx context.Context, uid int, fileID int64) error
- func (u *UserUseCase) CreateWebSession(ctx context.Context, session *model.UserSession) error
- func (u *UserUseCase) DevicePushInit(ctx context.Context, uid int64, sessionId int64, tokenType int32, token string) error
- func (u *UserUseCase) GetByID(ctx context.Context, uid int) (*model.User, error)
- func (u *UserUseCase) GetConfidentialitySettings(ctx context.Context, uid int) (*entity.ConfidentialitySettings, error)
- func (u *UserUseCase) GetFileContentForSessionUser(ctx context.Context, uid int, fileID int64) ([]byte, string, error)
- func (u *UserUseCase) GetNotifySettings(ctx context.Context, notifyType int, uid int) (*entity.NotifySettings, error)
- func (u *UserUseCase) GetPushNotificationSettings(ctx context.Context, uid int) (bool, error)
- func (u *UserUseCase) GetUserProfile(ctx context.Context, uid int) (*model.User, error)
- func (u *UserUseCase) SearchUsers(ctx context.Context, query string, page, pageSize int32) ([]*domain.User, int32, error)
- func (u *UserUseCase) SearchUsersByQuery(ctx context.Context, query string, uid int, limit int) ([]*model.User, error)
- func (u *UserUseCase) StatFileForSessionUser(ctx context.Context, uid int, fileID int64) (bucket string, objectKey string, stat *minio.FileStatInfo, filename string, ...)
- func (u *UserUseCase) UpdateAccountPersonal(ctx context.Context, uid int, fields map[string]any) error
- func (u *UserUseCase) UpdateAccountUsername(ctx context.Context, uid int, username string) error
- func (u *UserUseCase) UpdateConfidentialitySettings(ctx context.Context, uid int, data *entity.ConfidentialitySettings) error
- func (u *UserUseCase) UpdateNotifySettings(ctx context.Context, notifyType int, uid int, data *entity.NotifySettings) error
- func (u *UserUseCase) UpdatePushNotificationSettings(ctx context.Context, uid int, enabled bool) error
- func (u *UserUseCase) UploadProfilePhoto(ctx context.Context, userId int, fileID int64) (int64, error)
- func (u *UserUseCase) WebPushInit(ctx context.Context, uid int64, sessionId int64, webPush *entity.WebPush) error
Constants ¶
View Source
const ( AttachmentTypeUnknown = 0 AttachmentTypeImage = 1 AttachmentTypeDocument = 2 AttachmentTypeVideo = 3 AttachmentTypeAudio = 4 )
Variables ¶
View Source
var ErrUsernameTaken = domain.ErrUsernameTaken
Functions ¶
This section is empty.
Types ¶
type AssembleFilePart ¶
type AssembleFilePart = domain.AssembleFilePart
type AuthUseCase ¶
type AuthUseCase struct {
Conf *config.Config
Locale locale.ILocale
Email *email.Email
SmsCache *redisRepo.SmsCacheRepository
GroupChatMemberRepo *postgresRepo.GroupChatMemberRepository
UserRepo *postgresRepo.UserRepository
UserSessionRepo *postgresRepo.UserSessionRepository
AuthCodeLogRepo *postgresRepo.AuthCodeLogRepository
JwtTokenCacheRepo *redisRepo.JwtTokenCacheRepository
JWTService *service.JWTService
}
func NewAuthUseCase ¶
func NewAuthUseCase( conf *config.Config, locale locale.ILocale, email *email.Email, smsCache *redisRepo.SmsCacheRepository, groupChatMember *postgresRepo.GroupChatMemberRepository, userRepo *postgresRepo.UserRepository, userSessionRepo *postgresRepo.UserSessionRepository, authCodeLogRepo *postgresRepo.AuthCodeLogRepository, jwtTokenCacheRepository *redisRepo.JwtTokenCacheRepository, jwtService *service.JWTService, ) *AuthUseCase
func (*AuthUseCase) BlacklistToken ¶
func (*AuthUseCase) CodeTemplate ¶
func (a *AuthUseCase) CodeTemplate(data map[string]string) (string, error)
func (*AuthUseCase) GetDevices ¶
func (a *AuthUseCase) GetDevices(ctx context.Context, userId int) ([]*domain.TokenDevice, error)
func (*AuthUseCase) GetSessionByToken ¶
func (a *AuthUseCase) GetSessionByToken(ctx context.Context, token string) (*postgresModel.UserSession, error)
func (*AuthUseCase) LogoutByAccessToken ¶
func (a *AuthUseCase) LogoutByAccessToken(ctx context.Context, token string) error
func (*AuthUseCase) RefreshToken ¶
func (*AuthUseCase) Register ¶
func (a *AuthUseCase) Register(ctx context.Context, email string) (*postgresModel.User, error)
func (*AuthUseCase) RequestEmailChange ¶
func (*AuthUseCase) RequestEmailLogin ¶
func (*AuthUseCase) RevokeDevice ¶
func (*AuthUseCase) ValidateToken ¶
func (*AuthUseCase) VerifyEmailChange ¶
func (a *AuthUseCase) VerifyEmailChange(ctx context.Context, token, code string) error
type BotCreateOpt ¶
type BotCreateOpt = domain.BotCreateOpt
type BotUseCase ¶
type BotUseCase struct {
Conf *config.Config
Locale locale.ILocale
Source *infrastructure.Source
BotRepo *postgresRepo.BotRepository
UserRepo *postgresRepo.UserRepository
Minio minio.IMinio
// contains filtered or unexported fields
}
func NewBotUseCase ¶
func NewBotUseCase( conf *config.Config, locale locale.ILocale, source *infrastructure.Source, botRepo *postgresRepo.BotRepository, userRepo *postgresRepo.UserRepository, minio minio.IMinio, ) *BotUseCase
func (*BotUseCase) Chats ¶
func (b *BotUseCase) Chats(ctx context.Context, botId int) ([]*entity.SearchChat, error)
func (*BotUseCase) Create ¶
func (b *BotUseCase) Create(ctx context.Context, opt *BotCreateOpt) (*string, error)
func (*BotUseCase) FileDocumentUpload ¶
func (b *BotUseCase) FileDocumentUpload(ctx context.Context, file *multipart.FileHeader) (*string, error)
func (*BotUseCase) FileUpload ¶
func (b *BotUseCase) FileUpload(ctx context.Context, file *multipart.FileHeader) (*string, error)
func (*BotUseCase) GetBotByToken ¶
func (b *BotUseCase) GetBotByToken(ctx context.Context, token string) (*postgresModel.Bot, error)
func (*BotUseCase) GetByBotUserId ¶
func (*BotUseCase) GetByToken ¶
func (*BotUseCase) GetLoginBot ¶
func (b *BotUseCase) GetLoginBot(ctx context.Context) (*postgresModel.Bot, error)
func (*BotUseCase) List ¶
func (b *BotUseCase) List(ctx context.Context, uid int) ([]*postgresModel.Bot, error)
func (*BotUseCase) RegenerateToken ¶
type ChatDisturbOpt ¶
type ChatDisturbOpt = domain.ChatDisturbOpt
type ChatFolderUseCase ¶
type ChatFolderUseCase struct {
Locale locale.ILocale
Source *infrastructure.Source
ChatRepo *postgresRepo.ChatRepository
ChatFolderRepo *postgresRepo.ChatFolderRepository
}
func NewChatFolderUseCase ¶
func NewChatFolderUseCase( locale locale.ILocale, source *infrastructure.Source, chatRepo *postgresRepo.ChatRepository, chatFolderRepo *postgresRepo.ChatFolderRepository, ) *ChatFolderUseCase
func (*ChatFolderUseCase) ListFolders ¶
func (c *ChatFolderUseCase) ListFolders(ctx context.Context, uid int) ([]*postgresModel.ChatFolder, error)
func (*ChatFolderUseCase) SaveFolderLayout ¶
func (c *ChatFolderUseCase) SaveFolderLayout(ctx context.Context, uid int, inserts, updates []*postgresModel.ChatFolder, keepExistingIds map[int]struct{}) error
func (*ChatFolderUseCase) SetPeerFolder ¶
type ChatTopOpt ¶
type ChatTopOpt = domain.ChatTopOpt
type ChatUseCase ¶
type ChatUseCase struct {
Locale locale.ILocale
Source *infrastructure.Source
ChatRepo *postgresRepo.ChatRepository
GroupChatMemberRepo *postgresRepo.GroupChatMemberRepository
RedisLockRepo *infraRedis.RedisLockCacheRepository
ClientCacheRepo *infraRedis.ClientCacheRepository
MessageCacheRepo *infraRedis.MessageCacheRepository
UnreadCacheRepo *infraRedis.UnreadCacheRepository
MessageExtraRepo *postgresRepo.MessageExtraRepository
ChatGroupRepo domain.ChatGroupRepository
ChatMessageRepo domain.ChatMessageRepository
MessageReadRepo domain.MessageReadRepository
MessageDeletedRepo domain.MessageDeletedRepository
UserRepo domain.UserRepository
Redis *redis.Client
Nats nats.INatsClient
ServerCacheRepo *infraRedis.ServerCacheRepository
StorageUseCase *StorageUseCase
FileRepo domain.FileRepository
MessageAttachmentRepo domain.MessageAttachmentRepository
CallbackQueryRepo domain.BotCallbackQueryRepository
PollRepo domain.PollRepository
MessageReactionRepo domain.MessageReactionRepository
GroupTopicRepo *postgresRepo.GroupChatTopicRepository
ConversationPinnedRepo *postgresRepo.ConversationPinnedMessageRepository
// contains filtered or unexported fields
}
func NewChatUseCase ¶
func NewChatUseCase( locale locale.ILocale, source *infrastructure.Source, chatRepo *postgresRepo.ChatRepository, groupChatMemberRepo *postgresRepo.GroupChatMemberRepository, redisLockRepo *infraRedis.RedisLockCacheRepository, clientCacheRepo *infraRedis.ClientCacheRepository, messageCacheRepo *infraRedis.MessageCacheRepository, unreadCacheRepository *infraRedis.UnreadCacheRepository, messageExtraRepo *postgresRepo.MessageExtraRepository, chatGroupRepo domain.ChatGroupRepository, chatMessageRepo domain.ChatMessageRepository, messageReadRepo domain.MessageReadRepository, messageDeletedRepo domain.MessageDeletedRepository, userRepo domain.UserRepository, redisClient *redis.Client, natsClient nats.INatsClient, serverCache *infraRedis.ServerCacheRepository, storageUseCase *StorageUseCase, fileRepo domain.FileRepository, messageAttachmentRepo domain.MessageAttachmentRepository, callbackQueryRepo domain.BotCallbackQueryRepository, pollRepo domain.PollRepository, messageReactionRepo domain.MessageReactionRepository, groupTopicRepo *postgresRepo.GroupChatTopicRepository, conversationPinnedRepo *postgresRepo.ConversationPinnedMessageRepository, ) *ChatUseCase
func (*ChatUseCase) AcquireLock ¶
func (*ChatUseCase) AddGroupMembers ¶
func (*ChatUseCase) AssertPrivateMessagingNotBlocked ¶
func (c *ChatUseCase) AssertPrivateMessagingNotBlocked(ctx context.Context, fromUserId, toUserId int) error
func (*ChatUseCase) BatchAddList ¶
func (*ChatUseCase) ClearHistory ¶
func (*ChatUseCase) ComposeDisabledForPeer ¶
func (c *ChatUseCase) ComposeDisabledForPeer(ctx context.Context, peerType, peerId int) int32
func (*ChatUseCase) Create ¶
func (c *ChatUseCase) Create(ctx context.Context, opt *CreateChatOpt) (*postgresModel.Chat, error)
func (*ChatUseCase) CreateChat ¶
func (*ChatUseCase) CreateGroupChat ¶
func (*ChatUseCase) CreatePoll ¶
func (*ChatUseCase) DeleteChat ¶
func (*ChatUseCase) DeleteMessage ¶
func (*ChatUseCase) DeleteMessages ¶
func (*ChatUseCase) DeleteRecordList ¶
func (c *ChatUseCase) DeleteRecordList(ctx context.Context, opt *RemoveRecordListOpt) error
func (*ChatUseCase) Disturb ¶
func (c *ChatUseCase) Disturb(ctx context.Context, opt *ChatDisturbOpt) error
func (*ChatUseCase) EditMessage ¶
func (*ChatUseCase) FindGroupSessionID ¶
func (c *ChatUseCase) FindGroupSessionID(uid int, groupID int) int
func (*ChatUseCase) FindPrivateSessionID ¶
func (c *ChatUseCase) FindPrivateSessionID(uid int, receiverId int) int
func (*ChatUseCase) GetAllUnread ¶
func (*ChatUseCase) GetAllUserIds ¶
func (c *ChatUseCase) GetAllUserIds(ctx context.Context, uid int) []int64
func (*ChatUseCase) GetCachedMessage ¶
func (c *ChatUseCase) GetCachedMessage(ctx context.Context, chatType int, uid int, receiverID int) (*entity.MessageItem, error)
func (*ChatUseCase) GetCallbackQueriesForBot ¶
func (c *ChatUseCase) GetCallbackQueriesForBot(ctx context.Context, botUserId int, afterId int64, limit int) ([]*event.BotCallbackQuery, error)
func (*ChatUseCase) GetGroupInfo ¶
func (*ChatUseCase) GetHistory ¶
func (*ChatUseCase) GetHistoryByPeer ¶
func (*ChatUseCase) GetIncomingForBot ¶
func (*ChatUseCase) GetMessageById ¶
func (*ChatUseCase) GetNotifySettings ¶
func (c *ChatUseCase) GetNotifySettings(ctx context.Context, chatType int, uid int, chatId int64) (*entity.NotifySettings, error)
func (*ChatUseCase) GetTotalUnreadCount ¶
func (*ChatUseCase) GroupMemberIDs ¶
func (*ChatUseCase) IsDisturb ¶
func (c *ChatUseCase) IsDisturb(uid int, receiverID int, chatType int) bool
func (*ChatUseCase) List ¶
func (c *ChatUseCase) List(ctx context.Context, uid int) ([]*entity.SearchChat, error)
func (*ChatUseCase) ListPinnedMessageIDs ¶
func (*ChatUseCase) PinMessage ¶
func (*ChatUseCase) PublishMessageDeleted ¶
func (*ChatUseCase) PublishMessageRead ¶
func (*ChatUseCase) PublishNewMessage ¶
func (*ChatUseCase) PublishTyping ¶
func (c *ChatUseCase) PublishTyping(ctx context.Context, typerUID, peerType, peerRoomID int) error
func (*ChatUseCase) ReleaseLock ¶
func (c *ChatUseCase) ReleaseLock(ctx context.Context, key string)
func (*ChatUseCase) RemoveGroupMembers ¶
func (*ChatUseCase) ReportInlineCallback ¶
func (*ChatUseCase) ResetUnread ¶
func (*ChatUseCase) SearchChatMessagesByPeer ¶
func (*ChatUseCase) SendCodeToPeer ¶
func (*ChatUseCase) SendLocationToPeer ¶
func (*ChatUseCase) SendMessage ¶
func (*ChatUseCase) SendMessageToPeer ¶
func (c *ChatUseCase) SendMessageToPeer(ctx context.Context, uid int, peerType int, peerId int, content string, replyToMessageId int64, forwarded bool, forwardedFromMessageId int64, attachments []domain.AttachmentUpload, replyMarkup *event.ReplyMarkup, mention *entity.Mention, topicId int64, randomId int64) (*event.Message, error)
func (*ChatUseCase) SendStickerToPeer ¶
func (*ChatUseCase) SetChatNotifications ¶
func (*ChatUseCase) SetGroupMemberRole ¶
func (*ChatUseCase) SetGroupTopicPinnedMessage ¶
func (c *ChatUseCase) SetGroupTopicPinnedMessage(ctx context.Context, uid, groupID int, topicID int64, messageID int64) (*entity.GroupTopic, error)
func (*ChatUseCase) SetLoginBot ¶
func (c *ChatUseCase) SetLoginBot(h *bot.Handler, botUserID int)
func (*ChatUseCase) SetMessageReaction ¶
func (*ChatUseCase) SetPeerBlock ¶
func (*ChatUseCase) Top ¶
func (c *ChatUseCase) Top(ctx context.Context, opt *ChatTopOpt) error
func (*ChatUseCase) TouchGroupChatsAfterGroupUpdate ¶
func (c *ChatUseCase) TouchGroupChatsAfterGroupUpdate(ctx context.Context, groupId int)
func (*ChatUseCase) UnpinMessage ¶
func (*ChatUseCase) UpdateNotifySettings ¶
func (c *ChatUseCase) UpdateNotifySettings(ctx context.Context, chatType int, uid int, chatId int64, data *entity.NotifySettings) error
func (*ChatUseCase) UploadGroupPhoto ¶
func (*ChatUseCase) UserMayReadFile ¶
type ContactUseCase ¶
type ContactUseCase struct {
Locale locale.ILocale
Source *infrastructure.Source
ContactRepo *postgresRepo.ContactRepository
}
func NewContactUseCase ¶
func NewContactUseCase( locale locale.ILocale, source *infrastructure.Source, contactRepo *postgresRepo.ContactRepository, ) *ContactUseCase
func (*ContactUseCase) AddContact ¶
func (c *ContactUseCase) AddContact(ctx context.Context, uid, friendId int) error
func (*ContactUseCase) Delete ¶
func (c *ContactUseCase) Delete(ctx context.Context, uid, friendId int) error
func (*ContactUseCase) GetContactIds ¶
func (c *ContactUseCase) GetContactIds(ctx context.Context, uid int) []int64
func (*ContactUseCase) GetFriendStatus ¶
func (*ContactUseCase) HasContact ¶
func (c *ContactUseCase) HasContact(ctx context.Context, uid, friendId int) bool
func (*ContactUseCase) List ¶
func (c *ContactUseCase) List(ctx context.Context, uid int) ([]*entity.ContactListItem, error)
type CreateChatOpt ¶
type CreateChatOpt = domain.CreateChatOpt
type GroupChatMemberUseCase ¶
type GroupChatMemberUseCase struct {
Locale locale.ILocale
Source *infrastructure.Source
MemberRepo *postgresRepo.GroupChatMemberRepository
}
func NewGroupChatMemberUseCase ¶
func NewGroupChatMemberUseCase( locale locale.ILocale, source *infrastructure.Source, memberRepo *postgresRepo.GroupChatMemberRepository, ) *GroupChatMemberUseCase
func (*GroupChatMemberUseCase) FindMasterByGroup ¶
func (g *GroupChatMemberUseCase) FindMasterByGroup(ctx context.Context, gid int) (*postgresModel.GroupChatMember, error)
func (*GroupChatMemberUseCase) GetLeaderGroupIds ¶
func (*GroupChatMemberUseCase) GetUserGroupIds ¶
func (g *GroupChatMemberUseCase) GetUserGroupIds(ctx context.Context, uid int) []int
func (*GroupChatMemberUseCase) IsLeader ¶
func (g *GroupChatMemberUseCase) IsLeader(ctx context.Context, gid, uid int) bool
func (*GroupChatMemberUseCase) IsMaster ¶
func (g *GroupChatMemberUseCase) IsMaster(ctx context.Context, gid, uid int) bool
func (*GroupChatMemberUseCase) SetLeaderStatus ¶
func (*GroupChatMemberUseCase) SetMuteStatus ¶
type GroupChatRequestUseCase ¶
type GroupChatRequestUseCase struct {
Locale locale.ILocale
Source *infrastructure.Source
GroupChatRequestRepo *postgresRepo.GroupChatRequestRepository
GroupRequestCacheRepo *redisRepo.GroupChatRequestCacheRepository
Nats nats.INatsClient
}
func NewGroupChatRequestUseCase ¶
func NewGroupChatRequestUseCase( locale locale.ILocale, source *infrastructure.Source, groupChatRequestRepo *postgresRepo.GroupChatRequestRepository, groupRequestCacheRepo *redisRepo.GroupChatRequestCacheRepository, nc nats.INatsClient, ) *GroupChatRequestUseCase
func (*GroupChatRequestUseCase) Auth ¶
func (g *GroupChatRequestUseCase) Auth(ctx context.Context, id, userId int) bool
func (*GroupChatRequestUseCase) Create ¶
func (g *GroupChatRequestUseCase) Create(ctx context.Context, req *postgresModel.GroupChatRequest) error
func (*GroupChatRequestUseCase) Delete ¶
func (g *GroupChatRequestUseCase) Delete(ctx context.Context, id, userId int) error
func (*GroupChatRequestUseCase) FindByGroupAndStatus ¶
func (g *GroupChatRequestUseCase) FindByGroupAndStatus(ctx context.Context, groupId, status int) (*postgresModel.GroupChatRequest, error)
func (*GroupChatRequestUseCase) FindByID ¶
func (g *GroupChatRequestUseCase) FindByID(ctx context.Context, id int) (*postgresModel.GroupChatRequest, error)
func (*GroupChatRequestUseCase) GetUnread ¶
func (g *GroupChatRequestUseCase) GetUnread(ctx context.Context, uid int) int
func (*GroupChatRequestUseCase) IncrementUnread ¶
func (g *GroupChatRequestUseCase) IncrementUnread(ctx context.Context, uid int)
func (*GroupChatRequestUseCase) List ¶
func (g *GroupChatRequestUseCase) List(ctx context.Context, groupIds []int) ([]*entity.GroupApplyList, error)
func (*GroupChatRequestUseCase) PublishNewRequest ¶
func (g *GroupChatRequestUseCase) PublishNewRequest(ctx context.Context, groupId, userId int)
func (*GroupChatRequestUseCase) ResetUnread ¶
func (g *GroupChatRequestUseCase) ResetUnread(ctx context.Context, uid int)
func (*GroupChatRequestUseCase) Touch ¶
func (g *GroupChatRequestUseCase) Touch(ctx context.Context, id int) error
func (*GroupChatRequestUseCase) UpdateStatus ¶
func (g *GroupChatRequestUseCase) UpdateStatus(ctx context.Context, id, status int) error
type GroupChatUseCase ¶
type GroupChatUseCase struct {
Conf *config.Config
Locale locale.ILocale
Source *infrastructure.Source
GroupChatRepo *postgresRepo.GroupChatRepository
TopicRepo *postgresRepo.GroupChatTopicRepository
MemberRepo *postgresRepo.GroupChatMemberRepository
UserRepo *postgresRepo.UserRepository
SequenceRepo *postgresRepo.SequenceRepository
RelationCache *redisRepo.RelationCacheRepository
RedisLockCacheRepo *redisRepo.RedisLockCacheRepository
MessageExtraRepo *postgresRepo.MessageExtraRepository
Minio minio.IMinio
Nats nats.INatsClient
FileRepo domain.FileRepository
}
func NewGroupChatUseCase ¶
func NewGroupChatUseCase( conf *config.Config, locale locale.ILocale, source *infrastructure.Source, groupChatRepo *postgresRepo.GroupChatRepository, topicRepo *postgresRepo.GroupChatTopicRepository, memberRepo *postgresRepo.GroupChatMemberRepository, userRepo *postgresRepo.UserRepository, sequenceRepo *postgresRepo.SequenceRepository, relationCache *redisRepo.RelationCacheRepository, redisLockCacheRepo *redisRepo.RedisLockCacheRepository, messageExtraRepo *postgresRepo.MessageExtraRepository, minio minio.IMinio, nc nats.INatsClient, fileRepo domain.FileRepository, ) *GroupChatUseCase
func (*GroupChatUseCase) AcquireLock ¶
func (*GroupChatUseCase) ApplyGroupPhotoID ¶
func (*GroupChatUseCase) CountGroupMemberNum ¶
func (g *GroupChatUseCase) CountGroupMemberNum(ids []int) ([]*domain.CountGroupMember, error)
func (*GroupChatUseCase) Create ¶
func (g *GroupChatUseCase) Create(ctx context.Context, opt *GroupCreateOpt) (int, error)
func (*GroupChatUseCase) CreateGroupTopic ¶
func (g *GroupChatUseCase) CreateGroupTopic(ctx context.Context, uid, groupID int, name string) (*entity.GroupTopic, error)
func (*GroupChatUseCase) FindByID ¶
func (g *GroupChatUseCase) FindByID(ctx context.Context, id int) (*postgresModel.GroupChat, error)
func (*GroupChatUseCase) GetGroupApplyNotificationData ¶
func (*GroupChatUseCase) GetGroupNamesByIDs ¶
func (*GroupChatUseCase) GetGroupTopics ¶
func (g *GroupChatUseCase) GetGroupTopics(ctx context.Context, uid, groupID int) ([]*entity.GroupTopic, error)
func (*GroupChatUseCase) GetMemberIDs ¶
func (g *GroupChatUseCase) GetMemberIDs(ctx context.Context, groupID int) []int
func (*GroupChatUseCase) GetMembers ¶
func (g *GroupChatUseCase) GetMembers(ctx context.Context, groupID int) []*entity.MemberItem
func (*GroupChatUseCase) Invite ¶
func (g *GroupChatUseCase) Invite(ctx context.Context, opt *GroupInviteOpt) error
func (*GroupChatUseCase) List ¶
func (g *GroupChatUseCase) List(userId int) ([]*entity.GroupItem, error)
func (*GroupChatUseCase) ReleaseLock ¶
func (g *GroupChatUseCase) ReleaseLock(ctx context.Context, key string)
func (*GroupChatUseCase) RemoveMember ¶
func (g *GroupChatUseCase) RemoveMember(ctx context.Context, opt *GroupRemoveMembersOpt) error
func (*GroupChatUseCase) SearchOvertList ¶
func (g *GroupChatUseCase) SearchOvertList(ctx context.Context, opt *domain.SearchOvertListOpt) ([]*postgresModel.GroupChat, error)
func (*GroupChatUseCase) SetGroupTopicCreationPolicy ¶
func (*GroupChatUseCase) SetGroupTopicsEnabled ¶
func (*GroupChatUseCase) Update ¶
func (g *GroupChatUseCase) Update(ctx context.Context, opt *GroupUpdateOpt) error
func (*GroupChatUseCase) UpdateByID ¶
func (*GroupChatUseCase) UpdateGroupProfile ¶
type GroupCreateOpt ¶
type GroupCreateOpt = domain.GroupCreateOpt
type GroupInviteOpt ¶
type GroupInviteOpt = domain.GroupInviteOpt
type GroupInviteUseCase ¶
type GroupInviteUseCase struct {
Source *infrastructure.Source
Invites *postgresRepo.GroupInviteRepository
ChatGroupRepo domain.ChatGroupRepository
}
func NewGroupInviteUseCase ¶
func NewGroupInviteUseCase( source *infrastructure.Source, invites *postgresRepo.GroupInviteRepository, chatGroupRepo domain.ChatGroupRepository, ) *GroupInviteUseCase
func (*GroupInviteUseCase) EnsureInvite ¶
func (u *GroupInviteUseCase) EnsureInvite(ctx context.Context, uid int, groupID int) (*domain.GroupInviteEnsureResult, error)
func (*GroupInviteUseCase) ResolveInvite ¶
func (u *GroupInviteUseCase) ResolveInvite(ctx context.Context, uid int, token string) (*domain.GroupInviteResolveResult, error)
type GroupRemoveMembersOpt ¶
type GroupRemoveMembersOpt = domain.GroupRemoveMembersOpt
type GroupUpdateOpt ¶
type GroupUpdateOpt = domain.GroupUpdateOpt
type IpAddressResponse ¶
type IpAddressUseCase ¶
type IpAddressUseCase struct {
Conf *config.Config
Locale locale.ILocale
Source *infrastructure.Source
HttpClient *httputil.HttpClient
}
func NewIpAddressUseCase ¶
func NewIpAddressUseCase( conf *config.Config, locale locale.ILocale, source *infrastructure.Source, httpClient *httputil.HttpClient, ) *IpAddressUseCase
func (*IpAddressUseCase) FindAddress ¶
func (i *IpAddressUseCase) FindAddress(ip string) (string, error)
type MessageExtraMapper ¶
type MessageExtraMapper struct{}
func NewMessageExtraMapper ¶
func NewMessageExtraMapper() *MessageExtraMapper
func (*MessageExtraMapper) AudioFromMap ¶
func (m *MessageExtraMapper) AudioFromMap(extra map[string]any) *entity.MessageExtraAudio
func (*MessageExtraMapper) CodeFromMap ¶
func (m *MessageExtraMapper) CodeFromMap(extra map[string]any) *entity.MessageExtraCode
func (*MessageExtraMapper) FileFromMap ¶
func (m *MessageExtraMapper) FileFromMap(extra map[string]any) *entity.MessageExtraFile
func (*MessageExtraMapper) ForwardFromMap ¶
func (m *MessageExtraMapper) ForwardFromMap(extra map[string]any) *entity.MessageExtraForward
func (*MessageExtraMapper) GroupMutedFromMap ¶
func (m *MessageExtraMapper) GroupMutedFromMap(extra map[string]any) (ownerId int, ownerName string)
func (*MessageExtraMapper) ImageFromMap ¶
func (m *MessageExtraMapper) ImageFromMap(extra map[string]any) *entity.MessageExtraImage
func (*MessageExtraMapper) LocationFromMap ¶
func (m *MessageExtraMapper) LocationFromMap(extra map[string]any) *entity.MessageExtraLocation
func (*MessageExtraMapper) LoginFromMap ¶
func (m *MessageExtraMapper) LoginFromMap(extra map[string]any) *entity.MessageExtraLogin
func (*MessageExtraMapper) MentionFromExtraMap ¶
func (m *MessageExtraMapper) MentionFromExtraMap(extra map[string]any) *entity.Mention
func (*MessageExtraMapper) ReplyFromExtra ¶
func (m *MessageExtraMapper) ReplyFromExtra(extra map[string]any) *entity.Reply
func (*MessageExtraMapper) VideoFromMap ¶
func (m *MessageExtraMapper) VideoFromMap(extra map[string]any) *entity.MessageExtraVideo
type MessageUseCase ¶
type MessageUseCase struct {
Conf *config.Config
Locale locale.ILocale
Source *infrastructure.Source
MessageForward *logic.MessageForward
Minio minio.IMinio
GroupChatMemberRepo *postgresRepo.GroupChatMemberRepository
PollRepo *postgresRepo.PollRepository
Sequence *postgresRepo.SequenceRepository
MessageRepo *postgresRepo.MessageRepository
MessageExtraRepo *postgresRepo.MessageExtraRepository
ExtraMapper *MessageExtraMapper
BotRepo *postgresRepo.BotRepository
GroupChatRepo *postgresRepo.GroupChatRepository
ContactRepo *postgresRepo.ContactRepository
UserRepo *postgresRepo.UserRepository
UnreadCache *redisRepo.UnreadCacheRepository
MessageCache *redisRepo.MessageCacheRepository
ServerCache *redisRepo.ServerCacheRepository
ClientCache *redisRepo.ClientCacheRepository
Nats nats.INatsClient
ChatForRealtime *ChatUseCase
MessageAttachmentRepo domain.MessageAttachmentRepository
FileRepo domain.FileRepository
}
func (*MessageUseCase) GetForwardMessages ¶
func (m *MessageUseCase) GetForwardMessages(ctx context.Context, uid int, messageId int64) ([]*entity.MessageItem, error)
func (*MessageUseCase) GetHistory ¶
func (m *MessageUseCase) GetHistory(ctx context.Context, opt *entity.QueryGetHistoryOpt) ([]*entity.MessageItem, error)
func (*MessageUseCase) GetMessage ¶
func (m *MessageUseCase) GetMessage(ctx context.Context, messageId int64) (*entity.MessageItem, error)
func (*MessageUseCase) GetMessageActions ¶
func (m *MessageUseCase) GetMessageActions(ctx context.Context, uid int, messageId int64, chatType, receiverId int) (*entity.MessageActions, error)
func (*MessageUseCase) GetMessageAttachmentStorage ¶
func (m *MessageUseCase) GetMessageAttachmentStorage(ctx context.Context, messageId int, msgType int) (*entity.MessageAttachmentStorage, error)
func (*MessageUseCase) GetMessageByMessageId ¶
func (m *MessageUseCase) GetMessageByMessageId(ctx context.Context, messageId int64) (*postgresModel.Message, error)
func (*MessageUseCase) GetMessageFileExtra ¶
func (m *MessageUseCase) GetMessageFileExtra(ctx context.Context, messageId int) (*entity.MessageExtraFile, error)
func (*MessageUseCase) HandleMessages ¶
func (m *MessageUseCase) HandleMessages(ctx context.Context, items []*entity.QueryMessageItem) ([]*entity.MessageItem, error)
func (*MessageUseCase) IsAccess ¶
func (m *MessageUseCase) IsAccess(ctx context.Context, opt *entity.MessageAccess) error
func (*MessageUseCase) PersistPrivateReadReceipts ¶
func (*MessageUseCase) SendBotFile ¶
func (m *MessageUseCase) SendBotFile(ctx context.Context, uid int, req *entity.SendBotFile) error
func (*MessageUseCase) SendCode ¶
func (m *MessageUseCase) SendCode(ctx context.Context, uid int, req *dto.CodeMessageRequest) error
func (*MessageUseCase) SendForward ¶
func (m *MessageUseCase) SendForward(ctx context.Context, uid int, req *dto.ForwardMessageRequest) error
func (*MessageUseCase) SendLocation ¶
func (m *MessageUseCase) SendLocation(ctx context.Context, uid int, req *dto.LocationMessageRequest) error
func (*MessageUseCase) SendSticker ¶
func (m *MessageUseCase) SendSticker(ctx context.Context, uid int, req *dto.StickerMessageRequest) error
func (*MessageUseCase) SendSysOther ¶
func (m *MessageUseCase) SendSysOther(ctx context.Context, data *postgresModel.Message, extraContent string) error
func (*MessageUseCase) SendSystemText ¶
func (m *MessageUseCase) SendSystemText(ctx context.Context, uid int, req *entity.TextMessageRequest) error
func (*MessageUseCase) SendVote ¶
func (m *MessageUseCase) SendVote(ctx context.Context, uid int, req *dto.VoteMessageRequest) error
type MultipartInitiateOpt ¶
type MultipartInitiateOpt = domain.MultipartInitiateOpt
type MultipartUploadOpt ¶
type MultipartUploadOpt = domain.MultipartUploadOpt
type RemoveRecordListOpt ¶
type RemoveRecordListOpt = domain.RemoveRecordListOpt
type StickerUseCase ¶
type StickerUseCase struct {
Locale locale.ILocale
Source *infrastructure.Source
StickerRepo *postgresRepo.StickerRepository
IMinio minio.IMinio
RedisLockCacheRepo *redisRepo.RedisLockCacheRepository
Conf *config.Config
FileRepo domain.FileRepository
Storage domain.IStorageUseCase
}
func NewStickerUseCase ¶
func NewStickerUseCase( locale locale.ILocale, source *infrastructure.Source, stickerRepo *postgresRepo.StickerRepository, minio minio.IMinio, redisLockCacheRepo *redisRepo.RedisLockCacheRepository, conf *config.Config, fileRepo domain.FileRepository, storage domain.IStorageUseCase, ) *StickerUseCase
func (*StickerUseCase) AcquireLock ¶
func (*StickerUseCase) AddUserSysSticker ¶
func (s *StickerUseCase) AddUserSysSticker(uid int, stickerId int) error
func (*StickerUseCase) CreateCustomStickerItem ¶
func (s *StickerUseCase) CreateCustomStickerItem(ctx context.Context, uid int, url, fileSuffix string, fileSize int, description string) (*model.StickerItem, error)
func (*StickerUseCase) CreateStickerFromUploadedFileID ¶
func (s *StickerUseCase) CreateStickerFromUploadedFileID(ctx context.Context, uid int, fileID int64) (*model.StickerItem, error)
func (*StickerUseCase) DeleteCollect ¶
func (s *StickerUseCase) DeleteCollect(uid int, ids []int) error
func (*StickerUseCase) GetDetailsAll ¶
func (s *StickerUseCase) GetDetailsAll(stickerID int, uid int) ([]*model.StickerItem, error)
func (*StickerUseCase) GetSystemStickerList ¶
func (*StickerUseCase) GetUserInstallIDs ¶
func (s *StickerUseCase) GetUserInstallIDs(uid int) []int
func (*StickerUseCase) ReleaseLock ¶
func (s *StickerUseCase) ReleaseLock(ctx context.Context, key string)
func (*StickerUseCase) RemoveUserSysSticker ¶
func (s *StickerUseCase) RemoveUserSysSticker(uid int, stickerId int) error
type StorageUseCase ¶
type StorageUseCase struct {
Locale locale.ILocale
Minio minio.IMinio
Conf *config.Config
FileRepo domain.FileRepository
}
func NewStorageUseCase ¶
func NewStorageUseCase( locale locale.ILocale, minio minio.IMinio, conf *config.Config, fileRepo domain.FileRepository, ) *StorageUseCase
func (*StorageUseCase) AbortMultipartUpload ¶
func (s *StorageUseCase) AbortMultipartUpload(ctx context.Context, objectKey, uploadID string) error
func (*StorageUseCase) AbortResumableMultipartUpload ¶
func (*StorageUseCase) BeginResumableMultipartUpload ¶
func (*StorageUseCase) CompleteMultipartUpload ¶
func (*StorageUseCase) CompleteResumableMultipartUpload ¶
func (*StorageUseCase) GetFileContent ¶
func (*StorageUseCase) GetObject ¶
func (s *StorageUseCase) GetObject(bucketName string, objectName string) (io.ReadCloser, error)
func (*StorageUseCase) GetObjectRange ¶
func (s *StorageUseCase) GetObjectRange(bucketName string, objectName string, start, endInclusive int64) (io.ReadCloser, error)
func (*StorageUseCase) PublicURL ¶
func (s *StorageUseCase) PublicURL(bucketName string, objectName string) string
func (*StorageUseCase) PutPart ¶
func (s *StorageUseCase) PutPart(ctx context.Context, objectKey, uploadID string, partNumber int, data []byte) (minio.ObjectPart, error)
func (*StorageUseCase) RegisterStoredObject ¶
func (*StorageUseCase) ResumableMultipartProgress ¶
func (*StorageUseCase) SaveAttachment ¶
func (*StorageUseCase) SendResumableMultipartPart ¶
func (*StorageUseCase) StartMultipartUpload ¶
func (*StorageUseCase) Stat ¶
func (s *StorageUseCase) Stat(bucketName string, objectName string) (*minio.FileStatInfo, error)
func (*StorageUseCase) WriteObject ¶
func (s *StorageUseCase) WriteObject(bucketName string, objectName string, content []byte) error
type UploadUseCase ¶
type UploadUseCase struct {
Conf *config.Config
Locale locale.ILocale
Source *infrastructure.Source
FileRepo *postgresRepo.FileRepository
FileSplitRepo *postgresRepo.FileSplitRepository
Minio minio.IMinio
}
func NewUploadUseCase ¶
func NewUploadUseCase( conf *config.Config, locale locale.ILocale, source *infrastructure.Source, fileRepo *postgresRepo.FileRepository, fileSplitRepo *postgresRepo.FileSplitRepository, minio minio.IMinio, ) *UploadUseCase
func (*UploadUseCase) AssembleFileParts ¶
func (u *UploadUseCase) AssembleFileParts(ctx context.Context, uid int, fileId int64, totalParts int32, originalName string, fileExt string) (*AssembleFilePart, error)
func (*UploadUseCase) InitiateMultipartUpload ¶
func (u *UploadUseCase) InitiateMultipartUpload(ctx context.Context, params *MultipartInitiateOpt) (*postgresModel.FileSplit, error)
func (*UploadUseCase) MultipartUpload ¶
func (u *UploadUseCase) MultipartUpload(ctx context.Context, opt *MultipartUploadOpt) error
func (*UploadUseCase) RetrySaveFilePart ¶
type UserUseCase ¶
type UserUseCase struct {
Conf *config.Config
Locale locale.ILocale
Source *infrastructure.Source
UserRepo *postgresRepo.UserRepository
UserSessionRepo *postgresRepo.UserSessionRepository
PushTokenRepo *postgresRepo.PushTokenRepository
Minio minio.IMinio
FileRepo domain.FileRepository
StorageUseCase *StorageUseCase
FileReadAccess domain.IFileReadAccess
// contains filtered or unexported fields
}
func NewUserUseCase ¶
func NewUserUseCase( conf *config.Config, locale locale.ILocale, source *infrastructure.Source, userRepo *postgresRepo.UserRepository, userSessionRepo *postgresRepo.UserSessionRepository, pushTokenRepo *postgresRepo.PushTokenRepository, minio minio.IMinio, fileRepo domain.FileRepository, storageUseCase *StorageUseCase, fileReadAccess domain.IFileReadAccess, ) *UserUseCase
func (*UserUseCase) ApplyUserPhotoID ¶
func (*UserUseCase) CreateWebSession ¶
func (u *UserUseCase) CreateWebSession(ctx context.Context, session *model.UserSession) error
func (*UserUseCase) DevicePushInit ¶
func (*UserUseCase) GetConfidentialitySettings ¶
func (u *UserUseCase) GetConfidentialitySettings(ctx context.Context, uid int) (*entity.ConfidentialitySettings, error)
func (*UserUseCase) GetFileContentForSessionUser ¶
func (*UserUseCase) GetNotifySettings ¶
func (u *UserUseCase) GetNotifySettings(ctx context.Context, notifyType int, uid int) (*entity.NotifySettings, error)
func (*UserUseCase) GetPushNotificationSettings ¶
func (*UserUseCase) GetUserProfile ¶
func (*UserUseCase) SearchUsers ¶
func (*UserUseCase) SearchUsersByQuery ¶
func (*UserUseCase) StatFileForSessionUser ¶
func (*UserUseCase) UpdateAccountPersonal ¶
func (*UserUseCase) UpdateAccountUsername ¶
func (*UserUseCase) UpdateConfidentialitySettings ¶
func (u *UserUseCase) UpdateConfidentialitySettings(ctx context.Context, uid int, data *entity.ConfidentialitySettings) error
func (*UserUseCase) UpdateNotifySettings ¶
func (u *UserUseCase) UpdateNotifySettings(ctx context.Context, notifyType int, uid int, data *entity.NotifySettings) error
func (*UserUseCase) UpdatePushNotificationSettings ¶
func (*UserUseCase) UploadProfilePhoto ¶
func (*UserUseCase) WebPushInit ¶
Source Files
¶
- auth_usecase.go
- bot_usecase.go
- chat_folder_usecase.go
- chat_usecase.go
- contact_usecase.go
- group_chat_member_usecase.go
- group_chat_request_usecase.go
- group_chat_usecase.go
- group_invite_usecase.go
- ip_address_usecase.go
- message_extra_mapper.go
- message_usecase.go
- sticker_usecase.go
- storage_usecase.go
- storage_usecase_resumable.go
- upload_usecase.go
- user_usecase.go
Click to show internal directories.
Click to hide internal directories.