Initial open source release
This commit is contained in:
commit
74992e893f
377 changed files with 118084 additions and 0 deletions
46
internal/store/media.go
Normal file
46
internal/store/media.go
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
package store
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"telesrv/internal/domain"
|
||||
)
|
||||
|
||||
// MediaStore 持久化媒体元数据:上传分片、blob 索引、文档/照片注册表、
|
||||
// 贴纸集、可用 reaction、头像历史。blob 字节本身由 blob backend 按 object_key 读写,
|
||||
// 本接口只管 file_blobs 索引行。
|
||||
type MediaStore interface {
|
||||
// 上传分片(transient:组装成 blob 后即清理)。
|
||||
SaveFilePart(ctx context.Context, part domain.UploadPart) error
|
||||
LoadFileParts(ctx context.Context, ownerUserID, fileID int64) ([]domain.UploadPart, error)
|
||||
DeleteFileParts(ctx context.Context, ownerUserID, fileID int64) error
|
||||
|
||||
// blob 索引。
|
||||
PutFileBlob(ctx context.Context, blob domain.FileBlob) error
|
||||
GetFileBlob(ctx context.Context, locationKey string) (domain.FileBlob, bool, error)
|
||||
|
||||
// 文档 / 照片注册表。
|
||||
PutDocument(ctx context.Context, doc domain.Document) error
|
||||
GetDocument(ctx context.Context, id int64) (domain.Document, bool, error)
|
||||
GetDocuments(ctx context.Context, ids []int64) ([]domain.Document, error)
|
||||
PutPhoto(ctx context.Context, photo domain.Photo) error
|
||||
GetPhoto(ctx context.Context, id int64) (domain.Photo, bool, error)
|
||||
|
||||
// 贴纸集 / 可用 reaction。
|
||||
PutStickerSet(ctx context.Context, set domain.StickerSet) error
|
||||
GetStickerSetByID(ctx context.Context, id int64) (domain.StickerSet, bool, error)
|
||||
GetStickerSetByShortName(ctx context.Context, shortName string) (domain.StickerSet, bool, error)
|
||||
GetStickerSetBySystemKey(ctx context.Context, systemKey string) (domain.StickerSet, bool, error)
|
||||
ListStickerSets(ctx context.Context, kind domain.StickerSetKind) ([]domain.StickerSet, error)
|
||||
CountStickerSets(ctx context.Context) (int, error)
|
||||
PutAvailableReaction(ctx context.Context, r domain.AvailableReaction) error
|
||||
ListAvailableReactions(ctx context.Context) ([]domain.AvailableReaction, error)
|
||||
CountAvailableReactions(ctx context.Context) (int, error)
|
||||
|
||||
// 头像历史(owner = user/channel;current = active 中 sort_order 最大者)。
|
||||
AddProfilePhoto(ctx context.Context, ownerType domain.PeerType, ownerID, photoID int64, date int) error
|
||||
CurrentProfilePhoto(ctx context.Context, ownerType domain.PeerType, ownerID int64) (int64, bool, error)
|
||||
CurrentProfilePhotos(ctx context.Context, ownerType domain.PeerType, ownerIDs []int64) (map[int64]domain.ProfilePhotoRef, error)
|
||||
ListProfilePhotos(ctx context.Context, ownerType domain.PeerType, ownerID int64, offset, limit int, maxID int64) (ids []int64, total int, err error)
|
||||
DeleteProfilePhotos(ctx context.Context, ownerType domain.PeerType, ownerID int64, photoIDs []int64) ([]int64, error)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue