api

package
v0.0.0-...-6cc63a5 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package api provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen version v1.8.1 DO NOT EDIT.

Index

Constants

View Source
const (
	BearerAuthScopes = "bearerAuth.Scopes"
)

Variables

This section is empty.

Functions

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL

func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler

func HandlerWithOptions

func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

Types

type BadRequest

type BadRequest externalRef0.Error

BadRequest defines model for BadRequest.

type ChiServerOptions

type ChiServerOptions struct {
	BaseURL     string
	BaseRouter  chi.Router
	Middlewares []MiddlewareFunc
}

type CreateExperimentJSONRequestBody

type CreateExperimentJSONRequestBody CreateExperimentRequestBody

CreateExperimentJSONRequestBody defines body for CreateExperiment for application/json ContentType.

type CreateExperimentRequestBody

type CreateExperimentRequestBody struct {
	Description *string                            `json:"description"`
	EndTime     time.Time                          `json:"end_time"`
	Interval    *int32                             `json:"interval"`
	Name        string                             `json:"name"`
	Segment     externalRef0.ExperimentSegment     `json:"segment"`
	StartTime   time.Time                          `json:"start_time"`
	Status      externalRef0.ExperimentStatus      `json:"status"`
	Tier        *externalRef0.ExperimentTier       `json:"tier,omitempty"`
	Treatments  []externalRef0.ExperimentTreatment `json:"treatments"`
	Type        externalRef0.ExperimentType        `json:"type"`
	UpdatedBy   *string                            `json:"updated_by,omitempty"`
}

CreateExperimentRequestBody defines model for CreateExperimentRequestBody.

type CreateExperimentSuccess

type CreateExperimentSuccess struct {
	Data externalRef0.Experiment `json:"data"`
}

CreateExperimentSuccess defines model for CreateExperimentSuccess.

type CreateProjectSettingsJSONRequestBody

type CreateProjectSettingsJSONRequestBody CreateProjectSettingsRequestBody

CreateProjectSettingsJSONRequestBody defines body for CreateProjectSettings for application/json ContentType.

type CreateProjectSettingsRequestBody

type CreateProjectSettingsRequestBody struct {
	EnableS2idClustering *bool                          `json:"enable_s2id_clustering,omitempty"`
	RandomizationKey     string                         `json:"randomization_key"`
	Segmenters           externalRef0.ProjectSegmenters `json:"segmenters"`

	// Object containing information to define a valid treatment schema
	TreatmentSchema *externalRef0.TreatmentSchema `json:"treatment_schema,omitempty"`
	ValidationUrl   *string                       `json:"validation_url,omitempty"`
}

CreateProjectSettingsRequestBody defines model for CreateProjectSettingsRequestBody.

type CreateProjectSettingsSuccess

type CreateProjectSettingsSuccess struct {
	Data externalRef0.ProjectSettings `json:"data"`
}

CreateProjectSettingsSuccess defines model for CreateProjectSettingsSuccess.

type CreateSegmenterJSONRequestBody

type CreateSegmenterJSONRequestBody CreateSegmenterRequestBody

CreateSegmenterJSONRequestBody defines body for CreateSegmenter for application/json ContentType.

type CreateSegmenterRequestBody

type CreateSegmenterRequestBody struct {
	Constraints *[]externalRef0.Constraint     `json:"constraints,omitempty"`
	Description *string                        `json:"description,omitempty"`
	MultiValued bool                           `json:"multi_valued"`
	Name        string                         `json:"name"`
	Options     *externalRef0.SegmenterOptions `json:"options,omitempty"`
	Required    bool                           `json:"required"`
	Type        externalRef0.SegmenterType     `json:"type"`
}

CreateSegmenterRequestBody defines model for CreateSegmenterRequestBody.

type CreateSegmenterSuccess

type CreateSegmenterSuccess struct {
	Data externalRef0.Segmenter `json:"data"`
}

CreateSegmenterSuccess defines model for CreateSegmenterSuccess.

type DeleteSegmenterSuccess

type DeleteSegmenterSuccess struct {
	Name *string `json:"name,omitempty"`
}

DeleteSegmenterSuccess defines model for DeleteSegmenterSuccess.

type GetExperimentHistorySuccess

type GetExperimentHistorySuccess struct {
	Data externalRef0.ExperimentHistory `json:"data"`
}

GetExperimentHistorySuccess defines model for GetExperimentHistorySuccess.

type GetExperimentSuccess

type GetExperimentSuccess struct {
	Data externalRef0.Experiment `json:"data"`
}

GetExperimentSuccess defines model for GetExperimentSuccess.

type GetProjectExperimentVariablesSuccess

type GetProjectExperimentVariablesSuccess struct {
	Data []string `json:"data"`
}

GetProjectExperimentVariablesSuccess defines model for GetProjectExperimentVariablesSuccess.

type GetProjectSettingsSuccess

type GetProjectSettingsSuccess struct {
	Data externalRef0.ProjectSettings `json:"data"`
}

GetProjectSettingsSuccess defines model for GetProjectSettingsSuccess.

type GetSegmenterSuccess

type GetSegmenterSuccess struct {
	Data externalRef0.Segmenter `json:"data"`
}

GetSegmenterSuccess defines model for GetSegmenterSuccess.

type InternalServerError

type InternalServerError externalRef0.Error

InternalServerError defines model for InternalServerError.

type ListExperimentHistoryParams

type ListExperimentHistoryParams struct {

	// Result page number. It defaults to 1.
	Page *int32 `json:"page,omitempty"`

	// Number of items on each page. It defaults to 10.
	PageSize *int32 `json:"page_size,omitempty"`
}

ListExperimentHistoryParams defines parameters for ListExperimentHistory.

type ListExperimentHistorySuccess

type ListExperimentHistorySuccess struct {
	Data   []externalRef0.ExperimentHistory `json:"data"`
	Paging *externalRef0.Paging             `json:"paging,omitempty"`
}

ListExperimentHistorySuccess defines model for ListExperimentHistorySuccess.

type ListExperimentsParams

type ListExperimentsParams struct {
	Status *externalRef0.ExperimentStatus `json:"status,omitempty"`

	// status_friendly is a combination of the status field, in conjunction with the duration,
	// that produces a user-friendly classification of the experiment statuses. When this parameter
	// is supplied, the status, start_time and end_time filters can also be set. However, the final
	// result would be an intersection of the application of each of these filters.
	StatusFriendly *[]externalRef0.ExperimentStatusFriendly `json:"status_friendly,omitempty"`

	// Used together with the start_time, to filter experiments that are at least partially running in the input range.
	EndTime   *time.Time                   `json:"end_time,omitempty"`
	Tier      *externalRef0.ExperimentTier `json:"tier,omitempty"`
	Type      *externalRef0.ExperimentType `json:"type,omitempty"`
	Name      *string                      `json:"name,omitempty"`
	UpdatedBy *string                      `json:"updated_by,omitempty"`

	// Search experiment name and description for a partial match of the search text
	Search *string `json:"search,omitempty"`

	// Result page number. It defaults to 1.
	Page *int32 `json:"page,omitempty"`

	// Number of items on each page. It defaults to 10.
	PageSize *int32 `json:"page_size,omitempty"`

	// Used together with the end_time, to filter experiments that are at least partially running in the input range.
	StartTime *time.Time              `json:"start_time,omitempty"`
	Segment   *map[string]interface{} `json:"segment,omitempty"`

	// controls whether or not weak segmenter matches (experiments where the segmenter is optional) should be returned
	IncludeWeakMatch *bool `json:"include_weak_match,omitempty"`

	// A selector to restrict the list of returned objects by their fields. If unset, all the fields will be returned.
	// Paginated responses will be returned if both or either of `page` and `page_size` parameters are provided.
	Fields *[]externalRef0.ExperimentField `json:"fields,omitempty"`
}

ListExperimentsParams defines parameters for ListExperiments.

type ListExperimentsSuccess

type ListExperimentsSuccess struct {
	Data   []externalRef0.Experiment `json:"data"`
	Paging *externalRef0.Paging      `json:"paging,omitempty"`
}

ListExperimentsSuccess defines model for ListExperimentsSuccess.

type ListProjectsSuccess

type ListProjectsSuccess struct {
	Data []externalRef0.Project `json:"data"`
}

ListProjectsSuccess defines model for ListProjectsSuccess.

type ListSegmentersParams

type ListSegmentersParams struct {
	Scope  *externalRef0.SegmenterScope  `json:"scope,omitempty"`
	Status *externalRef0.SegmenterStatus `json:"status,omitempty"`

	// Search treatment name for a partial match of the search text
	Search *string `json:"search,omitempty"`
}

ListSegmentersParams defines parameters for ListSegmenters.

type ListSegmentersSuccess

type ListSegmentersSuccess struct {
	Data []externalRef0.Segmenter `json:"data"`
}

ListSegmentersSuccess defines model for ListSegmentersSuccess.

type MiddlewareFunc

type MiddlewareFunc func(http.HandlerFunc) http.HandlerFunc

type NotFound

type NotFound externalRef0.Error

NotFound defines model for NotFound.

type ServerInterface

type ServerInterface interface {
	// List info of all projects set up for Experimentation
	// (GET /projects)
	ListProjects(w http.ResponseWriter, r *http.Request)
	// Get all parameters required for generating treatments for the given project
	// (GET /projects/{project_id}/experiment-variables)
	GetProjectExperimentVariables(w http.ResponseWriter, r *http.Request, projectId int64)
	// Get experiments for a project w.r.t. query params
	// (GET /projects/{project_id}/experiments)
	ListExperiments(w http.ResponseWriter, r *http.Request, projectId int64, params ListExperimentsParams)
	// Create a new experiment for a project
	// (POST /projects/{project_id}/experiments)
	CreateExperiment(w http.ResponseWriter, r *http.Request, projectId int64)
	// Get details of an experiment with the given experiment_id and project_id
	// (GET /projects/{project_id}/experiments/{experiment_id})
	GetExperiment(w http.ResponseWriter, r *http.Request, projectId int64, experimentId int64)
	// Update an experiment with the given experiment_id and project_id
	// (PUT /projects/{project_id}/experiments/{experiment_id})
	UpdateExperiment(w http.ResponseWriter, r *http.Request, projectId int64, experimentId int64)
	// Disable an experiment with the given experiment_id and project_id
	// (PUT /projects/{project_id}/experiments/{experiment_id}/disable)
	DisableExperiment(w http.ResponseWriter, r *http.Request, projectId int64, experimentId int64)
	// Enable an experiment with the given experiment_id and project_id
	// (PUT /projects/{project_id}/experiments/{experiment_id}/enable)
	EnableExperiment(w http.ResponseWriter, r *http.Request, projectId int64, experimentId int64)
	// List an experiment's historical versions
	// (GET /projects/{project_id}/experiments/{experiment_id}/history)
	ListExperimentHistory(w http.ResponseWriter, r *http.Request, projectId int64, experimentId int64, params ListExperimentHistoryParams)
	// List an experiment's historical versions
	// (GET /projects/{project_id}/experiments/{experiment_id}/history/{version})
	GetExperimentHistory(w http.ResponseWriter, r *http.Request, projectId int64, experimentId int64, version int64)
	// Get all segmenter configurations required for generating experiments for the given project
	// (GET /projects/{project_id}/segmenters)
	ListSegmenters(w http.ResponseWriter, r *http.Request, projectId int64, params ListSegmentersParams)
	// Create a new project-specific segmenter
	// (POST /projects/{project_id}/segmenters)
	CreateSegmenter(w http.ResponseWriter, r *http.Request, projectId int64)
	// Delete a project-specific segmenter
	// (DELETE /projects/{project_id}/segmenters/{name})
	DeleteSegmenter(w http.ResponseWriter, r *http.Request, projectId int64, name string)
	// Get the global/project-specific segmenter by name
	// (GET /projects/{project_id}/segmenters/{name})
	GetSegmenter(w http.ResponseWriter, r *http.Request, projectId int64, name string)
	// Update an existing project-specific segmenter
	// (PUT /projects/{project_id}/segmenters/{name})
	UpdateSegmenter(w http.ResponseWriter, r *http.Request, projectId int64, name string)
	// Get the settings for the given project
	// (GET /projects/{project_id}/settings)
	GetProjectSettings(w http.ResponseWriter, r *http.Request, projectId int64)
	// Set up new project for Experimentation
	// (POST /projects/{project_id}/settings)
	CreateProjectSettings(w http.ResponseWriter, r *http.Request, projectId int64)
	// Update the settings for the given project
	// (PUT /projects/{project_id}/settings)
	UpdateProjectSettings(w http.ResponseWriter, r *http.Request, projectId int64)
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) CreateExperiment

func (siw *ServerInterfaceWrapper) CreateExperiment(w http.ResponseWriter, r *http.Request)

CreateExperiment operation middleware

func (*ServerInterfaceWrapper) CreateProjectSettings

func (siw *ServerInterfaceWrapper) CreateProjectSettings(w http.ResponseWriter, r *http.Request)

CreateProjectSettings operation middleware

func (*ServerInterfaceWrapper) CreateSegmenter

func (siw *ServerInterfaceWrapper) CreateSegmenter(w http.ResponseWriter, r *http.Request)

CreateSegmenter operation middleware

func (*ServerInterfaceWrapper) DeleteSegmenter

func (siw *ServerInterfaceWrapper) DeleteSegmenter(w http.ResponseWriter, r *http.Request)

DeleteSegmenter operation middleware

func (*ServerInterfaceWrapper) DisableExperiment

func (siw *ServerInterfaceWrapper) DisableExperiment(w http.ResponseWriter, r *http.Request)

DisableExperiment operation middleware

func (*ServerInterfaceWrapper) EnableExperiment

func (siw *ServerInterfaceWrapper) EnableExperiment(w http.ResponseWriter, r *http.Request)

EnableExperiment operation middleware

func (*ServerInterfaceWrapper) GetExperiment

func (siw *ServerInterfaceWrapper) GetExperiment(w http.ResponseWriter, r *http.Request)

GetExperiment operation middleware

func (*ServerInterfaceWrapper) GetExperimentHistory

func (siw *ServerInterfaceWrapper) GetExperimentHistory(w http.ResponseWriter, r *http.Request)

GetExperimentHistory operation middleware

func (*ServerInterfaceWrapper) GetProjectExperimentVariables

func (siw *ServerInterfaceWrapper) GetProjectExperimentVariables(w http.ResponseWriter, r *http.Request)

GetProjectExperimentVariables operation middleware

func (*ServerInterfaceWrapper) GetProjectSettings

func (siw *ServerInterfaceWrapper) GetProjectSettings(w http.ResponseWriter, r *http.Request)

GetProjectSettings operation middleware

func (*ServerInterfaceWrapper) GetSegmenter

func (siw *ServerInterfaceWrapper) GetSegmenter(w http.ResponseWriter, r *http.Request)

GetSegmenter operation middleware

func (*ServerInterfaceWrapper) ListExperimentHistory

func (siw *ServerInterfaceWrapper) ListExperimentHistory(w http.ResponseWriter, r *http.Request)

ListExperimentHistory operation middleware

func (*ServerInterfaceWrapper) ListExperiments

func (siw *ServerInterfaceWrapper) ListExperiments(w http.ResponseWriter, r *http.Request)

ListExperiments operation middleware

func (*ServerInterfaceWrapper) ListProjects

func (siw *ServerInterfaceWrapper) ListProjects(w http.ResponseWriter, r *http.Request)

ListProjects operation middleware

func (*ServerInterfaceWrapper) ListSegmenters

func (siw *ServerInterfaceWrapper) ListSegmenters(w http.ResponseWriter, r *http.Request)

ListSegmenters operation middleware

func (*ServerInterfaceWrapper) UpdateExperiment

func (siw *ServerInterfaceWrapper) UpdateExperiment(w http.ResponseWriter, r *http.Request)

UpdateExperiment operation middleware

func (*ServerInterfaceWrapper) UpdateProjectSettings

func (siw *ServerInterfaceWrapper) UpdateProjectSettings(w http.ResponseWriter, r *http.Request)

UpdateProjectSettings operation middleware

func (*ServerInterfaceWrapper) UpdateSegmenter

func (siw *ServerInterfaceWrapper) UpdateSegmenter(w http.ResponseWriter, r *http.Request)

UpdateSegmenter operation middleware

type UpdateExperimentJSONRequestBody

type UpdateExperimentJSONRequestBody UpdateExperimentRequestBody

UpdateExperimentJSONRequestBody defines body for UpdateExperiment for application/json ContentType.

type UpdateExperimentRequestBody

type UpdateExperimentRequestBody struct {
	Description *string                            `json:"description"`
	EndTime     time.Time                          `json:"end_time"`
	Interval    *int32                             `json:"interval"`
	Segment     externalRef0.ExperimentSegment     `json:"segment"`
	StartTime   time.Time                          `json:"start_time"`
	Status      externalRef0.ExperimentStatus      `json:"status"`
	Tier        *externalRef0.ExperimentTier       `json:"tier,omitempty"`
	Treatments  []externalRef0.ExperimentTreatment `json:"treatments"`
	Type        externalRef0.ExperimentType        `json:"type"`
	UpdatedBy   *string                            `json:"updated_by,omitempty"`
}

UpdateExperimentRequestBody defines model for UpdateExperimentRequestBody.

type UpdateExperimentSuccess

type UpdateExperimentSuccess struct {
	Data externalRef0.Experiment `json:"data"`
}

UpdateExperimentSuccess defines model for UpdateExperimentSuccess.

type UpdateProjectSettingsJSONRequestBody

type UpdateProjectSettingsJSONRequestBody UpdateProjectSettingsRequestBody

UpdateProjectSettingsJSONRequestBody defines body for UpdateProjectSettings for application/json ContentType.

type UpdateProjectSettingsRequestBody

type UpdateProjectSettingsRequestBody struct {
	EnableS2idClustering *bool                          `json:"enable_s2id_clustering,omitempty"`
	RandomizationKey     string                         `json:"randomization_key"`
	Segmenters           externalRef0.ProjectSegmenters `json:"segmenters"`

	// Object containing information to define a valid treatment schema
	TreatmentSchema *externalRef0.TreatmentSchema `json:"treatment_schema,omitempty"`
	ValidationUrl   *string                       `json:"validation_url,omitempty"`
}

UpdateProjectSettingsRequestBody defines model for UpdateProjectSettingsRequestBody.

type UpdateProjectSettingsSuccess

type UpdateProjectSettingsSuccess struct {
	Data externalRef0.ProjectSettings `json:"data"`
}

UpdateProjectSettingsSuccess defines model for UpdateProjectSettingsSuccess.

type UpdateSegmenterJSONRequestBody

type UpdateSegmenterJSONRequestBody UpdateSegmenterRequestBody

UpdateSegmenterJSONRequestBody defines body for UpdateSegmenter for application/json ContentType.

type UpdateSegmenterRequestBody

type UpdateSegmenterRequestBody struct {
	Constraints *[]externalRef0.Constraint     `json:"constraints,omitempty"`
	Description *string                        `json:"description,omitempty"`
	MultiValued bool                           `json:"multi_valued"`
	Options     *externalRef0.SegmenterOptions `json:"options,omitempty"`
	Required    bool                           `json:"required"`
}

UpdateSegmenterRequestBody defines model for UpdateSegmenterRequestBody.

type UpdateSegmenterSuccess

type UpdateSegmenterSuccess struct {
	Data externalRef0.Segmenter `json:"data"`
}

UpdateSegmenterSuccess defines model for UpdateSegmenterSuccess.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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