perf: sync protocol and core hardening updates

This commit is contained in:
A 2026-07-11 19:48:26 +08:00
parent 152fed3b87
commit 4390ebf5a9
283 changed files with 29231 additions and 2295 deletions

View 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)
}