perf: sync protocol and core hardening updates
This commit is contained in:
parent
152fed3b87
commit
4390ebf5a9
283 changed files with 29231 additions and 2295 deletions
28
internal/app/messages/album_group.go
Normal file
28
internal/app/messages/album_group.go
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
package messages
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"telesrv/internal/domain"
|
||||
"telesrv/internal/store"
|
||||
)
|
||||
|
||||
// ReserveAlbumGroup 把 RPC 已验证的一批 album item 交给持久层原子预留。
|
||||
// 该能力只传 domain DTO;上传媒体解析与 tg 类型仍停留在 RPC edge。
|
||||
func (s *Service) ReserveAlbumGroup(ctx context.Context, userID int64, req domain.AlbumGroupReservationRequest) (int64, error) {
|
||||
if s == nil || s.messages == nil || userID <= 0 {
|
||||
return 0, domain.ErrAlbumGroupReservationInvalid
|
||||
}
|
||||
if req.SenderUserID == 0 {
|
||||
req.SenderUserID = userID
|
||||
}
|
||||
if req.SenderUserID != userID {
|
||||
return 0, domain.ErrAlbumGroupReservationInvalid
|
||||
}
|
||||
reservations, ok := s.messages.(store.AlbumGroupStore)
|
||||
if !ok {
|
||||
return 0, errors.New("message store does not support album group reservations")
|
||||
}
|
||||
return reservations.ReserveAlbumGroup(ctx, req)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue