thread-master/internal/model/placement_topic/domain/repository/repository.go

18 lines
716 B
Go

package repository
import (
"context"
"haixun-backend/internal/model/placement_topic/domain/entity"
)
type Repository interface {
EnsureIndexes(ctx context.Context) error
Create(ctx context.Context, topic *entity.Topic) (*entity.Topic, error)
FindByID(ctx context.Context, tenantID, ownerUID, topicID string) (*entity.Topic, error)
ListByOwner(ctx context.Context, tenantID, ownerUID string) ([]*entity.Topic, error)
ListByBrand(ctx context.Context, tenantID, ownerUID, brandID string) ([]*entity.Topic, error)
Update(ctx context.Context, tenantID, ownerUID, topicID string, patch map[string]interface{}) (*entity.Topic, error)
SoftDelete(ctx context.Context, tenantID, ownerUID, topicID string) error
}