Documentation ¶
Index ¶
- Variables
- type ACL
- type ChannelRepository
- type ClipRepository
- type DeviceRepository
- type FileRepository
- type MessageReportRepository
- type MessageRepository
- type MessageStampRepository
- type MuteRepository
- type PinRepository
- type Repository
- type StampRepository
- type StarRepository
- type TagRepository
- type UpdateUserGroupNameArgs
- type UserGroupRepository
- type UserRepository
- type WebhookRepository
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNilID 汎用エラー 引数のIDがNilです ErrNilID = errors.New("nil id") // ErrNotFound 汎用エラー 見つかりません ErrNotFound = errors.New("not found") // ErrAlreadyExists 汎用エラー 既に存在しています ErrAlreadyExists = errors.New("already exists") // ErrForbidden 汎用エラー 禁止されています ErrForbidden = errors.New("forbidden") // ErrInvalidArgs 汎用エラー 引数が不正 ErrInvalidArgs = errors.New("invalid args") )
View Source
var ( // ErrChannelDepthLimitation チャンネルの深さ制限を超えている ErrChannelDepthLimitation = errors.New("channel depth limit exceeded") )
Functions ¶
This section is empty.
Types ¶
type ChannelRepository ¶
type ChannelRepository interface { CreatePublicChannel(name string, parent, creatorID uuid.UUID) (*model.Channel, error) CreatePrivateChannel(name string, creatorID uuid.UUID, members []uuid.UUID) (*model.Channel, error) CreateChildChannel(name string, parentID, creatorID uuid.UUID) (*model.Channel, error) UpdateChannelAttributes(channelID uuid.UUID, visibility, forced *bool) error UpdateChannelTopic(channelID uuid.UUID, topic string, updaterID uuid.UUID) error ChangeChannelName(channelID uuid.UUID, name string) error ChangeChannelParent(channelID, parent uuid.UUID) error DeleteChannel(channelID uuid.UUID) error GetChannel(channelID uuid.UUID) (*model.Channel, error) GetChannelByMessageID(messageID uuid.UUID) (*model.Channel, error) GetChannelsByUserID(userID uuid.UUID) ([]*model.Channel, error) GetDirectMessageChannel(user1, user2 uuid.UUID) (*model.Channel, error) GetAllChannels() ([]*model.Channel, error) IsChannelPresent(name string, parent uuid.UUID) (bool, error) IsChannelAccessibleToUser(userID, channelID uuid.UUID) (bool, error) GetParentChannel(channelID uuid.UUID) (*model.Channel, error) GetChildrenChannelIDs(channelID uuid.UUID) ([]uuid.UUID, error) GetDescendantChannelIDs(channelID uuid.UUID) ([]uuid.UUID, error) GetAscendantChannelIDs(channelID uuid.UUID) ([]uuid.UUID, error) GetChannelPath(id uuid.UUID) (string, error) GetChannelDepth(id uuid.UUID) (int, error) AddPrivateChannelMember(channelID, userID uuid.UUID) error GetPrivateChannelMemberIDs(channelID uuid.UUID) ([]uuid.UUID, error) IsUserPrivateChannelMember(channelID, userID uuid.UUID) (bool, error) SubscribeChannel(userID, channelID uuid.UUID) error UnsubscribeChannel(userID, channelID uuid.UUID) error GetSubscribingUserIDs(channelID uuid.UUID) ([]uuid.UUID, error) GetSubscribedChannelIDs(userID uuid.UUID) ([]uuid.UUID, error) }
ChannelRepository チャンネルリポジトリ
type ClipRepository ¶
type ClipRepository interface { GetClipFolder(id uuid.UUID) (*model.ClipFolder, error) GetClipFolders(userID uuid.UUID) ([]*model.ClipFolder, error) CreateClipFolder(userID uuid.UUID, name string) (*model.ClipFolder, error) UpdateClipFolderName(id uuid.UUID, name string) error DeleteClipFolder(id uuid.UUID) error GetClipMessage(id uuid.UUID) (*model.Clip, error) GetClipMessages(folderID uuid.UUID) ([]*model.Clip, error) GetClipMessagesByUser(userID uuid.UUID) ([]*model.Clip, error) CreateClip(messageID, folderID, userID uuid.UUID) (*model.Clip, error) ChangeClipFolder(clipID, folderID uuid.UUID) error DeleteClip(id uuid.UUID) error }
ClipRepository クリップリポジトリ
type DeviceRepository ¶
type DeviceRepository interface { RegisterDevice(userID uuid.UUID, token string) (*model.Device, error) UnregisterDevice(token string) (err error) GetDevicesByUserID(user uuid.UUID) (result []*model.Device, err error) GetDeviceTokensByUserID(user uuid.UUID) (result []string, err error) GetAllDevices() (result []*model.Device, err error) GetAllDeviceTokens() (result []string, err error) }
DeviceRepository FCMデバイスリポジトリ
type FileRepository ¶
type FileRepository interface { OpenFile(fileID uuid.UUID) (*model.File, io.ReadCloser, error) OpenThumbnailFile(fileID uuid.UUID) (*model.File, io.ReadCloser, error) GetFileMeta(fileID uuid.UUID) (*model.File, error) DeleteFile(fileID uuid.UUID) error GenerateIconFile(salt string) (uuid.UUID, error) SaveFile(name string, src io.Reader, size int64, mime string, fType string, creatorID uuid.UUID) (*model.File, error) SaveFileWithACL(name string, src io.Reader, size int64, mime string, fType string, creatorID uuid.UUID, read ACL) (*model.File, error) RegenerateThumbnail(fileID uuid.UUID) (bool, error) IsFileAccessible(fileID, userID uuid.UUID) (bool, error) }
FileRepository ファイルリポジトリ
type MessageReportRepository ¶
type MessageReportRepository interface { CreateMessageReport(messageID, reporterID uuid.UUID, reason string) error GetMessageReports(offset, limit int) ([]*model.MessageReport, error) GetMessageReportsByMessageID(messageID uuid.UUID) ([]*model.MessageReport, error) GetMessageReportsByReporterID(reporterID uuid.UUID) ([]*model.MessageReport, error) }
MessageReportRepository メッセージ通報リポジトリ
type MessageRepository ¶
type MessageRepository interface { CreateMessage(userID, channelID uuid.UUID, text string) (*model.Message, error) UpdateMessage(messageID uuid.UUID, text string) error DeleteMessage(messageID uuid.UUID) error GetMessageByID(messageID uuid.UUID) (*model.Message, error) GetMessagesByChannelID(channelID uuid.UUID, limit, offset int) ([]*model.Message, error) SetMessageUnread(userID, messageID uuid.UUID) error GetUnreadMessagesByUserID(userID uuid.UUID) ([]*model.Message, error) DeleteUnreadsByMessageID(messageID uuid.UUID) error DeleteUnreadsByChannelID(channelID, userID uuid.UUID) error GetChannelLatestMessagesByUserID(userID uuid.UUID, limit int, subscribeOnly bool) ([]*model.Message, error) }
MessageRepository メッセージリポジトリ
type MessageStampRepository ¶
type MessageStampRepository interface { AddStampToMessage(messageID, stampID, userID uuid.UUID) (ms *model.MessageStamp, err error) RemoveStampFromMessage(messageID, stampID, userID uuid.UUID) (err error) GetMessageStamps(messageID uuid.UUID) (stamps []*model.MessageStamp, err error) GetUserStampHistory(userID uuid.UUID) (h []*model.UserStampHistory, err error) }
MessageStampRepository メッセージスタンプリポジトリ
type MuteRepository ¶
type MuteRepository interface { MuteChannel(userID, channelID uuid.UUID) error UnmuteChannel(userID, channelID uuid.UUID) error GetMutedChannelIDs(userID uuid.UUID) ([]uuid.UUID, error) GetMuteUserIDs(channelID uuid.UUID) ([]uuid.UUID, error) IsChannelMuted(userID, channelID uuid.UUID) (bool, error) }
type PinRepository ¶
type PinRepository interface { CreatePin(messageID, userID uuid.UUID) (uuid.UUID, error) GetPin(id uuid.UUID) (*model.Pin, error) IsPinned(messageID uuid.UUID) (bool, error) DeletePin(id uuid.UUID) error GetPinsByChannelID(channelID uuid.UUID) ([]*model.Pin, error) }
PinRepository ピンリポジトリ
type Repository ¶
type Repository interface { Sync() (bool, error) GetFS() storage.FileStorage UserRepository UserGroupRepository TagRepository ChannelRepository MessageRepository MessageReportRepository MessageStampRepository StampRepository ClipRepository MuteRepository StarRepository PinRepository DeviceRepository FileRepository WebhookRepository }
Repository データリポジトリ
type StampRepository ¶
type StampRepository interface { CreateStamp(name string, fileID, userID uuid.UUID) (s *model.Stamp, err error) UpdateStamp(id uuid.UUID, name string, fileID uuid.UUID) error GetStamp(id uuid.UUID) (s *model.Stamp, err error) DeleteStamp(id uuid.UUID) (err error) GetAllStamps() (stamps []*model.Stamp, err error) StampExists(id uuid.UUID) (bool, error) IsStampNameDuplicate(name string) (bool, error) }
StampRepository スタンプリポジトリ
type StarRepository ¶
type StarRepository interface { AddStar(userID, channelID uuid.UUID) error RemoveStar(userID, channelID uuid.UUID) error GetStaredChannels(userID uuid.UUID) ([]uuid.UUID, error) }
StarRepository チャンネルスターリポジトリ
type TagRepository ¶
type TagRepository interface { CreateTag(name string, restricted bool, tagType string) (*model.Tag, error) ChangeTagType(id uuid.UUID, tagType string) error ChangeTagRestrict(id uuid.UUID, restrict bool) error GetAllTags() ([]*model.Tag, error) GetTagByID(id uuid.UUID) (*model.Tag, error) GetTagByName(name string) (*model.Tag, error) GetOrCreateTagByName(name string) (*model.Tag, error) AddUserTag(userID, tagID uuid.UUID) error ChangeUserTagLock(userID, tagID uuid.UUID, locked bool) error DeleteUserTag(userID, tagID uuid.UUID) error GetUserTag(userID, tagID uuid.UUID) (*model.UsersTag, error) GetUserTagsByUserID(userID uuid.UUID) ([]*model.UsersTag, error) GetUsersByTag(tag string) ([]*model.User, error) GetUserIDsByTag(tag string) ([]uuid.UUID, error) GetUserIDsByTagID(tagID uuid.UUID) ([]uuid.UUID, error) }
TagRepository ユーザータグリポジトリ
type UpdateUserGroupNameArgs ¶
type UpdateUserGroupNameArgs struct { Name string Description sql.NullString AdminUserID uuid.NullUUID }
UpdateUserGroupNameArgs ユーザーグループ更新引数
type UserGroupRepository ¶
type UserGroupRepository interface { CreateUserGroup(name, description string, adminID uuid.UUID) (*model.UserGroup, error) UpdateUserGroup(id uuid.UUID, args UpdateUserGroupNameArgs) error DeleteUserGroup(id uuid.UUID) error GetUserGroup(id uuid.UUID) (*model.UserGroup, error) GetUserGroupByName(name string) (*model.UserGroup, error) GetUserBelongingGroupIDs(userID uuid.UUID) ([]uuid.UUID, error) GetAllUserGroups() ([]*model.UserGroup, error) AddUserToGroup(userID, groupID uuid.UUID) error RemoveUserFromGroup(userID, groupID uuid.UUID) error GetUserGroupMemberIDs(groupID uuid.UUID) ([]uuid.UUID, error) }
UserGroupRepository ユーザーグループリポジトリー
type UserRepository ¶
type UserRepository interface { CreateUser(name, password string, role gorbac.Role) (*model.User, error) GetUser(id uuid.UUID) (*model.User, error) GetUserByName(name string) (*model.User, error) GetUsers() ([]*model.User, error) UserExists(id uuid.UUID) (bool, error) ChangeUserDisplayName(id uuid.UUID, displayName string) error ChangeUserPassword(id uuid.UUID, password string) error ChangeUserIcon(id, fileID uuid.UUID) error ChangeUserTwitterID(id uuid.UUID, twitterID string) error ChangeUserAccountStatus(id uuid.UUID, status model.UserAccountStatus) error UpdateUserLastOnline(id uuid.UUID, time time.Time) (err error) IsUserOnline(id uuid.UUID) bool GetUserLastOnline(id uuid.UUID) (time.Time, error) GetHeartbeatStatus(channelID uuid.UUID) (model.HeartbeatStatus, bool) UpdateHeartbeatStatus(userID, channelID uuid.UUID, status string) }
UserRepository ユーザーリポジトリ
type WebhookRepository ¶
type WebhookRepository interface { CreateWebhook(name, description string, channelID, creatorID, iconFileID uuid.UUID) (model.Webhook, error) UpdateWebhook(id uuid.UUID, name, description *string, channelID uuid.UUID) error DeleteWebhook(id uuid.UUID) error GetWebhook(id uuid.UUID) (model.Webhook, error) GetAllWebhooks() ([]model.Webhook, error) GetWebhooksByCreator(creatorID uuid.UUID) ([]model.Webhook, error) }
WebhookRepository Webhookボットリポジトリ
Source Files ¶
Click to show internal directories.
Click to hide internal directories.