package controller import ( "context" "github.com/openimsdk/open-im-server/v3/pkg/common/storage/database" "github.com/openimsdk/open-im-server/v3/pkg/common/storage/model" "time" ) type StreamMsgDatabase interface { CreateStreamMsg(ctx context.Context, model *model.StreamMsg) error AppendStreamMsg(ctx context.Context, clientMsgID string, startIndex int, packets []string, end bool, deadlineTime time.Time) error GetStreamMsg(ctx context.Context, clientMsgID string) (*model.StreamMsg, error) } func NewStreamMsgDatabase(db database.StreamMsg) StreamMsgDatabase { return &streamMsgDatabase{db: db} } type streamMsgDatabase struct { db database.StreamMsg } func (m *streamMsgDatabase) CreateStreamMsg(ctx context.Context, model *model.StreamMsg) error { return m.db.CreateStreamMsg(ctx, model) } func (m *streamMsgDatabase) AppendStreamMsg(ctx context.Context, clientMsgID string, startIndex int, packets []string, end bool, deadlineTime time.Time) error { return m.db.AppendStreamMsg(ctx, clientMsgID, startIndex, packets, end, deadlineTime) } func (m *streamMsgDatabase) GetStreamMsg(ctx context.Context, clientMsgID string) (*model.StreamMsg, error) { return m.db.GetStreamMsg(ctx, clientMsgID) }