17 lines
678 B
Go
17 lines
678 B
Go
|
|
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
|
||
|
|
}
|