controllers

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: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	InvalidRequestBodyError = "InvalidRequestBodyError"
	InvalidParameterError   = "InvalidParameterError"
	ResourceNotFound        = "ResourceNotFound"
	CreateResourceError     = "CreateResourceError"
	ReadResourceError       = "ReadResourceError"
	UpdateResourceError     = "UpdateResourceError"
	DeleteResourceError     = "DeleteResourceError"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AppError

type AppError struct {
	Name    string `json:"name"`
	Message string `json:"message"`
}

func (AppError) Response

func (a AppError) Response() gin.H

type Controller

type Controller struct {
	ActionService                 services.ActionService
	FeatureService                services.FeatureService
	PolicyService                 services.PolicyService
	RewardEventService            services.RewardEventService
	CampaignService               services.CampaignService
	CampaignFeatureService        services.CampaignFeatureService
	CampaignRewardTemplateService services.CampaignRewardTemplateService
	AnalyticsService              services.AnalyticsService
	BatchAdviceFileService        services.BatchAdviceFileService
}

func (*Controller) CreateAction

func (c *Controller) CreateAction(ctx *gin.Context)

CreateAction

	@Description  Create an action
	@ID           create-action
	@Accept       json
	@Produce      json
    @Tags         Action
	@Param		  actionDefinition	body		 krakenModels.ActionDefinition 	true	"Action to create"
    @Success 200 {object} krakenModels.ActionDefinition
	@Router       /action [post]

func (*Controller) CreateBatchAdviceFile

func (c *Controller) CreateBatchAdviceFile(ctx *gin.Context)

CreateBatchAdviceFile

	@Description  Create a Batch Advice File
	@ID           create-batch-advice-file
	@Accept       json
	@Produce      json
    @Tags         Batch
	@Param		  batchAdviceFile	body		 models.BatchAdviceFile 	true	"Batch Advice File to create"
    @Success 200 {object} models.BatchAdviceFile
	@Router       /batch_advice_file [post]

func (*Controller) CreateCampaign

func (c *Controller) CreateCampaign(ctx *gin.Context)

CreateCampaign

	@Description  Create a campaign
	@ID           create-campaign
	@Accept       json
	@Produce      json
    @Tags         Campaign
	@Param		  campaign	body		 models.Campaign 	true	"Campaign to create"
    @Success 200 {object} models.Campaign
	@Router       /campaign [post]

func (*Controller) CreateCampaignFeature

func (c *Controller) CreateCampaignFeature(ctx *gin.Context)

CreateCampaignFeature

	@Description  Create a campaign feature
	@ID           create-campaign-feature
	@Accept       json
	@Produce      json
    @Tags         Campaign Feature
	@Param		  campaignFeature	body		 krakenModels.CampaignFeatureDefinition 	true	"Campaign Feature to create"
    @Success 200 {object} krakenModels.CampaignFeatureDefinition
	@Router       /campaign_feature [post]

func (*Controller) CreateCampaignRewardTemplate

func (c *Controller) CreateCampaignRewardTemplate(ctx *gin.Context)

CreateCampaignRewardTemplate

	@Description  Create a campaign reward template
	@ID           create-campaign-reward-template
	@Accept       json
	@Produce      json
    @Tags         Campaign Reward Template
	@Param		  campaignRewardTemplate	body		 krakenModels.CampaignRewardTemplateDefinition 	true	"Campaign Reward Template to create"
    @Success 200 {object} krakenModels.CampaignRewardTemplateDefinition
	@Router       /campaign_reward_template [post]

func (*Controller) CreateFeature

func (c *Controller) CreateFeature(ctx *gin.Context)

CreateFeature

	@Description  Create a feature
	@ID           create-feature
	@Accept       json
	@Produce      json
    @Tags         Feature
	@Param		  featureDefinition	body		 krakenModels.FeatureDefinition 	true	"Feature to create"
    @Success 200 {object} krakenModels.FeatureDefinition
	@Router       /feature [post]

func (*Controller) CreatePolicy

func (c *Controller) CreatePolicy(ctx *gin.Context)

CreatePolicy

	@Description  Create a policy
	@ID           create-policy
	@Accept       json
	@Produce      json
    @Tags         Policy
	@Param		  policy	body		 krakenModels.Policy 	true	"Policy to create"
    @Success 200 {object} krakenModels.Policy
	@Router       /policy [post]

func (*Controller) CreateRewardEvent

func (c *Controller) CreateRewardEvent(ctx *gin.Context)

CreateRewardEvent

	@Description  Create a reward event
	@ID           create-reward-event
	@Accept       json
	@Produce      json
    @Tags         Reward Event
	@Param		  RewardEvent	body		 krakenModels.RewardEvent 	true	"Reward Event to create"
    @Success 200 {object} krakenModels.RewardEvent
	@Router       /reward_event [post]

func (*Controller) CreateRewardTemplate

func (c *Controller) CreateRewardTemplate(ctx *gin.Context)

CreateRewardTemplate

	@Description  Create a Reward Template
	@ID           create-reward-template
	@Accept       json
	@Produce      json
    @Tags         Reward Template
	@Param		  rewardTemplate	body		 krakenModels.RewardTemplate 	true	"Reward Template to create"
    @Success 200 {object} krakenModels.RewardTemplate
	@Router       /reward_template [post]

func (*Controller) DeleteAction

func (c *Controller) DeleteAction(ctx *gin.Context)

DeleteAction

	@Description  Delete an action
	@ID           delete-action
	@Accept       json
	@Produce      json
    @Tags         Action
	@Param		  id	path	int	  	true	"Action ID to delete"
    @Success 200
	@Router       /action/{id} [delete]

func (*Controller) DeleteBatchAdviceFile

func (c *Controller) DeleteBatchAdviceFile(ctx *gin.Context)

DeleteBatchAdviceFile

	@Description  Delete a batch advice file
	@ID           delete-batch-advice-file
	@Accept       json
	@Produce      json
    @Tags         Batch
	@Param		  id	path	int	  	true	"Batch Advice File ID to delete"
    @Success 200
	@Router       /batch_advice_file/{id} [delete]

func (*Controller) DeleteCampaign

func (c *Controller) DeleteCampaign(ctx *gin.Context)

DeleteCampaign

	@Description  Delete a campaign
	@ID           delete-campaign
	@Accept       json
	@Produce      json
    @Tags         Campaign
	@Param		  id	path	int	  	true	"ID of the campaign to delete"
    @Success 204
	@Router       /campaign/{id} [delete]

func (*Controller) DeleteCampaignFeature

func (c *Controller) DeleteCampaignFeature(ctx *gin.Context)

DeleteCampaignFeature

	@Description  Delete a campaign feature
	@ID           delete-campaign-feature
	@Accept       json
	@Produce      json
    @Tags         Campaign Feature
	@Param		  id	path	int	  	true	"Campaign Feature ID to delete"
    @Success 200
	@Router       /campaign_feature/{id} [delete]

func (*Controller) DeleteCampaignRewardTemplate

func (c *Controller) DeleteCampaignRewardTemplate(ctx *gin.Context)

DeleteCampaignRewardTemplate

	@Description  Delete a campaign reward template
	@ID           delete-campaign-reward-template
	@Accept       json
	@Produce      json
    @Tags         Campaign Reward Template
	@Param		  id	path	int	  	true	"Campaign reward template ID to delete"
    @Success 200
	@Router       /campaign_reward_template/{id} [delete]

func (*Controller) DeleteFeature

func (c *Controller) DeleteFeature(ctx *gin.Context)

DeleteFeature

	@Description  Delete a feature
	@ID           delete-feature
	@Accept       json
	@Produce      json
    @Tags         Feature
	@Param		  id	path	int	  	true	"Feature ID to delete"
    @Success 200
	@Router       /feature/{id} [delete]

func (*Controller) DeletePolicy

func (c *Controller) DeletePolicy(ctx *gin.Context)

DeletePolicy

	@Description  Delete a policy
	@ID           delete-policy
	@Accept       json
	@Produce      json
    @Tags         Policy
	@Param		  id	path	int	  	true	"Policy ID to delete"
    @Success 200
	@Router       /policy/{id} [delete]

func (*Controller) DeleteRewardEvent

func (c *Controller) DeleteRewardEvent(ctx *gin.Context)

DeleteRewardEvent

	@Description  Delete a reward event
	@ID           delete-reward-event
	@Accept       json
	@Produce      json
    @Tags         Reward Event
	@Param		  id	path	int	  	true	"Reward event ID to delete"
    @Success 200
	@Router       /reward_event/{id} [delete]

func (*Controller) DeleteRewardTemplate

func (c *Controller) DeleteRewardTemplate(ctx *gin.Context)

DeleteRewardTemplate

	@Description  Delete a reward template
	@ID           delete-reward-template
	@Accept       json
	@Produce      json
    @Tags         Reward Template
	@Param		  id	path	int	  	true	"Reward Template ID to delete"
    @Success 200
	@Router       /reward_template/{id} [delete]

func (*Controller) GetAction

func (c *Controller) GetAction(ctx *gin.Context)

GetAction

	@Description  Get an Action
	@ID           get-action
	@Accept       json
	@Produce      json
    @Tags         Action
	@Param		  id	path	int	  	true	"Action ID to fetch"
    @Success 200 {object} krakenModels.ActionDefinition
	@Router       /action/{id} [get]

func (*Controller) GetActionsByCampaignID

func (c *Controller) GetActionsByCampaignID(ctx *gin.Context)

GetActionsByCampaignID

	@Description  Get all Actions for a campaign
	@ID           get-actions-by-campaign-id
	@Accept       json
	@Produce      json
    @Tags         Action
	@Param		  campaign_id	query	int	  	true	"Campaign ID to fetch actions"
    @Success 200 {array} krakenModels.ActionDefinition
	@Router       /action [get]

func (*Controller) GetAllArchivedCampaigns

func (c *Controller) GetAllArchivedCampaigns(ctx *gin.Context)

GetAllArchivedCampaigns

	@Description  Get all archived campaigns
	@ID           get-all-archived-campaigns
	@Accept       json
	@Produce      json
    @Tags         Campaign
    @Success 200 {array} models.Campaign
	@Router       /campaign/archived [get]

func (*Controller) GetAllCampaigns

func (c *Controller) GetAllCampaigns(ctx *gin.Context)

GetAllCampaigns

	@Description  Get all campaigns
	@ID           get-all-campaigns
	@Accept       json
	@Produce      json
    @Tags         Campaign
    @Success 200 {array} models.Campaign
	@Router       /campaign [get]

func (*Controller) GetAllFeatures

func (c *Controller) GetAllFeatures(ctx *gin.Context)

GetAllFeatures

	@Description  Get all features
	@ID           get-all-features
	@Accept       json
	@Produce      json
    @Tags         Feature
    @Success 200 {array} krakenModels.FeatureDefinition
	@Router       /feature [get]

func (*Controller) GetAllRewardEvents

func (c *Controller) GetAllRewardEvents(ctx *gin.Context)

GetAllRewardEvents

	@Description  Get all reward events
	@ID           get-all-reward-events
	@Accept       json
	@Produce      json
    @Tags         Reward Event
    @Success 200 {array} krakenModels.RewardEvent
	@Router       /reward_event [get]

func (*Controller) GetBatchAdviceFile

func (c *Controller) GetBatchAdviceFile(ctx *gin.Context)

GetBatchAdviceFile

	@Description  Get a Batch Advice File
	@ID           get-batch-advice-file
	@Accept       json
	@Produce      json
    @Tags         Batch
	@Param		  id	path	int	  	true	"Batch Advice File to fetch"
    @Success 200 {object} models.BatchAdviceFile
	@Router       /batch_advice_file/{id} [get]

func (*Controller) GetBatchAdviceFilesByCampaignID

func (c *Controller) GetBatchAdviceFilesByCampaignID(ctx *gin.Context)

GetBatchAdviceFilesByCampaignID

	@Description  Get all batch advice files for a campaign
	@ID           get-batch-advice-file-by-campaign-id
	@Accept       json
	@Produce      json
    @Tags         Batch
	@Param		  campaign_id	query	int	  	true	"Campaign ID to fetch Batch Advice Files"
    @Success 200 {array} models.BatchAdviceFile
	@Router       /batch_advice_file [get]

func (*Controller) GetCampaign

func (c *Controller) GetCampaign(ctx *gin.Context)

GetCampaign

	@Description  Get a campaign
	@ID           get-campaign
	@Accept       json
	@Produce      json
    @Tags         Campaign
	@Param		  id	path	int	  	true	"Campaign ID to fetch"
    @Success 200 {object} models.Campaign
	@Router       /campaign/{id} [get]

func (*Controller) GetCampaignMetadata

func (c *Controller) GetCampaignMetadata(ctx *gin.Context)

GetCampaignMetadata

	@Description  Get campaign metadata
	@ID           get-campaign-metadata
	@Accept       json
	@Produce      json
    @Tags         Campaign
	@Param		  id	path	int	  	true	"ID of the campaign"
    @Success 200 {object} krakenModels.CampaignMetadata
	@Router       /campaign/{id}/metadata [get]

func (*Controller) GetCampaignMetadataList

func (c *Controller) GetCampaignMetadataList(ctx *gin.Context)

GetCampaignMetadataList

	@Description  Get campaign metadata list
	@ID           get-campaign-metadata-list
	@Accept       json
	@Produce      json
    @Tags         Campaign
    @Success 200 {array} krakenModels.CampaignMetadata
	@Router       /campaign/metadata [get]

func (*Controller) GetCampaignRewardTemplateMetadata

func (c *Controller) GetCampaignRewardTemplateMetadata(ctx *gin.Context)

GetCampaignRewardTemplateMetadata

	@Description  Get campaign reward template metadata
	@ID           get-campaign-reward-template-metadata
	@Accept       json
	@Produce      json
    @Tags         Campaign
    @Success 200 {array} krakenModels.CampaignRewardTemplateMetadata
	@Router       /campaign/reward-template-metadata [get]

func (*Controller) GetFeature

func (c *Controller) GetFeature(ctx *gin.Context)

GetFeature

	@Description  Get a Feature
	@ID           get-feature
	@Accept       json
	@Produce      json
    @Tags         Feature
	@Param		  id	path	int	  	true	"Feature ID to fetch"
    @Success 200 {object} krakenModels.FeatureDefinition
	@Router       /feature/{id} [get]

func (*Controller) GetFeaturesByCampaignID

func (c *Controller) GetFeaturesByCampaignID(ctx *gin.Context)

GetFeaturesByCampaignID

	@Description  Get all features for a campaign
	@ID           get-features-by-campaign-id
	@Accept       json
	@Produce      json
    @Tags         Campaign Feature
	@Param		  campaign_id	query	int	  	true	"Campaign ID to fetch features"
    @Success 200 {array} krakenModels.CampaignFeature
	@Router       /campaign_feature [get]

func (*Controller) GetPolicy

func (c *Controller) GetPolicy(ctx *gin.Context)

GetPolicy

	@Description  Get a Policy
	@ID           get-policy
	@Accept       json
	@Produce      json
    @Tags         Policy
	@Param		  id	path	int	  	true	"Policy ID to fetch"
    @Success 200 {object} krakenModels.Policy
	@Router       /policy/{id} [get]

func (*Controller) GetPolicyByCampaignID

func (c *Controller) GetPolicyByCampaignID(ctx *gin.Context)

GetPolicyByCampaignID

	@Description  Get the policy for a campaign
	@ID           get-policy-by-campaign-id
	@Accept       json
	@Produce      json
    @Tags         Policy
	@Param		  campaign_id	query	int	  	true	"Campaign ID to fetch policy"
    @Success 200 {object} krakenModels.Policy
	@Router       /policy [get]

func (*Controller) GetRewardEvent

func (c *Controller) GetRewardEvent(ctx *gin.Context)

GetRewardEvent

	@Description  Get a Reward Event
	@ID           get-reward-event
	@Accept       json
	@Produce      json
    @Tags         Reward Event
	@Param		  id	path	int	  	true	"Reward Event ID to fetch"
    @Success 200 {object} krakenModels.RewardEvent
	@Router       /reward_event/{id} [get]

func (*Controller) GetRewardTemplate

func (c *Controller) GetRewardTemplate(ctx *gin.Context)

GetRewardTemplate

	@Description  Get a Reward Template
	@ID           get-reward-template
	@Accept       json
	@Produce      json
    @Tags         Reward Template
	@Param		  id	path	int	  	true	"Reward Template ID to fetch"
    @Success 200 {object} krakenModels.RewardTemplate
	@Router       /reward_template/{id} [get]

func (*Controller) GetRewardTemplatesByCampaignID

func (c *Controller) GetRewardTemplatesByCampaignID(ctx *gin.Context)

GetRewardTemplatesByCampaignID

	@Description  Get all reward templates for a campaign
	@ID           get-reward-templates-by-campaign-id
	@Accept       json
	@Produce      json
    @Tags         Campaign Reward Template
	@Param		  campaign_id	query	int	  	true	"Campaign ID to reward templates"
    @Success 200 {array} krakenModels.CampaignRewardTemplate
	@Router       /campaign_reward_template [get]

func (*Controller) GetRewardTemplatesByRewardEventID

func (c *Controller) GetRewardTemplatesByRewardEventID(ctx *gin.Context)

GetRewardTemplatesByRewardEventID

	@Description  Get all Reward Templates for a reward event
	@ID           get-reward-templates-by-reward-event
	@Accept       json
	@Produce      json
    @Tags         Reward Template
	@Param		  reward_event_id	query	int	  	true	"Reward event ID to fetch templates"
    @Success 200 {object} krakenModels.RewardTemplate
	@Router       /reward_template [get]

func (*Controller) GetSummaryAnalytics

func (c *Controller) GetSummaryAnalytics(ctx *gin.Context)

GetSummaryAnalytics

	@Description  Get summary analytics
	@ID           get-analytics
	@Accept       json
	@Produce      json
    @Tags         Analytics
    @Success 200 {object} krakenModels.SummaryAnalytics
	@Router       /analytics [get]

func (*Controller) HealthCheck

func (c *Controller) HealthCheck(ctx *gin.Context)

HealthCheck

	@Description  Health Check
	@ID           kraken-health-check
	@Produce      json
    @Tags         Health
    @Success 200 string success
	@Router       /health [get]

func (*Controller) UpdateAction

func (c *Controller) UpdateAction(ctx *gin.Context)

UpdateAction

	@Description  Update an action
	@ID           update-action
	@Accept       json
	@Produce      json
    @Tags         Action
	@Param		  id	path	int	  	true	"Action ID to update"
	@Param		  actionDefinition	body		 krakenModels.ActionDefinition 	true	"Action to update"
    @Success 200 {object} krakenModels.ActionDefinition
	@Router       /action/{id} [put]

func (*Controller) UpdateBatchAdviceFile

func (c *Controller) UpdateBatchAdviceFile(ctx *gin.Context)

UpdateBatchAdviceFile

	@Description  Update a batch advice file
	@ID           update-batch-advice-file
	@Accept       json
	@Produce      json
    @Tags         Batch
	@Param		  id	path	int	  	true	"Batch Advice File ID to update"
	@Param		  batchAdviceFile	body		 models.BatchAdviceFile 	true	"Batch Advice File to update"
    @Success 200 {object} models.BatchAdviceFile
	@Router       /batch_advice_file/{id} [put]

func (*Controller) UpdateCampaign

func (c *Controller) UpdateCampaign(ctx *gin.Context)

UpdateCampaign

	@Description  Update a campaign
	@ID           update-campaign
	@Accept       json
	@Produce      json
    @Tags         Campaign
	@Param		  id	path	int	  	true	"ID of the campaign to update"
	@Param		  campaign	body		 models.Campaign 	true	"Updated campaign"
    @Success 200 {object} models.Campaign
	@Router       /campaign/{id} [put]

func (*Controller) UpdateCampaignRewardTemplate

func (c *Controller) UpdateCampaignRewardTemplate(ctx *gin.Context)

UpdateCampaignRewardTemplate

	@Description  Update a campaign reward template
	@ID           update-campaign-reward-template
	@Accept       json
	@Produce      json
    @Tags         Campaign Reward Template
	@Param		  id	path	int	  	true	"Campaign Reward Template ID to update"
	@Param		  campaignRewardTemplate	body		 krakenModels.UpdateCampaignRewardTemplateRequest 	true	"Campaign Reward Template to update"
    @Success 200 {object} krakenModels.CampaignRewardTemplateDefinition
	@Router       /campaign_reward_template/{id} [put]

func (*Controller) UpdateCampaignStatus

func (c *Controller) UpdateCampaignStatus(ctx *gin.Context)

UpdateCampaignStatus

	@Description  Update a campaign status
	@ID           update-campaign-status
	@Accept       json
	@Produce      json
    @Tags         Campaign
	@Param		  id	path	int	  	true	"ID of the campaign"
	@Param		  campaign	body		 krakenModels.CampaignStatus 	true	"Updated status"
    @Success 200
	@Router       /campaign/status/{id} [put]

func (*Controller) UpdateFeature

func (c *Controller) UpdateFeature(ctx *gin.Context)

UpdateFeature

	@Description  Update a feature
	@ID           update-feature
	@Accept       json
	@Produce      json
    @Tags         Feature
	@Param		  id	path	int	  	true	"Feature ID to update"
	@Param		  featureDefinition	body		 krakenModels.FeatureDefinition 	true	"Feature to update"
    @Success 200 {object} krakenModels.FeatureDefinition
	@Router       /feature/{id} [put]

func (*Controller) UpdatePolicy

func (c *Controller) UpdatePolicy(ctx *gin.Context)

UpdatePolicy

	@Description  Update a policy
	@ID           update-policy
	@Accept       json
	@Produce      json
    @Tags         Policy
	@Param		  id	path	int	  	true	"Policy ID to update"
	@Param		  policy	body		 krakenModels.Policy 	true	"Policy to update"
    @Success 200 {object} krakenModels.Policy
	@Router       /policy/{id} [put]

func (*Controller) UpdateRewardEvent

func (c *Controller) UpdateRewardEvent(ctx *gin.Context)

UpdateRewardEvent

	@Description  Update a reward event
	@ID           update-reward-event
	@Accept       json
	@Produce      json
    @Tags         Reward Event
	@Param		  id	path	int	  	true	"Reward Event ID to update"
	@Param		  RewardEvent	body		 krakenModels.RewardEvent 	true	"Reward event to update"
    @Success 200 {object} krakenModels.RewardEvent
	@Router       /reward_event/{id} [put]

func (*Controller) UpdateRewardTemplate

func (c *Controller) UpdateRewardTemplate(ctx *gin.Context)

UpdateRewardTemplate

	@Description  Update a reward template
	@ID           update-reward-template
	@Accept       json
	@Produce      json
    @Tags         Reward Template
	@Param		  id	path	int	  	true	"Reward Template ID to update"
	@Param		  rewardTemplate	body		 krakenModels.RewardTemplate 	true	"Reward Template to update"
    @Success 200 {object} krakenModels.RewardTemplate
	@Router       /reward_template/{id} [put]

func (*Controller) UpsertActions

func (c *Controller) UpsertActions(ctx *gin.Context)

UpsertActions

	@Description  Upsert multiple actions
	@ID           upsert-action
	@Accept       json
	@Produce      json
    @Tags         Action
	@Param		  actionsDefinition	body		 []krakenModels.ActionDefinition 	true	"Actions to upsert"
    @Success 200 {array} krakenModels.ActionDefinition
	@Router       /action [put]

Jump to

Keyboard shortcuts

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