Files
query-orchestration/api/queryAPI/api.gen.go
T

2354 lines
95 KiB
Go
Raw Normal View History

// Package queryapi provides primitives to interact with the openapi HTTP API.
2025-01-15 19:45:51 +00:00
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version 2.4.1 DO NOT EDIT.
package queryapi
2025-01-15 19:45:51 +00:00
import (
"bytes"
"compress/gzip"
"encoding/base64"
"fmt"
"net/http"
"net/url"
"path"
"strings"
"time"
2025-01-15 19:45:51 +00:00
"github.com/getkin/kin-openapi/openapi3"
"github.com/labstack/echo/v4"
2025-08-05 07:03:35 -07:00
"github.com/oapi-codegen/nullable"
2025-01-15 19:45:51 +00:00
"github.com/oapi-codegen/runtime"
openapi_types "github.com/oapi-codegen/runtime/types"
2025-01-15 19:45:51 +00:00
)
const (
2025-04-21 15:12:38 -07:00
CognitoAuthScopes = "cognitoAuth.Scopes"
JwtAuthScopes = "jwtAuth.Scopes"
)
// Defines values for AdminUserActionResponseAction.
const (
Disable AdminUserActionResponseAction = "disable"
Enable AdminUserActionResponseAction = "enable"
)
2025-08-05 07:03:35 -07:00
// Defines values for BatchStatus.
const (
BatchStatusCancelled BatchStatus = "cancelled"
BatchStatusCompleted BatchStatus = "completed"
BatchStatusFailed BatchStatus = "failed"
BatchStatusProcessing BatchStatus = "processing"
)
// Defines values for ClientStatus.
const (
INSYNC ClientStatus = "IN_SYNC"
NOTSYNCED ClientStatus = "NOT_SYNCED"
NOTSYNCING ClientStatus = "NOT_SYNCING"
)
// Defines values for ExportStatus.
const (
2025-08-05 07:03:35 -07:00
ExportStatusCompleted ExportStatus = "completed"
ExportStatusFailed ExportStatus = "failed"
ExportStatusInProgress ExportStatus = "in_progress"
)
// Defines values for FieldFilterCondition.
const (
ClosedInterval FieldFilterCondition = "closed_interval"
Exclude FieldFilterCondition = "exclude"
GreaterThan FieldFilterCondition = "greater_than"
Include FieldFilterCondition = "include"
LeftClosedInterval FieldFilterCondition = "left_closed_interval"
LessThan FieldFilterCondition = "less_than"
OpenInterval FieldFilterCondition = "open_interval"
RightClosedInterval FieldFilterCondition = "right_closed_interval"
)
2025-01-15 19:45:51 +00:00
// Defines values for QueryType.
const (
CONTEXTFULL QueryType = "CONTEXT_FULL"
JSONEXTRACTOR QueryType = "JSON_EXTRACTOR"
)
// Defines values for ListAdminUsersParamsStatus.
const (
All ListAdminUsersParamsStatus = "all"
Disabled ListAdminUsersParamsStatus = "disabled"
Enabled ListAdminUsersParamsStatus = "enabled"
)
// Defines values for ListAdminUsersParamsSortBy.
const (
CreatedAt ListAdminUsersParamsSortBy = "created_at"
Email ListAdminUsersParamsSortBy = "email"
LastName ListAdminUsersParamsSortBy = "last_name"
)
// Defines values for ListAdminUsersParamsSortOrder.
const (
Asc ListAdminUsersParamsSortOrder = "asc"
Desc ListAdminUsersParamsSortOrder = "desc"
)
// AdminUserActionResponse Response for user enable/disable actions with success status and timestamp
type AdminUserActionResponse struct {
// Action Action performed
Action AdminUserActionResponseAction `json:"action"`
// CognitoSubjectId Cognito subject identifier for the action response
CognitoSubjectId *string `json:"cognito_subject_id,omitempty"`
// Email Email of the user acted upon
Email openapi_types.Email `json:"email"`
// Success Whether the action succeeded
Success bool `json:"success"`
// Timestamp Timestamp of the action
Timestamp *time.Time `json:"timestamp,omitempty"`
}
// AdminUserActionResponseAction Action performed
type AdminUserActionResponseAction string
// AdminUserCreate Request body for creating a new user with email, name, and role assignments
type AdminUserCreate struct {
// Email User email address (used as Cognito username)
Email openapi_types.Email `json:"email"`
// FirstName User's given name for account creation
FirstName string `json:"first_name"`
// LastName User's family name for account creation
LastName string `json:"last_name"`
// Roles List of role keys to assign in Permit.io (e.g., super_admin, user_admin, auditor, client_user). Roles must exist in your Permit.io environment. Invalid roles fail silently - check roles_assigned in response.
Roles []string `json:"roles"`
}
// AdminUserCreateResponse Response after creating a user, including Cognito subject ID and sync status
type AdminUserCreateResponse struct {
// CognitoSubjectId Created user's Cognito unique subject identifier
CognitoSubjectId string `json:"cognito_subject_id"`
// CreatedAt Timestamp when the user was created in the system
CreatedAt *time.Time `json:"created_at,omitempty"`
// Email User email address
Email openapi_types.Email `json:"email"`
// Enabled Whether the created user is enabled in Cognito
Enabled *bool `json:"enabled,omitempty"`
// FirstName Created user's given name
FirstName *string `json:"first_name,omitempty"`
// LastName Created user's family name
LastName *string `json:"last_name,omitempty"`
// PermitSynced Whether user was successfully created in Permit.io authorization system. If false, user exists in Cognito (can authenticate) but not in Permit.io (has no authorization/permissions). Manual sync or retry may be required.
PermitSynced bool `json:"permit_synced"`
// RolesAssigned Roles that were successfully assigned in Permit.io. May be a subset of requested roles if some failed. Compare with requested roles array to detect assignment failures. If null or empty, no roles were assigned (user has no permissions). Only present if permit_synced is true.
RolesAssigned *[]string `json:"roles_assigned,omitempty"`
// Status Cognito user status
Status string `json:"status"`
}
// AdminUserDeleteResponse Response for user deletion with status from each system (Cognito and Permit.io)
type AdminUserDeleteResponse struct {
// CognitoSubjectId Cognito subject identifier of the deleted user
CognitoSubjectId *string `json:"cognito_subject_id,omitempty"`
// DeletedFrom Deletion status from each system
DeletedFrom struct {
// Cognito Whether user was deleted from Cognito
Cognito bool `json:"cognito"`
// Permit Whether user was deleted from Permit.io
Permit bool `json:"permit"`
} `json:"deleted_from"`
// Email Email of the deleted user
Email openapi_types.Email `json:"email"`
// Success Whether the deletion succeeded
Success bool `json:"success"`
// Timestamp Timestamp of the deletion
Timestamp *time.Time `json:"timestamp,omitempty"`
}
// AdminUserDetails Complete user information from Cognito and Permit.io including roles and timestamps
type AdminUserDetails struct {
// CognitoSubjectId User's Cognito unique subject identifier from authentication system
CognitoSubjectId string `json:"cognito_subject_id"`
// CreatedAt Timestamp when the user account was created
CreatedAt *time.Time `json:"created_at,omitempty"`
// Email Email address of the user account
Email openapi_types.Email `json:"email"`
// Enabled Current enabled status of the user in Cognito
Enabled bool `json:"enabled"`
// FirstName User's given name retrieved from Cognito
FirstName *string `json:"first_name,omitempty"`
// LastName User's family name retrieved from Cognito
LastName *string `json:"last_name,omitempty"`
// Roles Roles assigned in Permit.io
Roles *[]string `json:"roles,omitempty"`
// Status Current Cognito user account status
Status string `json:"status"`
// UpdatedAt Timestamp of last update
UpdatedAt *time.Time `json:"updated_at,omitempty"`
}
// AdminUserList Paginated list of users with total count and pagination metadata
type AdminUserList struct {
// HasMore Whether more pages are available
HasMore *bool `json:"has_more,omitempty"`
// Page Current page number
Page int32 `json:"page"`
// PageSize Number of users per page
PageSize int32 `json:"page_size"`
// Total Total number of users matching filter
Total int32 `json:"total"`
// Users List of users for current page
Users []AdminUserDetails `json:"users"`
}
// AdminUserUpdate Request body for updating user attributes (first name, last name, and roles)
type AdminUserUpdate struct {
// FirstName Updated given name for the user
FirstName *string `json:"first_name,omitempty"`
// LastName Updated family name for the user
LastName *string `json:"last_name,omitempty"`
// Roles Complete list of role keys to assign in Permit.io - REPLACES all existing roles (not additive). To add a role, include all current roles plus the new one. To remove a role, omit it from the array. Roles must exist in Permit.io environment. Invalid roles fail silently - check response.roles for final state. Omit this field entirely to leave roles unchanged.
Roles *[]string `json:"roles,omitempty"`
}
// ArrayFieldItem Single row of array field data (112 fields forming one row)
type ArrayFieldItem struct {
AareteDerivedAdditionRateChangeTimeline *string `json:"aareteDerivedAdditionRateChangeTimeline,omitempty"`
AareteDerivedClaimTypeCd *string `json:"aareteDerivedClaimTypeCd,omitempty"`
AareteDerivedFeeSchedule *string `json:"aareteDerivedFeeSchedule,omitempty"`
AareteDerivedFeeScheduleVersion *string `json:"aareteDerivedFeeScheduleVersion,omitempty"`
AareteDerivedLob *string `json:"aareteDerivedLob,omitempty"`
AareteDerivedNetwork *string `json:"aareteDerivedNetwork,omitempty"`
AareteDerivedProduct *string `json:"aareteDerivedProduct,omitempty"`
AareteDerivedProgram *string `json:"aareteDerivedProgram,omitempty"`
AareteDerivedProvType *string `json:"aareteDerivedProvType,omitempty"`
AareteDerivedReimbMethod *string `json:"aareteDerivedReimbMethod,omitempty"`
AdditionDesc *string `json:"additionDesc,omitempty"`
AdditionMaxFeeRateInc *float64 `json:"additionMaxFeeRateInc,omitempty"`
AdditionMaxPctRateInc *float64 `json:"additionMaxPctRateInc,omitempty"`
AuthAdmitTypeDesc *string `json:"authAdmitTypeDesc,omitempty"`
BillTypeCd *string `json:"billTypeCd,omitempty"`
BillTypeCdDesc *string `json:"billTypeCdDesc,omitempty"`
CarveoutCd *string `json:"carveoutCd,omitempty"`
CarveoutInd *bool `json:"carveoutInd,omitempty"`
ClaimAdmitTypeCd *string `json:"claimAdmitTypeCd,omitempty"`
ClaimStatusCd *string `json:"claimStatusCd,omitempty"`
ClaimStatusCdDesc *string `json:"claimStatusCdDesc,omitempty"`
Cpt4ProcCd *string `json:"cpt4ProcCd,omitempty"`
Cpt4ProcCdDesc *string `json:"cpt4ProcCdDesc,omitempty"`
Cpt4ProcMod *string `json:"cpt4ProcMod,omitempty"`
Cpt4ProcModDesc *string `json:"cpt4ProcModDesc,omitempty"`
DefaultInd *bool `json:"defaultInd,omitempty"`
DiagCd *string `json:"diagCd,omitempty"`
DiagCdDesc *string `json:"diagCdDesc,omitempty"`
ExhibitPage *string `json:"exhibitPage,omitempty"`
ExhibitTitle *string `json:"exhibitTitle,omitempty"`
GreaterOfInd *bool `json:"greaterOfInd,omitempty"`
GrouperBaseRate *float64 `json:"grouperBaseRate,omitempty"`
GrouperCd *string `json:"grouperCd,omitempty"`
GrouperCdDesc *string `json:"grouperCdDesc,omitempty"`
GrouperPctRate *float64 `json:"grouperPctRate,omitempty"`
GrouperType *string `json:"grouperType,omitempty"`
LesserOfInd *bool `json:"lesserOfInd,omitempty"`
LobProductRelationship *string `json:"lobProductRelationship,omitempty"`
LobProgramRelationship *string `json:"lobProgramRelationship,omitempty"`
NdcCd *string `json:"ndcCd,omitempty"`
NdcCdDesc *string `json:"ndcCdDesc,omitempty"`
PatientAgeMax *string `json:"patientAgeMax,omitempty"`
PatientAgeMin *string `json:"patientAgeMin,omitempty"`
PlaceOfServiceCd *string `json:"placeOfServiceCd,omitempty"`
PlaceOfServiceCdDesc *string `json:"placeOfServiceCdDesc,omitempty"`
ProvSpecialtyCd *string `json:"provSpecialtyCd,omitempty"`
ProvSpecialtyCdDesc *string `json:"provSpecialtyCdDesc,omitempty"`
ProvTaxonomyCd *string `json:"provTaxonomyCd,omitempty"`
ProvTaxonomyCdDesc *string `json:"provTaxonomyCdDesc,omitempty"`
ReimbConversionFactor *float64 `json:"reimbConversionFactor,omitempty"`
ReimbEffectiveDt *openapi_types.Date `json:"reimbEffectiveDt,omitempty"`
ReimbFeeRate *float64 `json:"reimbFeeRate,omitempty"`
ReimbPctRate *float64 `json:"reimbPctRate,omitempty"`
ReimbProvName *string `json:"reimbProvName,omitempty"`
ReimbProvNpi *string `json:"reimbProvNpi,omitempty"`
ReimbProvTin *string `json:"reimbProvTin,omitempty"`
ReimbTerm *string `json:"reimbTerm,omitempty"`
ReimbTerminationDt *openapi_types.Date `json:"reimbTerminationDt,omitempty"`
RevenueCd *string `json:"revenueCd,omitempty"`
RevenueCdDesc *string `json:"revenueCdDesc,omitempty"`
ServiceTerm *string `json:"serviceTerm,omitempty"`
TriggerBaseThreshold *float64 `json:"triggerBaseThreshold,omitempty"`
TriggerCapThresholdAmt *float64 `json:"triggerCapThresholdAmt,omitempty"`
UnitOfMeasure *string `json:"unitOfMeasure,omitempty"`
}
2025-08-05 07:03:35 -07:00
// BatchID The batch upload id.
type BatchID = openapi_types.UUID
// BatchStatus The status of a batch upload
type BatchStatus string
// BatchUploadDetails defines model for BatchUploadDetails.
type BatchUploadDetails struct {
// BatchId The batch upload id.
BatchId BatchID `json:"batch_id"`
// ClientId The client external id
ClientId ClientID `json:"client_id"`
// CompletedAt When the batch upload completed processing
CompletedAt nullable.Nullable[time.Time] `json:"completed_at,omitempty"`
// CreatedAt When the batch upload was created
CreatedAt time.Time `json:"created_at"`
// FailedDocuments Number of documents that failed processing
FailedDocuments int32 `json:"failed_documents"`
// FailedFilenames List of filenames that failed processing
FailedFilenames *[]string `json:"failed_filenames,omitempty"`
// InvalidTypeDocuments Number of non-PDF files found in archive
InvalidTypeDocuments int32 `json:"invalid_type_documents"`
// OriginalFilename Original filename of the uploaded ZIP archive
OriginalFilename string `json:"original_filename"`
// ProcessedDocuments Number of documents processed so far
ProcessedDocuments int32 `json:"processed_documents"`
// ProgressPercent Processing progress percentage
ProgressPercent int32 `json:"progress_percent"`
// Status The status of a batch upload
Status BatchStatus `json:"status"`
// TotalDocuments Total number of documents in the batch
TotalDocuments int32 `json:"total_documents"`
}
// BatchUploadList List of batch uploads for a client
type BatchUploadList struct {
Batches []BatchUploadSummary `json:"batches"`
// TotalCount Total number of batches for this client
TotalCount int32 `json:"total_count"`
}
// BatchUploadResponse Response returned when a batch upload is accepted for processing
type BatchUploadResponse struct {
// BatchId The batch upload id.
BatchId BatchID `json:"batch_id"`
// Status The status of a batch upload
Status BatchStatus `json:"status"`
// StatusUrl URL to check batch status
StatusUrl string `json:"status_url"`
}
// BatchUploadSummary Summary information about a batch upload
type BatchUploadSummary struct {
// BatchId The batch upload id.
BatchId BatchID `json:"batch_id"`
// ClientId The client external id
ClientId ClientID `json:"client_id"`
// CompletedAt When the batch upload completed processing
CompletedAt nullable.Nullable[time.Time] `json:"completed_at,omitempty"`
// CreatedAt When the batch upload was created
CreatedAt time.Time `json:"created_at"`
// FailedDocuments Number of documents that failed processing
FailedDocuments int32 `json:"failed_documents"`
// InvalidTypeDocuments Number of non-PDF files found in archive
InvalidTypeDocuments int32 `json:"invalid_type_documents"`
// OriginalFilename Original filename of the uploaded ZIP archive
OriginalFilename string `json:"original_filename"`
// ProcessedDocuments Number of documents processed so far
ProcessedDocuments int32 `json:"processed_documents"`
// ProgressPercent Processing progress percentage
ProgressPercent int32 `json:"progress_percent"`
// Status The status of a batch upload
Status BatchStatus `json:"status"`
// TotalDocuments Total number of documents in the batch
TotalDocuments int32 `json:"total_documents"`
}
// ClientCanSync If the client is allowing active syncs
type ClientCanSync = bool
// ClientCreate The properties for creation.
2025-01-21 18:24:14 +00:00
type ClientCreate struct {
// Id The client external id
Id ClientID `json:"id"`
2025-01-21 18:24:14 +00:00
// Name The client name
Name ClientName `json:"name"`
}
// ClientID The client external id
type ClientID = string
// ClientIDBody The client id.
type ClientIDBody struct {
// Id The client external id
Id ClientID `json:"id"`
2025-01-21 18:24:14 +00:00
}
// ClientName The client name
type ClientName = string
// ClientStatus Specifies the status of a client.
type ClientStatus string
// ClientStatusBody A client status information object.
type ClientStatusBody struct {
// Status Specifies the status of a client.
Status ClientStatus `json:"status"`
}
// ClientUpdate The properties that may be updated.
2025-01-21 18:24:14 +00:00
type ClientUpdate struct {
// CanSync If the client is allowing active syncs
CanSync *ClientCanSync `json:"can_sync,omitempty"`
2025-01-21 18:24:14 +00:00
// Name The client name
Name *ClientName `json:"name,omitempty"`
2025-01-21 18:24:14 +00:00
}
// CodeVersion The desired code version.
type CodeVersion = int64
// Collector Collector model.
type Collector struct {
// ActiveVersion The desired version.
ActiveVersion Version `json:"active_version"`
// ClientId The client external id
ClientId ClientID `json:"client_id"`
// Fields The fields in the collector.
Fields CollectorFields `json:"fields"`
// LatestVersion The desired version.
LatestVersion Version `json:"latest_version"`
// MinimumCleanerVersion The desired code version.
MinimumCleanerVersion CodeVersion `json:"minimum_cleaner_version"`
// MinimumTextVersion The desired code version.
MinimumTextVersion CodeVersion `json:"minimum_text_version"`
}
// CollectorField The field properties for the collector.
type CollectorField struct {
// Name The output field name.
Name CollectorFieldName `json:"name"`
// QueryId The query id.
QueryId QueryID `json:"query_id"`
}
// CollectorFieldName The output field name.
type CollectorFieldName = string
// CollectorFields The fields in the collector.
type CollectorFields = []CollectorField
// CollectorSet Payload for updating a Collector.
type CollectorSet struct {
// ActiveVersion The desired version.
ActiveVersion *Version `json:"active_version,omitempty"`
// Fields The fields in the collector.
Fields *CollectorFields `json:"fields,omitempty"`
// MinimumCleanerVersion The desired code version.
MinimumCleanerVersion *CodeVersion `json:"minimum_cleaner_version,omitempty"`
// MinimumTextVersion The desired code version.
MinimumTextVersion *CodeVersion `json:"minimum_text_version,omitempty"`
}
// DocClient The properties of a client.
type DocClient struct {
// CanSync If the client is allowing active syncs
CanSync ClientCanSync `json:"can_sync"`
// Id The client external id
Id ClientID `json:"id"`
// Name The client name
Name ClientName `json:"name"`
}
// Document The document properties.
type Document struct {
// ClientId The client external id
ClientId ClientID `json:"client_id"`
// Fields The fields and the value for the document
Fields map[string]interface{} `json:"fields"`
// Hash The document hash
Hash Hash `json:"hash"`
// Id The document id.
Id DocumentID `json:"id"`
}
// DocumentID The document id.
type DocumentID = openapi_types.UUID
// DocumentSummary The document summary properties.
type DocumentSummary struct {
// Hash The document hash
Hash Hash `json:"hash"`
// Id The document id.
Id DocumentID `json:"id"`
}
// ErrorMessage Description of error
type ErrorMessage struct {
// Message Message describing the cause.
Message string `json:"message"`
}
// ExportDetails Payload for export trigger response.
type ExportDetails struct {
// ClientId The client external id
ClientId ClientID `json:"client_id"`
// OutputLocation The location in which the export zip file will be found.
OutputLocation *string `json:"output_location,omitempty"`
// Status The possible export states.
Status ExportStatus `json:"status"`
}
// ExportID The export id.
type ExportID = openapi_types.UUID
// ExportStatus The possible export states.
type ExportStatus string
2025-01-15 19:45:51 +00:00
// ExportTrigger Payload for triggering an export.
type ExportTrigger struct {
// FieldFilters Filter the scope based on field output values.
FieldFilters *[]FieldFilter `json:"field_filters,omitempty"`
// IngestionFilters Filter the scope based on ingestion parameters.
IngestionFilters *struct {
// EndDate The last date of ingestion.
EndDate *time.Time `json:"end_date,omitempty"`
// StartDate This first date of ingestion.
StartDate *time.Time `json:"start_date,omitempty"`
} `json:"ingestion_filters,omitempty"`
2025-01-15 19:45:51 +00:00
}
// FieldExtractionRequest Request to create a new field extraction with single and array fields
type FieldExtractionRequest struct {
// ArrayFields Array of field extraction items (all must have consistent structure)
ArrayFields []ArrayFieldItem `json:"arrayFields"`
// CreatedBy Email of user creating the extraction
CreatedBy openapi_types.Email `json:"createdBy"`
// DocumentId The document id.
DocumentId DocumentID `json:"documentId"`
// SingleFields Single-value fields for a document extraction (1:1 relationship)
SingleFields SingleFields `json:"singleFields"`
}
// FieldExtractionResponse Field extraction with version information
type FieldExtractionResponse struct {
// ArrayFields Array of field extraction items
ArrayFields []ArrayFieldItem `json:"arrayFields"`
// CreatedAt Creation timestamp
CreatedAt time.Time `json:"createdAt"`
// CreatedBy Email of user who created this extraction
CreatedBy openapi_types.Email `json:"createdBy"`
// DocumentId The document id.
DocumentId DocumentID `json:"documentId"`
// Id Field extraction ID
Id openapi_types.UUID `json:"id"`
// SingleFields Single-value fields for a document extraction (1:1 relationship)
SingleFields SingleFields `json:"singleFields"`
// Version Version number (1-based)
Version int32 `json:"version"`
}
// FieldExtractionVersion Field extraction version summary for history
type FieldExtractionVersion struct {
// CreatedAt Creation timestamp
CreatedAt time.Time `json:"createdAt"`
// CreatedBy Email of user who created this version
CreatedBy openapi_types.Email `json:"createdBy"`
// DocumentId The document id.
DocumentId DocumentID `json:"documentId"`
// Id Field extraction ID
Id openapi_types.UUID `json:"id"`
// Version Version number (1-based)
Version int32 `json:"version"`
}
// FieldFilter Filtering a column
type FieldFilter struct {
// Condition The possible field filtering conditions.
Condition FieldFilterCondition `json:"condition"`
// FieldName The output field name.
FieldName CollectorFieldName `json:"field_name"`
// Values The values useful to the filter.
Values []string `json:"values"`
}
// FieldFilterCondition The possible field filtering conditions.
type FieldFilterCondition string
// Folder Folder information for organizing documents
type Folder struct {
// ClientId The client external id
ClientId ClientID `json:"clientId"`
// CreatedAt Creation timestamp
CreatedAt time.Time `json:"createdAt"`
// CreatedBy Email of the user who created this folder
CreatedBy openapi_types.Email `json:"createdBy"`
// Id Folder ID
Id openapi_types.UUID `json:"id"`
// ParentId Parent folder ID
ParentId nullable.Nullable[openapi_types.UUID] `json:"parentId,omitempty"`
// Path Folder path (must start with /). Root folder has path "/".
Path string `json:"path"`
}
// FolderCreate Request to create a new folder for organizing documents
type FolderCreate struct {
// ClientId The client external id
ClientId ClientID `json:"clientId"`
// CreatedBy Email of user who created the folder
CreatedBy openapi_types.Email `json:"createdBy"`
// ParentId Optional parent folder ID
ParentId *openapi_types.UUID `json:"parentId,omitempty"`
// Path Folder path (must start with /). Use "/" for root folder.
Path string `json:"path"`
}
// FolderList List of folders for a client
type FolderList struct {
// Folders List of folders. Each folder includes its ID, path, and parentId.
// Root-level folders have parentId set to null. Clients can use
// parentId to reconstruct the folder hierarchy/tree structure.
Folders []Folder `json:"folders"`
}
// FolderMetrics Processing metrics for a folder including document counts
type FolderMetrics struct {
// ByLabel Document counts by label
ByLabel map[string]int32 `json:"byLabel"`
// FolderId Unique identifier for the folder
FolderId openapi_types.UUID `json:"folderId"`
// TotalDocuments Total number of documents in folder
TotalDocuments int32 `json:"totalDocuments"`
}
// FolderRename Request to rename an existing folder
type FolderRename struct {
// Path New folder path (must start with /). Use "/" for root folder.
Path string `json:"path"`
}
// Hash The document hash
type Hash = string
// IdMessage A single uuid.
2025-01-15 19:45:51 +00:00
type IdMessage struct {
// Id Unique identifier for entity.
Id openapi_types.UUID `json:"id"`
}
// LabelApplication Request to apply a workflow label to a document
type LabelApplication struct {
// AppliedBy Email of user applying the label
AppliedBy openapi_types.Email `json:"appliedBy"`
// Label Label name (alphanumeric and underscore only)
Label string `json:"label"`
}
// LabelRecord Record of a label applied to a document
type LabelRecord struct {
// AppliedAt Timestamp when label was applied
AppliedAt time.Time `json:"appliedAt"`
// AppliedBy Email of the user who applied this label
AppliedBy openapi_types.Email `json:"appliedBy"`
// DocumentId The document id.
DocumentId DocumentID `json:"documentId"`
// Id Label record ID
Id openapi_types.UUID `json:"id"`
// Label Workflow label name (alphanumeric and underscore only)
Label string `json:"label"`
}
// ListDocuments The documents in the client.
type ListDocuments = []DocumentSummary
// ListQueries A set of queries.
2025-01-15 19:45:51 +00:00
type ListQueries struct {
// Queries List of queries.
Queries []Query `json:"queries"`
}
// Query A logic unit of execution.
2025-01-15 19:45:51 +00:00
type Query struct {
// ActiveVersion The desired version.
ActiveVersion Version `json:"active_version"`
2025-01-15 19:45:51 +00:00
// Config Configuration for the query.
Config *QueryConfig `json:"config,omitempty"`
2025-01-15 19:45:51 +00:00
// Id The query id.
Id QueryID `json:"id"`
2025-01-15 19:45:51 +00:00
// LatestVersion The desired version.
LatestVersion Version `json:"latest_version"`
2025-01-15 19:45:51 +00:00
// RequiredQueries List of required query IDs.
RequiredQueries *RequiredQueryIDs `json:"required_queries,omitempty"`
2025-01-15 19:45:51 +00:00
// Type Specifies the type of the query.
Type QueryType `json:"type"`
}
// QueryConfig Configuration for the query.
type QueryConfig = string
// QueryCreate The parameters required to create a query.
2025-01-15 19:45:51 +00:00
type QueryCreate struct {
// Config Configuration for the query.
Config *QueryConfig `json:"config,omitempty"`
2025-01-15 19:45:51 +00:00
// RequiredQueries List of required query IDs.
RequiredQueries *RequiredQueryIDs `json:"required_queries,omitempty"`
2025-01-15 19:45:51 +00:00
// Type Specifies the type of the query.
Type QueryType `json:"type"`
}
// QueryID The query id.
type QueryID = openapi_types.UUID
// QueryTestRequest The properties for a query test request.
2025-01-15 19:45:51 +00:00
type QueryTestRequest struct {
// DocumentId The document id.
DocumentId DocumentID `json:"document_id"`
2025-01-15 19:45:51 +00:00
// QueryVersion The desired version.
QueryVersion Version `json:"query_version"`
2025-01-15 19:45:51 +00:00
}
// QueryTestResponse The response from a query test.
2025-01-15 19:45:51 +00:00
type QueryTestResponse struct {
// Value Result of the query test.
Value string `json:"value"`
}
// QueryType Specifies the type of the query.
type QueryType string
// QueryUpdate The properties that may be updated for a query.
2025-01-15 19:45:51 +00:00
type QueryUpdate struct {
// ActiveVersion The desired version.
ActiveVersion *Version `json:"active_version,omitempty"`
2025-01-15 19:45:51 +00:00
// Config Configuration for the query.
Config *QueryConfig `json:"config,omitempty"`
2025-01-15 19:45:51 +00:00
// RequiredQueries List of required query IDs.
RequiredQueries *RequiredQueryIDs `json:"required_queries,omitempty"`
2025-01-15 19:45:51 +00:00
}
// RequiredQueryIDs List of required query IDs.
type RequiredQueryIDs = []QueryID
// SingleFields Single-value fields for a document extraction (1:1 relationship)
type SingleFields struct {
// AareteDerivedAmendmentNum Amendment number derived by Aarete
AareteDerivedAmendmentNum *int32 `json:"aareteDerivedAmendmentNum,omitempty"`
// AareteDerivedEffectiveDt Contract effective date
AareteDerivedEffectiveDt *openapi_types.Date `json:"aareteDerivedEffectiveDt,omitempty"`
// AareteDerivedTerminationDt Contract termination date
AareteDerivedTerminationDt *openapi_types.Date `json:"aareteDerivedTerminationDt,omitempty"`
// AutoRenewalInd Auto-renewal indicator
AutoRenewalInd *bool `json:"autoRenewalInd,omitempty"`
// AutoRenewalTerm Auto-renewal terms
AutoRenewalTerm *string `json:"autoRenewalTerm,omitempty"`
// ClientName Name of the client
ClientName *string `json:"clientName,omitempty"`
// ContractTitle Title of the contract
ContractTitle *string `json:"contractTitle,omitempty"`
// FileName Original file name
FileName *string `json:"fileName,omitempty"`
// FilenameTin Tax Identification Number from filename
FilenameTin *string `json:"filenameTin,omitempty"`
// PayerName Name of the payer
PayerName *string `json:"payerName,omitempty"`
// PayerState Two-letter state code for payer
PayerState *string `json:"payerState,omitempty"`
// ProvGroupNameFull Full name of provider group
ProvGroupNameFull *string `json:"provGroupNameFull,omitempty"`
// ProvGroupNpi Provider group NPI
ProvGroupNpi *string `json:"provGroupNpi,omitempty"`
// ProvGroupTin Provider group TIN
ProvGroupTin *string `json:"provGroupTin,omitempty"`
// ProvOtherNameFull Full name of other provider
ProvOtherNameFull *string `json:"provOtherNameFull,omitempty"`
// ProvOtherNpi Other provider NPI
ProvOtherNpi *string `json:"provOtherNpi,omitempty"`
// ProvOtherTin Other provider TIN
ProvOtherTin *string `json:"provOtherTin,omitempty"`
// ProviderState Two-letter state code for provider
ProviderState *string `json:"providerState,omitempty"`
}
// Version The desired version.
type Version = int32
// UserEmail defines model for UserEmail.
type UserEmail = openapi_types.Email
// BadGateway Description of error
type BadGateway = ErrorMessage
// Conflict Description of error
type Conflict = ErrorMessage
// Forbidden Description of error
type Forbidden = ErrorMessage
// InternalError Description of error
type InternalError = ErrorMessage
// InvalidRequest Description of error
type InvalidRequest = ErrorMessage
2025-08-05 07:03:35 -07:00
// NotFound Description of error
type NotFound = ErrorMessage
// TooManyRequests Description of error
type TooManyRequests = ErrorMessage
// Unauthorized Description of error
type Unauthorized = ErrorMessage
// ListAdminUsersParams defines parameters for ListAdminUsers.
type ListAdminUsersParams struct {
// Page Page number for pagination
Page *int32 `form:"page,omitempty" json:"page,omitempty"`
// PageSize Number of results per page
PageSize *int32 `form:"page_size,omitempty" json:"page_size,omitempty"`
// Search Search term for email/name filtering
Search *string `form:"search,omitempty" json:"search,omitempty"`
// Status Filter by user status
Status *ListAdminUsersParamsStatus `form:"status,omitempty" json:"status,omitempty"`
// SortBy Field to sort by
SortBy *ListAdminUsersParamsSortBy `form:"sort_by,omitempty" json:"sort_by,omitempty"`
// SortOrder Sort direction
SortOrder *ListAdminUsersParamsSortOrder `form:"sort_order,omitempty" json:"sort_order,omitempty"`
}
// ListAdminUsersParamsStatus defines parameters for ListAdminUsers.
type ListAdminUsersParamsStatus string
// ListAdminUsersParamsSortBy defines parameters for ListAdminUsers.
type ListAdminUsersParamsSortBy string
// ListAdminUsersParamsSortOrder defines parameters for ListAdminUsers.
type ListAdminUsersParamsSortOrder string
// DeleteAdminUserParams defines parameters for DeleteAdminUser.
type DeleteAdminUserParams struct {
// Confirm Must be set to true to confirm deletion
Confirm bool `form:"confirm" json:"confirm"`
}
// UploadDocumentMultipartBody defines parameters for UploadDocument.
type UploadDocumentMultipartBody struct {
// File The file to upload
File openapi_types.File `json:"file"`
// Filename Optional custom filename
Filename *string `json:"filename,omitempty"`
}
2025-08-05 07:03:35 -07:00
// ListDocumentBatchesParams defines parameters for ListDocumentBatches.
type ListDocumentBatchesParams struct {
// Limit Maximum number of items to return
Limit *int32 `form:"limit,omitempty" json:"limit,omitempty"`
// Offset Number of items to skip
Offset *int32 `form:"offset,omitempty" json:"offset,omitempty"`
}
// UploadDocumentBatchMultipartBody defines parameters for UploadDocumentBatch.
type UploadDocumentBatchMultipartBody struct {
// Archive The file to be uploaded as a ZIP archive
Archive openapi_types.File `json:"archive"`
}
// GetCurrentFieldExtractionParams defines parameters for GetCurrentFieldExtraction.
type GetCurrentFieldExtractionParams struct {
// DocumentId The document ID
DocumentId openapi_types.UUID `form:"documentId" json:"documentId"`
}
// GetFieldExtractionHistoryParams defines parameters for GetFieldExtractionHistory.
type GetFieldExtractionHistoryParams struct {
// DocumentId The document ID
DocumentId openapi_types.UUID `form:"documentId" json:"documentId"`
}
// GetDocumentsByLabelParams defines parameters for GetDocumentsByLabel.
type GetDocumentsByLabelParams struct {
// ClientId The client ID to filter documents
ClientId ClientID `form:"clientId" json:"clientId"`
}
2025-04-07 14:10:39 -07:00
// LoginCallbackParams defines parameters for LoginCallback.
type LoginCallbackParams struct {
// Code Authorization code from Cognito
Code string `form:"code" json:"code"`
// State State parameter for CSRF protection
State string `form:"state" json:"state"`
}
// CreateAdminUserJSONRequestBody defines body for CreateAdminUser for application/json ContentType.
type CreateAdminUserJSONRequestBody = AdminUserCreate
// UpdateAdminUserJSONRequestBody defines body for UpdateAdminUser for application/json ContentType.
type UpdateAdminUserJSONRequestBody = AdminUserUpdate
2025-01-21 18:24:14 +00:00
// CreateClientJSONRequestBody defines body for CreateClient for application/json ContentType.
type CreateClientJSONRequestBody = ClientCreate
// UpdateClientJSONRequestBody defines body for UpdateClient for application/json ContentType.
type UpdateClientJSONRequestBody = ClientUpdate
// SetCollectorByClientIdJSONRequestBody defines body for SetCollectorByClientId for application/json ContentType.
type SetCollectorByClientIdJSONRequestBody = CollectorSet
2025-01-15 19:45:51 +00:00
// UploadDocumentMultipartRequestBody defines body for UploadDocument for multipart/form-data ContentType.
type UploadDocumentMultipartRequestBody UploadDocumentMultipartBody
2025-08-05 07:03:35 -07:00
// UploadDocumentBatchMultipartRequestBody defines body for UploadDocumentBatch for multipart/form-data ContentType.
type UploadDocumentBatchMultipartRequestBody UploadDocumentBatchMultipartBody
2025-03-05 19:37:06 +00:00
// TriggerExportJSONRequestBody defines body for TriggerExport for application/json ContentType.
type TriggerExportJSONRequestBody = ExportTrigger
// ApplyLabelJSONRequestBody defines body for ApplyLabel for application/json ContentType.
type ApplyLabelJSONRequestBody = LabelApplication
// CreateFieldExtractionJSONRequestBody defines body for CreateFieldExtraction for application/json ContentType.
type CreateFieldExtractionJSONRequestBody = FieldExtractionRequest
// CreateFolderJSONRequestBody defines body for CreateFolder for application/json ContentType.
type CreateFolderJSONRequestBody = FolderCreate
// RenameFolderJSONRequestBody defines body for RenameFolder for application/json ContentType.
type RenameFolderJSONRequestBody = FolderRename
2025-01-15 19:45:51 +00:00
// CreateQueryJSONRequestBody defines body for CreateQuery for application/json ContentType.
type CreateQueryJSONRequestBody = QueryCreate
// UpdateQueryJSONRequestBody defines body for UpdateQuery for application/json ContentType.
type UpdateQueryJSONRequestBody = QueryUpdate
// TestQueryJSONRequestBody defines body for TestQuery for application/json ContentType.
type TestQueryJSONRequestBody = QueryTestRequest
// ServerInterface represents all server handlers.
type ServerInterface interface {
// List users
// (GET /admin/users)
ListAdminUsers(ctx echo.Context, params ListAdminUsersParams) error
// Create a new user
// (POST /admin/users)
CreateAdminUser(ctx echo.Context) error
// Delete user permanently
// (DELETE /admin/users/{email})
DeleteAdminUser(ctx echo.Context, email UserEmail, params DeleteAdminUserParams) error
// Get user by email
// (GET /admin/users/{email})
GetAdminUser(ctx echo.Context, email UserEmail) error
// Check if user exists
// (HEAD /admin/users/{email})
CheckAdminUserExists(ctx echo.Context, email UserEmail) error
// Update user attributes and roles
// (PATCH /admin/users/{email})
UpdateAdminUser(ctx echo.Context, email UserEmail) error
// Disable user
// (POST /admin/users/{email}/disable)
DisableAdminUser(ctx echo.Context, email UserEmail) error
// Enable user
// (POST /admin/users/{email}/enable)
EnableAdminUser(ctx echo.Context, email UserEmail) error
2025-01-21 18:24:14 +00:00
// Create a new client
// (POST /client)
2025-01-21 18:24:14 +00:00
CreateClient(ctx echo.Context) error
// Get a client by ID
// (GET /client/{id})
GetClient(ctx echo.Context, id ClientID) error
2025-01-21 18:24:14 +00:00
// Update a client
// (PATCH /client/{id})
UpdateClient(ctx echo.Context, id ClientID) error
// Get a collector by client ID
// (GET /client/{id}/collector)
GetCollectorByClientId(ctx echo.Context, id ClientID) error
// Set a collector
// (PATCH /client/{id}/collector)
SetCollectorByClientId(ctx echo.Context, id ClientID) error
// List the documents for a client
// (GET /client/{id}/document)
ListDocumentsByClientId(ctx echo.Context, id ClientID) error
// Upload a file
// (POST /client/{id}/document)
UploadDocument(ctx echo.Context, id ClientID) error
2025-08-05 07:03:35 -07:00
// List batch uploads for a client
// (GET /client/{id}/document/batch)
ListDocumentBatches(ctx echo.Context, id ClientID, params ListDocumentBatchesParams) error
// Upload multiple PDF documents as ZIP archive
// (POST /client/{id}/document/batch)
UploadDocumentBatch(ctx echo.Context, id ClientID) error
// Cancel a batch upload
// (DELETE /client/{id}/document/batch/{batch_id})
CancelDocumentBatch(ctx echo.Context, id ClientID, batchId BatchID) error
// Get batch upload status
// (GET /client/{id}/document/batch/{batch_id})
GetDocumentBatch(ctx echo.Context, id ClientID, batchId BatchID) error
2025-03-05 19:37:06 +00:00
// Trigger an export
// (POST /client/{id}/export)
TriggerExport(ctx echo.Context, id ClientID) error
// List folders for a client
// (GET /client/{id}/folders)
ListClientFolders(ctx echo.Context, id ClientID) error
// Get client sync status
// (GET /client/{id}/status)
GetStatusByClientId(ctx echo.Context, id ClientID) error
// Get document details by its id
// (GET /document/{id})
GetDocument(ctx echo.Context, id DocumentID) error
// Get all labels for a document
// (GET /documents/{documentId}/labels)
GetDocumentLabels(ctx echo.Context, documentId openapi_types.UUID) error
// Apply a label to a document
// (POST /documents/{documentId}/labels)
ApplyLabel(ctx echo.Context, documentId openapi_types.UUID) error
// Check export state.
// (GET /export/{id})
ExportState(ctx echo.Context, id ExportID) error
// Get current field extraction
// (GET /field-extractions)
GetCurrentFieldExtraction(ctx echo.Context, params GetCurrentFieldExtractionParams) error
// Create a new field extraction
// (POST /field-extractions)
CreateFieldExtraction(ctx echo.Context) error
// Get field extraction version history
// (GET /field-extractions/history)
GetFieldExtractionHistory(ctx echo.Context, params GetFieldExtractionHistoryParams) error
// Create a new folder
// (POST /folders)
CreateFolder(ctx echo.Context) error
// Rename a folder
// (PATCH /folders/{folderId})
RenameFolder(ctx echo.Context, folderId openapi_types.UUID) error
// Get documents in a folder
// (GET /folders/{folderId}/documents)
GetFolderDocuments(ctx echo.Context, folderId openapi_types.UUID) error
// Get folder processing metrics
// (GET /folders/{folderId}/metrics)
GetFolderMetrics(ctx echo.Context, folderId openapi_types.UUID) error
2025-04-07 14:10:39 -07:00
// Get the home page menu
// (GET /home)
GetHomePage(ctx echo.Context) error
// Get all documents with a specific label
// (GET /labels/{labelName}/documents)
GetDocumentsByLabel(ctx echo.Context, labelName string, params GetDocumentsByLabelParams) error
2025-04-07 14:10:39 -07:00
// Login to the application
// (GET /login)
Login(ctx echo.Context) error
// OAuth2 callback endpoint
// (GET /login-callback)
LoginCallback(ctx echo.Context, params LoginCallbackParams) error
// Logout from the application
// (GET /logout)
Logout(ctx echo.Context) error
2025-01-15 19:45:51 +00:00
// List queries
// (GET /query)
2025-01-15 19:45:51 +00:00
ListQueries(ctx echo.Context) error
// Create a new query
// (POST /query)
2025-01-15 19:45:51 +00:00
CreateQuery(ctx echo.Context) error
// Get a query by ID
// (GET /query/{id})
GetQuery(ctx echo.Context, id QueryID) error
2025-01-15 19:45:51 +00:00
// Update a query
// (PATCH /query/{id})
UpdateQuery(ctx echo.Context, id QueryID) error
2025-01-15 19:45:51 +00:00
// Test a query
// (POST /query/{id}/test)
TestQuery(ctx echo.Context, id QueryID) error
2025-01-15 19:45:51 +00:00
}
// ServerInterfaceWrapper converts echo contexts to parameters.
type ServerInterfaceWrapper struct {
Handler ServerInterface
}
// ListAdminUsers converts echo context to params.
func (w *ServerInterfaceWrapper) ListAdminUsers(ctx echo.Context) error {
var err error
ctx.Set(JwtAuthScopes, []string{})
// Parameter object where we will unmarshal all parameters from the context
var params ListAdminUsersParams
// ------------- Optional query parameter "page" -------------
err = runtime.BindQueryParameter("form", true, false, "page", ctx.QueryParams(), &params.Page)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter page: %s", err))
}
// ------------- Optional query parameter "page_size" -------------
err = runtime.BindQueryParameter("form", true, false, "page_size", ctx.QueryParams(), &params.PageSize)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter page_size: %s", err))
}
// ------------- Optional query parameter "search" -------------
err = runtime.BindQueryParameter("form", true, false, "search", ctx.QueryParams(), &params.Search)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter search: %s", err))
}
// ------------- Optional query parameter "status" -------------
err = runtime.BindQueryParameter("form", true, false, "status", ctx.QueryParams(), &params.Status)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter status: %s", err))
}
// ------------- Optional query parameter "sort_by" -------------
err = runtime.BindQueryParameter("form", true, false, "sort_by", ctx.QueryParams(), &params.SortBy)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter sort_by: %s", err))
}
// ------------- Optional query parameter "sort_order" -------------
err = runtime.BindQueryParameter("form", true, false, "sort_order", ctx.QueryParams(), &params.SortOrder)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter sort_order: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ListAdminUsers(ctx, params)
return err
}
// CreateAdminUser converts echo context to params.
func (w *ServerInterfaceWrapper) CreateAdminUser(ctx echo.Context) error {
var err error
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CreateAdminUser(ctx)
return err
}
// DeleteAdminUser converts echo context to params.
func (w *ServerInterfaceWrapper) DeleteAdminUser(ctx echo.Context) error {
var err error
// ------------- Path parameter "email" -------------
var email UserEmail
err = runtime.BindStyledParameterWithOptions("simple", "email", ctx.Param("email"), &email, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter email: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Parameter object where we will unmarshal all parameters from the context
var params DeleteAdminUserParams
// ------------- Required query parameter "confirm" -------------
err = runtime.BindQueryParameter("form", true, true, "confirm", ctx.QueryParams(), &params.Confirm)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter confirm: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.DeleteAdminUser(ctx, email, params)
return err
}
// GetAdminUser converts echo context to params.
func (w *ServerInterfaceWrapper) GetAdminUser(ctx echo.Context) error {
var err error
// ------------- Path parameter "email" -------------
var email UserEmail
err = runtime.BindStyledParameterWithOptions("simple", "email", ctx.Param("email"), &email, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter email: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetAdminUser(ctx, email)
return err
}
// CheckAdminUserExists converts echo context to params.
func (w *ServerInterfaceWrapper) CheckAdminUserExists(ctx echo.Context) error {
var err error
// ------------- Path parameter "email" -------------
var email UserEmail
err = runtime.BindStyledParameterWithOptions("simple", "email", ctx.Param("email"), &email, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter email: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CheckAdminUserExists(ctx, email)
return err
}
// UpdateAdminUser converts echo context to params.
func (w *ServerInterfaceWrapper) UpdateAdminUser(ctx echo.Context) error {
var err error
// ------------- Path parameter "email" -------------
var email UserEmail
err = runtime.BindStyledParameterWithOptions("simple", "email", ctx.Param("email"), &email, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter email: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.UpdateAdminUser(ctx, email)
return err
}
// DisableAdminUser converts echo context to params.
func (w *ServerInterfaceWrapper) DisableAdminUser(ctx echo.Context) error {
var err error
// ------------- Path parameter "email" -------------
var email UserEmail
err = runtime.BindStyledParameterWithOptions("simple", "email", ctx.Param("email"), &email, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter email: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.DisableAdminUser(ctx, email)
return err
}
// EnableAdminUser converts echo context to params.
func (w *ServerInterfaceWrapper) EnableAdminUser(ctx echo.Context) error {
var err error
// ------------- Path parameter "email" -------------
var email UserEmail
err = runtime.BindStyledParameterWithOptions("simple", "email", ctx.Param("email"), &email, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter email: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.EnableAdminUser(ctx, email)
return err
}
2025-01-21 18:24:14 +00:00
// CreateClient converts echo context to params.
func (w *ServerInterfaceWrapper) CreateClient(ctx echo.Context) error {
var err error
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-21 18:24:14 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CreateClient(ctx)
return err
}
// GetClient converts echo context to params.
func (w *ServerInterfaceWrapper) GetClient(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
2025-01-21 18:24:14 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-21 18:24:14 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetClient(ctx, id)
return err
}
// UpdateClient converts echo context to params.
func (w *ServerInterfaceWrapper) UpdateClient(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
2025-01-21 18:24:14 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-21 18:24:14 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.UpdateClient(ctx, id)
return err
}
// GetCollectorByClientId converts echo context to params.
func (w *ServerInterfaceWrapper) GetCollectorByClientId(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetCollectorByClientId(ctx, id)
return err
}
// SetCollectorByClientId converts echo context to params.
func (w *ServerInterfaceWrapper) SetCollectorByClientId(ctx echo.Context) error {
2025-01-15 19:45:51 +00:00
var err error
// ------------- Path parameter "id" -------------
var id ClientID
2025-01-15 19:45:51 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.SetCollectorByClientId(ctx, id)
2025-01-15 19:45:51 +00:00
return err
}
// ListDocumentsByClientId converts echo context to params.
func (w *ServerInterfaceWrapper) ListDocumentsByClientId(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ListDocumentsByClientId(ctx, id)
return err
}
// UploadDocument converts echo context to params.
func (w *ServerInterfaceWrapper) UploadDocument(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.UploadDocument(ctx, id)
return err
}
2025-08-05 07:03:35 -07:00
// ListDocumentBatches converts echo context to params.
func (w *ServerInterfaceWrapper) ListDocumentBatches(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Parameter object where we will unmarshal all parameters from the context
var params ListDocumentBatchesParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", ctx.QueryParams(), &params.Limit)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter limit: %s", err))
}
// ------------- Optional query parameter "offset" -------------
err = runtime.BindQueryParameter("form", true, false, "offset", ctx.QueryParams(), &params.Offset)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter offset: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ListDocumentBatches(ctx, id, params)
return err
}
// UploadDocumentBatch converts echo context to params.
func (w *ServerInterfaceWrapper) UploadDocumentBatch(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.UploadDocumentBatch(ctx, id)
return err
}
// CancelDocumentBatch converts echo context to params.
func (w *ServerInterfaceWrapper) CancelDocumentBatch(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
// ------------- Path parameter "batch_id" -------------
var batchId BatchID
err = runtime.BindStyledParameterWithOptions("simple", "batch_id", ctx.Param("batch_id"), &batchId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter batch_id: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CancelDocumentBatch(ctx, id, batchId)
return err
}
// GetDocumentBatch converts echo context to params.
func (w *ServerInterfaceWrapper) GetDocumentBatch(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
// ------------- Path parameter "batch_id" -------------
var batchId BatchID
err = runtime.BindStyledParameterWithOptions("simple", "batch_id", ctx.Param("batch_id"), &batchId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter batch_id: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetDocumentBatch(ctx, id, batchId)
return err
}
// TriggerExport converts echo context to params.
func (w *ServerInterfaceWrapper) TriggerExport(ctx echo.Context) error {
2025-01-15 19:45:51 +00:00
var err error
// ------------- Path parameter "id" -------------
var id ClientID
2025-01-15 19:45:51 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.TriggerExport(ctx, id)
2025-01-15 19:45:51 +00:00
return err
}
// ListClientFolders converts echo context to params.
func (w *ServerInterfaceWrapper) ListClientFolders(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ClientID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ListClientFolders(ctx, id)
return err
}
// GetStatusByClientId converts echo context to params.
func (w *ServerInterfaceWrapper) GetStatusByClientId(ctx echo.Context) error {
2025-03-05 19:37:06 +00:00
var err error
// ------------- Path parameter "id" -------------
var id ClientID
2025-03-05 19:37:06 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-03-05 19:37:06 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetStatusByClientId(ctx, id)
2025-03-05 19:37:06 +00:00
return err
}
// GetDocument converts echo context to params.
func (w *ServerInterfaceWrapper) GetDocument(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id DocumentID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetDocument(ctx, id)
return err
}
// GetDocumentLabels converts echo context to params.
func (w *ServerInterfaceWrapper) GetDocumentLabels(ctx echo.Context) error {
var err error
// ------------- Path parameter "documentId" -------------
var documentId openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "documentId", ctx.Param("documentId"), &documentId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter documentId: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetDocumentLabels(ctx, documentId)
return err
}
// ApplyLabel converts echo context to params.
func (w *ServerInterfaceWrapper) ApplyLabel(ctx echo.Context) error {
var err error
// ------------- Path parameter "documentId" -------------
var documentId openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "documentId", ctx.Param("documentId"), &documentId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter documentId: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ApplyLabel(ctx, documentId)
return err
}
// ExportState converts echo context to params.
func (w *ServerInterfaceWrapper) ExportState(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id ExportID
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ExportState(ctx, id)
return err
}
// GetCurrentFieldExtraction converts echo context to params.
func (w *ServerInterfaceWrapper) GetCurrentFieldExtraction(ctx echo.Context) error {
var err error
ctx.Set(JwtAuthScopes, []string{})
// Parameter object where we will unmarshal all parameters from the context
var params GetCurrentFieldExtractionParams
// ------------- Required query parameter "documentId" -------------
err = runtime.BindQueryParameter("form", true, true, "documentId", ctx.QueryParams(), &params.DocumentId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter documentId: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetCurrentFieldExtraction(ctx, params)
return err
}
// CreateFieldExtraction converts echo context to params.
func (w *ServerInterfaceWrapper) CreateFieldExtraction(ctx echo.Context) error {
var err error
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CreateFieldExtraction(ctx)
return err
}
// GetFieldExtractionHistory converts echo context to params.
func (w *ServerInterfaceWrapper) GetFieldExtractionHistory(ctx echo.Context) error {
var err error
ctx.Set(JwtAuthScopes, []string{})
// Parameter object where we will unmarshal all parameters from the context
var params GetFieldExtractionHistoryParams
// ------------- Required query parameter "documentId" -------------
err = runtime.BindQueryParameter("form", true, true, "documentId", ctx.QueryParams(), &params.DocumentId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter documentId: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetFieldExtractionHistory(ctx, params)
return err
}
// CreateFolder converts echo context to params.
func (w *ServerInterfaceWrapper) CreateFolder(ctx echo.Context) error {
var err error
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CreateFolder(ctx)
return err
}
// RenameFolder converts echo context to params.
func (w *ServerInterfaceWrapper) RenameFolder(ctx echo.Context) error {
var err error
// ------------- Path parameter "folderId" -------------
var folderId openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "folderId", ctx.Param("folderId"), &folderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter folderId: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.RenameFolder(ctx, folderId)
return err
}
// GetFolderDocuments converts echo context to params.
func (w *ServerInterfaceWrapper) GetFolderDocuments(ctx echo.Context) error {
var err error
// ------------- Path parameter "folderId" -------------
var folderId openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "folderId", ctx.Param("folderId"), &folderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter folderId: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetFolderDocuments(ctx, folderId)
return err
}
// GetFolderMetrics converts echo context to params.
func (w *ServerInterfaceWrapper) GetFolderMetrics(ctx echo.Context) error {
var err error
// ------------- Path parameter "folderId" -------------
var folderId openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "folderId", ctx.Param("folderId"), &folderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter folderId: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetFolderMetrics(ctx, folderId)
return err
}
2025-04-07 14:10:39 -07:00
// GetHomePage converts echo context to params.
func (w *ServerInterfaceWrapper) GetHomePage(ctx echo.Context) error {
var err error
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-04-07 14:10:39 -07:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetHomePage(ctx)
return err
}
// GetDocumentsByLabel converts echo context to params.
func (w *ServerInterfaceWrapper) GetDocumentsByLabel(ctx echo.Context) error {
var err error
// ------------- Path parameter "labelName" -------------
var labelName string
err = runtime.BindStyledParameterWithOptions("simple", "labelName", ctx.Param("labelName"), &labelName, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter labelName: %s", err))
}
ctx.Set(JwtAuthScopes, []string{})
// Parameter object where we will unmarshal all parameters from the context
var params GetDocumentsByLabelParams
// ------------- Required query parameter "clientId" -------------
err = runtime.BindQueryParameter("form", true, true, "clientId", ctx.QueryParams(), &params.ClientId)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter clientId: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.GetDocumentsByLabel(ctx, labelName, params)
return err
}
2025-04-07 14:10:39 -07:00
// Login converts echo context to params.
func (w *ServerInterfaceWrapper) Login(ctx echo.Context) error {
var err error
ctx.Set(CognitoAuthScopes, []string{"openid", "email", "profile"})
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.Login(ctx)
return err
}
// LoginCallback converts echo context to params.
func (w *ServerInterfaceWrapper) LoginCallback(ctx echo.Context) error {
var err error
// Parameter object where we will unmarshal all parameters from the context
var params LoginCallbackParams
// ------------- Required query parameter "code" -------------
err = runtime.BindQueryParameter("form", true, true, "code", ctx.QueryParams(), &params.Code)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter code: %s", err))
}
// ------------- Required query parameter "state" -------------
err = runtime.BindQueryParameter("form", true, true, "state", ctx.QueryParams(), &params.State)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter state: %s", err))
}
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.LoginCallback(ctx, params)
return err
}
// Logout converts echo context to params.
func (w *ServerInterfaceWrapper) Logout(ctx echo.Context) error {
var err error
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-04-07 14:10:39 -07:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.Logout(ctx)
return err
}
2025-01-15 19:45:51 +00:00
// ListQueries converts echo context to params.
func (w *ServerInterfaceWrapper) ListQueries(ctx echo.Context) error {
var err error
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.ListQueries(ctx)
return err
}
// CreateQuery converts echo context to params.
func (w *ServerInterfaceWrapper) CreateQuery(ctx echo.Context) error {
var err error
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.CreateQuery(ctx)
return err
}
2025-01-21 18:24:14 +00:00
// GetQuery converts echo context to params.
func (w *ServerInterfaceWrapper) GetQuery(ctx echo.Context) error {
2025-01-15 19:45:51 +00:00
var err error
// ------------- Path parameter "id" -------------
var id QueryID
2025-01-15 19:45:51 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
2025-01-21 18:24:14 +00:00
err = w.Handler.GetQuery(ctx, id)
2025-01-15 19:45:51 +00:00
return err
}
// UpdateQuery converts echo context to params.
func (w *ServerInterfaceWrapper) UpdateQuery(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id QueryID
2025-01-15 19:45:51 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.UpdateQuery(ctx, id)
return err
}
// TestQuery converts echo context to params.
func (w *ServerInterfaceWrapper) TestQuery(ctx echo.Context) error {
var err error
// ------------- Path parameter "id" -------------
var id QueryID
2025-01-15 19:45:51 +00:00
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
}
2025-04-21 15:12:38 -07:00
ctx.Set(JwtAuthScopes, []string{})
2025-01-15 19:45:51 +00:00
// Invoke the callback with all the unmarshaled arguments
err = w.Handler.TestQuery(ctx, id)
return err
}
// This is a simple interface which specifies echo.Route addition functions which
// are present on both echo.Echo and echo.Group, since we want to allow using
// either of them for path registration
type EchoRouter interface {
CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
}
// RegisterHandlers adds each server route to the EchoRouter.
func RegisterHandlers(router EchoRouter, si ServerInterface) {
RegisterHandlersWithBaseURL(router, si, "")
}
// Registers handlers, and prepends BaseURL to the paths, so that the paths
// can be served under a prefix.
func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
wrapper := ServerInterfaceWrapper{
Handler: si,
}
router.GET(baseURL+"/admin/users", wrapper.ListAdminUsers)
router.POST(baseURL+"/admin/users", wrapper.CreateAdminUser)
router.DELETE(baseURL+"/admin/users/:email", wrapper.DeleteAdminUser)
router.GET(baseURL+"/admin/users/:email", wrapper.GetAdminUser)
router.HEAD(baseURL+"/admin/users/:email", wrapper.CheckAdminUserExists)
router.PATCH(baseURL+"/admin/users/:email", wrapper.UpdateAdminUser)
router.POST(baseURL+"/admin/users/:email/disable", wrapper.DisableAdminUser)
router.POST(baseURL+"/admin/users/:email/enable", wrapper.EnableAdminUser)
router.POST(baseURL+"/client", wrapper.CreateClient)
router.GET(baseURL+"/client/:id", wrapper.GetClient)
router.PATCH(baseURL+"/client/:id", wrapper.UpdateClient)
router.GET(baseURL+"/client/:id/collector", wrapper.GetCollectorByClientId)
router.PATCH(baseURL+"/client/:id/collector", wrapper.SetCollectorByClientId)
router.GET(baseURL+"/client/:id/document", wrapper.ListDocumentsByClientId)
router.POST(baseURL+"/client/:id/document", wrapper.UploadDocument)
2025-08-05 07:03:35 -07:00
router.GET(baseURL+"/client/:id/document/batch", wrapper.ListDocumentBatches)
router.POST(baseURL+"/client/:id/document/batch", wrapper.UploadDocumentBatch)
router.DELETE(baseURL+"/client/:id/document/batch/:batch_id", wrapper.CancelDocumentBatch)
router.GET(baseURL+"/client/:id/document/batch/:batch_id", wrapper.GetDocumentBatch)
router.POST(baseURL+"/client/:id/export", wrapper.TriggerExport)
router.GET(baseURL+"/client/:id/folders", wrapper.ListClientFolders)
router.GET(baseURL+"/client/:id/status", wrapper.GetStatusByClientId)
router.GET(baseURL+"/document/:id", wrapper.GetDocument)
router.GET(baseURL+"/documents/:documentId/labels", wrapper.GetDocumentLabels)
router.POST(baseURL+"/documents/:documentId/labels", wrapper.ApplyLabel)
router.GET(baseURL+"/export/:id", wrapper.ExportState)
router.GET(baseURL+"/field-extractions", wrapper.GetCurrentFieldExtraction)
router.POST(baseURL+"/field-extractions", wrapper.CreateFieldExtraction)
router.GET(baseURL+"/field-extractions/history", wrapper.GetFieldExtractionHistory)
router.POST(baseURL+"/folders", wrapper.CreateFolder)
router.PATCH(baseURL+"/folders/:folderId", wrapper.RenameFolder)
router.GET(baseURL+"/folders/:folderId/documents", wrapper.GetFolderDocuments)
router.GET(baseURL+"/folders/:folderId/metrics", wrapper.GetFolderMetrics)
2025-04-07 14:10:39 -07:00
router.GET(baseURL+"/home", wrapper.GetHomePage)
router.GET(baseURL+"/labels/:labelName/documents", wrapper.GetDocumentsByLabel)
2025-04-07 14:10:39 -07:00
router.GET(baseURL+"/login", wrapper.Login)
router.GET(baseURL+"/login-callback", wrapper.LoginCallback)
router.GET(baseURL+"/logout", wrapper.Logout)
router.GET(baseURL+"/query", wrapper.ListQueries)
router.POST(baseURL+"/query", wrapper.CreateQuery)
router.GET(baseURL+"/query/:id", wrapper.GetQuery)
router.PATCH(baseURL+"/query/:id", wrapper.UpdateQuery)
router.POST(baseURL+"/query/:id/test", wrapper.TestQuery)
2025-01-15 19:45:51 +00:00
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"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",
2025-01-15 19:45:51 +00:00
}
// GetSwagger returns the content of the embedded swagger specification file
// or error if failed to decode
func decodeSpec() ([]byte, error) {
zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
if err != nil {
return nil, fmt.Errorf("error base64 decoding spec: %w", err)
}
zr, err := gzip.NewReader(bytes.NewReader(zipped))
if err != nil {
return nil, fmt.Errorf("error decompressing spec: %w", err)
}
var buf bytes.Buffer
_, err = buf.ReadFrom(zr)
if err != nil {
return nil, fmt.Errorf("error decompressing spec: %w", err)
}
return buf.Bytes(), nil
}
var rawSpec = decodeSpecCached()
// a naive cached of a decoded swagger spec
func decodeSpecCached() func() ([]byte, error) {
data, err := decodeSpec()
return func() ([]byte, error) {
return data, err
}
}
// Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
res := make(map[string]func() ([]byte, error))
if len(pathToFile) > 0 {
res[pathToFile] = rawSpec
}
return res
}
// GetSwagger returns the Swagger specification corresponding to the generated code
// in this file. The external references of Swagger specification are resolved.
// The logic of resolving external references is tightly connected to "import-mapping" feature.
// Externally referenced files must be embedded in the corresponding golang packages.
// Urls can be supported but this task was out of the scope.
func GetSwagger() (swagger *openapi3.T, err error) {
resolvePath := PathToRawSpec("")
loader := openapi3.NewLoader()
loader.IsExternalRefsAllowed = true
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
pathToFile := url.String()
pathToFile = path.Clean(pathToFile)
getSpec, ok := resolvePath[pathToFile]
if !ok {
err1 := fmt.Errorf("path not found: %s", pathToFile)
return nil, err1
}
return getSpec()
}
var specData []byte
specData, err = rawSpec()
if err != nil {
return
}
swagger, err = loader.LoadFromData(specData)
if err != nil {
return
}
return
}