package mysql import ( "context" "git.gocasts.ir/ebhomengo/niki/campaign/entity" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" "git.gocasts.ir/ebhomengo/niki/repository/mysql" "git.gocasts.ir/ebhomengo/niki/types" ) type CampaignRepository interface { CreateAndSave(ctx context.Context, campaign *Campaign) error FindByID(ctx context.Context, id ID) (*Campaign, error) List(ctx context.Context, status CampaignStatus, limit, offset int) ([]*Campaign, error) Delete(ctx context.Context, id ID) error Update(ctx context.Context, campaign *Campaign) error }