api

package
v1.7.36 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HttpNoStatus                    int = 0
	HttpStatusOK                    int = http.StatusOK
	HttpStatusCreated               int = http.StatusCreated
	HttpStatusMultiStatus           int = http.StatusMultiStatus
	HttpStatusForbidden             int = http.StatusForbidden
	HttpStatusUnauthorized          int = http.StatusUnauthorized
	HttpStatusBadRequest            int = http.StatusBadRequest
	HttpStatusConflict              int = http.StatusConflict
	HttpStatusInternalServerError   int = http.StatusInternalServerError
	HttpStatusNotFound              int = http.StatusNotFound
	HttpStatusServiceUnavailable    int = http.StatusServiceUnavailable
	HttpStatusGone                  int = http.StatusGone
	HttpStatusNotImplemented        int = http.StatusNotImplemented
	HttpStatusRequestEntityTooLarge int = http.StatusRequestEntityTooLarge
	HttpStatusUnsupportedMediaType  int = http.StatusUnsupportedMediaType
)

https://pkg.go.dev/net/http#pkg-constants

View Source
const (
	ApplicationStatusSuccess         string = "success"
	ApplicationStatusError           string = "error"
	ApplicationStatusGetSuccess      string = "get_success"
	ApplicationStatusGetFailed       string = "get_failed"
	ApplicationStatusGetSuccessEmpty string = "get_success_empty"
	ApplicationStatusAddSuccess      string = "add_success"
	ApplicationStatusAddFailed       string = "add_failed"
	ApplicationStatusUpdateSuccess   string = "update_success"
	ApplicationStatusUpdateFailed    string = "update_failed"
	ApplicationStatusDeleteSuccess   string = "delete_success"
	ApplicationStatusDeleteFailed    string = "delete_failed"
)

Custom status codes for specific operations

View Source
const (
	PipelineStarted         string = "pipeline_started"
	PipelineInProgress      string = "pipeline_in_progress"
	PipelineCompleted       string = "pipeline_completed"
	PipelineFailed          string = "pipeline_failed"
	PipelineCancelled       string = "pipeline_cancelled"
	PipelinePending         string = "pipeline_pending"
	PipelineRetrying        string = "pipeline_retrying"
	PipelinePaused          string = "pipeline_paused"
	PipelineResumed         string = "pipeline_resumed"
	PipelineValidationError string = "pipeline_validation_error"
	PipelineError           string = "pipeline_error"
	PipelineInfo            string = "pipeline_info"
	PipelineDebug           string = "pipeline_debug"
	PipelineWarning         string = "pipeline_warning"
)
View Source
const (
	TaskViewFull     = "full"
	TaskViewCompact  = "compact"
	TaskViewOverview = "overview"
)

Variables

This section is empty.

Functions

func CreateDebugLog

func CreateDebugLog(logger *logrus.Logger, debugResponse DebugResponse, data ...any) logrus.Fields

func CreateErrorLog

func CreateErrorLog(logger *logrus.Logger, errorResponse ErrorResponse, data ...any) logrus.Fields

func CreateFatalLog

func CreateFatalLog(logger *logrus.Logger, fatalResponse FatalResponse, data ...any) logrus.Fields

func CreatePanicLog

func CreatePanicLog(logger *logrus.Logger, panicResponse PanicResponse, data ...any) logrus.Fields

func CreateSuccessLog

func CreateSuccessLog(logger *logrus.Logger, successResponse SuccessResponse, data ...any) logrus.Fields

func CreateTraceLog

func CreateTraceLog(logger *logrus.Logger, traceResponse TraceResponse, data ...any) logrus.Fields

func CreateWarningLog

func CreateWarningLog(logger *logrus.Logger, warningResponse WarningResponse, data ...any) logrus.Fields

func LogDebug

func LogDebug(logger *logrus.Logger, debugResponse DebugResponse, data ...any)

func LogError

func LogError(logger *logrus.Logger, errorResponse ErrorResponse, data ...any)

func LogFatal

func LogFatal(logger *logrus.Logger, fatalResponse FatalResponse, data ...any)

func LogInfo

func LogInfo(logger *logrus.Logger, successResponse SuccessResponse, data ...any)

Logging functions for success and error responses

func LogPanic

func LogPanic(logger *logrus.Logger, panicResponse PanicResponse, data ...any)

func LogTrace

func LogTrace(logger *logrus.Logger, traceResponse TraceResponse, data ...any)

func LogWarning

func LogWarning(logger *logrus.Logger, warningResponse WarningResponse, data ...any)

Types

type AccessTokenStatus

type AccessTokenStatus string

AccessTokenStatus represents specific status codes for access token operations

const (
	AccessTokenBindingFailed AccessTokenStatus = "accesstoken_binding_failed"
	AccessTokenNameExists    AccessTokenStatus = "accesstoken_name_exists"
	AccessTokenMissingInfo   AccessTokenStatus = "accesstoken_missing_info"
	AccessTokenFound         AccessTokenStatus = "accesstoken_found"
	AccessTokenNotFound      AccessTokenStatus = "accesstoken_not_found"
	AccessTokenAddSuccess    AccessTokenStatus = "accesstoken_add_success"
	AccessTokenAddFailed     AccessTokenStatus = "accesstoken_add_failed"
	AccessTokenUpdateSuccess AccessTokenStatus = "accesstoken_update_success"
	AccessTokenUpdateFailed  AccessTokenStatus = "accesstoken_update_failed"
	AccessTokenDeleteSuccess AccessTokenStatus = "accesstoken_delete_success"
	AccessTokenDeleteFailed  AccessTokenStatus = "accesstoken_1delete_failed"
)

func (AccessTokenStatus) String

func (ds AccessTokenStatus) String() string

String returns the string representation of the access token status

func (AccessTokenStatus) Translate

func (ds AccessTokenStatus) Translate(lang string) string

Into returns the translated string representation of the access token status in the specified language

type AddAccessTokenErrorResponse

type AddAccessTokenErrorResponse struct {
	ErrorResponse
}

type AddAccessTokenRequest

type AddAccessTokenRequest struct {
	Token models.AccessToken `json:"token"`
}

AddAccessToken @Router /profile/token [post]

type AddAccessTokenResponse

type AddAccessTokenResponse struct {
	Token models.AccessToken `json:"token"`
}

type AddAccessTokenSuccessResponse

type AddAccessTokenSuccessResponse struct {
	SuccessResponse
	Data AddAccessTokenResponse `json:"data"`
}

type AddMarkerErrorResponse

type AddMarkerErrorResponse struct {
	ErrorResponse
}

type AddMarkerRequest

type AddMarkerRequest struct {
	Marker models.Marker `json:"marker"`
}

AddMarker @Router /markers [post]

type AddMarkerResponse

type AddMarkerResponse struct {
	Marker models.Marker `json:"marker"`
}

type AddMarkerSuccessResponse

type AddMarkerSuccessResponse struct {
	SuccessResponse
	Data AddMarkerResponse `json:"data"`
}

type AddTaskCommentErrorResponse added in v1.4.38

type AddTaskCommentErrorResponse struct {
	ErrorResponse
}

type AddTaskCommentRequest added in v1.4.38

type AddTaskCommentRequest struct {
	Comment models.Comment `json:"comment" bson:"comment"`
}

type AddTaskCommentResponse added in v1.4.38

type AddTaskCommentResponse struct {
	Comment models.Comment `json:"comment,omitempty" bson:"comment,omitempty"`
}

type AddTaskCommentSuccessResponse added in v1.4.38

type AddTaskCommentSuccessResponse struct {
	SuccessResponse
	Data AddTaskCommentResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type AddTaskErrorResponse added in v1.4.38

type AddTaskErrorResponse struct {
	ErrorResponse
}

type AddTaskMediaErrorResponse added in v1.4.38

type AddTaskMediaErrorResponse struct {
	ErrorResponse
}

type AddTaskMediaRequest added in v1.4.38

type AddTaskMediaRequest struct {
	MediaIds []string `json:"mediaIds,omitempty" bson:"mediaIds,omitempty"`
}

AddTaskMediaRequest is used by POST /tasks/{id}/media to attach one or more media items to an existing task.

type AddTaskMediaResponse added in v1.4.38

type AddTaskMediaResponse struct {
	Task            models.Task `json:"task,omitempty" bson:"task,omitempty"`
	AddedMediaIds   []string    `json:"addedMediaIds,omitempty" bson:"addedMediaIds,omitempty"`
	SkippedMediaIds []string    `json:"skippedMediaIds,omitempty" bson:"skippedMediaIds,omitempty"`
}

AddTaskMediaResponse returns the updated task and which media IDs were added or skipped.

type AddTaskMediaSuccessResponse added in v1.4.38

type AddTaskMediaSuccessResponse struct {
	SuccessResponse
	Data AddTaskMediaResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type AddTaskPayload added in v1.4.38

type AddTaskPayload struct {
	models.Task `bson:",inline"`
	MediaFilter *MediaFilter `json:"mediaFilter,omitempty" bson:"mediaFilter,omitempty"`
}

AddTaskPayload mirrors models.Task while allowing transport-level options.

type AddTaskRequest added in v1.4.38

type AddTaskRequest struct {
	Task AddTaskPayload `json:"task" bson:"task"`
}

AddTaskRequest wraps the task payload used by POST /tasks. The task payload can optionally include mediaFilter for server-side export file resolution.

type AddTaskResponse added in v1.4.38

type AddTaskResponse struct {
	Task  models.Task   `json:"task,omitempty" bson:"task,omitempty"`
	Tasks []models.Task `json:"tasks,omitempty" bson:"tasks,omitempty"`
}

type AddTaskSuccessResponse added in v1.4.38

type AddTaskSuccessResponse struct {
	SuccessResponse
	Data AddTaskResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type AdminRecentSubscription added in v1.4.56

type AdminRecentSubscription struct {
	Id           any    `json:"id"`
	Name         string `json:"name"`
	UserId       string `json:"user_id"`
	StripePlan   string `json:"stripe_plan"`
	StripeActive any    `json:"stripe_active"`
	Quantity     any    `json:"quantity"`
	EndsAt       any    `json:"ends_at"`
	CreatedAt    any    `json:"created_at"`
	Username     string `json:"username"`
}

AdminRecentSubscription is a lightweight projection of a user subscription enriched with the owning user's display name (used by the admin dashboard).

The fields use `any` for values whose representation differs across the underlying entities (UserSubscription vs SubscriptionPlan). Once those entities migrate to models/pkg/models the types can be tightened.

type AdminStatus added in v1.4.56

type AdminStatus string

AdminStatus represents specific status codes for admin dashboard operations.

const (
	AdminStatsSuccess AdminStatus = "admin_stats_success"
	AdminStatsFailed  AdminStatus = "admin_stats_failed"
)

func (AdminStatus) String added in v1.4.56

func (s AdminStatus) String() string

String returns the string representation of the admin status.

func (AdminStatus) Translate added in v1.4.56

func (s AdminStatus) Translate(lang string) string

Translate returns the translated string representation of the admin status in the specified language.

type AlertStatus added in v1.4.5

type AlertStatus string

AlertStatus represents specific status codes for alert operations

const (
	AlertBindingFailed    AlertStatus = "alert_binding_failed"
	AlertDuplicateName    AlertStatus = "alert_duplicate_name"
	AlertMissingInfo      AlertStatus = "alert_missing_info"
	AlertRetrievalSuccess AlertStatus = "alert_retrieval_success"
	AlertRetrievalFailed  AlertStatus = "alert_retrieval_failed"
	AlertFound            AlertStatus = "alert_found"
	AlertNotFound         AlertStatus = "alert_not_found"
	AlertAddSuccess       AlertStatus = "alert_add_success"
	AlertAddFailed        AlertStatus = "alert_add_failed"
	AlertUpdateSuccess    AlertStatus = "alert_update_success"
	AlertUpdateFailed     AlertStatus = "alert_update_failed"
	AlertDeleteSuccess    AlertStatus = "alert_delete_success"
	AlertDeleteFailed     AlertStatus = "alert_delete_failed"
	AlertValidationFailed AlertStatus = "alert_validation_failed"
)

func (AlertStatus) String added in v1.4.5

func (as AlertStatus) String() string

String returns the string representation of the alert status

func (AlertStatus) Translate added in v1.4.5

func (as AlertStatus) Translate(lang string) string

Translate returns the translated string representation of the alert status in the specified language

type AnalysisStatus

type AnalysisStatus string

AnalysisStatus represents specific status codes for analysis operations

const (
	AnalysisFaceRedactionBindingFailed AnalysisStatus = "analysis_face_redaction_binding_failed"
	AnalysisSaveRedactionSuccess       AnalysisStatus = "analysis_save_redaction_success"
	AnalysisSaveRedactionFailed        AnalysisStatus = "analysis_save_redaction_failed"
	AnalysisSubmitRedactionSuccess     AnalysisStatus = "analysis_submit_redaction_success"
	AnalysisSubmitRedactionFailed      AnalysisStatus = "analysis_submit_redaction_failed"

	AnalysisDetectionsBindingFailed     AnalysisStatus = "analysis_detections_binding_failed"
	AnalysisDetectionsStored            AnalysisStatus = "analysis_detections_stored"
	AnalysisDetectionsPartial           AnalysisStatus = "analysis_detections_partial"
	AnalysisDetectionsAllInvalid        AnalysisStatus = "analysis_detections_all_invalid"
	AnalysisDetectionsFailed            AnalysisStatus = "analysis_detections_failed"
	AnalysisDetectionsUnsupportedSchema AnalysisStatus = "analysis_detections_unsupported_schema_version"
	AnalysisDetectionsTooLarge          AnalysisStatus = "analysis_detections_too_large"
	AnalysisDetectionsTargetMissing     AnalysisStatus = "analysis_detections_target_missing"
	AnalysisDetectionsFound             AnalysisStatus = "analysis_detections_found"
	AnalysisDetectionsNotFound          AnalysisStatus = "analysis_detections_not_found"
	AnalysisDetectionsDeleted           AnalysisStatus = "analysis_detections_deleted"
	AnalysisDetectionRunIdMissing       AnalysisStatus = "analysis_detection_run_id_missing"

	AnalysisFileNameMissing            AnalysisStatus = "analysis_file_name_missing"
	AnalysisSignedUrlMissing           AnalysisStatus = "analysis_signed_url_missing"
	AnalysisAllFrameCoordinatesMissing AnalysisStatus = "analysis_all_frame_coordinates_missing"

	AnalysisNotFound            AnalysisStatus = "analysis_not_found"
	AnalysisFound               AnalysisStatus = "analysis_found"
	AnalysisIdMissing           AnalysisStatus = "analysisId_missing"
	AnalysisStarted             AnalysisStatus = "analysis_started"
	AnalysisQueueSubscribed     AnalysisStatus = "analysis_queue_subscribed"
	AnalysisStageMonitorMissing AnalysisStatus = "analysis_stage_monitor_missing"
	AnalysisCompleted           AnalysisStatus = "analysis_completed"

	AnalysisDecodeFailed             AnalysisStatus = "analysis_decode_failed"
	AnalysisInsertFailed             AnalysisStatus = "analysis_insert_failed"
	AnalysisUpdateFailed             AnalysisStatus = "analysis_update_failed"
	AnalysisNotificationUpdateFailed AnalysisStatus = "analysis_notification_update_failed"
	AnalysisSequenceUpdateFailed     AnalysisStatus = "analysis_sequence_update_failed"
	AnalysisTaskUpdateFailed         AnalysisStatus = "analysis_task_update_failed"
)

func (AnalysisStatus) String

func (as AnalysisStatus) String() string

String returns the string representation of the analysis status

func (AnalysisStatus) Translate

func (as AnalysisStatus) Translate(lang string) string

Translate returns the translated string representation of the analysis status in the specified language

type AnalyticsStatus added in v1.4.37

type AnalyticsStatus string

AnalyticsStatus represents specific status codes for analytics operations.

const (
	AnalyticsBindingFailed AnalyticsStatus = "analytics_binding_failed"
	AnalyticsMissingInfo   AnalyticsStatus = "analytics_missing_info"
	AnalyticsFound         AnalyticsStatus = "analytics_found"
	AnalyticsNotFound      AnalyticsStatus = "analytics_not_found"
)

func (AnalyticsStatus) String added in v1.4.37

func (as AnalyticsStatus) String() string

String returns the string representation of the analytics status.

func (AnalyticsStatus) Translate added in v1.4.37

func (as AnalyticsStatus) Translate(lang string) string

Translate returns the translated string representation of the analytics status in the specified language.

type ApplicationStatus

type ApplicationStatus string

ApplicationStatus represents specific status codes for application operations

const (
	PongSuccess             ApplicationStatus = "pong_success"
	DatabaseSuccess         ApplicationStatus = "database_success"
	DatabaseError           ApplicationStatus = "database_error"
	DatabaseItemNotFound    ApplicationStatus = "database_item_not_found"
	DatabaseMarshalFailed   ApplicationStatus = "database_marshal_failed"
	DatabaseUnmarshalFailed ApplicationStatus = "database_unmarshal_failed"
	QueueSuccess            ApplicationStatus = "queue_success"
	QueueError              ApplicationStatus = "queue_error"
	CacheSuccess            ApplicationStatus = "cache_success"
	CacheError              ApplicationStatus = "cache_error"
	TypeCastFailed          ApplicationStatus = "type_cast_failed"
)

func (ApplicationStatus) String

func (as ApplicationStatus) String() string

String returns the string representation of the application status

func (ApplicationStatus) Translate

func (as ApplicationStatus) Translate(lang string) string

Translate returns the translated string representation of the application status in the specified language

type AuthenticationStatus

type AuthenticationStatus string

AuthenticationStatus represents specific status codes for authentication operations

const (
	AuthenticationFailed        AuthenticationStatus = "authentication_failed"
	AuthenticationSuccess       AuthenticationStatus = "authentication_success"
	AuthenticationExpired       AuthenticationStatus = "authentication_expired"
	AuthenticationRevoked       AuthenticationStatus = "authentication_revoked"
	AuthenticationNotFound      AuthenticationStatus = "authentication_not_found"
	AuthenticationInvalid       AuthenticationStatus = "authentication_invalid"
	AuthenticationUnknown       AuthenticationStatus = "authentication_unknown"
	AuthenticationScopesMissing AuthenticationStatus = "authentication_scopes_missing"
)

func (AuthenticationStatus) String

func (as AuthenticationStatus) String() string

String returns the string representation of the authentication status

func (AuthenticationStatus) Translate

func (as AuthenticationStatus) Translate(lang string) string

Into returns the translated string representation of the authentication status in the specified language

type CallerInfo

type CallerInfo struct {
	File     string
	Line     int
	Function string
}

func GetCallerInfo

func GetCallerInfo(skipFrames int) CallerInfo

type CaseMediaStatusEvent added in v1.4.55

type CaseMediaStatusEvent struct {
	TaskId         string                 `json:"taskId"`
	CaseMediaId    string                 `json:"caseMediaId"`
	OrganisationId string                 `json:"organisationId"`
	ProjectId      *primitive.ObjectID    `json:"projectId,omitempty"`
	Status         models.CaseMediaStatus `json:"status"`
	StatusError    string                 `json:"statusError,omitempty"`
	File           string                 `json:"file,omitempty"`
	Provider       string                 `json:"provider,omitempty"`
}

CaseMediaStatusEvent is the structured payload published by edit workers (hub-pipeline-redaction first; trim/composite later) onto the analysis queue to drive lifecycle transitions of a CaseMedia entry. hub-pipeline-analysis owns the corresponding MongoDB writes against the case_media collection.

File / Provider carry the storage location of the rendered artefact and are populated on the terminal Completed event so consumers can resolve the produced media without an additional lookup.

type ChartStatus added in v1.4.26

type ChartStatus string

ChartStatus represents specific status codes for chart operations.

const (
	ChartBindingFailed ChartStatus = "chart_binding_failed"
	ChartMissingInfo   ChartStatus = "chart_missing_info"
	ChartFound         ChartStatus = "chart_found"
	ChartNotFound      ChartStatus = "chart_not_found"
)

func (ChartStatus) String added in v1.4.26

func (cs ChartStatus) String() string

String returns the string representation of the chart status.

func (ChartStatus) Translate added in v1.4.26

func (cs ChartStatus) Translate(lang string) string

Translate returns the translated string representation of the chart status in the specified language.

type CreateAdminOrganisationErrorResponse added in v1.4.56

type CreateAdminOrganisationErrorResponse struct {
	ErrorResponse
}

type CreateAdminOrganisationResponse added in v1.4.56

type CreateAdminOrganisationResponse struct {
	Organisation any `json:"organisation"`
}

type CreateAdminOrganisationSuccessResponse added in v1.4.56

type CreateAdminOrganisationSuccessResponse struct {
	SuccessResponse
	Data CreateAdminOrganisationResponse `json:"data,omitempty"`
}

type CreateAdminUserErrorResponse added in v1.4.56

type CreateAdminUserErrorResponse struct {
	ErrorResponse
}

type CreateAdminUserResponse added in v1.4.56

type CreateAdminUserResponse struct {
	User any `json:"user"`
}

type CreateAdminUserSuccessResponse added in v1.4.56

type CreateAdminUserSuccessResponse struct {
	SuccessResponse
	Data CreateAdminUserResponse `json:"data,omitempty"`
}

type CreateCustomAlertErrorResponse added in v1.4.5

type CreateCustomAlertErrorResponse struct {
	ErrorResponse
}

type CreateCustomAlertRequest added in v1.4.5

type CreateCustomAlertRequest struct {
	Alert models.CustomAlert `json:"alert"`
}

CreateCustomAlert

type CreateCustomAlertResponse added in v1.4.5

type CreateCustomAlertResponse struct {
	Alert models.CustomAlert `json:"alert"`
}

type CreateCustomAlertSuccessResponse added in v1.4.5

type CreateCustomAlertSuccessResponse struct {
	SuccessResponse
	Data CreateCustomAlertResponse `json:"data"`
}

type CreateMediaEditErrorResponse added in v1.4.55

type CreateMediaEditErrorResponse struct {
	ErrorResponse
}

type CreateMediaEditRequest added in v1.4.55

type CreateMediaEditRequest struct {
	SourceCaseMediaId string `json:"sourceCaseMediaId,omitempty"`
	// SourceVideoFile points at a legacy task.export_files entry by its
	// storage key. When SourceCaseMediaId is empty the API resolves
	// this key against the task's ExportFiles, lazily creates a
	// Role=source CaseMedia row for it (idempotent — reuses an
	// existing row with the same video_file when present), and then
	// applies the edit to that row. Lets pre-migration cases be
	// redacted without requiring a workspace-wide backfill.
	SourceVideoFile string `json:"sourceVideoFile,omitempty"`
	// SourceAttachmentId points at a video CaseAttachment by its id.
	// When both SourceCaseMediaId and SourceVideoFile are empty the API
	// materialises (idempotently — reuses the attachment's linked row
	// when present) a Role=source CaseMedia from the attachment's stored
	// video and applies the edit to that row, so an attached video can
	// be redacted with the same flow as a device recording.
	SourceAttachmentId string                   `json:"sourceAttachmentId,omitempty"`
	Action             models.CaseMediaAction   `json:"action"`
	EditType           models.CaseMediaEditType `json:"editType,omitempty"`
	Params             map[string]interface{}   `json:"params,omitempty"`
	SupersedesId       string                   `json:"supersedesId,omitempty"`
}

CreateMediaEditRequest is the body of POST /tasks/{taskId}/media-edits. It describes a single edit to apply to a source CaseMedia entry that already lives on the case. The server validates Action / EditType, allocates the next Version and enqueues to the matching worker.

For Action = "composite" the Params map is expected to contain an "operations" array, each entry having an "op" discriminator matching one of the single-action CaseMediaAction values.

type CreateMediaEditResponse added in v1.4.55

type CreateMediaEditResponse struct {
	CaseMedia models.CaseMedia `json:"caseMedia"`
}

type CreateMediaEditSuccessResponse added in v1.4.55

type CreateMediaEditSuccessResponse struct {
	SuccessResponse
	Data CreateMediaEditResponse `json:"data"`
}

type CreateOrganisationErrorResponse added in v1.7.1

type CreateOrganisationErrorResponse struct {
	ErrorResponse
}

type CreateOrganisationRequest added in v1.7.1

type CreateOrganisationRequest struct {
	Organisation models.Organisation `json:"organisation"`
}

CreateOrganisation @Router /organisations [post]

type CreateOrganisationResponse added in v1.7.1

type CreateOrganisationResponse struct {
	Organisation models.Organisation `json:"organisation"`
}

type CreateOrganisationSuccessResponse added in v1.7.1

type CreateOrganisationSuccessResponse struct {
	SuccessResponse
	Data CreateOrganisationResponse `json:"data"`
}

type CreateProjectErrorResponse added in v1.7.17

type CreateProjectErrorResponse struct {
	ErrorResponse
}

type CreateProjectRequest added in v1.7.17

type CreateProjectRequest struct {
	Project models.Project `json:"project"`
}

CreateProject creates a project inside the caller's active organisation. The organisation, id and audit stamps on the supplied project are ignored and filled in server-side; name and slug are required. @Router /projects [post]

type CreateProjectResponse added in v1.7.17

type CreateProjectResponse struct {
	Project models.Project `json:"project"`
}

type CreateProjectSuccessResponse added in v1.7.17

type CreateProjectSuccessResponse struct {
	SuccessResponse
	Data CreateProjectResponse `json:"data"`
}

type CreateVideowallErrorResponse added in v1.4.31

type CreateVideowallErrorResponse struct {
	ErrorResponse
}

type CreateVideowallRequest added in v1.4.31

type CreateVideowallRequest struct {
	Videowall models.Videowall `json:"videowall"`
}

CreateVideowall

type CreateVideowallResponse added in v1.4.31

type CreateVideowallResponse struct {
	Videowall models.Videowall `json:"videowall"`
}

type CreateVideowallSuccessResponse added in v1.4.31

type CreateVideowallSuccessResponse struct {
	SuccessResponse
	Data CreateVideowallResponse `json:"data"`
}

type CreateWorkflowErrorResponse added in v1.4.48

type CreateWorkflowErrorResponse struct {
	ErrorResponse
}

type CreateWorkflowRequest added in v1.4.48

type CreateWorkflowRequest struct {
	Workflow models.Workflow `json:"workflow"`
}

CreateWorkflow

type CreateWorkflowResponse added in v1.4.48

type CreateWorkflowResponse struct {
	Workflow models.Workflow `json:"workflow"`
}

type CreateWorkflowSuccessResponse added in v1.4.48

type CreateWorkflowSuccessResponse struct {
	SuccessResponse
	Data CreateWorkflowResponse `json:"data"`
}

type CursorPagination

type CursorPagination struct {
	// Request fields (sent by client)
	Cursor string `json:"cursor,omitempty" bson:"cursor,omitempty"`
	Limit  int64  `json:"limit,omitempty" bson:"limit,omitempty"`

	// IncludeTotal asks the server to also count everything the filter matches,
	// not just the page being returned, and report it as Total.
	//
	// It is opt-in because the count is a second query over the whole matched
	// set while the page itself stops at Limit, so its cost scales with the
	// tenant rather than with the response. Most callers page for display and
	// never read Total; making them pay for it is how a cheap list turns into
	// an expensive one, and it is why this defaults to off.
	//
	// A caller that omits it gets Total unset rather than zero-as-a-count:
	// Total is omitempty, so "not asked for" and "asked for, and the answer is
	// nought" are the same wire value. Callers that need to tell the two apart
	// must rely on having asked.
	IncludeTotal bool `json:"includeTotal,omitempty" bson:"includeTotal,omitempty"`

	// Response fields (returned by server)
	NextCursor string `json:"nextCursor,omitempty" bson:"nextCursor,omitempty"`
	PrevCursor string `json:"prevCursor,omitempty" bson:"prevCursor,omitempty"`
	HasMore    bool   `json:"hasMore" bson:"hasMore"`

	// Optional numbered pagination support
	Page     int64 `json:"page,omitempty" bson:"page,omitempty"`
	PageSize int64 `json:"pageSize,omitempty" bson:"pageSize,omitempty"`
	// Total is the size of the whole matched set, populated only when the
	// request set IncludeTotal. It is not the length of the page.
	Total int64 `json:"total,omitempty" bson:"total,omitempty"`
}

type DebugResponse

type DebugResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the error
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific error code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific error code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Error message describing the issue
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the error, such as timestamps and request IDs
}

Debug

func CreateDebug

func CreateDebug(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) DebugResponse

type DeleteAccessTokenErrorResponse

type DeleteAccessTokenErrorResponse struct {
	ErrorResponse
}

type DeleteAccessTokenRequest

type DeleteAccessTokenRequest struct {
}

DeleteAccessToken @Router /profile/token/{id} [delete]

type DeleteAccessTokenResponse

type DeleteAccessTokenResponse struct {
}

type DeleteAccessTokenSuccessResponse

type DeleteAccessTokenSuccessResponse struct {
	SuccessResponse
	Data DeleteAccessTokenResponse `json:"data"`
}

type DeleteCaseAttachmentErrorResponse added in v1.4.57

type DeleteCaseAttachmentErrorResponse struct {
	ErrorResponse
}

type DeleteCaseAttachmentResponse added in v1.4.57

type DeleteCaseAttachmentResponse struct {
	// Id of the removed attachment, echoed back for client cache
	// invalidation.
	Id string `json:"id"`
}

type DeleteCaseAttachmentSuccessResponse added in v1.4.57

type DeleteCaseAttachmentSuccessResponse struct {
	SuccessResponse
	Data DeleteCaseAttachmentResponse `json:"data"`
}

type DeleteDetectionRunErrorResponse added in v1.5.5

type DeleteDetectionRunErrorResponse struct {
	ErrorResponse
}

type DeleteDetectionRunResponse added in v1.5.5

type DeleteDetectionRunResponse struct {
	RunId   string `json:"runId"`
	Deleted bool   `json:"deleted"`
}

DeleteDetectionRunResponse echoes the deleted run id.

type DeleteDetectionRunSuccessResponse added in v1.5.5

type DeleteDetectionRunSuccessResponse struct {
	SuccessResponse
	Data DeleteDetectionRunResponse `json:"data"`
}

type DeleteProjectErrorResponse added in v1.7.17

type DeleteProjectErrorResponse struct {
	ErrorResponse
}

type DeleteProjectResponse added in v1.7.17

type DeleteProjectResponse struct {
	Project models.Project `json:"project"`
}

DeleteProject soft-deletes a project. The returned project is the stored document with its IsActive flag cleared; the organisation's default project cannot be deleted. @Router /projects/{id} [delete]

type DeleteProjectSuccessResponse added in v1.7.17

type DeleteProjectSuccessResponse struct {
	SuccessResponse
	Data DeleteProjectResponse `json:"data"`
}

type DeleteStateErrorResponse added in v1.3.2

type DeleteStateErrorResponse struct {
	ErrorResponse
}

type DeleteStateRequest added in v1.3.2

type DeleteStateRequest struct {
}

DeleteStateRequest represents the request to delete a state @Router /states/{stateId} [delete]

type DeleteStateResponse added in v1.3.2

type DeleteStateResponse struct {
}

type DeleteStateSuccessResponse added in v1.3.2

type DeleteStateSuccessResponse struct {
	SuccessResponse
	Data DeleteStateResponse `json:"data"`
}

type DeleteTaskCommentErrorResponse added in v1.4.38

type DeleteTaskCommentErrorResponse struct {
	ErrorResponse
}

type DeleteTaskCommentResponse added in v1.4.38

type DeleteTaskCommentResponse struct {
	Message string `json:"message,omitempty" bson:"message,omitempty"`
}

type DeleteTaskCommentSuccessResponse added in v1.4.38

type DeleteTaskCommentSuccessResponse struct {
	SuccessResponse
	Data DeleteTaskCommentResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type DeleteTaskErrorResponse added in v1.4.38

type DeleteTaskErrorResponse struct {
	ErrorResponse
}

type DeleteTaskResponse added in v1.4.38

type DeleteTaskResponse struct {
	Task models.Task `json:"task,omitempty" bson:"task,omitempty"`
}

type DeleteTaskSuccessResponse added in v1.4.38

type DeleteTaskSuccessResponse struct {
	SuccessResponse
	Data DeleteTaskResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type DeleteVideowallErrorResponse added in v1.4.31

type DeleteVideowallErrorResponse struct {
	ErrorResponse
}

type DeleteVideowallRequest added in v1.4.31

type DeleteVideowallRequest struct{}

DeleteVideowall

type DeleteVideowallResponse added in v1.4.31

type DeleteVideowallResponse struct{}

type DeleteVideowallSuccessResponse added in v1.4.31

type DeleteVideowallSuccessResponse struct {
	SuccessResponse
	Data DeleteVideowallResponse `json:"data"`
}

type DeleteWorkflowErrorResponse added in v1.4.48

type DeleteWorkflowErrorResponse struct {
	ErrorResponse
}

type DeleteWorkflowRequest added in v1.4.48

type DeleteWorkflowRequest struct{}

DeleteWorkflow

type DeleteWorkflowResponse added in v1.4.48

type DeleteWorkflowResponse struct{}

type DeleteWorkflowSuccessResponse added in v1.4.48

type DeleteWorkflowSuccessResponse struct {
	SuccessResponse
	Data DeleteWorkflowResponse `json:"data"`
}

type DetectionBoxInput added in v1.5.5

type DetectionBoxInput struct {
	Frame       int64                  `json:"frame"`
	TimestampMs int64                  `json:"timestampMs,omitempty"`
	X           *float64               `json:"x,omitempty"`
	Y           *float64               `json:"y,omitempty"`
	W           *float64               `json:"w,omitempty"`
	H           *float64               `json:"h,omitempty"`
	X1          *float64               `json:"x1,omitempty"`
	Y1          *float64               `json:"y1,omitempty"`
	X2          *float64               `json:"x2,omitempty"`
	Y2          *float64               `json:"y2,omitempty"`
	Confidence  float64                `json:"confidence,omitempty"`
	Label       string                 `json:"label,omitempty"`
	ClassId     *int                   `json:"classId,omitempty"`
	Edited      bool                   `json:"edited,omitempty"`
	Smoothed    bool                   `json:"smoothed,omitempty"`
	Meta        map[string]interface{} `json:"meta,omitempty"`
}

DetectionBoxInput is one detection of a subject at one frame. It accepts both the preferred {x, y, w, h} (top-left + size) and the legacy {x1, y1, x2, y2} forms; pointers let the server detect which form was sent.

type DetectionRejection added in v1.5.5

type DetectionRejection struct {
	TrackId string `json:"trackId"`
	Frame   int64  `json:"frame"`
	Reason  string `json:"reason"`
}

DetectionRejection identifies a single box that failed validation.

type DetectionTrackInput added in v1.5.5

type DetectionTrackInput struct {
	Id            FlexibleString         `json:"id"`
	Label         string                 `json:"label,omitempty"`
	ClassId       *int                   `json:"classId,omitempty"`
	Confidence    float64                `json:"confidence,omitempty"`
	Color         string                 `json:"color,omitempty"`
	Shape         string                 `json:"shape,omitempty"`
	DeletedFrames []int64                `json:"deletedFrames,omitempty"`
	Meta          map[string]interface{} `json:"meta,omitempty"`
	Boxes         []DetectionBoxInput    `json:"boxes"`
}

DetectionTrackInput is one track on the wire. It mirrors the editor's track shape; boxes carry the raw geometry the server normalises.

type DeviceFilter

type DeviceFilter struct {
	DeviceIds []*string `json:"deviceIds,omitempty" bson:"deviceIds,omitempty"`
	Name      *string   `json:"name,omitempty" bson:"name,omitempty"`
	Sites     []*string `json:"sites,omitempty" bson:"sites,omitempty"`
	Groups    []*string `json:"groups,omitempty" bson:"groups,omitempty"`
	Markers   []*string `json:"markers,omitempty" bson:"markers,omitempty"`
	Sort      *string   `json:"sort,omitempty" bson:"sort,omitempty"`
}

type DeviceStatus

type DeviceStatus string

DeviceStatus represents specific status codes for device operations

const (
	DeviceBindingFailed    DeviceStatus = "device_binding_failed"
	DeviceDuplicateName    DeviceStatus = "device_duplicate_name"
	DeviceIdMissing        DeviceStatus = "device_id_missing"
	DeviceMissingInfo      DeviceStatus = "device_missing_info"
	DeviceRetrievalSuccess DeviceStatus = "device_retrieval_success"
	DeviceRetrievalFailed  DeviceStatus = "device_retrieval_failed"
	DeviceFound            DeviceStatus = "device_found"
	DeviceNotFound         DeviceStatus = "device_not_found"
	DeviceAddSuccess       DeviceStatus = "device_add_success"
	DeviceAddFailed        DeviceStatus = "device_add_failed"
	DeviceUpdateSuccess    DeviceStatus = "device_update_success"
	DeviceUpdateFailed     DeviceStatus = "device_update_failed"
	DeviceDeleteSuccess    DeviceStatus = "device_delete_success"
	DeviceDeleteFailed     DeviceStatus = "device_delete_failed"
	DeviceValidationFailed DeviceStatus = "device_validation_failed"
	DeviceMediaFound       DeviceStatus = "device_media_found"
)

func (DeviceStatus) String

func (ds DeviceStatus) String() string

String returns the string representation of the device status

func (DeviceStatus) Translate

func (ds DeviceStatus) Translate(lang string) string

Into returns the translated string representation of the device status in the specified language

type DominantcolorsStatus added in v1.2.28

type DominantcolorsStatus string
const (
	// Queue status codes
	DominantcolorsQueueStarted    DominantcolorsStatus = "dominantcolors_queue_started"
	DominantcolorsQueueSubscribed DominantcolorsStatus = "dominantcolors_queue_subscribed"
	DominantcolorsQueueFailed     DominantcolorsStatus = "dominantcolors_queue_failed"
	DominantcolorsQueueCompleted  DominantcolorsStatus = "dominantcolors_queue_completed"

	// Trace status codes
	DominantcolorsTracingStarted   DominantcolorsStatus = "dominantcolors_tracing_started"
	DominantcolorsTracingCompleted DominantcolorsStatus = "dominantcolors_tracing_completed"
	DominantcolorsTracingFailed    DominantcolorsStatus = "dominantcolors_tracing_failed"

	// Stage status codes
	DominantcolorsStageStart       DominantcolorsStatus = "dominantcolors_stage_start"
	DominantcolorsStageEnd         DominantcolorsStatus = "dominantcolors_stage_end"
	DominantcolorsCreationFailed   DominantcolorsStatus = "dominantcolors_creation_failed"
	DominantcolorsProcessingFailed DominantcolorsStatus = "dominantcolors_processing_failed"
	DominantColorsCalculated       DominantcolorsStatus = "dominantcolors_calculated"
)

func (DominantcolorsStatus) String added in v1.2.28

func (ms DominantcolorsStatus) String() string

String returns the string representation of the Dominantcolors status

func (DominantcolorsStatus) Translate added in v1.2.28

func (ms DominantcolorsStatus) Translate(lang string) string

Translate returns the translated string representation of the Dominantcolors status in the specified language

type EditTaskCommentErrorResponse added in v1.4.38

type EditTaskCommentErrorResponse struct {
	ErrorResponse
}

type EditTaskCommentRequest added in v1.4.38

type EditTaskCommentRequest struct {
	Comment models.Comment `json:"comment" bson:"comment"`
}

type EditTaskCommentResponse added in v1.4.38

type EditTaskCommentResponse struct {
	Comment models.Comment `json:"comment,omitempty" bson:"comment,omitempty"`
}

type EditTaskCommentSuccessResponse added in v1.4.38

type EditTaskCommentSuccessResponse struct {
	SuccessResponse
	Data EditTaskCommentResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type EditTaskErrorResponse added in v1.4.38

type EditTaskErrorResponse struct {
	ErrorResponse
}

type EditTaskRequest added in v1.4.38

type EditTaskRequest struct {
	Status           *TaskStatus `json:"status,omitempty" bson:"status,omitempty"`
	Notes            *string     `json:"notes,omitempty" bson:"notes,omitempty"`
	Labels           *[]string   `json:"labels,omitempty" bson:"labels,omitempty"`
	Assignees        *[]string   `json:"assignees,omitempty" bson:"assignees,omitempty"`
	AssigneesProfile *[]string   `json:"assignees_profile,omitempty" bson:"assignees_profile,omitempty"`
	NotifyAssignees  *bool       `json:"notify_assignees,omitempty" bson:"notify_assignees,omitempty"`
	IsPrivate        *bool       `json:"is_private,omitempty" bson:"is_private,omitempty"`
}

EditTaskRequest matches PATCH /tasks/{id} request payload. It includes only fields currently editable from the frontend task UI.

type EditTaskResponse added in v1.4.38

type EditTaskResponse struct {
	UpdatedFields map[string]interface{} `json:"updatedFields,omitempty" bson:"updatedFields,omitempty"`
	Task          models.Task            `json:"task,omitempty" bson:"task,omitempty"`
}

type EditTaskSuccessResponse added in v1.4.38

type EditTaskSuccessResponse struct {
	SuccessResponse
	Data EditTaskResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type EntityStatus

type EntityStatus interface {
	String() string               // Returns the string representation of the status
	Translate(lang string) string // Returns the translated string representation of the status in the specified language
}

EntityStatus should be a high-level status type that can be used across different entities Idea is that we have specific statuses for each entity type, but they all derive from a common EntityStatus type e.g. marker, user, etc. can all have their own specific statuses but also share common statuses like success, error, not found, etc.

type ErrorResponse

type ErrorResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the error
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific error code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific error code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Error message describing the issue
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the error, such as timestamps and request IDs
}

ErrorResponse represents a standard error response structure.

func CreateError

func CreateError(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) ErrorResponse

type ExportStatus added in v1.4.8

type ExportStatus string
const (
	// Queue status codes
	ExportQueueStarted    ExportStatus = "export_queue_started"
	ExportQueueSubscribed ExportStatus = "export_queue_subscribed"
	ExportQueueFailed     ExportStatus = "export_queue_failed"
	ExportQueueCompleted  ExportStatus = "export_queue_completed"

	// Trace status codes
	ExportTracingStarted   ExportStatus = "export_tracing_started"
	ExportTracingCompleted ExportStatus = "export_tracing_completed"
	ExportTracingFailed    ExportStatus = "export_tracing_failed"

	// Stage status codes
	ExportStageStart              ExportStatus = "export_stage_start"
	ExportStageEnd                ExportStatus = "export_stage_end"
	ExportProcessingFailed        ExportStatus = "export_processing_failed"
	ExportTaskNotFound            ExportStatus = "export_task_not_found"
	ExportStatusUpdated           ExportStatus = "export_status_updated"
	ExportCompressionStarted      ExportStatus = "export_compression_started"
	ExportCompressionCompleted    ExportStatus = "export_compression_completed"
	ExportDirectoryCreationFailed ExportStatus = "export_directory_creation_failed"
	ExportUploadCompleted         ExportStatus = "export_upload_completed"
)

func (ExportStatus) String added in v1.4.8

func (es ExportStatus) String() string

String returns the string representation of the Export status

func (ExportStatus) Translate added in v1.4.8

func (es ExportStatus) Translate(lang string) string

Translate returns the translated string representation of the Export status in the specified language

type FaceRedactionMessage

type FaceRedactionMessage struct {
	Events []string               `json:"events,omitempty"`
	User   models.User            `json:"user,omitempty"`
	Data   map[string]interface{} `json:"data,omitempty"`
}

FaceRedactionMessage is the structured payload published by hub-api onto the redaction queue when a face redaction is submitted. It carries the user context and a free-form Data map that is wrapped by the worker into a concrete request struct.

type FatalResponse

type FatalResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the error
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific error code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific error code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Error message describing the issue
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the error, such as timestamps and request IDs
}

func CreateFatal

func CreateFatal(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) FatalResponse

type FlexibleString added in v1.5.5

type FlexibleString string

FlexibleString unmarshals from either a JSON string or a JSON number, coercing both to a string. Producers commonly send track ids as integers.

func (FlexibleString) String added in v1.5.5

func (fs FlexibleString) String() string

func (*FlexibleString) UnmarshalJSON added in v1.5.5

func (fs *FlexibleString) UnmarshalJSON(data []byte) error

type GenerateAdminUserKeyErrorResponse added in v1.4.56

type GenerateAdminUserKeyErrorResponse struct {
	ErrorResponse
}

type GenerateAdminUserKeyResponse added in v1.4.56

type GenerateAdminUserKeyResponse struct {
	PublicKey  string `json:"public_key"`
	PrivateKey string `json:"private_key,omitempty"`
}

type GenerateAdminUserKeySuccessResponse added in v1.4.56

type GenerateAdminUserKeySuccessResponse struct {
	SuccessResponse
	Data GenerateAdminUserKeyResponse `json:"data,omitempty"`
}

type GetAccessTokensErrorResponse

type GetAccessTokensErrorResponse struct {
	ErrorResponse
}

type GetAccessTokensRequest

type GetAccessTokensRequest struct {
}

GetAccessTokens @Router /profile/token [get]

type GetAccessTokensResponse

type GetAccessTokensResponse struct {
	AccessTokens []models.AccessToken `json:"access_tokens"`
}

type GetAccessTokensSuccessResponse

type GetAccessTokensSuccessResponse struct {
	SuccessResponse
	Data GetAccessTokensResponse `json:"data"`
}

type GetAdminDeviceErrorResponse added in v1.4.56

type GetAdminDeviceErrorResponse struct {
	ErrorResponse
}

type GetAdminDeviceResponse added in v1.4.56

type GetAdminDeviceResponse struct {
	Device any `json:"device"`
}

type GetAdminDeviceSuccessResponse added in v1.4.56

type GetAdminDeviceSuccessResponse struct {
	SuccessResponse
	Data GetAdminDeviceResponse `json:"data,omitempty"`
}

type GetAdminDevicesErrorResponse added in v1.4.56

type GetAdminDevicesErrorResponse struct {
	ErrorResponse
}

type GetAdminDevicesMeta added in v1.4.56

type GetAdminDevicesMeta struct {
	TotalDeviceCount int `json:"total_device_count"`
	DeviceCount      int `json:"device_count"`
	TotalPages       int `json:"total_pages"`
}

type GetAdminDevicesResponse added in v1.4.56

type GetAdminDevicesResponse struct {
	Devices any                 `json:"devices"`
	Meta    GetAdminDevicesMeta `json:"meta"`
}

type GetAdminDevicesSuccessResponse added in v1.4.56

type GetAdminDevicesSuccessResponse struct {
	SuccessResponse
	Data GetAdminDevicesResponse `json:"data,omitempty"`
}

type GetAdminOrganisationsErrorResponse added in v1.4.56

type GetAdminOrganisationsErrorResponse struct {
	ErrorResponse
}

type GetAdminOrganisationsMeta added in v1.4.56

type GetAdminOrganisationsMeta struct {
	TotalOrganisationCount int64 `json:"total_organisation_count"`
	OrganisationCount      int64 `json:"organisation_count"`
	TotalPages             int   `json:"total_pages"`
	OrganisationTypes      any   `json:"organisation_types"`
	OrganisationRoles      any   `json:"organisation_roles"`
}

type GetAdminOrganisationsResponse added in v1.4.56

type GetAdminOrganisationsResponse struct {
	Organisations any                       `json:"organisations"`
	Meta          GetAdminOrganisationsMeta `json:"meta"`
}

type GetAdminOrganisationsSuccessResponse added in v1.4.56

type GetAdminOrganisationsSuccessResponse struct {
	SuccessResponse
	Data GetAdminOrganisationsResponse `json:"data,omitempty"`
}

type GetAdminStatsErrorResponse added in v1.4.56

type GetAdminStatsErrorResponse struct {
	ErrorResponse
}

type GetAdminStatsResponse added in v1.4.56

type GetAdminStatsResponse struct {
	DeviceCount         int64                     `json:"device_count"`
	SubscriptionCount   int64                     `json:"subscription_count"`
	RecordingCount      int64                     `json:"recording_count"`
	UserCount           int64                     `json:"user_count"`
	OrganisationCount   int64                     `json:"organisation_count"`
	RecentUsers         any                       `json:"recent_users"`
	RecentOrganisations any                       `json:"recent_organisations"`
	RecentSubscriptions []AdminRecentSubscription `json:"recent_subscriptions"`
}

type GetAdminStatsSuccessResponse added in v1.4.56

type GetAdminStatsSuccessResponse struct {
	SuccessResponse
	Data GetAdminStatsResponse `json:"data,omitempty"`
}

type GetAdminSubscriptionSettingsErrorResponse added in v1.4.56

type GetAdminSubscriptionSettingsErrorResponse struct {
	ErrorResponse
}

type GetAdminSubscriptionSettingsResponse added in v1.4.56

type GetAdminSubscriptionSettingsResponse struct {
	Settings any `json:"settings"`
}

type GetAdminSubscriptionSettingsSuccessResponse added in v1.4.56

type GetAdminSubscriptionSettingsSuccessResponse struct {
	SuccessResponse
	Data GetAdminSubscriptionSettingsResponse `json:"data,omitempty"`
}

type GetAdminUserDevicesErrorResponse added in v1.4.56

type GetAdminUserDevicesErrorResponse struct {
	ErrorResponse
}

type GetAdminUserDevicesInformationErrorResponse added in v1.4.56

type GetAdminUserDevicesInformationErrorResponse struct {
	ErrorResponse
}

type GetAdminUserDevicesInformationResponse added in v1.4.56

type GetAdminUserDevicesInformationResponse struct {
	Devices any                     `json:"devices"`
	Meta    GetAdminUserDevicesMeta `json:"meta"`
}

type GetAdminUserDevicesInformationSuccessResponse added in v1.4.56

type GetAdminUserDevicesInformationSuccessResponse struct {
	SuccessResponse
	Data GetAdminUserDevicesInformationResponse `json:"data,omitempty"`
}

type GetAdminUserDevicesMeta added in v1.4.56

type GetAdminUserDevicesMeta struct {
	TotalDeviceCount int `json:"total_device_count"`
	DeviceCount      int `json:"device_count"`
	TotalPages       int `json:"total_pages"`
}

type GetAdminUserDevicesResponse added in v1.4.56

type GetAdminUserDevicesResponse struct {
	Devices any `json:"devices"`
}

type GetAdminUserDevicesSuccessResponse added in v1.4.56

type GetAdminUserDevicesSuccessResponse struct {
	SuccessResponse
	Data GetAdminUserDevicesResponse `json:"data,omitempty"`
}

type GetAdminUserProfileErrorResponse added in v1.4.56

type GetAdminUserProfileErrorResponse struct {
	ErrorResponse
}

type GetAdminUserProfileResponse added in v1.4.56

type GetAdminUserProfileResponse struct {
	User any `json:"user"`
}

type GetAdminUserProfileSuccessResponse added in v1.4.56

type GetAdminUserProfileSuccessResponse struct {
	SuccessResponse
	Data GetAdminUserProfileResponse `json:"data,omitempty"`
}

type GetAdminUserSubscriptionErrorResponse added in v1.4.56

type GetAdminUserSubscriptionErrorResponse struct {
	ErrorResponse
}

type GetAdminUserSubscriptionResponse added in v1.4.56

type GetAdminUserSubscriptionResponse struct {
	Subscription any `json:"subscription"`
}

type GetAdminUserSubscriptionSuccessResponse added in v1.4.56

type GetAdminUserSubscriptionSuccessResponse struct {
	SuccessResponse
	Data GetAdminUserSubscriptionResponse `json:"data,omitempty"`
}

type GetAdminUsersErrorResponse added in v1.4.56

type GetAdminUsersErrorResponse struct {
	ErrorResponse
}

type GetAdminUsersMeta added in v1.4.56

type GetAdminUsersMeta struct {
	TotalUserCount int64 `json:"total_user_count"`
	UserCount      int64 `json:"user_count"`
	TotalPages     int   `json:"total_pages"`
}

type GetAdminUsersResponse added in v1.4.56

type GetAdminUsersResponse struct {
	Users any               `json:"users"`
	Meta  GetAdminUsersMeta `json:"meta"`
}

type GetAdminUsersSuccessResponse added in v1.4.56

type GetAdminUsersSuccessResponse struct {
	SuccessResponse
	Data GetAdminUsersResponse `json:"data,omitempty"`
}

type GetAnalysisErrorResponse

type GetAnalysisErrorResponse struct {
	ErrorResponse
}

type GetAnalysisRequest

type GetAnalysisRequest struct {
	AnalysisId string `json:"analysisId"`
}

GetAnalysis @Router /analysis [get]

type GetAnalysisResponse

type GetAnalysisResponse struct {
	Analysis models.Analysis `json:"analysis"`
}

type GetAnalysisSuccessResponse

type GetAnalysisSuccessResponse struct {
	SuccessResponse
	Data GetAnalysisResponse `json:"data"`
}

type GetAnalyticsDashboardErrorResponse added in v1.4.37

type GetAnalyticsDashboardErrorResponse struct {
	ErrorResponse
}

type GetAnalyticsDashboardRequest added in v1.4.37

type GetAnalyticsDashboardRequest struct {
	Filter *models.AnalyticsFilter `json:"filter,omitempty" bson:"filter,omitempty"`
}

GetAnalyticsDashboard @Router /analytics/dashboard [post]

type GetAnalyticsDashboardResponse added in v1.4.37

type GetAnalyticsDashboardResponse struct {
	Analytics models.AnalyticsDashboard `json:"analytics" bson:"analytics"`
}

type GetAnalyticsDashboardSuccessResponse added in v1.4.37

type GetAnalyticsDashboardSuccessResponse struct {
	SuccessResponse
	Data GetAnalyticsDashboardResponse `json:"data" bson:"data"`
}

type GetCaseAttachmentErrorResponse added in v1.4.57

type GetCaseAttachmentErrorResponse struct {
	ErrorResponse
}

type GetCaseAttachmentResponse added in v1.4.57

type GetCaseAttachmentResponse struct {
	Attachment models.CaseAttachment `json:"attachment"`
}

type GetCaseAttachmentSuccessResponse added in v1.4.57

type GetCaseAttachmentSuccessResponse struct {
	SuccessResponse
	Data GetCaseAttachmentResponse `json:"data"`
}

type GetCustomAlertsErrorResponse added in v1.4.5

type GetCustomAlertsErrorResponse struct {
	ErrorResponse
}

type GetCustomAlertsRequest added in v1.4.5

type GetCustomAlertsRequest struct {
}

GetCustomAlerts

type GetCustomAlertsResponse added in v1.4.5

type GetCustomAlertsResponse struct {
	Alerts []models.CustomAlert `json:"alerts"`
}

type GetCustomAlertsSuccessResponse added in v1.4.5

type GetCustomAlertsSuccessResponse struct {
	SuccessResponse
	Data GetCustomAlertsResponse `json:"data"`
}

type GetDetectionRunErrorResponse added in v1.5.5

type GetDetectionRunErrorResponse struct {
	ErrorResponse
}

type GetDetectionRunSuccessResponse added in v1.5.5

type GetDetectionRunSuccessResponse struct {
	SuccessResponse
	Data models.DetectionRun `json:"data"`
}

GetDetectionRunSuccessResponse returns a single detection run.

type GetDetectionsErrorResponse added in v1.5.5

type GetDetectionsErrorResponse struct {
	ErrorResponse
}

type GetDetectionsResponse added in v1.5.5

type GetDetectionsResponse struct {
	Key  string                `json:"key"`
	Runs []models.DetectionRun `json:"runs"`
}

GetDetectionsResponse is the list of detection runs stored for a recording.

type GetDetectionsSuccessResponse added in v1.5.5

type GetDetectionsSuccessResponse struct {
	SuccessResponse
	Data GetDetectionsResponse `json:"data"`
}

type GetDeviceErrorResponse added in v1.4.28

type GetDeviceErrorResponse struct {
	ErrorResponse
}

type GetDeviceMediaErrorResponse added in v1.3.12

type GetDeviceMediaErrorResponse struct {
	ErrorResponse
}

type GetDeviceMediaResponse added in v1.3.12

type GetDeviceMediaResponse struct {
	Media []models.Media `json:"media,omitempty" bson:"media,omitempty"`
}

type GetDeviceMediaSuccessResponse added in v1.3.12

type GetDeviceMediaSuccessResponse struct {
	SuccessResponse
	Data GetDeviceMediaResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetDeviceOptionsErrorResponse

type GetDeviceOptionsErrorResponse struct {
	ErrorResponse
}

type GetDeviceOptionsRequest

type GetDeviceOptionsRequest struct {
	Filter     *DeviceFilter     `json:"filter,omitempty" bson:"filter,omitempty"`
	Pagination *CursorPagination `json:"pagination,omitempty" bson:"pagination,omitempty"`
}

type GetDeviceOptionsResponse

type GetDeviceOptionsResponse struct {
	Devices []models.DeviceOption `json:"devices,omitempty" bson:"devices,omitempty"`
}

type GetDeviceOptionsSuccessResponse

type GetDeviceOptionsSuccessResponse struct {
	SuccessResponse
	Data GetDeviceOptionsResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetDeviceResponse added in v1.4.28

type GetDeviceResponse struct {
	Device models.Device `json:"device,omitempty" bson:"device,omitempty"`
}

type GetDeviceSuccessResponse added in v1.4.28

type GetDeviceSuccessResponse struct {
	SuccessResponse
	Data GetDeviceResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetDevicesErrorResponse added in v1.3.11

type GetDevicesErrorResponse struct {
	ErrorResponse
}

type GetDevicesResponse added in v1.3.11

type GetDevicesResponse struct {
	Devices []models.Device `json:"devices,omitempty" bson:"devices,omitempty"`
}

type GetDevicesSuccessResponse added in v1.3.11

type GetDevicesSuccessResponse struct {
	SuccessResponse
	Data GetDevicesResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetGroupOptionsErrorResponse

type GetGroupOptionsErrorResponse struct {
	ErrorResponse
}

type GetGroupOptionsRequest

type GetGroupOptionsRequest struct {
	Filter     *GroupFilter      `json:"filter,omitempty" bson:"filter,omitempty"`
	Pagination *CursorPagination `json:"pagination,omitempty" bson:"pagination,omitempty"`
}

type GetGroupOptionsResponse

type GetGroupOptionsResponse struct {
	Groups []models.GroupOption `json:"groups,omitempty" bson:"groups,omitempty"`
}

type GetGroupOptionsSuccessResponse

type GetGroupOptionsSuccessResponse struct {
	SuccessResponse
	Data GetGroupOptionsResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetHealthErrorResponse

type GetHealthErrorResponse struct {
	ErrorResponse
}

type GetHealthRequest

type GetHealthRequest struct {
}

GetHealth @Router /health [get]

type GetHealthResponse

type GetHealthResponse struct {
	Health models.Health `json:"health"`
}

type GetHealthSuccessResponse

type GetHealthSuccessResponse struct {
	SuccessResponse
	Data GetHealthResponse `json:"data"`
}

type GetMarkerCategoryOptionsErrorResponse

type GetMarkerCategoryOptionsErrorResponse struct {
	ErrorResponse
}

type GetMarkerCategoryOptionsRequest

type GetMarkerCategoryOptionsRequest struct {
	Filter     *MarkerCategoryFilter `json:"filter"`
	Pagination *CursorPagination     `json:"pagination"`
}

GetMarkerCategoryOptions @Router /markers/categories/options [post]

type GetMarkerCategoryOptionsResponse

type GetMarkerCategoryOptionsResponse struct {
	MarkerCategories []models.MarkerCategoryOption `json:"markerCategories"`
}

type GetMarkerCategoryOptionsSuccessResponse

type GetMarkerCategoryOptionsSuccessResponse struct {
	SuccessResponse
	Data GetMarkerCategoryOptionsResponse `json:"data"`
}

type GetMarkerEventOptionsErrorResponse

type GetMarkerEventOptionsErrorResponse struct {
	ErrorResponse
}

type GetMarkerEventOptionsRequest

type GetMarkerEventOptionsRequest struct {
	Filter     *MarkerEventFilter `json:"filter"`
	Pagination *CursorPagination  `json:"pagination"`
}

GetMarkerEventOptions @Router /markers/events/options [post]

type GetMarkerEventOptionsResponse

type GetMarkerEventOptionsResponse struct {
	MarkerEvents []models.MarkerEventOption `json:"markerEvents"`
}

type GetMarkerEventOptionsSuccessResponse

type GetMarkerEventOptionsSuccessResponse struct {
	SuccessResponse
	Data GetMarkerEventOptionsResponse `json:"data"`
}

type GetMarkerOptionsErrorResponse

type GetMarkerOptionsErrorResponse struct {
	ErrorResponse
}

type GetMarkerOptionsRequest

type GetMarkerOptionsRequest struct {
	Filter     *MarkerFilter     `json:"filter"`
	Pagination *CursorPagination `json:"pagination"`
}

GetMarkerOptions @Router /markers/options [post]

type GetMarkerOptionsResponse

type GetMarkerOptionsResponse struct {
	Markers []models.MarkerOption `json:"markers"`
}

type GetMarkerOptionsSuccessResponse

type GetMarkerOptionsSuccessResponse struct {
	SuccessResponse
	Data GetMarkerOptionsResponse `json:"data"`
}

type GetMarkerTagOptionsErrorResponse

type GetMarkerTagOptionsErrorResponse struct {
	ErrorResponse
}

type GetMarkerTagOptionsRequest

type GetMarkerTagOptionsRequest struct {
	Filter     *MarkerTagFilter  `json:"filter"`
	Pagination *CursorPagination `json:"pagination"`
}

GetMarkerTagOptions @Router /markers/tags/options [post]

type GetMarkerTagOptionsResponse

type GetMarkerTagOptionsResponse struct {
	MarkerTags []models.MarkerTagOption `json:"markerTags"`
}

type GetMarkerTagOptionsSuccessResponse

type GetMarkerTagOptionsSuccessResponse struct {
	SuccessResponse
	Data GetMarkerTagOptionsResponse `json:"data"`
}

type GetMarkersErrorResponse

type GetMarkersErrorResponse struct {
	ErrorResponse
}

type GetMarkersRequest

type GetMarkersRequest struct {
	Filter     *MarkerFilter     `json:"filter"`
	Pagination *CursorPagination `json:"pagination"`
}

GetMarkers @Router /markers [get]

type GetMarkersResponse

type GetMarkersResponse struct {
	Markers []models.Marker `json:"markers"`
}

type GetMarkersSuccessResponse

type GetMarkersSuccessResponse struct {
	SuccessResponse
	Data GetMarkersResponse `json:"data"`
}

type GetMediaByIdErrorResponse

type GetMediaByIdErrorResponse struct {
	ErrorResponse
}

type GetMediaByIdRequest

type GetMediaByIdRequest struct {
	MediaId string `json:"mediaId" bson:"mediaId"`
}

GetMediaById @Router /media/{mediaId} [get]

type GetMediaByIdResponse

type GetMediaByIdResponse struct {
	Media models.Media `json:"media"`
}

type GetMediaByIdSuccessResponse

type GetMediaByIdSuccessResponse struct {
	SuccessResponse
	Data GetMediaByIdResponse `json:"data"`
}

type GetMediaByVideoFileErrorResponse added in v1.4.11

type GetMediaByVideoFileErrorResponse struct {
	ErrorResponse
}

type GetMediaByVideoFileRequest added in v1.4.11

type GetMediaByVideoFileRequest struct {
}

GetMediaByVideoFile @Router /media/video-file [get]

type GetMediaByVideoFileResponse added in v1.4.11

type GetMediaByVideoFileResponse struct {
	Media models.Media `json:"media"`
}

type GetMediaByVideoFileSuccessResponse added in v1.4.11

type GetMediaByVideoFileSuccessResponse struct {
	SuccessResponse
	Data GetMediaByVideoFileResponse `json:"data"`
}

type GetMediaErrorResponse

type GetMediaErrorResponse struct {
	ErrorResponse
}

type GetMediaRequest

type GetMediaRequest struct {
	Filter     MediaFilter      `json:"filter" bson:"filter"`
	Pagination CursorPagination `json:"pagination" bson:"pagination"`
}

GetMedia @Router /media/ [post]

type GetMediaResponse

type GetMediaResponse struct {
	Media []models.Media `json:"media"`
}

type GetMediaSuccessResponse

type GetMediaSuccessResponse struct {
	SuccessResponse
	Data GetMediaResponse `json:"data"`
}

type GetOrganisationErrorResponse added in v1.7.1

type GetOrganisationErrorResponse struct {
	ErrorResponse
}

type GetOrganisationResponse added in v1.7.1

type GetOrganisationResponse struct {
	Organisation models.Organisation `json:"organisation"`
}

GetOrganisation resolves a single organisation, either by id (/organisations/{id}) or the caller's active one (/organisations/current).

type GetOrganisationSuccessResponse added in v1.7.1

type GetOrganisationSuccessResponse struct {
	SuccessResponse
	Data GetOrganisationResponse `json:"data"`
}

type GetOrganisationsErrorResponse added in v1.7.1

type GetOrganisationsErrorResponse struct {
	ErrorResponse
}

type GetOrganisationsResponse added in v1.7.1

type GetOrganisationsResponse struct {
	Organisations []models.Organisation `json:"organisations"`
}

GetOrganisations @Router /organisations [get]

type GetOrganisationsSuccessResponse added in v1.7.1

type GetOrganisationsSuccessResponse struct {
	SuccessResponse
	Data GetOrganisationsResponse `json:"data"`
}

type GetProjectErrorResponse added in v1.7.12

type GetProjectErrorResponse struct {
	ErrorResponse
}

type GetProjectResponse added in v1.7.12

type GetProjectResponse struct {
	Project models.Project `json:"project"`
}

GetProject resolves a single project, either the caller's active one (/projects/current) or one addressed by id (/projects/{id}).

type GetProjectSuccessResponse added in v1.7.12

type GetProjectSuccessResponse struct {
	SuccessResponse
	Data GetProjectResponse `json:"data"`
}

type GetProjectsErrorResponse added in v1.7.12

type GetProjectsErrorResponse struct {
	ErrorResponse
}

type GetProjectsResponse added in v1.7.12

type GetProjectsResponse struct {
	Projects []models.Project `json:"projects"`
}

GetProjects lists the projects in the caller's active organisation. Soft-deleted projects are omitted unless ?includeInactive=true is supplied. @Router /projects [get]

type GetProjectsSuccessResponse added in v1.7.12

type GetProjectsSuccessResponse struct {
	SuccessResponse
	Data GetProjectsResponse `json:"data"`
}

type GetRuntimeConfigErrorResponse added in v1.5.0

type GetRuntimeConfigErrorResponse struct {
	ErrorResponse
}

type GetRuntimeConfigResponse added in v1.5.0

type GetRuntimeConfigResponse struct {
	RuntimeConfig models.RuntimeConfig `json:"runtimeConfig"`
}

GetRuntimeConfig response types @Router /runtime/config [get]

type GetRuntimeConfigSuccessResponse added in v1.5.0

type GetRuntimeConfigSuccessResponse struct {
	SuccessResponse
	Data GetRuntimeConfigResponse `json:"data"`
}

type GetSingleSignOnDomainsErrorResponse added in v1.2.27

type GetSingleSignOnDomainsErrorResponse struct {
	ErrorResponse
}

type GetSingleSignOnDomainsSuccessResponse added in v1.2.27

type GetSingleSignOnDomainsSuccessResponse struct {
	SuccessResponse
	Data SingleSignOnDomainsResponse `json:"data" bson:"data"`
}

type GetSiteOptionsErrorResponse

type GetSiteOptionsErrorResponse struct {
	ErrorResponse
}

type GetSiteOptionsRequest

type GetSiteOptionsRequest struct {
	Filter     *SiteFilter       `json:"filter,omitempty" bson:"filter,omitempty"`
	Pagination *CursorPagination `json:"pagination,omitempty" bson:"pagination,omitempty"`
	Flags      *SiteFlags        `json:"flags,omitempty" bson:"flags,omitempty"`
}

type GetSiteOptionsResponse

type GetSiteOptionsResponse struct {
	Sites []models.SiteOption `json:"sites,omitempty" bson:"sites,omitempty"`
}

type GetSiteOptionsSuccessResponse

type GetSiteOptionsSuccessResponse struct {
	SuccessResponse
	Data GetSiteOptionsResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetStatesErrorResponse added in v1.3.2

type GetStatesErrorResponse struct {
	ErrorResponse
}

type GetStatesRequest added in v1.3.2

type GetStatesRequest struct {
}

GetStatesRequest represents the request to get states @Router /states [get]

type GetStatesResponse added in v1.3.2

type GetStatesResponse struct {
	States []models.State `json:"states"`
}

type GetStatesSuccessResponse added in v1.3.2

type GetStatesSuccessResponse struct {
	SuccessResponse
	Data GetStatesResponse `json:"data"`
}

type GetTaskByIdErrorResponse added in v1.4.39

type GetTaskByIdErrorResponse struct {
	ErrorResponse
}

type GetTaskByIdResponse added in v1.4.39

type GetTaskByIdResponse struct {
	Task models.Task `json:"task,omitempty" bson:"task,omitempty"`
}

type GetTaskByIdSuccessResponse added in v1.4.39

type GetTaskByIdSuccessResponse struct {
	SuccessResponse
	Data GetTaskByIdResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTaskCommentsErrorResponse added in v1.4.38

type GetTaskCommentsErrorResponse struct {
	ErrorResponse
}

type GetTaskCommentsResponse added in v1.4.38

type GetTaskCommentsResponse struct {
	Comments []models.Comment `json:"comments,omitempty" bson:"comments,omitempty"`
}

type GetTaskCommentsSuccessResponse added in v1.4.38

type GetTaskCommentsSuccessResponse struct {
	SuccessResponse
	Data GetTaskCommentsResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTaskMediaErrorResponse added in v1.4.42

type GetTaskMediaErrorResponse struct {
	ErrorResponse
}

type GetTaskMediaRequest added in v1.4.42

type GetTaskMediaRequest struct {
	Id     string `uri:"id" json:"id,omitempty" bson:"id,omitempty"`
	Cursor string `form:"cursor,omitempty" json:"cursor,omitempty" bson:"cursor,omitempty"`
	Limit  int64  `form:"limit,omitempty" json:"limit,omitempty" bson:"limit,omitempty"`
}

GetTaskMediaRequest captures URI + query parameters for legacy GET /tasks/{id}/media. This endpoint is intended for on-demand media URL enrichment when a task is opened.

type GetTaskMediaRequestBody added in v1.4.47

type GetTaskMediaRequestBody struct {
	Filter     map[string]interface{} `json:"filter,omitempty" bson:"filter,omitempty"`
	Pagination CursorPagination       `json:"pagination" bson:"pagination"`
}

GetTaskMediaRequestBody matches POST /tasks/{id}/media/filter request body. The task id remains in the URI; filtering/pagination settings live in the body.

type GetTaskMediaResponse added in v1.4.42

type GetTaskMediaResponse struct {
	TaskId string          `json:"taskId,omitempty" bson:"taskId,omitempty"`
	Media  []TaskMediaItem `json:"media,omitempty" bson:"media,omitempty"`
}

type GetTaskMediaSuccessResponse added in v1.4.42

type GetTaskMediaSuccessResponse struct {
	SuccessResponse
	Data GetTaskMediaResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTaskStatisticsErrorResponse added in v1.4.38

type GetTaskStatisticsErrorResponse struct {
	ErrorResponse
}

type GetTaskStatisticsResponse added in v1.4.38

type GetTaskStatisticsResponse struct {
	Statistics models.TaskStatistics `json:"statistics,omitempty" bson:"statistics,omitempty"`
}

type GetTaskStatisticsSuccessResponse added in v1.4.38

type GetTaskStatisticsSuccessResponse struct {
	SuccessResponse
	Data GetTaskStatisticsResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTasksCompactErrorResponse added in v1.4.39

type GetTasksCompactErrorResponse struct {
	ErrorResponse
}

type GetTasksCompactResponse added in v1.4.38

type GetTasksCompactResponse struct {
	Tasks []TaskCompact `json:"tasks,omitempty" bson:"tasks,omitempty"`
}

type GetTasksCompactSuccessResponse added in v1.4.39

type GetTasksCompactSuccessResponse struct {
	SuccessResponse
	Data GetTasksCompactResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTasksErrorResponse added in v1.4.38

type GetTasksErrorResponse struct {
	ErrorResponse
}

type GetTasksFilteredErrorResponse added in v1.4.38

type GetTasksFilteredErrorResponse struct {
	ErrorResponse
}

type GetTasksFilteredQuery added in v1.4.38

type GetTasksFilteredQuery struct {
	Limit int `form:"limit,omitempty" json:"limit,omitempty" bson:"limit,omitempty"`
}

GetTasksFilteredQuery captures query parameters for POST /tasks/filter.

type GetTasksFilteredRequest added in v1.4.38

type GetTasksFilteredRequest struct {
	TaskFilter `bson:",inline"`
	Filter     *TaskFilter       `json:"filter,omitempty" bson:"filter,omitempty"`
	Pagination *CursorPagination `json:"pagination,omitempty" bson:"pagination,omitempty"`
}

GetTasksFilteredRequest matches POST /tasks/filter request body. It supports both: - legacy direct filters: { title, status, limit, offset, ... } - preferred wrapped form: { filter: {...}, pagination: { cursor, limit } }

type GetTasksFilteredResponse added in v1.4.38

type GetTasksFilteredResponse struct {
	Tasks []models.Task `json:"tasks,omitempty" bson:"tasks,omitempty"`
}

type GetTasksFilteredSuccessResponse added in v1.4.38

type GetTasksFilteredSuccessResponse struct {
	SuccessResponse
	Data GetTasksFilteredResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTasksOverviewErrorResponse added in v1.4.42

type GetTasksOverviewErrorResponse struct {
	ErrorResponse
}

type GetTasksOverviewResponse added in v1.4.42

type GetTasksOverviewResponse struct {
	Tasks []TaskOverview `json:"tasks,omitempty" bson:"tasks,omitempty"`
}

type GetTasksOverviewSuccessResponse added in v1.4.42

type GetTasksOverviewSuccessResponse struct {
	SuccessResponse
	Data GetTasksOverviewResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTasksRequest added in v1.4.38

type GetTasksRequest struct {
	Limit  int    `form:"limit,omitempty" json:"limit,omitempty" bson:"limit,omitempty"`
	Offset int    `form:"offset,omitempty" json:"offset,omitempty" bson:"offset,omitempty"`
	Cursor string `form:"cursor,omitempty" json:"cursor,omitempty" bson:"cursor,omitempty"`
	View   string `form:"view,omitempty" json:"view,omitempty" bson:"view,omitempty"` // "full" (default), "compact", or "overview"
}

GetTasksRequest captures query parameters for GET /tasks.

type GetTasksResponse added in v1.4.38

type GetTasksResponse struct {
	Tasks []models.Task `json:"tasks,omitempty" bson:"tasks,omitempty"`
}

GetTasksResponse represents task list payloads returned by list endpoints.

type GetTasksSuccessResponse added in v1.4.38

type GetTasksSuccessResponse struct {
	SuccessResponse
	Data GetTasksResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type GetTimeSeriesChartErrorResponse added in v1.4.26

type GetTimeSeriesChartErrorResponse struct {
	ErrorResponse
}

type GetTimeSeriesChartRequest added in v1.4.26

type GetTimeSeriesChartRequest struct {
	Filter *MediaFilter `json:"filter,omitempty" bson:"filter,omitempty"`
}

type GetTimeSeriesChartResponse added in v1.4.26

type GetTimeSeriesChartResponse struct {
	Chart models.TimeSeriesChart `json:"chart" bson:"chart"`
}

type GetTimeSeriesChartSuccessResponse added in v1.4.26

type GetTimeSeriesChartSuccessResponse struct {
	SuccessResponse
	Data GetTimeSeriesChartResponse `json:"data" bson:"data"`
}

type GetTimelineEventsErrorResponse

type GetTimelineEventsErrorResponse struct {
	ErrorResponse
}

type GetTimelineEventsRequest

type GetTimelineEventsRequest struct {
	Filter MarkerEventFilter `json:"filter" bson:"filter"`
}

GetTimelineEvents @Router /timeline/{deviceId}/events [post]

type GetTimelineEventsResponse

type GetTimelineEventsResponse struct {
	Device models.Device                 `json:"device"`
	Events []models.MarkerEventTimeRange `json:"events"`
}

type GetTimelineEventsSuccessResponse

type GetTimelineEventsSuccessResponse struct {
	SuccessResponse
	Data GetTimelineEventsResponse `json:"data"`
}

type GetTimelineMarkersErrorResponse

type GetTimelineMarkersErrorResponse struct {
	ErrorResponse
}

type GetTimelineMarkersRequest

type GetTimelineMarkersRequest struct {
	Filter          MarkerFilter `json:"filter" bson:"filter"`
	DisableGrouping *bool        `json:"disableGrouping,omitempty" bson:"disableGrouping,omitempty"`
}

GetTimelineMarkers @Router /timeline/{deviceId}/markers [post]

type GetTimelineMarkersResponse

type GetTimelineMarkersResponse struct {
	Timelines []models.MarkerTimeline `json:"timelines" bson:"timelines"`
}

type GetTimelineMarkersSuccessResponse

type GetTimelineMarkersSuccessResponse struct {
	SuccessResponse
	Data GetTimelineMarkersResponse `json:"data"`
}

type GetTimelineMediaErrorResponse

type GetTimelineMediaErrorResponse struct {
	ErrorResponse
}

type GetTimelineMediaRequest

type GetTimelineMediaRequest struct {
	Filter          MediaFilter `json:"filter" bson:"filter"`
	DisableGrouping *bool       `json:"disableGrouping,omitempty" bson:"disableGrouping,omitempty"`
}

GetTimelineMedia @Router /timeline/{deviceId} [post]

type GetTimelineMediaResponse

type GetTimelineMediaResponse struct {
	Timelines []models.MediaTimeline `json:"timelines" bson:"timelines"`
}

type GetTimelineMediaSuccessResponse

type GetTimelineMediaSuccessResponse struct {
	SuccessResponse
	Data GetTimelineMediaResponse `json:"data"`
}

type GetUserByIdErrorResponse added in v1.3.12

type GetUserByIdErrorResponse struct {
	ErrorResponse
}

type GetUserByIdResponse added in v1.3.12

type GetUserByIdResponse struct {
	User models.User `json:"user"`
}

GetUserById response types @Router /users/{id} [get]

type GetUserByIdSuccessResponse added in v1.3.12

type GetUserByIdSuccessResponse struct {
	SuccessResponse
	Data GetUserByIdResponse `json:"data"`
}

type GetVideowallErrorResponse added in v1.4.31

type GetVideowallErrorResponse struct {
	ErrorResponse
}

type GetVideowallRequest added in v1.4.31

type GetVideowallRequest struct{}

GetVideowall

type GetVideowallResponse added in v1.4.31

type GetVideowallResponse struct {
	Videowall models.Videowall `json:"videowall"`
}

type GetVideowallSuccessResponse added in v1.4.31

type GetVideowallSuccessResponse struct {
	SuccessResponse
	Data GetVideowallResponse `json:"data"`
}

type GetVideowallsErrorResponse added in v1.4.31

type GetVideowallsErrorResponse struct {
	ErrorResponse
}

type GetVideowallsRequest added in v1.4.31

type GetVideowallsRequest struct{}

GetVideowalls

type GetVideowallsResponse added in v1.4.31

type GetVideowallsResponse struct {
	Videowalls []models.Videowall `json:"videowalls"`
}

type GetVideowallsSuccessResponse added in v1.4.31

type GetVideowallsSuccessResponse struct {
	SuccessResponse
	Data GetVideowallsResponse `json:"data"`
}

type GetWorkflowErrorResponse added in v1.4.48

type GetWorkflowErrorResponse struct {
	ErrorResponse
}

type GetWorkflowRequest added in v1.4.48

type GetWorkflowRequest struct{}

GetWorkflow

type GetWorkflowResponse added in v1.4.48

type GetWorkflowResponse struct {
	Workflow models.Workflow `json:"workflow"`
}

type GetWorkflowRunsErrorResponse added in v1.6.12

type GetWorkflowRunsErrorResponse struct {
	ErrorResponse
}

type GetWorkflowRunsResponse added in v1.6.12

type GetWorkflowRunsResponse struct {
	Runs    []WorkflowRunStatus      `json:"runs"`
	Summary WorkflowRunStatusSummary `json:"summary"`
}

GetWorkflowRuns reports the status of the workflow runs launched from a surface. Runs are grouped by the launch's SourceRef (e.g. a case id) and scoped to the caller's organisation; an optional RunIds filter narrows to a specific launch.

@Router /tasks/{taskId}/workflow-runs [get]

type GetWorkflowRunsSuccessResponse added in v1.6.12

type GetWorkflowRunsSuccessResponse struct {
	SuccessResponse
	Data GetWorkflowRunsResponse `json:"data"`
}

type GetWorkflowSuccessResponse added in v1.4.48

type GetWorkflowSuccessResponse struct {
	SuccessResponse
	Data GetWorkflowResponse `json:"data"`
}

type GetWorkflowsErrorResponse added in v1.4.48

type GetWorkflowsErrorResponse struct {
	ErrorResponse
}

type GetWorkflowsRequest added in v1.4.48

type GetWorkflowsRequest struct {
	Filter WorkflowFilter `json:"filter" bson:"filter"`
}

GetWorkflows @Router /workflows/filter [post]

type GetWorkflowsResponse added in v1.4.48

type GetWorkflowsResponse struct {
	Workflows []models.Workflow `json:"workflows"`
}

type GetWorkflowsSuccessResponse added in v1.4.48

type GetWorkflowsSuccessResponse struct {
	SuccessResponse
	Data GetWorkflowsResponse `json:"data"`
}

type GroupFilter

type GroupFilter struct {
	GroupIds []*string `json:"groupIds,omitempty" bson:"groupIds,omitempty"`
	Name     *string   `json:"name,omitempty" bson:"name,omitempty"`
	Sort     *string   `json:"sort,omitempty" bson:"sort,omitempty"`
}

type GroupStatus

type GroupStatus string

GroupStatus represents specific status codes for group operations

const (
	GroupRetrievalSuccess GroupStatus = "group_retrieval_success"
	GroupBindingFailed    GroupStatus = "group_binding_failed"
	GroupDuplicateName    GroupStatus = "group_duplicate_name"
	GroupMissingInfo      GroupStatus = "group_missing_info"
	GroupRetrievalFailed  GroupStatus = "group_retrieval_failed"
	GroupFound            GroupStatus = "group_found"
	GroupNotFound         GroupStatus = "group_not_found"
	GroupAddSuccess       GroupStatus = "group_add_success"
	GroupAddFailed        GroupStatus = "group_add_failed"
	GroupUpdateSuccess    GroupStatus = "group_update_success"
	GroupUpdateFailed     GroupStatus = "group_update_failed"
	GroupDeleteSuccess    GroupStatus = "group_delete_success"
	GroupDeleteFailed     GroupStatus = "group_delete_failed"
)

func (GroupStatus) String

func (ds GroupStatus) String() string

String returns the string representation of the group status

func (GroupStatus) Translate

func (ds GroupStatus) Translate(lang string) string

Into returns the translated string representation of the group status in the specified language

type HealthStatus

type HealthStatus string

HealthStatus represents specific status codes for health operations

const (
	NotHealthyLicense                    HealthStatus = "not_healthy_license"
	NotHealthyDatabase                   HealthStatus = "not_healthy_database"
	NotHealthyQueue                      HealthStatus = "not_healthy_queue"
	NotHealthyDatabaseAndQueue           HealthStatus = "not_healthy_database_and_queue"
	NotHealthyLicenseAndQueue            HealthStatus = "not_healthy_license_and_queue"
	NotHealthyLicenseAndDatabase         HealthStatus = "not_healthy_license_and_database"
	NotHealthyDatabaseAndLicenseAndQueue HealthStatus = "not_healthy_database_and_license_and_queue"
	Healthy                              HealthStatus = "healthy"
)

func (HealthStatus) String

func (ms HealthStatus) String() string

String returns the string representation of the marker status

func (HealthStatus) Translate

func (ms HealthStatus) Translate(lang string) string

Into returns the translated string representation of the marker status in the specified language

type IngestErrorResponse added in v1.5.8

type IngestErrorResponse struct {
	ErrorResponse
}

type IngestRequest added in v1.5.8

type IngestRequest struct {
	// Operation is the kind selector — the registry key the ingest dispatcher
	// routes on (e.g. "detection").
	Operation string `json:"operation"`
	// MediaKey is the recording KEY the result belongs to — the stable string
	// stored as media.videoFile / analysis.key (NOT the media document _id).
	// Provide this or AnalysisId (MediaKey wins when both are present).
	MediaKey string `json:"mediaKey,omitempty"`
	// AnalysisId targets the recording via its analysis document _id (an
	// ObjectID hex), as an alternative to MediaKey.
	AnalysisId string `json:"analysisId,omitempty"`
	// Payload is the kind's typed result body, validated and normalised by the
	// kind's handler (for "detection" this is a PostDetectionsRequest).
	Payload json.RawMessage `json:"payload"`
}

Wire format for POST /ingest — the general ingest door. It is the transport of the {operation, payload} contract the shared ingest core consumes: a kind selector, a recording reference, and the typed result body. The door maps this onto ingest.Ingest, which routes by operation and runs that kind's ordered actions.

This is the HTTP-transport sibling of the queue's PipelinePayload.Result: the Payload here carries the same kind-specific result body (e.g. a PostDetectionsRequest for the "detection" kind). The recording reference is carried at the envelope level (MediaKey or AnalysisId) so the door never has to peek inside the kind-specific payload to resolve the target.

@Router /ingest [post]

type IngestResponse added in v1.5.8

type IngestResponse struct {
	RunId        string               `json:"runId"`
	TracksStored int                  `json:"tracksStored"`
	BoxesStored  int                  `json:"boxesStored"`
	Rejected     []DetectionRejection `json:"rejected"`
	Warnings     []string             `json:"warnings"`
}

IngestResponse echoes the result of running a kind's action sequence. Today the only kind is "detection", so the report mirrors PostDetectionsResponse; the shape is kept here (not aliased) so a future kind with a different report does not have to break the detection contract.

type IngestSuccessResponse added in v1.5.8

type IngestSuccessResponse struct {
	SuccessResponse
	Data IngestResponse `json:"data"`
}

type LicenseStatus added in v1.3.11

type LicenseStatus string

LicenseStatus represents specific status codes for license operations

const (
	LicenseInvalid LicenseStatus = "license_invalid"
)

func (LicenseStatus) String added in v1.3.11

func (ls LicenseStatus) String() string

String returns the string representation of the license status

func (LicenseStatus) Translate added in v1.3.11

func (ls LicenseStatus) Translate(lang string) string

Translate returns the translated string representation of the license status in the specified language

type ListCaseAttachmentsErrorResponse added in v1.4.57

type ListCaseAttachmentsErrorResponse struct {
	ErrorResponse
}

type ListCaseAttachmentsResponse added in v1.4.57

type ListCaseAttachmentsResponse struct {
	Attachments []models.CaseAttachment `json:"attachments"`
}

ListCaseAttachmentsResponse returns every attachment embedded on the task. URLs are signed at fetch time so the case detail view can render the list without further round trips.

type ListCaseAttachmentsSuccessResponse added in v1.4.57

type ListCaseAttachmentsSuccessResponse struct {
	SuccessResponse
	Data ListCaseAttachmentsResponse `json:"data"`
}

type ListCaseMediaErrorResponse added in v1.4.55

type ListCaseMediaErrorResponse struct {
	ErrorResponse
}

type ListCaseMediaResponse added in v1.4.55

type ListCaseMediaResponse struct {
	CaseMedia []models.CaseMedia `json:"caseMedia"`
}

ListCaseMediaResponse returns every case_media entry attached to a task (sources and edits) so the case view can render the inventory without further joins.

type ListCaseMediaSuccessResponse added in v1.4.55

type ListCaseMediaSuccessResponse struct {
	SuccessResponse
	Data ListCaseMediaResponse `json:"data"`
}

type MarkerCategoryFilter

type MarkerCategoryFilter struct {
	Names []*string `json:"names,omitempty" bson:"names,omitempty"`
	Name  *string   `json:"name,omitempty" bson:"name,omitempty"`
	Sort  *string   `json:"sort,omitempty" bson:"sort,omitempty"`
}

type MarkerEventFilter

type MarkerEventFilter struct {
	MarkerEventIds []*string           `json:"markerEventIds,omitempty" bson:"markerEventIds,omitempty"`
	Names          []*string           `json:"names,omitempty" bson:"names,omitempty"`
	Name           *string             `json:"name,omitempty" bson:"name,omitempty"`
	DeviceKeys     []*string           `json:"deviceKeys,omitempty" bson:"deviceKeys,omitempty"`
	TimeRanges     []*models.TimeRange `json:"timeRanges,omitempty" bson:"timeRanges,omitempty"`
	Sort           *string             `json:"sort,omitempty" bson:"sort,omitempty"`
}

type MarkerFilter

type MarkerFilter struct {
	MarkerIds  []*string           `json:"markerIds,omitempty" bson:"markerIds,omitempty"`
	Names      []*string           `json:"names,omitempty" bson:"names,omitempty"`
	Name       *string             `json:"name,omitempty" bson:"name,omitempty"`
	Categories []*string           `json:"categories,omitempty" bson:"categories,omitempty"`
	DeviceKeys []*string           `json:"deviceKeys,omitempty" bson:"deviceKeys,omitempty"`
	TimeRanges []*models.TimeRange `json:"timeRanges,omitempty" bson:"timeRanges,omitempty"`
	Events     []*string           `json:"events,omitempty" bson:"events,omitempty"`
	Tags       []*string           `json:"tags,omitempty" bson:"tags,omitempty"`
	Regions    []*models.Region    `json:"regions,omitempty" bson:"regions,omitempty"`
	Starred    *bool               `json:"starred,omitempty" bson:"starred,omitempty"`
	Sort       *string             `json:"sort,omitempty" bson:"sort,omitempty"`
}

type MarkerStatus

type MarkerStatus string

MarkerStatus represents specific status codes for marker operations

const (
	MarkerBindingFailed    MarkerStatus = "marker_binding_failed"
	MarkerDuplicateName    MarkerStatus = "marker_duplicate_name"
	MarkerMissingInfo      MarkerStatus = "marker_missing_info"
	MarkerFound            MarkerStatus = "marker_found"
	MarkerNotFound         MarkerStatus = "marker_not_found"
	MarkerAddSuccess       MarkerStatus = "marker_add_success"
	MarkerAddFailed        MarkerStatus = "marker_add_failed"
	MarkerUpdateSuccess    MarkerStatus = "marker_update_success"
	MarkerUpdateFailed     MarkerStatus = "marker_update_failed"
	MarkerDeleteSuccess    MarkerStatus = "marker_delete_success"
	MarkerDeleteFailed     MarkerStatus = "marker_delete_failed"
	MarkerRetrievalSuccess MarkerStatus = "marker_retrieval_success"
	MarkerRetrievalFailed  MarkerStatus = "marker_retrieval_failed"
	MarkerValidationFailed MarkerStatus = "marker_validation_failed"

	MarkerEventBindingFailed    MarkerStatus = "marker_event_binding_failed"
	MarkerEventRetrievalFailed  MarkerStatus = "marker_event_retrieval_failed"
	MarkerEventRetrievalSuccess MarkerStatus = "marker_event_retrieval_success"

	MarkerTagBindingFailed    MarkerStatus = "marker_tag_binding_failed"
	MarkerTagRetrievalFailed  MarkerStatus = "marker_tag_retrieval_failed"
	MarkerTagRetrievalSuccess MarkerStatus = "marker_tag_retrieval_success"

	MarkerCategoryBindingFailed    MarkerStatus = "marker_category_binding_failed"
	MarkerCategoryRetrievalFailed  MarkerStatus = "marker_category_retrieval_failed"
	MarkerCategoryRetrievalSuccess MarkerStatus = "marker_category_retrieval_success"
)

func (MarkerStatus) String

func (ms MarkerStatus) String() string

String returns the string representation of the marker status

func (MarkerStatus) Translate

func (ms MarkerStatus) Translate(lang string) string

Into returns the translated string representation of the marker status in the specified language

type MarkerTagFilter

type MarkerTagFilter struct {
	Names      []*string           `json:"names,omitempty" bson:"names,omitempty"`
	Name       *string             `json:"name,omitempty" bson:"name,omitempty"`
	DeviceKeys []*string           `json:"deviceKeys,omitempty" bson:"deviceKeys,omitempty"`
	TimeRanges []*models.TimeRange `json:"timeRanges,omitempty" bson:"timeRanges,omitempty"`
	Sort       *string             `json:"sort,omitempty" bson:"sort,omitempty"`
}

type MediaFilter

type MediaFilter struct {
	TimeRanges      []*models.TimeRange `json:"timeRanges,omitempty" bson:"timeRanges,omitempty"`
	MediaIds        []*string           `json:"mediaIds,omitempty" bson:"mediaIds,omitempty"`
	Sites           []*string           `json:"sites,omitempty" bson:"sites,omitempty"`
	Groups          []*string           `json:"groups,omitempty" bson:"groups,omitempty"`
	Devices         []*string           `json:"devices,omitempty" bson:"devices,omitempty"`
	ExcludedDevices []*string           `json:"excludedDevices,omitempty" bson:"excludedDevices,omitempty"`
	ExcludedMedia   []*string           `json:"excludedMedia,omitempty" bson:"excludedMedia,omitempty"`
	Markers         []*string           `json:"markers,omitempty" bson:"markers,omitempty"`
	Events          []*string           `json:"events,omitempty" bson:"events,omitempty"`
	Tags            []*string           `json:"tags,omitempty" bson:"tags,omitempty"`
	Regions         []*models.Region    `json:"regions,omitempty" bson:"regions,omitempty"`
	Starred         *bool               `json:"starred,omitempty" bson:"starred,omitempty"`
	SortBy          *string             `json:"sortBy,omitempty" bson:"sortBy,omitempty"`
}

type MediaMetadataPatch added in v1.4.20

type MediaMetadataPatch struct {
	Description *string `json:"description,omitempty" bson:"description,omitempty"`
}

type MediaPatch

type MediaPatch struct {
	Metadata *MediaMetadataPatch `json:"metadata,omitempty" bson:"metadata,omitempty"`
	Star     *bool               `json:"star,omitempty" bson:"star,omitempty"`
}

type MediaStatus

type MediaStatus string

MediaStatus represents specific status codes for media operations

const (
	MediaBindingFailed               MediaStatus = "media_binding_failed"
	MediaDuplicateName               MediaStatus = "media_duplicate_name"
	MediaMissingInfo                 MediaStatus = "media_missing_info"
	MediaFound                       MediaStatus = "media_found"
	MediaNotFound                    MediaStatus = "media_not_found"
	MediaAddSuccess                  MediaStatus = "media_add_success"
	MediaAddFailed                   MediaStatus = "media_add_failed"
	MediaUpdateSuccess               MediaStatus = "media_update_success"
	MediaUpdateFailed                MediaStatus = "media_update_failed"
	MediaDeleteSuccess               MediaStatus = "media_delete_success"
	MediaDeleteFailed                MediaStatus = "media_delete_failed"
	MediaIdMissing                   MediaStatus = "media_id_missing"
	MediaDownloadFailed              MediaStatus = "media_download_failed"
	MediaDownloadSuccess             MediaStatus = "media_download_success"
	MediaUploadFailed                MediaStatus = "media_upload_failed"
	MediaUploadSuccess               MediaStatus = "media_upload_success"
	MediaPublishFailed               MediaStatus = "media_publish_failed"
	MediaPublishSuccess              MediaStatus = "media_publish_success"
	MediaCleanupFailed               MediaStatus = "media_cleanup_failed"
	MediaVideoDurationExtracted      MediaStatus = "media_video_duration_extracted"
	MediaThumbnailLoaded             MediaStatus = "media_thumbnail_loaded"
	MediaFileCouldNotExtractUsername MediaStatus = "media_file_could_not_extract_username"
)

func (MediaStatus) String

func (ms MediaStatus) String() string

String returns the string representation of the media status

func (MediaStatus) Translate

func (ms MediaStatus) Translate(lang string) string

Translate returns the translated string representation of the media status in the specified language

type Metadata

type Metadata struct {
	ApplicationName    string         `json:"applicationName,omitempty" bson:"applicationName,omitempty"`       // Name of the application
	ApplicationVersion string         `json:"applicationVersion,omitempty" bson:"applicationVersion,omitempty"` // Version of the application
	Timestamp          int64          `json:"timestamp,omitempty" bson:"timestamp,omitempty"`                   // Timestamp of the request or response
	TraceId            string         `json:"traceId,omitempty" bson:"traceId,omitempty"`                       // Trace ID for tracking requests
	OrganisationId     string         `json:"organisationId,omitempty" bson:"organisationId,omitempty"`         // Organisation ID for the request
	UserId             string         `json:"userId,omitempty" bson:"userId,omitempty"`                         // User ID of the user making the request
	MediaFileName      string         `json:"mediaFileName,omitempty" bson:"mediaFileName,omitempty"`           // Name of the media file involved in the request
	DeviceKey          string         `json:"deviceKey,omitempty" bson:"deviceKey,omitempty"`                   // Device key involved in the request
	Path               string         `json:"path,omitempty" bson:"path,omitempty"`                             // Path of the request
	Function           string         `json:"function,omitempty" bson:"function,omitempty"`                     // Function name where the response was generated
	Line               int            `json:"line,omitempty" bson:"line,omitempty"`                             // Line number in the code where the response was generated
	Error              string         `json:"error,omitempty" bson:"error,omitempty"`                           // Error message if any
	MissingFields      []string       `json:"missingFields,omitempty" bson:"missingFields,omitempty"`           // List of missing fields in the request
	Language           string         `json:"language,omitempty" bson:"language,omitempty"`                     // Language of the response, if applicable
	Data               map[string]any `json:"data,omitempty" bson:"data,omitempty"`
	// Additional data relevant to the request or response, this can be free-format
	Pagination *CursorPagination `json:"pagination,omitempty" bson:"pagination,omitempty"`
}

Metadata holds additional information about the request or response. It can include timestamps, trace IDs, organisation IDs, user IDs, and other relevant data

type MonitorStatus

type MonitorStatus string

MonitorStage represents the initial stage of media processing

const (
	// Queue status codes
	MonitorQueueStarted    MonitorStatus = "monitor_queue_started"
	MonitorQueueSubscribed MonitorStatus = "monitor_queue_subscribed"
	MonitorQueueFailed     MonitorStatus = "monitor_queue_failed"
	MonitorQueueCompleted  MonitorStatus = "monitor_queue_completed"

	// Trace status codes
	MonitorTracingStarted   MonitorStatus = "monitor_tracing_started"
	MonitorTracingCompleted MonitorStatus = "monitor_tracing_completed"
	MonitorTracingFailed    MonitorStatus = "monitor_tracing_failed"

	// Stage status codes
	MonitorStageStart           MonitorStatus = "monitor_stage_start"
	MonitorStageEnd             MonitorStatus = "monitor_stage_end"
	MonitorStageMissing         MonitorStatus = "monitor_stage_missing"
	MonitorUserNotFound         MonitorStatus = "monitor_user_not_found"
	MonitorOrganizationNotFound MonitorStatus = "monitor_organization_not_found"
	MonitorProcessingStart      MonitorStatus = "monitor_processing_start"
	MonitorProcessingEnd        MonitorStatus = "monitor_processing_end"
	MonitorProcessingFailed     MonitorStatus = "monitor_processing_failed"
)

func (MonitorStatus) String

func (ms MonitorStatus) String() string

String returns the string representation of the monitor status

func (MonitorStatus) Translate

func (ms MonitorStatus) Translate(lang string) string

Translate returns the translated string representation of the monitor status in the specified language

type NotificationStatus

type NotificationStatus string
const (
	// Queue status codes
	NotificationQueueStarted    NotificationStatus = "notification_queue_started"
	NotificationQueueSubscribed NotificationStatus = "notification_queue_subscribed"
	NotificationQueueFailed     NotificationStatus = "notification_queue_failed"
	NotificationQueueCompleted  NotificationStatus = "notification_queue_completed"

	// Trace status codes
	NotificationTracingStarted   NotificationStatus = "notification_tracing_started"
	NotificationTracingCompleted NotificationStatus = "notification_tracing_completed"
	NotificationTracingFailed    NotificationStatus = "notification_tracing_failed"

	// Metrics status codes
	NotificationMetricsEnabled NotificationStatus = "notification_metrics_enabled"

	// Stage status codes
	NotificationStageStart           NotificationStatus = "notification_stage_start"
	NotificationStageEnd             NotificationStatus = "notification_stage_end"
	NotificationStageMissing         NotificationStatus = "notification_stage_missing"
	NotificationUserNotFound         NotificationStatus = "notification_user_not_found"
	NotificationOrganizationNotFound NotificationStatus = "notification_organization_not_found"
	NotificationMonitorStageMissing  NotificationStatus = "notification_monitor_stage_missing"

	// Internal status codes
	NotificationExpired                  NotificationStatus = "notification_expired"
	NotificationSequenceDecodeFailed     NotificationStatus = "notification_sequence_decode_failed"
	NotificationDecodeFailed             NotificationStatus = "notification_decode_failed"
	NotificationAlreadySent              NotificationStatus = "notification_already_sent"
	NotificationSiteNotFound             NotificationStatus = "notification_site_not_found"
	NotificationSiteDecodeFailed         NotificationStatus = "notification_site_decode_failed"
	NotificationGroupNotFound            NotificationStatus = "notification_group_not_found"
	NotificationGroupDecodeFailed        NotificationStatus = "notification_group_decode_failed"
	NotificationAlertNotFound            NotificationStatus = "notification_alert_not_found"
	NotificationAlertDecodeFailed        NotificationStatus = "notification_alert_decode_failed"
	NotificationFindingCustomAlerts      NotificationStatus = "notification_finding_custom_alerts"
	NotificationProcessingCustomAlert    NotificationStatus = "notification_processing_custom_alert"
	NotificationAlertDisabled            NotificationStatus = "notification_alert_disabled"
	NotificationMediaInSequenceNotFound  NotificationStatus = "notification_media_in_sequence_not_found"
	NotificationSelectedIONotActive      NotificationStatus = "notification_selected_io_not_active"
	NotificationInvalidClassification    NotificationStatus = "notification_invalid_classification"
	NotificationInvalidTimeInterval      NotificationStatus = "notification_invalid_time_interval"
	NotificationNoFrameDimensionsDefined NotificationStatus = "notification_no_frame_dimensions_defined"
	NotificationNotClassifyOperation     NotificationStatus = "notification_not_classify_operation"
	NotificationNoDeviceSelected         NotificationStatus = "notification_no_device_selected"
	NotificationNoRegionMatched          NotificationStatus = "notification_no_region_matched"
	NotificationNoValidCountingFound     NotificationStatus = "notification_no_valid_counting_found"
	NotificationSkippingInvalidCounting  NotificationStatus = "notification_skipping_invalid_counting"
	NotificationSendingNotification      NotificationStatus = "notification_sending_notification"
	NotificationSendingToChannels        NotificationStatus = "notification_sending_to_channels"
	NotificationUpdateSequenceFailed     NotificationStatus = "notification_update_sequence_failed"
	NotificationCustomAlertCompleted     NotificationStatus = "notification_custom_alert_completed"
	NotificationStartingGenericAlerts    NotificationStatus = "notification_starting_generic_alerts"
	NotificationGenericAlertNotEnabled   NotificationStatus = "notification_generic_alert_not_enabled"
	NotificationChannelsToBeTriggered    NotificationStatus = "notification_channels_to_be_triggered"
	NotificationComposedMessage          NotificationStatus = "notification_composed_message"
	NotificationProcessingStart          NotificationStatus = "notification_processing_start"
	NotificationProcessingEnd            NotificationStatus = "notification_processing_end"
	NotificationMarkerCreationFailed     NotificationStatus = "notification_marker_creation_failed"
	NotificationMarkerCreated            NotificationStatus = "notification_marker_created"
	NotificationNoChannelsToBeTriggered  NotificationStatus = "notification_no_channels_to_be_triggered"
	NotificationNoChannelsToSend         NotificationStatus = "notification_no_channels_to_send"
	NotificationSendNotificationFailed   NotificationStatus = "notification_send_notification_failed"
	NotificationCreateMarkerFailed       NotificationStatus = "notification_create_marker_failed"

	NotificationUserNotificationSettingsEmpty NotificationStatus = "notification_user_notification_settings_empty"
	NotificationUserChannelsEmpty             NotificationStatus = "notification_user_channels_empty"
)

func (NotificationStatus) String

func (ms NotificationStatus) String() string

String returns the string representation of the Notification status

func (NotificationStatus) Translate

func (ms NotificationStatus) Translate(lang string) string

Translate returns the translated string representation of the Notification status in the specified language

type OrganisationStatus added in v1.4.56

type OrganisationStatus string

OrganisationStatus represents specific status codes for organisation operations.

const (
	OrganisationBindingFailed  OrganisationStatus = "organisation_binding_failed"
	OrganisationMissingInfo    OrganisationStatus = "organisation_missing_info"
	OrganisationNameExists     OrganisationStatus = "organisation_name_exists"
	OrganisationFound          OrganisationStatus = "organisation_found"
	OrganisationNotFound       OrganisationStatus = "organisation_not_found"
	OrganisationGetAllSuccess  OrganisationStatus = "organisation_get_all_success"
	OrganisationGetAllFailed   OrganisationStatus = "organisation_get_all_failed"
	OrganisationCreateSuccess  OrganisationStatus = "organisation_create_success"
	OrganisationCreateFailed   OrganisationStatus = "organisation_create_failed"
	OrganisationUpdateSuccess  OrganisationStatus = "organisation_update_success"
	OrganisationUpdateFailed   OrganisationStatus = "organisation_update_failed"
	OrganisationDeleteSuccess  OrganisationStatus = "organisation_delete_success"
	OrganisationDeleteFailed   OrganisationStatus = "organisation_delete_failed"
	OrganisationValidationFail OrganisationStatus = "organisation_validation_failed"
)

func (OrganisationStatus) String added in v1.4.56

func (s OrganisationStatus) String() string

String returns the string representation of the organisation status.

func (OrganisationStatus) Translate added in v1.4.56

func (s OrganisationStatus) Translate(lang string) string

Translate returns the translated string representation of the organisation status in the specified language.

type PanicResponse

type PanicResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the error
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific error code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific error code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Error message describing the issue
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the error, such as timestamps and request IDs
}

func CreatePanic

func CreatePanic(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) PanicResponse

type PatchVideowallErrorResponse added in v1.4.31

type PatchVideowallErrorResponse struct {
	ErrorResponse
}

type PatchVideowallRequest added in v1.4.31

type PatchVideowallRequest struct {
	Updates map[string]interface{} `json:"updates"`
}

PatchVideowall

type PatchVideowallResponse added in v1.4.31

type PatchVideowallResponse struct {
	Videowall models.Videowall `json:"videowall"`
}

type PatchVideowallSuccessResponse added in v1.4.31

type PatchVideowallSuccessResponse struct {
	SuccessResponse
	Data PatchVideowallResponse `json:"data"`
}

type PipelineStatus

type PipelineStatus string
const (
	UserMissing                PipelineStatus = "user_missing"
	TraceIdMissing             PipelineStatus = "trace_id_missing"
	UserEmailEmpty             PipelineStatus = "user_email_empty"
	MediaMissing               PipelineStatus = "media_missing"
	IONotFound                 PipelineStatus = "io_not_found"
	IODecodeError              PipelineStatus = "io_decode_error"
	SignedUrlFailed            PipelineStatus = "signed_url_failed"
	ThumbnailMissing           PipelineStatus = "thumbnail_missing"
	QueueCreationFailed        PipelineStatus = "queue_creation_failed"
	PanicRecovered             PipelineStatus = "panic_recovered"
	DeadLetterMarshalFailed    PipelineStatus = "dead_letter_marshal_failed"
	DeadLetterQueueSendSuccess PipelineStatus = "dead_letter_queue_send_success"
	DeadLetterQueueSendFailed  PipelineStatus = "dead_letter_queue_send_failed"
	QueueReadMessagesFailed    PipelineStatus = "queue_read_messages_failed"
	QueueReconnectionFailed    PipelineStatus = "queue_reconnection_failed"
	PreflightChecksFailed      PipelineStatus = "preflight_checks_failed"
)

func (PipelineStatus) String

func (ps PipelineStatus) String() string

func (PipelineStatus) Translate

func (ps PipelineStatus) Translate(lang string) string

type PostDetectionsErrorResponse added in v1.5.5

type PostDetectionsErrorResponse struct {
	ErrorResponse
}

type PostDetectionsRequest added in v1.5.5

type PostDetectionsRequest struct {
	// MediaKey is the recording KEY the run belongs to - the stable string that
	// is stored as media.videoFile and analysis.key (NOT the media document's
	// _id). The server resolves it against analysis.key. Provide this or
	// AnalysisId (MediaKey wins when both are present).
	MediaKey string `json:"mediaKey,omitempty"`
	// AnalysisId targets the recording via its analysis document _id (an
	// ObjectID hex), as an alternative to MediaKey.
	AnalysisId string `json:"analysisId,omitempty"`
	// Name is an optional user-facing label for the run.
	Name string `json:"name,omitempty"`
	// Task is an optional run discriminator; defaults to "detection".
	Task            string                     `json:"task,omitempty"`
	SchemaVersion   string                     `json:"schemaVersion,omitempty"`
	Source          models.DetectionSource     `json:"source"`
	CoordinateSpace string                     `json:"coordinateSpace"` // "pixel" | "normalized"
	Media           models.DetectionMedia      `json:"media,omitempty"`
	Categories      []models.DetectionCategory `json:"categories,omitempty"`
	Tracks          []DetectionTrackInput      `json:"tracks"`
}

PostDetections

Wire format for POST /detections. Producers send detection runs (e.g. a bring-your-own model) which the server normalises and stores in the dedicated "detections" collection, keyed by the recording. Exactly one of MediaKey (the recording key, i.e. media.videoFile / analysis.key - not the media _id) or AnalysisId (the analysis document _id) must identify the target recording. Runs are upserted by (recording key, Source.RunId). The same body is also the payload a delegated-ingest workflow stage returns for the "detection" kind — set task "pose" for a pose run — in which case the engine targets the run's recording from the WorkflowRun envelope and MediaKey/AnalysisId are not used. @Router /detections [post]

type PostDetectionsResponse added in v1.5.5

type PostDetectionsResponse struct {
	RunId        string               `json:"runId"`
	TracksStored int                  `json:"tracksStored"`
	BoxesStored  int                  `json:"boxesStored"`
	Rejected     []DetectionRejection `json:"rejected"`
	Warnings     []string             `json:"warnings"`
}

PostDetectionsResponse echoes what was stored plus any per-box rejections.

type PostDetectionsSuccessResponse added in v1.5.5

type PostDetectionsSuccessResponse struct {
	SuccessResponse
	Data PostDetectionsResponse `json:"data"`
}

type ProjectStatus added in v1.7.12

type ProjectStatus string

ProjectStatus represents specific status codes for project operations.

const (
	ProjectBindingFailed    ProjectStatus = "project_binding_failed"
	ProjectMissingInfo      ProjectStatus = "project_missing_info"
	ProjectFound            ProjectStatus = "project_found"
	ProjectNotFound         ProjectStatus = "project_not_found"
	ProjectForbidden        ProjectStatus = "project_forbidden"
	ProjectNameExists       ProjectStatus = "project_name_exists"
	ProjectDefaultImmutable ProjectStatus = "project_default_immutable"
	ProjectGetAllSuccess    ProjectStatus = "project_get_all_success"
	ProjectGetAllFailed     ProjectStatus = "project_get_all_failed"
	ProjectCreateSuccess    ProjectStatus = "project_create_success"
	ProjectCreateFailed     ProjectStatus = "project_create_failed"
	ProjectUpdateSuccess    ProjectStatus = "project_update_success"
	ProjectUpdateFailed     ProjectStatus = "project_update_failed"
	ProjectDeleteSuccess    ProjectStatus = "project_delete_success"
	ProjectDeleteFailed     ProjectStatus = "project_delete_failed"
)

func (ProjectStatus) String added in v1.7.12

func (s ProjectStatus) String() string

String returns the string representation of the project status.

func (ProjectStatus) Translate added in v1.7.12

func (s ProjectStatus) Translate(lang string) string

Translate returns the translated string representation of the project status in the specified language.

type PrometheusStatus

type PrometheusStatus string
const (
	PrometheusServiceStarted PrometheusStatus = "prometheus_service_started"
	PrometheusServiceStopped PrometheusStatus = "prometheus_service_stopped"
)

func (PrometheusStatus) String

func (ps PrometheusStatus) String() string

func (PrometheusStatus) Translate

func (ps PrometheusStatus) Translate(lang string) string

type PublishFileErrorResponse added in v1.4.56

type PublishFileErrorResponse struct {
	ErrorResponse
}

PublishFileErrorResponse is the wrapper error response for PublishFile.

type PublishFileResponse added in v1.4.56

type PublishFileResponse struct {
	FileName  string `json:"fileName,omitempty" bson:"fileName,omitempty"`
	FileSize  int64  `json:"fileSize,omitempty" bson:"fileSize,omitempty"`
	Directory string `json:"directory,omitempty" bson:"directory,omitempty"`
	Provider  string `json:"provider,omitempty" bson:"provider,omitempty"`
	// SignedURL is a vault-signed URL that can be used to fetch the file
	// after upload. It carries an HMAC signature and a TTL.
	SignedURL string `json:"signedUrl,omitempty" bson:"signedUrl,omitempty"`
}

PublishFileResponse is the payload returned on a successful upload via the /api/storage/file endpoint.

type PublishFileSuccessResponse added in v1.4.56

type PublishFileSuccessResponse struct {
	SuccessResponse
	Data PublishFileResponse `json:"data" bson:"data"`
}

PublishFileSuccessResponse is the wrapper success response for PublishFile, embedding the standard SuccessResponse envelope.

type RabbitMQStatus

type RabbitMQStatus string
const (
	RabbitMQConnected            RabbitMQStatus = "rabbitmq_connected"
	RabbitMQConnectionFailed     RabbitMQStatus = "rabbitmq_connection_failed"
	RabbitMQDisconnected         RabbitMQStatus = "rabbitmq_disconnected"
	RabbitMQMessageBindingFailed RabbitMQStatus = "rabbitmq_message_binding_failed"
	RabbitMQAcknowledged         RabbitMQStatus = "rabbitmq_acknowledged"
	RabbitMQNotAcknowledged      RabbitMQStatus = "rabbitmq_not_acknowledged"
	RabbitMQChannelDoesNotExist  RabbitMQStatus = "rabbitmq_channel_does_not_exist"
	RabbitMQFailedToConsume      RabbitMQStatus = "rabbitmq_failed_to_consume"
	RabbitMQFailedToPublish      RabbitMQStatus = "rabbitmq_failed_to_publish"
	RabbitMQMessagePublished     RabbitMQStatus = "rabbitmq_message_published"
	RabbitMQFailedToDeclareQueue RabbitMQStatus = "rabbitmq_failed_to_declare_queue"
)

func (RabbitMQStatus) String

func (rs RabbitMQStatus) String() string

String returns the string representation of the RabbitMQ status

func (RabbitMQStatus) Translate

func (rs RabbitMQStatus) Translate(lang string) string

Translate returns the translated string representation of the RabbitMQ status in the specified language

type RedactionEvent

type RedactionEvent struct {
	AllFrameCoordinates map[string][]models.TrackBox `json:"allFrameCoordinates"`
}

type RedactionStatus

type RedactionStatus string

RedactionStatus represents specific status codes for redaction operations

const (
	// Queu status codes
	RedactionQueueStarted    RedactionStatus = "redaction_queue_started"
	RedactionQueueSubscribed RedactionStatus = "redaction_queue_subscribed"
	RedactionQueueFailed     RedactionStatus = "redaction_queue_failed"
	RedactionQueueCompleted  RedactionStatus = "redaction_queue_completed"

	// Trace status codes
	RedactionTracingStarted   RedactionStatus = "redaction_tracing_started"
	RedactionTracingCompleted RedactionStatus = "redaction_tracing_completed"
	RedactionTracingFailed    RedactionStatus = "redaction_tracing_failed"

	// Stage status codes
	RedactionStageStart         RedactionStatus = "redaction_stage_start"
	RedactionStageEnd           RedactionStatus = "redaction_stage_end"
	RedactionDownloadStart      RedactionStatus = "redaction_download_start"
	RedactionDownloadFailed     RedactionStatus = "redaction_download_failed"
	RedactionDownloadSuccess    RedactionStatus = "redaction_download_success"
	RedactionProcessingStart    RedactionStatus = "redaction_processing_start"
	RedactionProcessingPrepare  RedactionStatus = "redaction_processing_prepare"
	RedactionProcessingLoop     RedactionStatus = "redaction_processing_loop"
	RedactionProcessingRedact   RedactionStatus = "redaction_processing_redact"
	RedactionProcessingEnd      RedactionStatus = "redaction_processing_end"
	RedactionUploadStart        RedactionStatus = "redaction_upload_start"
	RedactionUploadFailed       RedactionStatus = "redaction_upload_failed"
	RedactionUploadSuccess      RedactionStatus = "redaction_upload_success"
	RedactionForwardingAnalysis RedactionStatus = "redaction_forwarding_analysis"
)

func (RedactionStatus) String

func (rs RedactionStatus) String() string

String returns the string representation of the redaction status

func (RedactionStatus) Translate

func (rs RedactionStatus) Translate(lang string) string

Into returns the translated string representation of the redaction status in the specified language

type RegistrationStatus added in v1.4.56

type RegistrationStatus string

RegistrationStatus represents specific status codes for user registration performed by an admin (POST /admin/user).

const (
	RegistrationBindingFailed      RegistrationStatus = "registration_binding_failed"
	RegistrationMissingInfo        RegistrationStatus = "registration_missing_info"
	RegistrationPasswordsNoMatch   RegistrationStatus = "registration_passwords_no_match"
	RegistrationPasswordTooWeak    RegistrationStatus = "registration_password_too_weak"
	RegistrationUsernameExists     RegistrationStatus = "registration_username_exists"
	RegistrationEmailExists        RegistrationStatus = "registration_email_exists"
	RegistrationCreateUserFailed   RegistrationStatus = "registration_create_user_failed"
	RegistrationCreateOrgFailed    RegistrationStatus = "registration_create_organisation_failed"
	RegistrationHashPasswordFailed RegistrationStatus = "registration_hash_password_failed"
	RegistrationSuccess            RegistrationStatus = "registration_success"
	RegistrationGenerateKeySuccess RegistrationStatus = "registration_generate_key_success"
	RegistrationGenerateKeyFailed  RegistrationStatus = "registration_generate_key_failed"
	RegistrationUpdatePasswordOK   RegistrationStatus = "registration_update_password_success"
	RegistrationUpdatePasswordFail RegistrationStatus = "registration_update_password_failed"
	RegistrationUserIdRequired     RegistrationStatus = "registration_user_id_required"
)

func (RegistrationStatus) String added in v1.4.56

func (s RegistrationStatus) String() string

String returns the string representation of the registration status.

func (RegistrationStatus) Translate added in v1.4.56

func (s RegistrationStatus) Translate(lang string) string

Translate returns the translated string representation of the registration status in the specified language.

type RemoveCustomAlertErrorResponse added in v1.4.5

type RemoveCustomAlertErrorResponse struct {
	ErrorResponse
}

type RemoveCustomAlertRequest added in v1.4.5

type RemoveCustomAlertRequest struct {
}

RemoveCustomAlert

type RemoveCustomAlertResponse added in v1.4.5

type RemoveCustomAlertResponse struct {
}

type RemoveCustomAlertSuccessResponse added in v1.4.5

type RemoveCustomAlertSuccessResponse struct {
	SuccessResponse
	Data RemoveCustomAlertResponse `json:"data"`
}

type RequestTaskExportErrorResponse added in v1.5.2

type RequestTaskExportErrorResponse struct {
	ErrorResponse
}

type RequestTaskExportRequest added in v1.5.2

type RequestTaskExportRequest struct {
}

RequestTaskExportRequest is the optional body of POST /tasks/{id}/export. v20260101 drives include/exclude through per-document IncludeInExport flags on case_media / case_attachments, so the body carries no selection payload anymore. The struct is retained as an empty placeholder for OpenAPI generation and future fields.

type RequestTaskExportResponse added in v1.5.2

type RequestTaskExportResponse struct {
	Task models.Task `json:"task,omitempty" bson:"task,omitempty"`
}

RequestTaskExportResponse is returned by POST /tasks/{id}/export and carries the updated task whose export job has just been queued.

type RequestTaskExportSuccessResponse added in v1.5.2

type RequestTaskExportSuccessResponse struct {
	SuccessResponse
	Data RequestTaskExportResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type RunWorkflowErrorResponse added in v1.6.11

type RunWorkflowErrorResponse struct {
	ErrorResponse
}

type RunWorkflowRequest added in v1.6.11

type RunWorkflowRequest struct {
	WorkflowId    string   `json:"workflowId" bson:"workflowId"`
	MediaIds      []string `json:"mediaIds,omitempty" bson:"mediaIds,omitempty"`
	AttachmentIds []string `json:"attachmentIds,omitempty" bson:"attachmentIds,omitempty"`
}

RunWorkflow launches a workflow on demand over a set of a case's source media. It is the manual counterpart to the automatic analysis hand-off: the caller picks a workflow and the media to send through, and the server fans out one run per selected recording onto the workflows queue.

@Router /tasks/{taskId}/workflows [post]

WorkflowId is the id of the workflow to run (a config or user workflow that exposes a manual trigger on the case surface). MediaIds is the set of case_media source-row ids to run it over; an empty MediaIds means "every source media on the case". AttachmentIds additionally selects video CaseAttachments to run it over — each is materialised into a linked Role=source case_media row on demand so attached videos flow through the same run machinery as device recordings.

type RunWorkflowResponse added in v1.6.11

type RunWorkflowResponse struct {
	RunIds []string `json:"runIds"`
	Count  int      `json:"count"`
}

RunWorkflowResponse reports the runs opened by the launch: the freshly minted run ids (one per selected media) and their count.

type RunWorkflowSuccessResponse added in v1.6.11

type RunWorkflowSuccessResponse struct {
	SuccessResponse
	Data RunWorkflowResponse `json:"data"`
}

type RuntimeConfigStatus added in v1.5.0

type RuntimeConfigStatus string

RuntimeConfigStatus represents specific status codes for runtime configuration operations.

const (
	RuntimeConfigFound      RuntimeConfigStatus = "runtime_config_found"
	RuntimeConfigFetchError RuntimeConfigStatus = "runtime_config_fetch_error"
)

func (RuntimeConfigStatus) String added in v1.5.0

func (s RuntimeConfigStatus) String() string

String returns the string representation of the RuntimeConfig status.

func (RuntimeConfigStatus) Translate added in v1.5.0

func (s RuntimeConfigStatus) Translate(lang string) string

Translate returns the translated string representation of the RuntimeConfig status in the specified language.

type SaveFaceRedactionErrorResponse

type SaveFaceRedactionErrorResponse struct {
	ErrorResponse
}

type SaveFaceRedactionRequest

type SaveFaceRedactionRequest struct {
	AnalysisId    string               `json:"analysisId"`
	FaceRedaction models.FaceRedaction `json:"faceRedaction"`
}

SaveFaceRedaction @Router /analysis/save-face-redaction [patch]

type SaveFaceRedactionResponse

type SaveFaceRedactionResponse struct {
	AnalysisId    string               `json:"analysisId"`
	FaceRedaction models.FaceRedaction `json:"faceRedaction"`
}

type SaveFaceRedactionSuccessResponse

type SaveFaceRedactionSuccessResponse struct {
	SuccessResponse
	Data SaveFaceRedactionResponse `json:"data"`
}

type SetCurrentOrganisationErrorResponse added in v1.7.4

type SetCurrentOrganisationErrorResponse struct {
	ErrorResponse
}

type SetCurrentOrganisationRequest added in v1.7.4

type SetCurrentOrganisationRequest struct {
	OrganisationId string `json:"organisationId"`
}

SetCurrentOrganisation selects the active organisation for the caller. @Router /organisations/current [patch]

type SetCurrentOrganisationResponse added in v1.7.4

type SetCurrentOrganisationResponse struct {
	Organisation models.Organisation `json:"organisation"`
	Token        string              `json:"token"`
	Expire       string              `json:"expire"`
}

type SetCurrentOrganisationSuccessResponse added in v1.7.4

type SetCurrentOrganisationSuccessResponse struct {
	SuccessResponse
	Data SetCurrentOrganisationResponse `json:"data"`
}

type SetCurrentProjectErrorResponse added in v1.7.12

type SetCurrentProjectErrorResponse struct {
	ErrorResponse
}

type SetCurrentProjectRequest added in v1.7.12

type SetCurrentProjectRequest struct {
	ProjectId string `json:"projectId"`
}

SetCurrentProject selects the active project sub-scope for the caller. @Router /projects/current [patch]

type SetCurrentProjectResponse added in v1.7.12

type SetCurrentProjectResponse struct {
	Project models.Project `json:"project"`
}

type SetCurrentProjectSuccessResponse added in v1.7.12

type SetCurrentProjectSuccessResponse struct {
	SuccessResponse
	Data SetCurrentProjectResponse `json:"data"`
}

type SingleSignOnDomainsRequest added in v1.2.27

type SingleSignOnDomainsRequest struct {
}

type SingleSignOnDomainsResponse added in v1.2.27

type SingleSignOnDomainsResponse struct {
	Domains         []string `json:"domains" bson:"domains"`
	ForceSSODomains []string `json:"force_sso_domains" bson:"force_sso_domains"`
}

type SingleSignOnStatus added in v1.2.27

type SingleSignOnStatus string

GroupStatus represents specific status codes for group operations

const (
	SingleSignOnDomainsSuccess SingleSignOnStatus = "sso_domains_retrieval_success"
)

func (SingleSignOnStatus) String added in v1.2.27

func (ds SingleSignOnStatus) String() string

String returns the string representation of the group status

func (SingleSignOnStatus) Translate added in v1.2.27

func (ds SingleSignOnStatus) Translate(lang string) string

Into returns the translated string representation of the group status in the specified language

type SiteFilter

type SiteFilter struct {
	SiteIds    []*string `json:"siteIds,omitempty" bson:"siteIds,omitempty"`
	Name       *string   `json:"name,omitempty" bson:"name,omitempty"`
	DeviceKeys []string  `json:"deviceKeys,omitempty" bson:"deviceKeys,omitempty"`
	Sort       *string   `json:"sort,omitempty" bson:"sort,omitempty"`
}

type SiteFlags added in v1.2.29

type SiteFlags struct {
	IncludeMetadata bool `json:"includeMetadata,omitempty" bson:"includeMetadata,omitempty"`
}

type SiteStatus

type SiteStatus string

SiteStatus represents specific status codes for device operations

const (
	SiteRetrievalSuccess SiteStatus = "site_retrieval_success"
	SiteBindingFailed    SiteStatus = "device_binding_failed"
	SiteDuplicateName    SiteStatus = "device_duplicate_name"
	SiteMissingInfo      SiteStatus = "device_missing_info"
	SiteRetrievalFailed  SiteStatus = "device_retrieval_failed"
	SiteFound            SiteStatus = "device_found"
	SiteNotFound         SiteStatus = "device_not_found"
	SiteAddSuccess       SiteStatus = "device_add_success"
	SiteAddFailed        SiteStatus = "device_add_failed"
	SiteUpdateSuccess    SiteStatus = "device_update_success"
	SiteUpdateFailed     SiteStatus = "device_update_failed"
	SiteDeleteSuccess    SiteStatus = "device_delete_success"
	SiteDeleteFailed     SiteStatus = "device_delete_failed"
)

func (SiteStatus) String

func (ds SiteStatus) String() string

String returns the string representation of the device status

func (SiteStatus) Translate

func (ds SiteStatus) Translate(lang string) string

Into returns the translated string representation of the device status in the specified language

type StateStatus added in v1.3.2

type StateStatus string

StateStatus represents specific status codes for device operations

const (
	StateRetrievalSuccess StateStatus = "state_retrieval_success"
	StateBindingFailed    StateStatus = "state_binding_failed"
	StateDuplicateName    StateStatus = "state_duplicate_name"
	StateMissingInfo      StateStatus = "state_missing_info"
	StateRetrievalFailed  StateStatus = "state_retrieval_failed"
	StateFound            StateStatus = "state_found"
	StateNotFound         StateStatus = "state_not_found"
	StateAddSuccess       StateStatus = "state_add_success"
	StateAddFailed        StateStatus = "state_add_failed"
	StateUpdateSuccess    StateStatus = "state_update_success"
	StateUpdateFailed     StateStatus = "state_update_failed"
	StateDeleteSuccess    StateStatus = "state_delete_success"
	StateDeleteFailed     StateStatus = "state_delete_failed"
	StateUpsertSuccess    StateStatus = "state_upsert_success"
	StateUpsertFailed     StateStatus = "state_upsert_failed"
	StateValidationFailed StateStatus = "state_validation_failed"
	StateDefault          StateStatus = "state_default"
	StateActive           StateStatus = "state_active"
	StateDebug            StateStatus = "state_debug"
	StatePaused           StateStatus = "state_paused"
	StateNoRecording      StateStatus = "state_no_recording"
)

func (StateStatus) String added in v1.3.2

func (ds StateStatus) String() string

String returns the string representation of the device status

func (StateStatus) Translate added in v1.3.2

func (ds StateStatus) Translate(lang string) string

Into returns the translated string representation of the device status in the specified language

type StorageStatus added in v1.4.56

type StorageStatus string

StorageStatus represents specific status codes for storage / file operations (uploads, downloads, provider/account resolution, ...).

const (
	// File-level statuses
	FileUploaded            StorageStatus = "file_uploaded"
	FileUploadFailed        StorageStatus = "file_upload_failed"
	FileEmpty               StorageStatus = "file_empty"
	FileTooLarge            StorageStatus = "file_too_large"
	FileMissingName         StorageStatus = "file_missing_name"
	FileInvalidName         StorageStatus = "file_invalid_name"
	FileMissingExtension    StorageStatus = "file_missing_extension"
	FileExtensionNotAllowed StorageStatus = "file_extension_not_allowed"
	FileReadFailed          StorageStatus = "file_read_failed"

	// Credential statuses
	FileMissingAccessKey       StorageStatus = "file_missing_access_key"
	FileMissingSecretAccessKey StorageStatus = "file_missing_secret_access_key"

	// Provider / account / directory statuses
	StorageAccountNotFound  StorageStatus = "storage_account_not_found"
	StorageProviderNotFound StorageStatus = "storage_provider_not_found"
	StorageDirectoryMissing StorageStatus = "storage_directory_missing"
	StorageDirectoryInvalid StorageStatus = "storage_directory_invalid"
)

func (StorageStatus) String added in v1.4.56

func (ss StorageStatus) String() string

String returns the string representation of the storage status.

func (StorageStatus) Translate added in v1.4.56

func (ss StorageStatus) Translate(lang string) string

Translate returns the translated message for the storage status in the specified language. Falls back to English when the language or status is not found.

type SubmitFaceRedactionErrorResponse

type SubmitFaceRedactionErrorResponse struct {
	ErrorResponse
}

type SubmitFaceRedactionRequest

type SubmitFaceRedactionRequest struct {
	AnalysisId string `json:"analysisId"`
	TaskId     string `json:"taskId"`
	// OrganisationId scopes the redaction job to the owning organisation. It is
	// carried on the request struct itself (not only on the transport envelope)
	// so the worker can resolve the same Request whether the struct arrives on an
	// on-demand PipelineEvent (event.Payload) or a hub-workflows stage dispatch
	// (run.User) — i.e. the request is self-contained and transport agnostic.
	OrganisationId      string                        `json:"organisationId,omitempty"`
	ProjectId           *primitive.ObjectID           `json:"projectId,omitempty"`
	CaseMediaId         string                        `json:"caseMediaId"`
	SignedUrl           string                        `json:"signedUrl"`
	FileName            string                        `json:"fileName"`
	DestinationKey      string                        `json:"destinationKey"`
	DestinationProvider string                        `json:"destinationProvider"`
	EditType            models.CaseMediaEditType      `json:"editType,omitempty"`
	Mode                models.RedactionMode          `json:"mode,omitempty"`
	AllFrameCoordinates map[string][]*models.TrackBox `json:"allFrameCoordinates,omitempty"`
	FaceRedaction       *models.FaceRedaction         `json:"faceRedaction,omitempty"`
}

SubmitFaceRedaction is the worker-bound payload published by hub-api to the redaction queue. The user-facing endpoint is the generic POST /tasks/{taskId}/media-edits — this struct is the internal queue message format consumed by hub-pipeline-redaction.

TaskId / CaseMediaId tie the job back to the CaseMedia entry that hub-api created when accepting the request. DestinationKey / DestinationProvider are computed server-side and tell the worker exactly where to upload the rendered artefact so the storage layout stays under hub-api's control.

type SubmitFaceRedactionResponse

type SubmitFaceRedactionResponse struct {
	AnalysisId    string                `json:"analysisId"`
	FaceRedaction *models.FaceRedaction `json:"faceRedaction"`
	Status        AnalysisStatus        `json:"status"`
}

type SubmitFaceRedactionSuccessResponse

type SubmitFaceRedactionSuccessResponse struct {
	SuccessResponse
	Data SubmitFaceRedactionResponse `json:"data"`
}

type SubscriptionStatus added in v1.4.56

type SubscriptionStatus string

SubscriptionStatus represents specific status codes for subscription operations.

const (
	SubscriptionFound             SubscriptionStatus = "subscription_found"
	SubscriptionNotFound          SubscriptionStatus = "subscription_not_found"
	SubscriptionGetAllSuccess     SubscriptionStatus = "subscription_get_all_success"
	SubscriptionGetAllFailed      SubscriptionStatus = "subscription_get_all_failed"
	SubscriptionGetSettingsFailed SubscriptionStatus = "subscription_get_settings_failed"
	SubscriptionGetUserFailed     SubscriptionStatus = "subscription_get_user_failed"
	SubscriptionUpdateSuccess     SubscriptionStatus = "subscription_update_success"
	SubscriptionUpdateFailed      SubscriptionStatus = "subscription_update_failed"
	SubscriptionBindingFailed     SubscriptionStatus = "subscription_binding_failed"
)

func (SubscriptionStatus) String added in v1.4.56

func (s SubscriptionStatus) String() string

String returns the string representation of the subscription status.

func (SubscriptionStatus) Translate added in v1.4.56

func (s SubscriptionStatus) Translate(lang string) string

Translate returns the translated string representation of the subscription status in the specified language.

type SuccessResponse

type SuccessResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the response
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific status code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific status code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Success message describing the operation
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the response, such as timestamps and request IDs
}

SuccessResponse represents a standard success response structure.

func CreateSuccess

func CreateSuccess(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) SuccessResponse

type TaskCommentIdRequest added in v1.4.38

type TaskCommentIdRequest struct {
	Id        string `uri:"id" json:"id,omitempty" bson:"id,omitempty"`
	CommentId string `uri:"comment_id" json:"commentId,omitempty" bson:"commentId,omitempty"`
}

TaskCommentIdRequest represents comment endpoints scoped to a task.

type TaskCompact added in v1.4.38

type TaskCompact struct {
	Id               primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
	CreationDate     int64              `json:"creation_date,omitempty" bson:"creation_date,omitempty"`
	CreationDateTime string             `json:"creation_datetime,omitempty" bson:"creation_datetime,omitempty"`
	Title            string             `json:"title,omitempty" bson:"title,omitempty"`
	Status           string             `json:"status,omitempty" bson:"status,omitempty"`
	IsPrivate        bool               `json:"is_private,omitempty" bson:"is_private,omitempty"`
	ThumbnailUrl     string             `json:"thumbnail_url,omitempty" bson:"thumbnail_url,omitempty"`
}

TaskCompact is used by lightweight task pickers that only need summary fields.

type TaskFilter added in v1.4.38

type TaskFilter struct {
	TaskIds   []string `json:"taskIds,omitempty" bson:"taskIds,omitempty"`
	Title     string   `json:"title" bson:"title,omitempty"`
	View      string   `json:"view" bson:"view,omitempty"` // "full" (default), "compact", or "overview"
	Limit     int      `json:"limit" bson:"limit,omitempty"`
	Sites     []string `json:"sites" bson:"sites,omitempty"`
	Devices   []string `json:"devices" bson:"devices,omitempty"`
	Groups    []string `json:"groups" bson:"groups,omitempty"`
	Assignees []string `json:"assignees" bson:"assignees,omitempty"`
	Labels    []string `json:"labels" bson:"labels,omitempty"`
	Status    []string `json:"status" bson:"status,omitempty"`
	Offset    int      `json:"offset" bson:"offset,omitempty"`
}

TaskFilter defines filtering options for listing tasks.

type TaskIdRequest added in v1.4.38

type TaskIdRequest struct {
	Id string `uri:"id" json:"id,omitempty" bson:"id,omitempty"`
}

TaskIdRequest represents task endpoints that identify a task by URI id.

type TaskMediaItem added in v1.4.42

type TaskMediaItem = models.ExportFile

TaskMediaItem is the API representation of a media item attached to a task.

type TaskOverview added in v1.4.42

type TaskOverview struct {
	Id                primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
	CreationDate      int64              `json:"creation_date,omitempty" bson:"creation_date,omitempty"`
	CreationDateTime  string             `json:"creation_datetime,omitempty" bson:"creation_datetime,omitempty"`
	MediaTimestamp    int64              `json:"media_timestamp,omitempty" bson:"media_timestamp,omitempty"`
	MediaEndTimestamp int64              `json:"media_end_timestamp,omitempty" bson:"media_end_timestamp,omitempty"`
	MediaDateTime     string             `json:"media_datetime,omitempty" bson:"media_datetime,omitempty"`
	Title             string             `json:"title,omitempty" bson:"title,omitempty"`
	Notes             string             `json:"notes,omitempty" bson:"notes,omitempty"`
	NotesShort        string             `json:"notes_short,omitempty" bson:"notes_short,omitempty"`
	Status            string             `json:"status,omitempty" bson:"status,omitempty"`
	IsPrivate         bool               `json:"is_private,omitempty" bson:"is_private,omitempty"`
	ReporterId        string             `json:"reporter_id,omitempty" bson:"reporter_id,omitempty"`
	Reporter          string             `json:"reporter,omitempty" bson:"reporter,omitempty"`
	ReporterEmail     string             `json:"reporterEmail,omitempty" bson:"reporterEmail,omitempty"`
	Assignees         []string           `json:"assignees,omitempty" bson:"assignees,omitempty"`
	Labels            []string           `json:"labels,omitempty" bson:"labels,omitempty"`
	Cameras           []string           `json:"cameras,omitempty" bson:"cameras,omitempty"`
	CameraNames       []string           `json:"camera_names,omitempty" bson:"camera_names,omitempty"`
	ThumbnailUrl      string             `json:"thumbnail_url,omitempty" bson:"thumbnail_url,omitempty"`
	SequenceId        string             `json:"sequence_id,omitempty" bson:"sequence_id,omitempty"`
	CompressedUrl     string             `json:"compressed_url,omitempty" bson:"compressed_url,omitempty"`
	ExportStatus      string             `json:"export_status,omitempty" bson:"export_status,omitempty"`
	ExportFilesCount  int                `json:"export_files_count,omitempty" bson:"export_files_count,omitempty"`
	DownloadedFiles   []string           `json:"downloaded_files,omitempty" bson:"downloaded_files,omitempty"`
	MediaCount        int                `json:"mediaCount,omitempty" bson:"mediaCount,omitempty"`
	ExpiresAt         *int64             `json:"expires_at,omitempty" bson:"expires_at,omitempty"`
}

TaskOverview is used for task list views that do not require media URL enrichment. It intentionally excludes heavy media payloads such as export_files.

type TaskStatus

type TaskStatus string

TaskStatus represents specific status codes for task operations

const (
	TaskBindingFailed   TaskStatus = "Task_binding_failed"
	TaskDuplicateName   TaskStatus = "Task_duplicate_name"
	TaskMissingInfo     TaskStatus = "Task_missing_info"
	TaskFound           TaskStatus = "Task_found"
	TaskNotFound        TaskStatus = "Task_not_found"
	TaskForbidden       TaskStatus = "Task_forbidden"
	TaskAddSuccess      TaskStatus = "Task_add_success"
	TaskAddFailed       TaskStatus = "Task_add_failed"
	TaskUpdateSuccess   TaskStatus = "Task_update_success"
	TaskUpdateFailed    TaskStatus = "Task_update_failed"
	TaskDeleteSuccess   TaskStatus = "Task_delete_success"
	TaskDeleteFailed    TaskStatus = "Task_delete_failed"
	TaskMediaAddSuccess TaskStatus = "Task_media_add_success"
	TaskMediaAddFailed  TaskStatus = "Task_media_add_failed"

	// Export generation trigger — set when the user explicitly
	// requests an export bundle build via POST /tasks/:id/export.
	TaskExportRequestSuccess TaskStatus = "Task_export_request_success"
	TaskExportRequestFailed  TaskStatus = "Task_export_request_failed"
	TaskExportAlreadyActive  TaskStatus = "Task_export_already_active"

	// Case attachments — auxiliary, non-pipeline files attached to a
	// case (PDFs, images, scanned documents, audio notes). See
	// models.CaseAttachment.
	TaskAttachmentAddSuccess    TaskStatus = "Task_attachment_add_success"
	TaskAttachmentAddFailed     TaskStatus = "Task_attachment_add_failed"
	TaskAttachmentUpdateSuccess TaskStatus = "Task_attachment_update_success"
	TaskAttachmentUpdateFailed  TaskStatus = "Task_attachment_update_failed"
	TaskAttachmentDeleteSuccess TaskStatus = "Task_attachment_delete_success"
	TaskAttachmentDeleteFailed  TaskStatus = "Task_attachment_delete_failed"
	TaskAttachmentNotFound      TaskStatus = "Task_attachment_not_found"
	TaskAttachmentTooLarge      TaskStatus = "Task_attachment_too_large"
	TaskAttachmentTypeRejected  TaskStatus = "Task_attachment_type_rejected"
)
const (
	TaskStatusOpen     TaskStatus = "open"
	TaskStatusApproved TaskStatus = "approved"
	TaskStatusRejected TaskStatus = "rejected"
)

func (TaskStatus) String

func (ms TaskStatus) String() string

String returns the string representation of the Task status

func (TaskStatus) Translate

func (ms TaskStatus) Translate(lang string) string

Into returns the translated string representation of the Task status in the specified language

type ThumbnailStatus

type ThumbnailStatus string
const (
	// Queue status codes
	ThumbnailQueueStarted    ThumbnailStatus = "thumbnail_queue_started"
	ThumbnailQueueSubscribed ThumbnailStatus = "thumbnail_queue_subscribed"
	ThumbnailQueueFailed     ThumbnailStatus = "thumbnail_queue_failed"
	ThumbnailQueueCompleted  ThumbnailStatus = "thumbnail_queue_completed"

	// Trace status codes
	ThumbnailTracingStarted   ThumbnailStatus = "thumbnail_tracing_started"
	ThumbnailTracingCompleted ThumbnailStatus = "thumbnail_tracing_completed"
	ThumbnailTracingFailed    ThumbnailStatus = "thumbnail_tracing_failed"

	// Stage status codes
	ThumbnailStageStart       ThumbnailStatus = "thumbnail_stage_start"
	ThumbnailStageEnd         ThumbnailStatus = "thumbnail_stage_end"
	ThumbnailCreationFailed   ThumbnailStatus = "thumbnail_creation_failed"
	ThumbnailProcessingFailed ThumbnailStatus = "thumbnail_processing_failed"
	ThumbnailGenerated        ThumbnailStatus = "thumbnail_generated"
)

func (ThumbnailStatus) String

func (ms ThumbnailStatus) String() string

String returns the string representation of the Thumbnail status

func (ThumbnailStatus) Translate

func (ms ThumbnailStatus) Translate(lang string) string

Translate returns the translated string representation of the Thumbnail status in the specified language

type TimelineStatus

type TimelineStatus string

MediaStatus represents specific status codes for media operations

const (
	TimelineBindingFailed TimelineStatus = "Timeline_binding_failed"
	TimelineDuplicateName TimelineStatus = "Timeline_duplicate_name"
	TimelineMissingInfo   TimelineStatus = "Timeline_missing_info"
	TimelineFound         TimelineStatus = "Timeline_found"
	TimelineNotFound      TimelineStatus = "Timeline_not_found"
	TimelineAddSuccess    TimelineStatus = "Timeline_add_success"
	TimelineAddFailed     TimelineStatus = "Timeline_add_failed"
	TimelineUpdateSuccess TimelineStatus = "Timeline_update_success"
	TimelineUpdateFailed  TimelineStatus = "Timeline_update_failed"
	TimelineDeleteSuccess TimelineStatus = "Timeline_delete_success"
	TimelineDeleteFailed  TimelineStatus = "Timeline_delete_failed"
)

func (TimelineStatus) String

func (ms TimelineStatus) String() string

String returns the string representation of the Timeline status

func (TimelineStatus) Translate

func (ms TimelineStatus) Translate(lang string) string

Into returns the translated string representation of the Timeline status in the specified language

type TraceResponse

type TraceResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the error
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific error code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific error code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Error message describing the issue
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the error, such as timestamps and request IDs
}

func CreateTrace

func CreateTrace(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) TraceResponse

type TracingStatus

type TracingStatus string
const (
	TracingStatusConnected        TracingStatus = "tracing_status_connected"
	TracingStatusConnectionFailed TracingStatus = "tracing_status_connection_failed"
	TracingStatusDisconnected     TracingStatus = "tracing_status_disconnected"
	TracingStatusDataSent         TracingStatus = "tracing_status_data_sent"
	TracingStatusDataSendFailed   TracingStatus = "tracing_status_data_send_failed"
	TraceCreationFailed           TracingStatus = "trace_creation_failed"
)

func (TracingStatus) String

func (rs TracingStatus) String() string

String returns the string representation of the Tracing status

func (TracingStatus) Translate

func (rs TracingStatus) Translate(lang string) string

Translate returns the translated string representation of the Tracing status in the specified language

type UpdateAccessTokenErrorResponse

type UpdateAccessTokenErrorResponse struct {
	ErrorResponse
}

type UpdateAccessTokenRequest

type UpdateAccessTokenRequest struct {
	Token models.AccessToken `json:"token"`
}

UpdateAccessToken @Router /profile/token/{id} [put]

type UpdateAccessTokenResponse

type UpdateAccessTokenResponse struct {
	Token models.AccessToken `json:"token"`
}

type UpdateAccessTokenSuccessResponse

type UpdateAccessTokenSuccessResponse struct {
	SuccessResponse
	Data UpdateAccessTokenResponse `json:"data"`
}

type UpdateAdminUserErrorResponse added in v1.4.56

type UpdateAdminUserErrorResponse struct {
	ErrorResponse
}

type UpdateAdminUserPasswordErrorResponse added in v1.4.56

type UpdateAdminUserPasswordErrorResponse struct {
	ErrorResponse
}

type UpdateAdminUserPasswordSuccessResponse added in v1.4.56

type UpdateAdminUserPasswordSuccessResponse struct {
	SuccessResponse
}

type UpdateAdminUserResponse added in v1.4.56

type UpdateAdminUserResponse struct {
	User any `json:"user"`
}

type UpdateAdminUserSubscriptionErrorResponse added in v1.4.56

type UpdateAdminUserSubscriptionErrorResponse struct {
	ErrorResponse
}

type UpdateAdminUserSubscriptionResponse added in v1.4.56

type UpdateAdminUserSubscriptionResponse struct {
	Subscription any `json:"subscription"`
}

type UpdateAdminUserSubscriptionSuccessResponse added in v1.4.56

type UpdateAdminUserSubscriptionSuccessResponse struct {
	SuccessResponse
	Data UpdateAdminUserSubscriptionResponse `json:"data,omitempty"`
}

type UpdateAdminUserSuccessResponse added in v1.4.56

type UpdateAdminUserSuccessResponse struct {
	SuccessResponse
	Data UpdateAdminUserResponse `json:"data,omitempty"`
}

type UpdateCaseAttachmentErrorResponse added in v1.4.57

type UpdateCaseAttachmentErrorResponse struct {
	ErrorResponse
}

type UpdateCaseAttachmentRequest added in v1.4.57

type UpdateCaseAttachmentRequest struct {
	Name            *string `json:"name,omitempty"`
	IncludeInExport *bool   `json:"includeInExport,omitempty"`
	IncludeInShare  *bool   `json:"includeInShare,omitempty"`
}

UpdateCaseAttachmentRequest covers in-place metadata edits that do not require re-uploading the bytes. Name is the original mutable field; IncludeInExport / IncludeInShare are the per-attachment curation flags. All fields are pointer-typed so a partial PATCH can target one without touching the others (nil = leave as-is).

type UpdateCaseAttachmentResponse added in v1.4.57

type UpdateCaseAttachmentResponse struct {
	Attachment models.CaseAttachment `json:"attachment"`
}

type UpdateCaseAttachmentSuccessResponse added in v1.4.57

type UpdateCaseAttachmentSuccessResponse struct {
	SuccessResponse
	Data UpdateCaseAttachmentResponse `json:"data"`
}

type UpdateCaseMediaCurationErrorResponse added in v1.5.2

type UpdateCaseMediaCurationErrorResponse struct {
	ErrorResponse
}

type UpdateCaseMediaCurationRequest added in v1.5.2

type UpdateCaseMediaCurationRequest struct {
	IncludeInExport *bool `json:"includeInExport,omitempty"`
	IncludeInShare  *bool `json:"includeInShare,omitempty"`
}

UpdateCaseMediaCurationRequest is the body of PATCH /tasks/{taskId}/media/{caseMediaId}/curation.

Each field is a pointer so callers can patch one flag without having to round-trip the other. Both flags target Role = "source" rows only — edits inherit the source's inclusion state at resolve time. nil means "leave as-is".

type UpdateCaseMediaCurationResponse added in v1.5.2

type UpdateCaseMediaCurationResponse struct {
	CaseMedia models.CaseMedia `json:"caseMedia"`
}

type UpdateCaseMediaCurationSuccessResponse added in v1.5.2

type UpdateCaseMediaCurationSuccessResponse struct {
	SuccessResponse
	Data UpdateCaseMediaCurationResponse `json:"data"`
}

type UpdateCaseMediaSelectedVersionErrorResponse added in v1.5.2

type UpdateCaseMediaSelectedVersionErrorResponse struct {
	ErrorResponse
}

type UpdateCaseMediaSelectedVersionRequest added in v1.5.2

type UpdateCaseMediaSelectedVersionRequest struct {
	SelectedVersionId string `json:"selectedVersionId"`
}

UpdateCaseMediaSelectedVersionRequest is the body of PATCH /tasks/{taskId}/media/{caseMediaId}/selected-version.

It targets a Role = "source" case_media row and records which derivative the case should display and export. SelectedVersionId must reference an existing Role = "edit" CaseMedia entry that descends from the source (directly via ParentId or transitively via SupersedesId). Sending an empty SelectedVersionId clears the selection, restoring the default behaviour (latest completed edit if any, otherwise the source itself).

type UpdateCaseMediaSelectedVersionResponse added in v1.5.2

type UpdateCaseMediaSelectedVersionResponse struct {
	CaseMedia models.CaseMedia `json:"caseMedia"`
}

type UpdateCaseMediaSelectedVersionSuccessResponse added in v1.5.2

type UpdateCaseMediaSelectedVersionSuccessResponse struct {
	SuccessResponse
	Data UpdateCaseMediaSelectedVersionResponse `json:"data"`
}

type UpdateCustomAlertErrorResponse added in v1.4.5

type UpdateCustomAlertErrorResponse struct {
	ErrorResponse
}

type UpdateCustomAlertRequest added in v1.4.5

type UpdateCustomAlertRequest struct {
	AlertPatch models.AlertPatch `json:"alertPatch"`
}

UpdateCustomAlert

type UpdateCustomAlertResponse added in v1.4.5

type UpdateCustomAlertResponse struct {
	Alert models.CustomAlert `json:"alert"`
}

type UpdateCustomAlertSuccessResponse added in v1.4.5

type UpdateCustomAlertSuccessResponse struct {
	SuccessResponse
	Data UpdateCustomAlertResponse `json:"data"`
}

type UpdateDeviceErrorResponse added in v1.4.36

type UpdateDeviceErrorResponse struct {
	ErrorResponse
}

type UpdateDeviceRequest added in v1.4.36

type UpdateDeviceRequest struct {
	DevicePatch models.DevicePatch `json:"devicePatch,omitempty" bson:"devicePatch,omitempty"`
}

type UpdateDeviceResponse added in v1.4.36

type UpdateDeviceResponse struct {
	Device models.Device `json:"device,omitempty" bson:"device,omitempty"`
}

type UpdateDeviceSuccessResponse added in v1.4.36

type UpdateDeviceSuccessResponse struct {
	SuccessResponse
	Data UpdateDeviceResponse `json:"data,omitempty" bson:"data,omitempty"`
}

type UpdateMediaErrorResponse

type UpdateMediaErrorResponse struct {
	ErrorResponse
}

type UpdateMediaRequest

type UpdateMediaRequest struct {
	MediaPatch MediaPatch `json:"mediaPatch" bson:"mediaPatch"`
}

UpdateMedia @Router /media/{mediaId} [patch]

type UpdateMediaResponse

type UpdateMediaResponse struct {
	Media models.Media `json:"media"`
}

type UpdateMediaSuccessResponse

type UpdateMediaSuccessResponse struct {
	SuccessResponse
	Data UpdateMediaResponse `json:"data"`
}

type UpdateOrganisationErrorResponse added in v1.7.1

type UpdateOrganisationErrorResponse struct {
	ErrorResponse
}

type UpdateOrganisationRequest added in v1.7.1

type UpdateOrganisationRequest struct {
	Organisation models.OrganisationUpdate `json:"organisation"`
}

UpdateOrganisation applies a partial update. The body is an OrganisationUpdate patch: only the fields present are changed (each field is optional). @Router /organisations/{id} [patch]

type UpdateOrganisationResponse added in v1.7.1

type UpdateOrganisationResponse struct {
	Organisation models.Organisation `json:"organisation"`
}

type UpdateOrganisationSuccessResponse added in v1.7.1

type UpdateOrganisationSuccessResponse struct {
	SuccessResponse
	Data UpdateOrganisationResponse `json:"data"`
}

type UpdateProjectErrorResponse added in v1.7.17

type UpdateProjectErrorResponse struct {
	ErrorResponse
}

type UpdateProjectRequest added in v1.7.17

type UpdateProjectRequest struct {
	Project models.ProjectUpdate `json:"project"`
}

UpdateProject applies a partial update. The body is a ProjectUpdate patch: only the fields present are changed (each field is optional). @Router /projects/{id} [patch]

type UpdateProjectResponse added in v1.7.17

type UpdateProjectResponse struct {
	Project models.Project `json:"project"`
}

type UpdateProjectSuccessResponse added in v1.7.17

type UpdateProjectSuccessResponse struct {
	SuccessResponse
	Data UpdateProjectResponse `json:"data"`
}

type UpdateUserProfileErrorResponse added in v1.3.16

type UpdateUserProfileErrorResponse struct {
	ErrorResponse
}

type UpdateUserProfileResponse added in v1.3.16

type UpdateUserProfileResponse struct {
	User models.User `json:"user"`
}

UpdateUserProfile response types @Router /profile/user [put]

type UpdateUserProfileSuccessResponse added in v1.3.16

type UpdateUserProfileSuccessResponse struct {
	SuccessResponse
	Data UpdateUserProfileResponse `json:"data"`
}

type UpdateVideowallErrorResponse added in v1.4.31

type UpdateVideowallErrorResponse struct {
	ErrorResponse
}

type UpdateVideowallRequest added in v1.4.31

type UpdateVideowallRequest struct {
	Videowall models.Videowall `json:"videowall"`
}

UpdateVideowall

type UpdateVideowallResponse added in v1.4.31

type UpdateVideowallResponse struct {
	Videowall models.Videowall `json:"videowall"`
}

type UpdateVideowallSuccessResponse added in v1.4.31

type UpdateVideowallSuccessResponse struct {
	SuccessResponse
	Data UpdateVideowallResponse `json:"data"`
}

type UpdateWorkflowErrorResponse added in v1.4.48

type UpdateWorkflowErrorResponse struct {
	ErrorResponse
}

type UpdateWorkflowRequest added in v1.4.48

type UpdateWorkflowRequest struct {
	Workflow models.Workflow `json:"workflow"`
}

UpdateWorkflow

type UpdateWorkflowResponse added in v1.4.48

type UpdateWorkflowResponse struct {
	Workflow models.Workflow `json:"workflow"`
}

type UpdateWorkflowSuccessResponse added in v1.4.48

type UpdateWorkflowSuccessResponse struct {
	SuccessResponse
	Data UpdateWorkflowResponse `json:"data"`
}

type UploadCaseAttachmentErrorResponse added in v1.4.57

type UploadCaseAttachmentErrorResponse struct {
	ErrorResponse
}

type UploadCaseAttachmentRequest added in v1.4.57

type UploadCaseAttachmentRequest struct {
	// Name overrides the filename recorded on the attachment. Defaults
	// to the multipart part filename when omitted.
	Name string `json:"name,omitempty" form:"name"`

	// RelatedCaseMediaId optionally links the attachment to a specific
	// case_media entry it documents or annotates (annotated screenshot
	// of a redacted clip, etc.). Hex ObjectID; must belong to the same
	// task.
	RelatedCaseMediaId string `json:"relatedCaseMediaId,omitempty" form:"relatedCaseMediaId"`
}

UploadCaseAttachmentRequest documents the metadata accepted on a multipart upload to POST /tasks/{taskId}/attachments. The actual upload field is named `file`; all other fields are optional form values that override what hub-api would otherwise derive from the uploaded part.

Defined as a struct (rather than free-floating form params) so swag can generate a consistent shape for OpenAPI / TS clients. The Go controller reads these via c.PostForm / c.FormFile.

type UploadCaseAttachmentResponse added in v1.4.57

type UploadCaseAttachmentResponse struct {
	Attachment models.CaseAttachment `json:"attachment"`
}

type UploadCaseAttachmentSuccessResponse added in v1.4.57

type UploadCaseAttachmentSuccessResponse struct {
	SuccessResponse
	Data UploadCaseAttachmentResponse `json:"data"`
}

type UpsertStateErrorResponse added in v1.3.2

type UpsertStateErrorResponse struct {
	ErrorResponse
}

type UpsertStateRequest added in v1.3.2

type UpsertStateRequest struct {
	State models.State `json:"state" binding:"required"`
}

UpsertStateRequest represents the request to upsert a state @Router /states [post]

type UpsertStateResponse added in v1.3.2

type UpsertStateResponse struct {
	State models.State `json:"state"`
}

type UpsertStateSuccessResponse added in v1.3.2

type UpsertStateSuccessResponse struct {
	SuccessResponse
	Data UpsertStateResponse `json:"data"`
}

type UserStatus added in v1.3.8

type UserStatus string

UserStatus represents specific status codes for user operations

const (
	UserBindingFailed         UserStatus = "user_binding_failed"
	UserDuplicateName         UserStatus = "user_duplicate_name"
	UserMissingInfo           UserStatus = "user_missing_info"
	UserFound                 UserStatus = "user_found"
	UserNotFound              UserStatus = "user_not_found"
	UserAddSuccess            UserStatus = "user_add_success"
	UserAddFailed             UserStatus = "user_add_failed"
	UserUpdateSuccess         UserStatus = "user_update_success"
	UserUpdateFailed          UserStatus = "user_update_failed"
	UserDeleteSuccess         UserStatus = "user_delete_success"
	UserDeleteFailed          UserStatus = "user_delete_failed"
	UserFetchByUsernameFailed UserStatus = "user_fetch_by_username_failed"
)

func (UserStatus) String added in v1.3.8

func (ms UserStatus) String() string

String returns the string representation of the User status

func (UserStatus) Translate added in v1.3.8

func (ms UserStatus) Translate(lang string) string

Into returns the translated string representation of the User status in the specified language

type VideowallStatus added in v1.4.30

type VideowallStatus string

VideowallStatus represents specific status codes for videowall operations.

const (
	VideowallBindingFailed    VideowallStatus = "videowall_binding_failed"
	VideowallMissingInfo      VideowallStatus = "videowall_missing_info"
	VideowallFound            VideowallStatus = "videowall_found"
	VideowallNotFound         VideowallStatus = "videowall_not_found"
	VideowallRetrievalSuccess VideowallStatus = "videowall_retrieval_success"
	VideowallRetrievalFailed  VideowallStatus = "videowall_retrieval_failed"
	VideowallAddSuccess       VideowallStatus = "videowall_add_success"
	VideowallAddFailed        VideowallStatus = "videowall_add_failed"
	VideowallUpdateSuccess    VideowallStatus = "videowall_update_success"
	VideowallUpdateFailed     VideowallStatus = "videowall_update_failed"
	VideowallDeleteSuccess    VideowallStatus = "videowall_delete_success"
	VideowallDeleteFailed     VideowallStatus = "videowall_delete_failed"
	VideowallDuplicateName    VideowallStatus = "videowall_duplicate_name"
	VideowallForbidden        VideowallStatus = "videowall_forbidden"
	VideowallDecryptSuccess   VideowallStatus = "videowall_decrypt_success"
	VideowallDecryptFailed    VideowallStatus = "videowall_decrypt_failed"
	VideowallInactive         VideowallStatus = "videowall_inactive"
)

func (VideowallStatus) String added in v1.4.30

func (cs VideowallStatus) String() string

String returns the string representation of the videowall status.

func (VideowallStatus) Translate added in v1.4.30

func (cs VideowallStatus) Translate(lang string) string

Translate returns the translated string representation of the videowall status in the specified language.

type WarningResponse

type WarningResponse struct {
	HttpStatusCode        int      `json:"httpStatusCode,omitempty" bson:"httpStatusCode,omitempty"`               // HTTP status code for the error
	ApplicationStatusCode string   `json:"applicationStatusCode,omitempty" bson:"applicationStatusCode,omitempty"` // Application-specific error code
	EntityStatusCode      string   `json:"entityStatusCode,omitempty" bson:"entityStatusCode,omitempty"`           // Entity-specific error code
	Message               string   `json:"message,omitempty" bson:"message,omitempty"`                             // Error message describing the issue
	Metadata              Metadata `json:"metadata,omitempty" bson:"metadata,omitempty"`                           // Additional metadata about the error, such as timestamps and request IDs
}

func CreateWarning

func CreateWarning(httpStatusCode int, applicationStatusCode string, entityStatusCode EntityStatus, metadata Metadata, skipFrames ...int) WarningResponse

type WorkflowFilter added in v1.6.10

type WorkflowFilter struct {
	Source      *models.WorkflowSource         `json:"source,omitempty" bson:"source,omitempty"`
	Surface     *models.WorkflowTriggerSurface `json:"surface,omitempty" bson:"surface,omitempty"`
	TriggerType *models.WorkflowTriggerType    `json:"triggerType,omitempty" bson:"triggerType,omitempty"`
	Enabled     *bool                          `json:"enabled,omitempty" bson:"enabled,omitempty"`
	DeviceKeys  []string                       `json:"deviceKeys,omitempty" bson:"deviceKeys,omitempty"`
}

WorkflowFilter narrows a workflow listing. Every field is optional; an unset field does not constrain the result. Scalars are pointers so "not provided" is distinct from a zero value, and DeviceKeys is a set matched against automatic triggers' device scope. It is the workflow counterpart to MediaFilter, posted to /workflows/filter for criteria (notably a set of device keys) that GET query params fit poorly.

type WorkflowRunStatus added in v1.6.12

type WorkflowRunStatus struct {
	RunId        string `json:"runId"`
	WorkflowId   string `json:"workflowId,omitempty"`
	WorkflowName string `json:"workflowName,omitempty"`
	Origin       string `json:"origin,omitempty"`
	SourceRef    string `json:"sourceRef,omitempty"`
	Key          string `json:"key,omitempty"`
	// State is the derived lifecycle: running | completed | noResult
	// (models.WorkflowRunState).
	State string `json:"state"`
	// Start / End are unix seconds; End is 0 while the run is still open.
	Start int64 `json:"start,omitempty"`
	End   int64 `json:"end,omitempty"`
	// Dispatched / Resolved are the sizes of the run's dispatched and resolved
	// operation sets, exposed as a coarse progress hint.
	Dispatched int `json:"dispatched"`
	Resolved   int `json:"resolved"`
	// DispatchedOperations / ResolvedOperations name the stages behind the
	// Dispatched / Resolved counts, in dispatch/resolution order, so a surface
	// can render per-stage progress (e.g. "pose done, redaction running")
	// instead of only a run-level running/completed flip for multi-stage runs.
	DispatchedOperations []string `json:"dispatchedOperations,omitempty"`
	ResolvedOperations   []string `json:"resolvedOperations,omitempty"`
	// HasResults is true when the run accumulated any stage output.
	HasResults bool `json:"hasResults"`
}

WorkflowRunStatus is the slim, client-facing status of a single workflow run, projected from a persisted models.WorkflowRun. It exists because the run's lifecycle fields (start/end, dispatched/resolved) are persistence-only and never cross the wire on the run itself, so the state a surface needs to render "still working" vs "results are in" is derived server-side (via WorkflowRun.LifecycleState) and carried here instead. It is surface-agnostic: the same shape serves a case today and any future launch surface.

type WorkflowRunStatusSummary added in v1.6.12

type WorkflowRunStatusSummary struct {
	Total     int `json:"total"`
	Running   int `json:"running"`
	Completed int `json:"completed"`
	NoResult  int `json:"noResult"`
}

WorkflowRunStatusSummary aggregates a run set by state so a surface can render a headline ("3 running / 1 done") without re-tallying client-side.

type WorkflowStatus added in v1.4.48

type WorkflowStatus string

WorkflowStatus represents specific status codes for workflow operations.

const (
	WorkflowBindingFailed       WorkflowStatus = "workflow_binding_failed"
	WorkflowMissingInfo         WorkflowStatus = "workflow_missing_info"
	WorkflowFound               WorkflowStatus = "workflow_found"
	WorkflowNotFound            WorkflowStatus = "workflow_not_found"
	WorkflowRetrievalSuccess    WorkflowStatus = "workflow_retrieval_success"
	WorkflowRetrievalFailed     WorkflowStatus = "workflow_retrieval_failed"
	WorkflowAddSuccess          WorkflowStatus = "workflow_add_success"
	WorkflowAddFailed           WorkflowStatus = "workflow_add_failed"
	WorkflowUpdateSuccess       WorkflowStatus = "workflow_update_success"
	WorkflowUpdateFailed        WorkflowStatus = "workflow_update_failed"
	WorkflowDeleteSuccess       WorkflowStatus = "workflow_delete_success"
	WorkflowDeleteFailed        WorkflowStatus = "workflow_delete_failed"
	WorkflowDuplicateName       WorkflowStatus = "workflow_duplicate_name"
	WorkflowForbidden           WorkflowStatus = "workflow_forbidden"
	WorkflowRunSuccess          WorkflowStatus = "workflow_run_success"
	WorkflowRunFailed           WorkflowStatus = "workflow_run_failed"
	WorkflowRunNoMedia          WorkflowStatus = "workflow_run_no_media"
	WorkflowRunsFound           WorkflowStatus = "workflow_runs_found"
	WorkflowRunsRetrievalFailed WorkflowStatus = "workflow_runs_retrieval_failed"
)

func (WorkflowStatus) String added in v1.4.48

func (cs WorkflowStatus) String() string

String returns the string representation of the workflow status.

func (WorkflowStatus) Translate added in v1.4.48

func (cs WorkflowStatus) Translate(lang string) string

Translate returns the translated string representation of the workflow status in the specified language.

Jump to

Keyboard shortcuts

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