Merged in feature/apitidyup (pull request #24)
Export API Clean Up * exportapi
This commit is contained in:
+120
-31
@@ -18,21 +18,82 @@ import (
|
||||
"github.com/oapi-codegen/runtime"
|
||||
)
|
||||
|
||||
// Defines values for ExportStatus.
|
||||
const (
|
||||
Completed ExportStatus = "completed"
|
||||
Failed ExportStatus = "failed"
|
||||
InProgress ExportStatus = "in_progress"
|
||||
)
|
||||
|
||||
// Defines values for FieldFilterCondition.
|
||||
const (
|
||||
ClosedInterval FieldFilterCondition = "closed_interval"
|
||||
Exclude FieldFilterCondition = "exclude"
|
||||
GreaterThan FieldFilterCondition = "greater_than"
|
||||
Include FieldFilterCondition = "include"
|
||||
LeftClosedInterval FieldFilterCondition = "left_closed_interval"
|
||||
LessThan FieldFilterCondition = "less_than"
|
||||
OpenInterval FieldFilterCondition = "open_interval"
|
||||
RightClosedInterval FieldFilterCondition = "right_closed_interval"
|
||||
)
|
||||
|
||||
// Defines values for QueryType.
|
||||
const (
|
||||
CONTEXTFULL QueryType = "CONTEXT_FULL"
|
||||
JSONEXTRACTOR QueryType = "JSON_EXTRACTOR"
|
||||
)
|
||||
|
||||
// ExportDetails Payload for export trigger response.
|
||||
type ExportDetails struct {
|
||||
// JobId The job id relative to the export.
|
||||
JobId *string `json:"job_id,omitempty"`
|
||||
|
||||
// OutputLocation The location in which the export zip file will be found.
|
||||
OutputLocation *string `json:"output_location,omitempty"`
|
||||
|
||||
// Status The possible export job states.
|
||||
Status ExportStatus `json:"status"`
|
||||
}
|
||||
|
||||
// ExportStatus The possible export job states.
|
||||
type ExportStatus string
|
||||
|
||||
// ExportTrigger Payload for triggering an export.
|
||||
type ExportTrigger struct {
|
||||
// ExampleProperty Example property for ExportTrigger.
|
||||
ExampleProperty *string `json:"example_property,omitempty"`
|
||||
// FieldFilters Filter the scope based on field output values.
|
||||
FieldFilters *[]FieldFilter `json:"field_filters,omitempty"`
|
||||
|
||||
// IngestionFilters Filter the scope based on ingestion parameters.
|
||||
IngestionFilters *struct {
|
||||
// EndDate The last date of ingestion.
|
||||
EndDate *string `json:"end_date,omitempty"`
|
||||
|
||||
// StartDate This first date of ingestion.
|
||||
StartDate *string `json:"start_date,omitempty"`
|
||||
} `json:"ingestion_filters,omitempty"`
|
||||
|
||||
// JobId The job id of the query results to be exported.
|
||||
JobId string `json:"job_id"`
|
||||
}
|
||||
|
||||
// FieldFilter Filtering a column
|
||||
type FieldFilter struct {
|
||||
// Condition The possible field filtering conditions.
|
||||
Condition FieldFilterCondition `json:"condition"`
|
||||
|
||||
// FieldName The name of the field in question.
|
||||
FieldName string `json:"field_name"`
|
||||
|
||||
// Values The values useful to the filter.
|
||||
Values []string `json:"values"`
|
||||
}
|
||||
|
||||
// FieldFilterCondition The possible field filtering conditions.
|
||||
type FieldFilterCondition string
|
||||
|
||||
// IdMessage defines model for IdMessage.
|
||||
type IdMessage struct {
|
||||
// Id Unique identifier.
|
||||
// Id Unique identifier for entity.
|
||||
Id string `json:"id"`
|
||||
}
|
||||
|
||||
@@ -144,8 +205,11 @@ type TestQueryJSONRequestBody = QueryTestRequest
|
||||
// ServerInterface represents all server handlers.
|
||||
type ServerInterface interface {
|
||||
// Trigger an export
|
||||
// (POST /exports/trigger)
|
||||
// (POST /export)
|
||||
TriggerExport(ctx echo.Context) error
|
||||
// Check export state.
|
||||
// (GET /export/{id})
|
||||
ExportState(ctx echo.Context, id string) error
|
||||
// Create a job collector
|
||||
// (POST /job-collectors)
|
||||
CreateJobCollector(ctx echo.Context) error
|
||||
@@ -189,6 +253,22 @@ func (w *ServerInterfaceWrapper) TriggerExport(ctx echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// ExportState converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) ExportState(ctx echo.Context) error {
|
||||
var err error
|
||||
// ------------- Path parameter "id" -------------
|
||||
var id string
|
||||
|
||||
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
|
||||
}
|
||||
|
||||
// Invoke the callback with all the unmarshaled arguments
|
||||
err = w.Handler.ExportState(ctx, id)
|
||||
return err
|
||||
}
|
||||
|
||||
// CreateJobCollector converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) CreateJobCollector(ctx echo.Context) error {
|
||||
var err error
|
||||
@@ -340,7 +420,8 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
Handler: si,
|
||||
}
|
||||
|
||||
router.POST(baseURL+"/exports/trigger", wrapper.TriggerExport)
|
||||
router.POST(baseURL+"/export", wrapper.TriggerExport)
|
||||
router.GET(baseURL+"/export/:id", wrapper.ExportState)
|
||||
router.POST(baseURL+"/job-collectors", wrapper.CreateJobCollector)
|
||||
router.GET(baseURL+"/job-collectors/:id", wrapper.GetJobCollectorById)
|
||||
router.PUT(baseURL+"/job-collectors/:id", wrapper.UpdateJobCollector)
|
||||
@@ -356,32 +437,40 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||
var swaggerSpec = []string{
|
||||
|
||||
"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",
|
||||
"wy/PGCEAAA==",
|
||||
"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",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
||||
Reference in New Issue
Block a user