18 lines
716 B
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
|
|
}
|