package repository import ( "context" "haixun-backend/internal/model/copy_mission/domain/entity" ) type Repository interface { EnsureIndexes(ctx context.Context) error Create(ctx context.Context, mission *entity.Mission) (*entity.Mission, error) FindByID(ctx context.Context, tenantID, ownerUID, personaID, missionID string) (*entity.Mission, error) ListByPersona(ctx context.Context, tenantID, ownerUID, personaID string) ([]*entity.Mission, error) Update(ctx context.Context, tenantID, ownerUID, personaID, missionID string, patch map[string]interface{}) (*entity.Mission, error) Delete(ctx context.Context, tenantID, ownerUID, personaID, missionID string) error }