repositories

package
v0.0.0-...-2b1d2f2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const ARCHIVED = "archived"

Variables

View Source
var CampaignStatuses = "draft, active, pause_predictions, pending, failed, archived"
View Source
var ErrActionNotFound = errors.New("action id not found")
View Source
var (
	ErrBatchAdviceFileNotFound = errors.New("batch id not found")
)
View Source
var ErrCampaignFeatureFKey = errors.New("campaigns and features must be created first")
View Source
var ErrCampaignFeatureNotFound = errors.New("(campaign id, feature id) not found")
View Source
var ErrCampaignIDFKey = errors.New("campaign must be created first")
View Source
var ErrCampaignMetadataNotFound = errors.New("campaign metadata could not be found, either no campaign" +
	" exists or the campaign has no policy")
View Source
var ErrCampaignNotFound = errors.New("campaign id not found")
View Source
var ErrCampaignRewardTemplateFKey = errors.New("campaign and reward template id must be created first")
View Source
var ErrCampaignRewardTemplateMetadataNotFound = errors.New("campaign reward templates metadata could not be " +
	"found, either no campaigns or no reward templates exist")
View Source
var ErrCampaignRewardTemplateNotFound = errors.New("(campaign id, reward template id) not found")
View Source
var ErrFeatureNotFound = errors.New("feature id not found")
View Source
var ErrModelMetadataNotFound = errors.New("model metadata could not be fetched, either no active campaigns" +
	" exist or all policies are missing")
View Source
var ErrNoRewardTemplatesFoundForRewardEventId = errors.New("No reward templates found for given reward event id")
View Source
var ErrPolicyNotFound = errors.New("policy not found")
View Source
var ErrRewardEventNotFound = errors.New("reward event id not found")
View Source
var ErrRewardTemplateNotFound = errors.New("reward template id not found")
View Source
var ErrRewardTemplateRewardEventFKeyNotFound = errors.New("reward template's reward_event_id not found")
View Source
var ErrUniqueCampaign = errors.New("campaign names must be unique")
View Source
var ErrUniqueCampaignAction = errors.New("(campaign, name) pairs must be unique")
View Source
var ErrUniqueCampaignFeature = errors.New("(campaign id, feature id) must be unique")
View Source
var ErrUniqueCampaignRewardTemplate = errors.New("(campaign id, reward template id) must be unique")
View Source
var ErrUniqueFeature = errors.New("feature names within the same type must be unique")
View Source
var ErrUniquePolicy = errors.New("only one policy is allowed per campaign")
View Source
var TxOptions = pgx.TxOptions{
	IsoLevel:       pgx.Serializable,
	AccessMode:     pgx.ReadWrite,
	DeferrableMode: pgx.Deferrable,
}

Functions

func NewActionRepository

func NewActionRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *actionRepository

func NewAnalyticsRepository

func NewAnalyticsRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *analyticsRepository

func NewBatchAdviceFileRepository

func NewBatchAdviceFileRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *batchAdviceFileRepository

func NewCampaignFeatureRepository

func NewCampaignFeatureRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *campaignFeatureRepository

func NewCampaignRepository

func NewCampaignRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *campaignRepository

func NewCampaignRewardTemplateRepository

func NewCampaignRewardTemplateRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *campaignRewardTemplateRepository

func NewConnectionPool

func NewConnectionPool(cfg *configuration.Configuration) (*pgxpool.Pool, error)

func NewFeatureRepository

func NewFeatureRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *featureRepository

func NewPolicyRepository

func NewPolicyRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *policyRepository

func NewRewardEventRepository

func NewRewardEventRepository(logger *zap.SugaredLogger, pool *pgxpool.Pool) *rewardEventRepository

Types

type ActionRepository

type ActionRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request krakenModels.ActionDefinition) (krakenModels.ActionDefinition, error)
	Delete(ctx context.Context, tx pgx.Tx, actionID int) (int, error)
	Get(ctx context.Context, tx pgx.Tx, actionID int) (krakenModels.ActionDefinition, error)
	GetAllByCampaignID(ctx context.Context, tx pgx.Tx, campaignID int) ([]krakenModels.ActionDefinition, error)
	Update(ctx context.Context, tx pgx.Tx, actionID int, request krakenModels.ActionDefinition) (krakenModels.ActionDefinition, error)
	UpsertActions(ctx context.Context, tx pgx.Tx, request []krakenModels.ActionDefinition) ([]krakenModels.ActionDefinition, error)
}

type AnalyticsRepository

type AnalyticsRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	GetSummaryAnalytics(ctx context.Context, tx pgx.Tx) (krakenModels.SummaryAnalytics, error)
}

type BatchAdviceFileRepository

type BatchAdviceFileRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request coral.BatchAdviceFile) (coral.BatchAdviceFile, error)
	Delete(ctx context.Context, tx pgx.Tx, batchID int) (int, error)
	Get(ctx context.Context, tx pgx.Tx, batchID int) (coral.BatchAdviceFile, error)
	GetAllByCampaignID(ctx context.Context, tx pgx.Tx, campaignID int) ([]coral.BatchAdviceFile, error)
	Update(ctx context.Context, tx pgx.Tx, batchID int, request coral.BatchAdviceFile) (coral.BatchAdviceFile, error)
}

type CampaignFeatureRepository

type CampaignFeatureRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request krakenModels.CampaignFeatureDefinition) (krakenModels.CampaignFeatureDefinition, error)
	GetAllByCampaignID(ctx context.Context, tx pgx.Tx, campaignID int) ([]krakenModels.CampaignFeature, error)
	Delete(ctx context.Context, tx pgx.Tx, campaignFeatureID int) (int, error)
}

type CampaignRepository

type CampaignRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request coral.Campaign) (coral.Campaign, error)
	Delete(ctx context.Context, tx pgx.Tx, campaignID int) (int, error)
	Get(ctx context.Context, tx pgx.Tx, campaignID int) (coral.Campaign, error)
	GetAll(ctx context.Context, tx pgx.Tx) ([]coral.Campaign, error)
	GetAllArchived(ctx context.Context, tx pgx.Tx) ([]coral.Campaign, error)
	UpdateStatus(ctx context.Context, tx pgx.Tx, campaignID int, status string) error
	GetMetadata(ctx context.Context, tx pgx.Tx, campaignID int) (krakenModels.CampaignMetadata, error)
	GetMetadataList(ctx context.Context, tx pgx.Tx) ([]krakenModels.CampaignMetadata, error)
	GetCampaignRewardTemplateMetadata(ctx context.Context, tx pgx.Tx) ([]krakenModels.CampaignRewardTemplateMetadata, error)
	Update(ctx context.Context, tx pgx.Tx, campaignID int, request coral.Campaign) (coral.Campaign, error)
}

type CampaignRewardTemplateRepository

type CampaignRewardTemplateRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request krakenModels.CampaignRewardTemplateDefinition) (krakenModels.CampaignRewardTemplateDefinition, error)
	GetAllByCampaignID(ctx context.Context, tx pgx.Tx, campaignID int) ([]krakenModels.CampaignRewardTemplate, error)
	Update(ctx context.Context, tx pgx.Tx, campaignRewardTemplateId int, request krakenModels.UpdateCampaignRewardTemplateRequest) (krakenModels.CampaignRewardTemplateDefinition, error)
	Delete(ctx context.Context, tx pgx.Tx, campaignRewardTemplateID int) (int, error)
}

type FeatureRepository

type FeatureRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	CreateFeature(ctx context.Context, tx pgx.Tx, request krakenModels.FeatureDefinition) (krakenModels.FeatureDefinition, error)
	DeleteFeature(ctx context.Context, tx pgx.Tx, featureID int) (int, error)
	GetFeature(ctx context.Context, tx pgx.Tx, featureID int) (krakenModels.FeatureDefinition, error)
	GetAllFeatures(ctx context.Context, tx pgx.Tx) ([]krakenModels.FeatureDefinition, error)
	UpdateFeature(ctx context.Context, tx pgx.Tx, featureID int, request krakenModels.FeatureDefinition) (krakenModels.FeatureDefinition, error)
}

type PolicyRepository

type PolicyRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request krakenModels.Policy) (krakenModels.Policy, error)
	Delete(ctx context.Context, tx pgx.Tx, policyID int) (int, error)
	Get(ctx context.Context, tx pgx.Tx, policyID int) (krakenModels.Policy, error)
	GetByCampaignID(ctx context.Context, tx pgx.Tx, campaignID int) (krakenModels.Policy, error)
	Update(ctx context.Context, tx pgx.Tx, policyID int, request krakenModels.Policy) (krakenModels.Policy, error)
}

type RewardEventRepository

type RewardEventRepository interface {
	BeginTx(ctx context.Context) (pgx.Tx, error)
	Create(ctx context.Context, tx pgx.Tx, request krakenModels.RewardEvent) (krakenModels.RewardEvent, error)
	Delete(ctx context.Context, tx pgx.Tx, rewardEventID int) (int, error)
	Get(ctx context.Context, tx pgx.Tx, rewardEventID int) (krakenModels.RewardEvent, error)
	GetAll(ctx context.Context, tx pgx.Tx) ([]krakenModels.RewardEvent, error)
	Update(ctx context.Context, tx pgx.Tx, rewardEventID int, request krakenModels.RewardEvent) (krakenModels.RewardEvent, error)
	CreateTemplate(ctx context.Context, tx pgx.Tx, request krakenModels.RewardTemplate) (krakenModels.RewardTemplate, error)
	DeleteTemplate(ctx context.Context, tx pgx.Tx, rewardTemplateID int) (int, error)
	GetTemplate(ctx context.Context, tx pgx.Tx, rewardTemplateID int) (krakenModels.RewardTemplate, error)
	GetTemplatesByRewardEventID(ctx context.Context, tx pgx.Tx, rewardEventID int) ([]krakenModels.RewardTemplate, error)
	UpdateTemplate(ctx context.Context, tx pgx.Tx, rewardTemplateID int, request krakenModels.RewardTemplate) (krakenModels.RewardTemplate, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL