Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
964 lines
20 KiB
Go
964 lines
20 KiB
Go
package request
|
|
|
|
// This file is auto-generated.
|
|
//
|
|
// Changes to this file may cause incorrect behavior and will be lost if
|
|
// the code is regenerated.
|
|
//
|
|
// Definitions file that controls how this file is generated:
|
|
//
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/cortezaproject/corteza/server/pkg/label"
|
|
labelTypes "github.com/cortezaproject/corteza/server/pkg/label/types"
|
|
"github.com/cortezaproject/corteza/server/pkg/payload"
|
|
"github.com/cortezaproject/corteza/server/system/reporting"
|
|
"github.com/cortezaproject/corteza/server/system/types"
|
|
"github.com/go-chi/chi/v5"
|
|
"io"
|
|
"mime/multipart"
|
|
"net/http"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
// dummy vars to prevent
|
|
// unused imports complain
|
|
var (
|
|
_ = chi.URLParam
|
|
_ = multipart.ErrMessageTooLarge
|
|
_ = payload.ParseUint64s
|
|
_ = strings.ToLower
|
|
_ = io.EOF
|
|
_ = fmt.Errorf
|
|
_ = json.NewEncoder
|
|
)
|
|
|
|
type (
|
|
// Internal API interface
|
|
ReportList struct {
|
|
// Handle GET parameter
|
|
//
|
|
// Report handle
|
|
Handle string
|
|
|
|
// Query GET parameter
|
|
//
|
|
// Report query
|
|
Query string
|
|
|
|
// Deleted GET parameter
|
|
//
|
|
// Exclude (0, default), include (1) or return only (2) deleted reports
|
|
Deleted uint
|
|
|
|
// Labels GET parameter
|
|
//
|
|
// Labels
|
|
Labels map[string]labelTypes.LabelValue
|
|
|
|
// Limit GET parameter
|
|
//
|
|
// Limit
|
|
Limit uint
|
|
|
|
// IncTotal GET parameter
|
|
//
|
|
// Include total counter
|
|
IncTotal bool
|
|
|
|
// PageCursor GET parameter
|
|
//
|
|
// Page cursor
|
|
PageCursor string
|
|
|
|
// Sort GET parameter
|
|
//
|
|
// Sort items
|
|
Sort string
|
|
}
|
|
|
|
ReportCreate struct {
|
|
// Handle POST parameter
|
|
//
|
|
// Client handle
|
|
Handle string
|
|
|
|
// Meta POST parameter
|
|
//
|
|
// Additional info
|
|
Meta *types.ReportMeta
|
|
|
|
// Scenarios POST parameter
|
|
//
|
|
// Report scenarios
|
|
Scenarios types.ReportScenarioSet
|
|
|
|
// Sources POST parameter
|
|
//
|
|
// Report source definitions
|
|
Sources types.ReportDataSourceSet
|
|
|
|
// Blocks POST parameter
|
|
//
|
|
// Report blocks definition
|
|
Blocks types.ReportBlockSet
|
|
|
|
// Labels POST parameter
|
|
//
|
|
// Labels
|
|
Labels map[string]labelTypes.LabelValue
|
|
}
|
|
|
|
ReportUpdate struct {
|
|
// ReportID PATH parameter
|
|
//
|
|
// Report ID
|
|
ReportID uint64 `json:",string"`
|
|
|
|
// Handle POST parameter
|
|
//
|
|
// Client handle
|
|
Handle string
|
|
|
|
// Meta POST parameter
|
|
//
|
|
// Additional info
|
|
Meta *types.ReportMeta
|
|
|
|
// Scenarios POST parameter
|
|
//
|
|
// Report scenarios
|
|
Scenarios types.ReportScenarioSet
|
|
|
|
// Sources POST parameter
|
|
//
|
|
// Report sources definition
|
|
Sources types.ReportDataSourceSet
|
|
|
|
// Blocks POST parameter
|
|
//
|
|
// Report blocks definition
|
|
Blocks types.ReportBlockSet
|
|
|
|
// Labels POST parameter
|
|
//
|
|
// Labels
|
|
Labels map[string]labelTypes.LabelValue
|
|
|
|
// UpdatedAt POST parameter
|
|
//
|
|
// Last update (or creation) date
|
|
UpdatedAt *time.Time
|
|
}
|
|
|
|
ReportRead struct {
|
|
// ReportID PATH parameter
|
|
//
|
|
// Report ID
|
|
ReportID uint64 `json:",string"`
|
|
}
|
|
|
|
ReportDelete struct {
|
|
// ReportID PATH parameter
|
|
//
|
|
// Report ID
|
|
ReportID uint64 `json:",string"`
|
|
}
|
|
|
|
ReportUndelete struct {
|
|
// ReportID PATH parameter
|
|
//
|
|
// Report ID
|
|
ReportID uint64 `json:",string"`
|
|
}
|
|
|
|
ReportDescribe struct {
|
|
// Sources POST parameter
|
|
//
|
|
// Report steps definition
|
|
Sources types.ReportDataSourceSet
|
|
|
|
// Steps POST parameter
|
|
//
|
|
// Report steps definition
|
|
Steps types.ReportStepSet
|
|
|
|
// Describe POST parameter
|
|
//
|
|
// The source descriptions to generate
|
|
Describe []string
|
|
}
|
|
|
|
ReportRun struct {
|
|
// ReportID PATH parameter
|
|
//
|
|
// Report ID
|
|
ReportID uint64 `json:",string"`
|
|
|
|
// Frames POST parameter
|
|
//
|
|
// Report data frame definitions
|
|
Frames reporting.FrameDefinitionSet
|
|
}
|
|
)
|
|
|
|
// NewReportList request
|
|
func NewReportList() *ReportList {
|
|
return &ReportList{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"handle": r.Handle,
|
|
"query": r.Query,
|
|
"deleted": r.Deleted,
|
|
"labels": r.Labels,
|
|
"limit": r.Limit,
|
|
"incTotal": r.IncTotal,
|
|
"pageCursor": r.PageCursor,
|
|
"sort": r.Sort,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetHandle() string {
|
|
return r.Handle
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetQuery() string {
|
|
return r.Query
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetDeleted() uint {
|
|
return r.Deleted
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetLabels() map[string]labelTypes.LabelValue {
|
|
return r.Labels
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetLimit() uint {
|
|
return r.Limit
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetIncTotal() bool {
|
|
return r.IncTotal
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetPageCursor() string {
|
|
return r.PageCursor
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportList) GetSort() string {
|
|
return r.Sort
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportList) Fill(req *http.Request) (err error) {
|
|
|
|
{
|
|
// GET params
|
|
tmp := req.URL.Query()
|
|
|
|
if val, ok := tmp["handle"]; ok && len(val) > 0 {
|
|
r.Handle, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["query"]; ok && len(val) > 0 {
|
|
r.Query, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["deleted"]; ok && len(val) > 0 {
|
|
r.Deleted, err = payload.ParseUint(val[0]), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["labels[]"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := tmp["labels"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["limit"]; ok && len(val) > 0 {
|
|
r.Limit, err = payload.ParseUint(val[0]), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["incTotal"]; ok && len(val) > 0 {
|
|
r.IncTotal, err = payload.ParseBool(val[0]), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["pageCursor"]; ok && len(val) > 0 {
|
|
r.PageCursor, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
if val, ok := tmp["sort"]; ok && len(val) > 0 {
|
|
r.Sort, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportCreate request
|
|
func NewReportCreate() *ReportCreate {
|
|
return &ReportCreate{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"handle": r.Handle,
|
|
"meta": r.Meta,
|
|
"scenarios": r.Scenarios,
|
|
"sources": r.Sources,
|
|
"blocks": r.Blocks,
|
|
"labels": r.Labels,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) GetHandle() string {
|
|
return r.Handle
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) GetMeta() *types.ReportMeta {
|
|
return r.Meta
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) GetScenarios() types.ReportScenarioSet {
|
|
return r.Scenarios
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) GetSources() types.ReportDataSourceSet {
|
|
return r.Sources
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) GetBlocks() types.ReportBlockSet {
|
|
return r.Blocks
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportCreate) GetLabels() map[string]labelTypes.LabelValue {
|
|
return r.Labels
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportCreate) Fill(req *http.Request) (err error) {
|
|
|
|
if strings.HasPrefix(strings.ToLower(req.Header.Get("content-type")), "application/json") {
|
|
err = json.NewDecoder(req.Body).Decode(r)
|
|
|
|
switch {
|
|
case err == io.EOF:
|
|
err = nil
|
|
case err != nil:
|
|
return fmt.Errorf("error parsing http request body: %w", err)
|
|
}
|
|
}
|
|
|
|
{
|
|
// Caching 32MB to memory, the rest to disk
|
|
if err = req.ParseMultipartForm(32 << 20); err != nil && err != http.ErrNotMultipart {
|
|
return err
|
|
} else if err == nil {
|
|
// Multipart params
|
|
|
|
if val, ok := req.MultipartForm.Value["handle"]; ok && len(val) > 0 {
|
|
r.Handle, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.MultipartForm.Value["meta[]"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.MultipartForm.Value["meta"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.MultipartForm.Value["labels[]"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.MultipartForm.Value["labels"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
if err = req.ParseForm(); err != nil {
|
|
return err
|
|
}
|
|
|
|
// POST params
|
|
|
|
if val, ok := req.Form["handle"]; ok && len(val) > 0 {
|
|
r.Handle, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.Form["meta[]"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.Form["meta"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
//if val, ok := req.Form["scenarios[]"]; ok && len(val) > 0 {
|
|
// r.Scenarios, err = types.ReportScenarioSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
//if val, ok := req.Form["sources[]"]; ok && len(val) > 0 {
|
|
// r.Sources, err = types.ReportDataSourceSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
//if val, ok := req.Form["blocks[]"]; ok && len(val) > 0 {
|
|
// r.Blocks, err = types.ReportBlockSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
if val, ok := req.Form["labels[]"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.Form["labels"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportUpdate request
|
|
func NewReportUpdate() *ReportUpdate {
|
|
return &ReportUpdate{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"reportID": r.ReportID,
|
|
"handle": r.Handle,
|
|
"meta": r.Meta,
|
|
"scenarios": r.Scenarios,
|
|
"sources": r.Sources,
|
|
"blocks": r.Blocks,
|
|
"labels": r.Labels,
|
|
"updatedAt": r.UpdatedAt,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetReportID() uint64 {
|
|
return r.ReportID
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetHandle() string {
|
|
return r.Handle
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetMeta() *types.ReportMeta {
|
|
return r.Meta
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetScenarios() types.ReportScenarioSet {
|
|
return r.Scenarios
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetSources() types.ReportDataSourceSet {
|
|
return r.Sources
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetBlocks() types.ReportBlockSet {
|
|
return r.Blocks
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetLabels() map[string]labelTypes.LabelValue {
|
|
return r.Labels
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUpdate) GetUpdatedAt() *time.Time {
|
|
return r.UpdatedAt
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportUpdate) Fill(req *http.Request) (err error) {
|
|
|
|
if strings.HasPrefix(strings.ToLower(req.Header.Get("content-type")), "application/json") {
|
|
err = json.NewDecoder(req.Body).Decode(r)
|
|
|
|
switch {
|
|
case err == io.EOF:
|
|
err = nil
|
|
case err != nil:
|
|
return fmt.Errorf("error parsing http request body: %w", err)
|
|
}
|
|
}
|
|
|
|
{
|
|
// Caching 32MB to memory, the rest to disk
|
|
if err = req.ParseMultipartForm(32 << 20); err != nil && err != http.ErrNotMultipart {
|
|
return err
|
|
} else if err == nil {
|
|
// Multipart params
|
|
|
|
if val, ok := req.MultipartForm.Value["handle"]; ok && len(val) > 0 {
|
|
r.Handle, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.MultipartForm.Value["meta[]"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.MultipartForm.Value["meta"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.MultipartForm.Value["labels[]"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.MultipartForm.Value["labels"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.MultipartForm.Value["updatedAt"]; ok && len(val) > 0 {
|
|
r.UpdatedAt, err = payload.ParseISODatePtrWithErr(val[0])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
if err = req.ParseForm(); err != nil {
|
|
return err
|
|
}
|
|
|
|
// POST params
|
|
|
|
if val, ok := req.Form["handle"]; ok && len(val) > 0 {
|
|
r.Handle, err = val[0], nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.Form["meta[]"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.Form["meta"]; ok {
|
|
r.Meta, err = types.ParseReportMeta(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
//if val, ok := req.Form["scenarios[]"]; ok && len(val) > 0 {
|
|
// r.Scenarios, err = types.ReportScenarioSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
//if val, ok := req.Form["sources[]"]; ok && len(val) > 0 {
|
|
// r.Sources, err = types.ReportDataSourceSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
//if val, ok := req.Form["blocks[]"]; ok && len(val) > 0 {
|
|
// r.Blocks, err = types.ReportBlockSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
if val, ok := req.Form["labels[]"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else if val, ok := req.Form["labels"]; ok {
|
|
r.Labels, err = label.ParseStrings(val)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if val, ok := req.Form["updatedAt"]; ok && len(val) > 0 {
|
|
r.UpdatedAt, err = payload.ParseISODatePtrWithErr(val[0])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
var val string
|
|
// path params
|
|
|
|
val = chi.URLParam(req, "reportID")
|
|
r.ReportID, err = payload.ParseUint64(val), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportRead request
|
|
func NewReportRead() *ReportRead {
|
|
return &ReportRead{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportRead) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"reportID": r.ReportID,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportRead) GetReportID() uint64 {
|
|
return r.ReportID
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportRead) Fill(req *http.Request) (err error) {
|
|
|
|
{
|
|
var val string
|
|
// path params
|
|
|
|
val = chi.URLParam(req, "reportID")
|
|
r.ReportID, err = payload.ParseUint64(val), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportDelete request
|
|
func NewReportDelete() *ReportDelete {
|
|
return &ReportDelete{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportDelete) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"reportID": r.ReportID,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportDelete) GetReportID() uint64 {
|
|
return r.ReportID
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportDelete) Fill(req *http.Request) (err error) {
|
|
|
|
{
|
|
var val string
|
|
// path params
|
|
|
|
val = chi.URLParam(req, "reportID")
|
|
r.ReportID, err = payload.ParseUint64(val), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportUndelete request
|
|
func NewReportUndelete() *ReportUndelete {
|
|
return &ReportUndelete{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUndelete) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"reportID": r.ReportID,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportUndelete) GetReportID() uint64 {
|
|
return r.ReportID
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportUndelete) Fill(req *http.Request) (err error) {
|
|
|
|
{
|
|
var val string
|
|
// path params
|
|
|
|
val = chi.URLParam(req, "reportID")
|
|
r.ReportID, err = payload.ParseUint64(val), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportDescribe request
|
|
func NewReportDescribe() *ReportDescribe {
|
|
return &ReportDescribe{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportDescribe) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"sources": r.Sources,
|
|
"steps": r.Steps,
|
|
"describe": r.Describe,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportDescribe) GetSources() types.ReportDataSourceSet {
|
|
return r.Sources
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportDescribe) GetSteps() types.ReportStepSet {
|
|
return r.Steps
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportDescribe) GetDescribe() []string {
|
|
return r.Describe
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportDescribe) Fill(req *http.Request) (err error) {
|
|
|
|
if strings.HasPrefix(strings.ToLower(req.Header.Get("content-type")), "application/json") {
|
|
err = json.NewDecoder(req.Body).Decode(r)
|
|
|
|
switch {
|
|
case err == io.EOF:
|
|
err = nil
|
|
case err != nil:
|
|
return fmt.Errorf("error parsing http request body: %w", err)
|
|
}
|
|
}
|
|
|
|
{
|
|
// Caching 32MB to memory, the rest to disk
|
|
if err = req.ParseMultipartForm(32 << 20); err != nil && err != http.ErrNotMultipart {
|
|
return err
|
|
} else if err == nil {
|
|
// Multipart params
|
|
|
|
}
|
|
}
|
|
|
|
{
|
|
if err = req.ParseForm(); err != nil {
|
|
return err
|
|
}
|
|
|
|
// POST params
|
|
|
|
//if val, ok := req.Form["sources[]"]; ok && len(val) > 0 {
|
|
// r.Sources, err = types.ReportDataSourceSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
//if val, ok := req.Form["steps[]"]; ok && len(val) > 0 {
|
|
// r.Steps, err = types.ReportStepSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
|
|
//if val, ok := req.Form["describe[]"]; ok && len(val) > 0 {
|
|
// r.Describe, err = val, nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
// NewReportRun request
|
|
func NewReportRun() *ReportRun {
|
|
return &ReportRun{}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportRun) Auditable() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"reportID": r.ReportID,
|
|
"frames": r.Frames,
|
|
}
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportRun) GetReportID() uint64 {
|
|
return r.ReportID
|
|
}
|
|
|
|
// Auditable returns all auditable/loggable parameters
|
|
func (r ReportRun) GetFrames() reporting.FrameDefinitionSet {
|
|
return r.Frames
|
|
}
|
|
|
|
// Fill processes request and fills internal variables
|
|
func (r *ReportRun) Fill(req *http.Request) (err error) {
|
|
|
|
if strings.HasPrefix(strings.ToLower(req.Header.Get("content-type")), "application/json") {
|
|
err = json.NewDecoder(req.Body).Decode(r)
|
|
|
|
switch {
|
|
case err == io.EOF:
|
|
err = nil
|
|
case err != nil:
|
|
return fmt.Errorf("error parsing http request body: %w", err)
|
|
}
|
|
}
|
|
|
|
{
|
|
// Caching 32MB to memory, the rest to disk
|
|
if err = req.ParseMultipartForm(32 << 20); err != nil && err != http.ErrNotMultipart {
|
|
return err
|
|
} else if err == nil {
|
|
// Multipart params
|
|
|
|
}
|
|
}
|
|
|
|
{
|
|
if err = req.ParseForm(); err != nil {
|
|
return err
|
|
}
|
|
|
|
// POST params
|
|
|
|
//if val, ok := req.Form["frames[]"]; ok && len(val) > 0 {
|
|
// r.Frames, err = reporting.FrameDefinitionSet(val), nil
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
}
|
|
|
|
{
|
|
var val string
|
|
// path params
|
|
|
|
val = chi.URLParam(req, "reportID")
|
|
r.ReportID, err = payload.ParseUint64(val), nil
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
return err
|
|
}
|