Files
pipu-music/services/api/internal/api/gen/api.gen.go
T
mrleo1nidandCursor 597067689a
ci / api / api (push) Successful in 48s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m10s
ci / db / db (push) Successful in 57s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m1s
ci / desktop / rust (desktop proxy) (push) Successful in 5m37s
ci / ts / ts (packages + web) (push) Successful in 4m10s
release / release (версия и заметки) (push) Successful in 11s
release / android (APK в релиз) (push) Successful in 4m22s
feat: add a platform-aware apps download page
Serve desktop and Android builds from the latest Gitea release on /download, and fix the desktop compile and CI flakes that blocked v1.3.0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:10:03 +03:00

10916 lines
375 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Package gen provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.1 DO NOT EDIT.
package gen
import (
"bytes"
"compress/gzip"
"context"
"encoding/base64"
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
"path"
"strings"
"time"
"github.com/getkin/kin-openapi/openapi3"
"github.com/go-chi/chi/v5"
"github.com/oapi-codegen/runtime"
strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp"
openapi_types "github.com/oapi-codegen/runtime/types"
)
const (
BearerAuthScopes = "bearerAuth.Scopes"
)
// Defines values for AppClient.
const (
AppClientAndroid AppClient = "android"
AppClientLinux AppClient = "linux"
AppClientMacos AppClient = "macos"
AppClientWindows AppClient = "windows"
)
// Defines values for AuthTokensTokenType.
const (
Bearer AuthTokensTokenType = "Bearer"
)
// Defines values for ClientType.
const (
ClientTypeAndroid ClientType = "android"
ClientTypeDesktop ClientType = "desktop"
ClientTypeWeb ClientType = "web"
)
// Defines values for HealthStatusStatus.
const (
HealthStatusStatusOk HealthStatusStatus = "ok"
)
// Defines values for PlayEventContextType.
const (
PlayEventContextTypeAlbum PlayEventContextType = "album"
PlayEventContextTypeArtist PlayEventContextType = "artist"
PlayEventContextTypeCollection PlayEventContextType = "collection"
PlayEventContextTypeHistory PlayEventContextType = "history"
PlayEventContextTypeQueue PlayEventContextType = "queue"
PlayEventContextTypeSearch PlayEventContextType = "search"
PlayEventContextTypeWave PlayEventContextType = "wave"
)
// Defines values for PlayEventType.
const (
PlayEventTypeDislike PlayEventType = "dislike"
PlayEventTypeLike PlayEventType = "like"
PlayEventTypePause PlayEventType = "pause"
PlayEventTypePlayEnd PlayEventType = "play_end"
PlayEventTypePlayStart PlayEventType = "play_start"
PlayEventTypeResume PlayEventType = "resume"
PlayEventTypeSeek PlayEventType = "seek"
PlayEventTypeSkip PlayEventType = "skip"
PlayEventTypeUndislike PlayEventType = "undislike"
PlayEventTypeUnlike PlayEventType = "unlike"
)
// Defines values for PlaybackStateRepeatMode.
const (
PlaybackStateRepeatModeAll PlaybackStateRepeatMode = "all"
PlaybackStateRepeatModeOff PlaybackStateRepeatMode = "off"
PlaybackStateRepeatModeOne PlaybackStateRepeatMode = "one"
)
// Defines values for PlaybackStateInputRepeatMode.
const (
PlaybackStateInputRepeatModeAll PlaybackStateInputRepeatMode = "all"
PlaybackStateInputRepeatModeOff PlaybackStateInputRepeatMode = "off"
PlaybackStateInputRepeatModeOne PlaybackStateInputRepeatMode = "one"
)
// Defines values for Reaction.
const (
ReactionDislike Reaction = "dislike"
ReactionLike Reaction = "like"
)
// Defines values for ReadyStatusStatus.
const (
ReadyStatusStatusDegraded ReadyStatusStatus = "degraded"
ReadyStatusStatusOk ReadyStatusStatus = "ok"
)
// Defines values for Role.
const (
Admin Role = "admin"
Moderator Role = "moderator"
User Role = "user"
)
// Defines values for SourceStatus.
const (
Disabled SourceStatus = "disabled"
Error SourceStatus = "error"
Mounted SourceStatus = "mounted"
Pending SourceStatus = "pending"
)
// Defines values for SourceType.
const (
Local SourceType = "local"
Nfs SourceType = "nfs"
)
// Defines values for StreamQuality.
const (
Auto StreamQuality = "auto"
High StreamQuality = "high"
Low StreamQuality = "low"
Medium StreamQuality = "medium"
Original StreamQuality = "original"
)
// Defines values for TagPriority.
const (
PathFirst TagPriority = "path_first"
TagsFirst TagPriority = "tags_first"
)
// Defines values for UiPrefsMobilePlayer.
const (
UiPrefsMobilePlayerCover UiPrefsMobilePlayer = "cover"
UiPrefsMobilePlayerWave UiPrefsMobilePlayer = "wave"
)
// Defines values for UiPrefsSearchPosition.
const (
Center UiPrefsSearchPosition = "center"
Left UiPrefsSearchPosition = "left"
Right UiPrefsSearchPosition = "right"
)
// Defines values for UiPrefsTheme.
const (
Dark UiPrefsTheme = "dark"
Light UiPrefsTheme = "light"
System UiPrefsTheme = "system"
)
// Defines values for UiPrefsWaveVariant.
const (
Liquid UiPrefsWaveVariant = "liquid"
Orb UiPrefsWaveVariant = "orb"
)
// Defines values for UiPrefsWebPlayer.
const (
Bar UiPrefsWebPlayer = "bar"
Island UiPrefsWebPlayer = "island"
)
// Defines values for UploadFileDuplicateLevel.
const (
Fingerprint UploadFileDuplicateLevel = "fingerprint"
LessThannil UploadFileDuplicateLevel = "<nil>"
Metadata UploadFileDuplicateLevel = "metadata"
Sha256 UploadFileDuplicateLevel = "sha256"
)
// Defines values for UploadPrecheckResultFilesResult.
const (
UploadPrecheckResultFilesResultAccepted UploadPrecheckResultFilesResult = "accepted"
UploadPrecheckResultFilesResultDuplicate UploadPrecheckResultFilesResult = "duplicate"
UploadPrecheckResultFilesResultTooLarge UploadPrecheckResultFilesResult = "too_large"
)
// Defines values for UploadReviewRequestDecision.
const (
Approve UploadReviewRequestDecision = "approve"
Reject UploadReviewRequestDecision = "reject"
)
// Defines values for UploadStatus.
const (
UploadStatusApproved UploadStatus = "approved"
UploadStatusDuplicate UploadStatus = "duplicate"
UploadStatusExpired UploadStatus = "expired"
UploadStatusImportFailed UploadStatus = "import_failed"
UploadStatusImported UploadStatus = "imported"
UploadStatusImporting UploadStatus = "importing"
UploadStatusInvalid UploadStatus = "invalid"
UploadStatusPendingReview UploadStatus = "pending_review"
UploadStatusProcessing UploadStatus = "processing"
UploadStatusRejected UploadStatus = "rejected"
UploadStatusUploading UploadStatus = "uploading"
UploadStatusWithdrawn UploadStatus = "withdrawn"
)
// Defines values for WaveFeedbackOutcome.
const (
Complete WaveFeedbackOutcome = "complete"
Dislike WaveFeedbackOutcome = "dislike"
Like WaveFeedbackOutcome = "like"
Skip WaveFeedbackOutcome = "skip"
SkipEarly WaveFeedbackOutcome = "skip_early"
)
// Defines values for WaveStartSeedType.
const (
WaveStartSeedTypeAlbum WaveStartSeedType = "album"
WaveStartSeedTypeArtist WaveStartSeedType = "artist"
WaveStartSeedTypeTrack WaveStartSeedType = "track"
)
// Defines values for GetCoverParamsSize.
const (
N1200 GetCoverParamsSize = 1200
N300 GetCoverParamsSize = 300
N64 GetCoverParamsSize = 64
)
// Defines values for SearchParamsType.
const (
Albums SearchParamsType = "albums"
All SearchParamsType = "all"
Artists SearchParamsType = "artists"
Tracks SearchParamsType = "tracks"
)
// AdminUser defines model for AdminUser.
type AdminUser struct {
CreatedAt time.Time `json:"created_at"`
DisplayName *string `json:"display_name"`
Id openapi_types.UUID `json:"id"`
IsBlocked bool `json:"is_blocked"`
LastLoginAt *time.Time `json:"last_login_at"`
Locale string `json:"locale"`
MustChangeCredentials bool `json:"must_change_credentials"`
MustChangePassword bool `json:"must_change_password"`
// ReviewsUploads Может рассматривать очередь на добавление. Не следует из роли и может быть у нескольких людей сразу
ReviewsUploads bool `json:"reviews_uploads"`
Role Role `json:"role"`
Username string `json:"username"`
}
// AdminUserPage defines model for AdminUserPage.
type AdminUserPage struct {
Items []AdminUser `json:"items"`
NextCursor *string `json:"next_cursor"`
}
// Album defines model for Album.
type Album struct {
Artist ArtistRef `json:"artist"`
CoverColors []string `json:"cover_colors"`
CoverUrl *string `json:"cover_url"`
DurationMs int `json:"duration_ms"`
Id openapi_types.UUID `json:"id"`
Title string `json:"title"`
Tracks []Track `json:"tracks"`
Year *int `json:"year"`
}
// AlbumRef defines model for AlbumRef.
type AlbumRef struct {
CoverColors []string `json:"cover_colors"`
CoverUrl *string `json:"cover_url"`
Id openapi_types.UUID `json:"id"`
Title string `json:"title"`
Year *int `json:"year"`
}
// AlbumSummary defines model for AlbumSummary.
type AlbumSummary struct {
Artist ArtistRef `json:"artist"`
CoverColors []string `json:"cover_colors"`
CoverUrl *string `json:"cover_url"`
Id openapi_types.UUID `json:"id"`
Title string `json:"title"`
TrackCount int `json:"track_count"`
Year *int `json:"year"`
}
// AlbumSummaryList defines model for AlbumSummaryList.
type AlbumSummaryList struct {
Items []AlbumSummary `json:"items"`
}
// AnalysisStatus defines model for AnalysisStatus.
type AnalysisStatus struct {
AnalyzerVer *string `json:"analyzer_ver"`
Done int `json:"done"`
Failed int `json:"failed"`
Queued int `json:"queued"`
Running int `json:"running"`
// TopError Самая частая ошибка среди неудавшихся — подсказка, что чинить
TopError *string `json:"top_error"`
}
// AndroidRelease defines model for AndroidRelease.
type AndroidRelease struct {
DownloadUrl string `json:"download_url"`
// MinSupported Версии ниже обязаны обновиться
MinSupported int `json:"min_supported"`
// NotesMd Что нового (Markdown из релиза)
NotesMd string `json:"notes_md"`
Sha256 string `json:"sha256"`
Size int64 `json:"size"`
Version string `json:"version"`
VersionCode int `json:"version_code"`
}
// AppClient defines model for AppClient.
type AppClient string
// AppClientFile defines model for AppClientFile.
type AppClientFile struct {
Client AppClient `json:"client"`
DownloadUrl string `json:"download_url"`
Filename string `json:"filename"`
Sha256 *string `json:"sha256,omitempty"`
Size int64 `json:"size"`
}
// AppClients defines model for AppClients.
type AppClients struct {
Clients []AppClientFile `json:"clients"`
NotesMd string `json:"notes_md"`
Version string `json:"version"`
VersionCode int `json:"version_code"`
}
// Artist defines model for Artist.
type Artist struct {
AlbumCount int `json:"album_count"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
TrackCount int `json:"track_count"`
}
// ArtistRef defines model for ArtistRef.
type ArtistRef struct {
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
}
// AuditActor defines model for AuditActor.
type AuditActor struct {
Id openapi_types.UUID `json:"id"`
Username string `json:"username"`
}
// AuditEntry defines model for AuditEntry.
type AuditEntry struct {
Action string `json:"action"`
// Actor null — система или удалённый пользователь
Actor *AuditActor `json:"actor"`
CreatedAt time.Time `json:"created_at"`
Id openapi_types.UUID `json:"id"`
Payload *map[string]interface{} `json:"payload"`
TargetId *openapi_types.UUID `json:"target_id"`
TargetType *string `json:"target_type"`
}
// AuditPage defines model for AuditPage.
type AuditPage struct {
Items []AuditEntry `json:"items"`
NextCursor *string `json:"next_cursor"`
}
// AuthTokens defines model for AuthTokens.
type AuthTokens struct {
AccessToken string `json:"access_token"`
// ExpiresIn Срок жизни access-токена, секунды
ExpiresIn int `json:"expires_in"`
// RefreshToken Для `client_type: android` и `client_type: desktop`
RefreshToken *string `json:"refresh_token,omitempty"`
TokenType AuthTokensTokenType `json:"token_type"`
User Me `json:"user"`
}
// AuthTokensTokenType defines model for AuthTokens.TokenType.
type AuthTokensTokenType string
// BootstrapCredentialsRequest defines model for BootstrapCredentialsRequest.
type BootstrapCredentialsRequest struct {
NewPassword string `json:"new_password"`
NewUsername string `json:"new_username"`
}
// ChangePasswordRequest defines model for ChangePasswordRequest.
type ChangePasswordRequest struct {
CurrentPassword *string `json:"current_password,omitempty"`
NewPassword string `json:"new_password"`
}
// ClientType defines model for ClientType.
type ClientType string
// CreateUserRequest defines model for CreateUserRequest.
type CreateUserRequest struct {
DisplayName *string `json:"display_name,omitempty"`
// ReviewsUploads Сразу выдать аудит загрузок. Может задать только админ
ReviewsUploads *bool `json:"reviews_uploads,omitempty"`
Role Role `json:"role"`
Username string `json:"username"`
}
// CreatedUser defines model for CreatedUser.
type CreatedUser struct {
// TemporaryPassword Показывается один раз
TemporaryPassword string `json:"temporary_password"`
User AdminUser `json:"user"`
}
// EventBatch defines model for EventBatch.
type EventBatch struct {
Events []PlayEvent `json:"events"`
}
// EventBatchResult defines model for EventBatchResult.
type EventBatchResult struct {
Accepted int `json:"accepted"`
Duplicates int `json:"duplicates"`
// Rejected Слишком старые (> 30 дней) или с неизвестным треком
Rejected int `json:"rejected"`
}
// FieldError defines model for FieldError.
type FieldError struct {
Code string `json:"code"`
Field string `json:"field"`
}
// HealthStatus defines model for HealthStatus.
type HealthStatus struct {
Status HealthStatusStatus `json:"status"`
}
// HealthStatusStatus defines model for HealthStatus.Status.
type HealthStatusStatus string
// HistoryItem defines model for HistoryItem.
type HistoryItem struct {
Id openapi_types.UUID `json:"id"`
PlayedAt time.Time `json:"played_at"`
Track Track `json:"track"`
}
// HistoryPage defines model for HistoryPage.
type HistoryPage struct {
Items []HistoryItem `json:"items"`
NextCursor *string `json:"next_cursor"`
}
// HostDirList defines model for HostDirList.
type HostDirList struct {
Dirs []string `json:"dirs"`
Path string `json:"path"`
}
// LibraryError defines model for LibraryError.
type LibraryError struct {
Error string `json:"error"`
FileId openapi_types.UUID `json:"file_id"`
RelPath string `json:"rel_path"`
SourceId openapi_types.UUID `json:"source_id"`
}
// LibraryErrorPage defines model for LibraryErrorPage.
type LibraryErrorPage struct {
Items []LibraryError `json:"items"`
NextCursor *string `json:"next_cursor"`
}
// LibraryStatus defines model for LibraryStatus.
type LibraryStatus struct {
Albums int `json:"albums"`
Analysis AnalysisStatus `json:"analysis"`
Artists int `json:"artists"`
FileErrors int `json:"file_errors"`
Files int `json:"files"`
MissingFiles int `json:"missing_files"`
Sources []SourceStatusItem `json:"sources"`
Tracks int `json:"tracks"`
// Wave Метрики волны за 7 дней
Wave WaveMetrics `json:"wave"`
}
// LoginRequest defines model for LoginRequest.
type LoginRequest struct {
ClientType ClientType `json:"client_type"`
// DeviceName Например «Chrome / Windows», «Pixel 8»
DeviceName *string `json:"device_name,omitempty"`
Password string `json:"password"`
Username string `json:"username"`
}
// Me defines model for Me.
type Me struct {
CreatedAt time.Time `json:"created_at"`
DisplayName *string `json:"display_name"`
Id openapi_types.UUID `json:"id"`
Locale string `json:"locale"`
MustChangeCredentials bool `json:"must_change_credentials"`
MustChangePassword bool `json:"must_change_password"`
// ReviewsUploads Может рассматривать очередь на добавление. Не следует из роли и может быть у нескольких людей сразу
ReviewsUploads bool `json:"reviews_uploads"`
Role Role `json:"role"`
UiPrefs UiPrefs `json:"ui_prefs"`
Username string `json:"username"`
}
// Onboarding defines model for Onboarding.
type Onboarding struct {
Artists []struct {
CoverColors []string `json:"cover_colors"`
// CoverUrl Обложка самого большого альбома исполнителя
CoverUrl *string `json:"cover_url"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
TrackCount int `json:"track_count"`
} `json:"artists"`
Genres []struct {
Name string `json:"name"`
TrackCount int `json:"track_count"`
} `json:"genres"`
Required bool `json:"required"`
}
// OnboardingChoice defines model for OnboardingChoice.
type OnboardingChoice struct {
ArtistIds []openapi_types.UUID `json:"artist_ids"`
Genres []string `json:"genres"`
}
// PathPattern defines model for PathPattern.
type PathPattern struct {
IsEnabled bool `json:"is_enabled"`
Regex string `json:"regex"`
}
// PatternList defines model for PatternList.
type PatternList struct {
Patterns []PathPattern `json:"patterns"`
}
// PatternPreview defines model for PatternPreview.
type PatternPreview struct {
Items []PreviewItem `json:"items"`
Unmatched int `json:"unmatched"`
}
// PatternPreviewRequest defines model for PatternPreviewRequest.
type PatternPreviewRequest struct {
Patterns []PathPattern `json:"patterns"`
Sample *int `json:"sample,omitempty"`
}
// PlayEvent defines model for PlayEvent.
type PlayEvent struct {
ContextId *string `json:"context_id,omitempty"`
ContextType *PlayEventContextType `json:"context_type,omitempty"`
FromMs *int `json:"from_ms,omitempty"`
// Id UUIDv7 от клиента — ключ идемпотентности
Id openapi_types.UUID `json:"id"`
OccurredAt time.Time `json:"occurred_at"`
Offline *bool `json:"offline,omitempty"`
PlayedMs *int `json:"played_ms,omitempty"`
PositionMs *int `json:"position_ms,omitempty"`
TrackId openapi_types.UUID `json:"track_id"`
Type PlayEventType `json:"type"`
WaveSessionId *openapi_types.UUID `json:"wave_session_id,omitempty"`
}
// PlayEventContextType defines model for PlayEvent.ContextType.
type PlayEventContextType string
// PlayEventType defines model for PlayEvent.Type.
type PlayEventType string
// PlaybackContext defines model for PlaybackContext.
type PlaybackContext struct {
Id *string `json:"id,omitempty"`
Label *string `json:"label,omitempty"`
Type *string `json:"type,omitempty"`
WaveSessionId *openapi_types.UUID `json:"wave_session_id,omitempty"`
}
// PlaybackState defines model for PlaybackState.
type PlaybackState struct {
Context *PlaybackContext `json:"context"`
DeviceId *string `json:"device_id"`
PositionMs int `json:"position_ms"`
Queue []openapi_types.UUID `json:"queue"`
QueueIndex int `json:"queue_index"`
RepeatMode PlaybackStateRepeatMode `json:"repeat_mode"`
Shuffle bool `json:"shuffle"`
TrackId *openapi_types.UUID `json:"track_id"`
UpdatedAt *time.Time `json:"updated_at"`
Volume float32 `json:"volume"`
}
// PlaybackStateRepeatMode defines model for PlaybackState.RepeatMode.
type PlaybackStateRepeatMode string
// PlaybackStateInput defines model for PlaybackStateInput.
type PlaybackStateInput struct {
Context *PlaybackContext `json:"context,omitempty"`
DeviceId *string `json:"device_id,omitempty"`
PositionMs int `json:"position_ms"`
Queue []openapi_types.UUID `json:"queue"`
QueueIndex int `json:"queue_index"`
RepeatMode *PlaybackStateInputRepeatMode `json:"repeat_mode,omitempty"`
Shuffle *bool `json:"shuffle,omitempty"`
TrackId *openapi_types.UUID `json:"track_id"`
Volume *float32 `json:"volume,omitempty"`
}
// PlaybackStateInputRepeatMode defines model for PlaybackStateInput.RepeatMode.
type PlaybackStateInputRepeatMode string
// Playlist defines model for Playlist.
type Playlist struct {
CreatedAt time.Time `json:"created_at"`
Description string `json:"description"`
DurationMs int64 `json:"duration_ms"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
Revision int `json:"revision"`
TrackCount int `json:"track_count"`
Tracks []Track `json:"tracks"`
UpdatedAt time.Time `json:"updated_at"`
}
// PlaylistInput defines model for PlaylistInput.
type PlaylistInput struct {
Description string `json:"description"`
Name string `json:"name"`
TrackIds []openapi_types.UUID `json:"track_ids"`
}
// PlaylistList defines model for PlaylistList.
type PlaylistList struct {
Items []PlaylistSummary `json:"items"`
}
// PlaylistSummary defines model for PlaylistSummary.
type PlaylistSummary struct {
CreatedAt time.Time `json:"created_at"`
Description string `json:"description"`
DurationMs int64 `json:"duration_ms"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
Revision int `json:"revision"`
TrackCount int `json:"track_count"`
UpdatedAt time.Time `json:"updated_at"`
}
// PlaylistUpdate defines model for PlaylistUpdate.
type PlaylistUpdate struct {
Description string `json:"description"`
Name string `json:"name"`
Revision int `json:"revision"`
TrackIds []openapi_types.UUID `json:"track_ids"`
}
// PreviewItem defines model for PreviewItem.
type PreviewItem struct {
Error *string `json:"error"`
PathFields map[string]string `json:"path_fields"`
// PatternIndex Номер совпавшего шаблона, null — ни один
PatternIndex *int `json:"pattern_index"`
RelPath string `json:"rel_path"`
Result TrackMeta `json:"result"`
Skipped bool `json:"skipped"`
Tags map[string]string `json:"tags"`
}
// Problem defines model for Problem.
type Problem struct {
// Code Машинный код ошибки для i18n, например `auth.invalid_credentials`
Code string `json:"code"`
// Detail Пояснение для логов (не для показа пользователю)
Detail *string `json:"detail,omitempty"`
// Errors Ошибки отдельных полей запроса
Errors *[]FieldError `json:"errors,omitempty"`
Params *map[string]interface{} `json:"params,omitempty"`
Status int `json:"status"`
Type *string `json:"type,omitempty"`
}
// ReactedTrack defines model for ReactedTrack.
type ReactedTrack struct {
CreatedAt time.Time `json:"created_at"`
Track Track `json:"track"`
}
// ReactedTrackPage defines model for ReactedTrackPage.
type ReactedTrackPage struct {
Items []ReactedTrack `json:"items"`
NextCursor *string `json:"next_cursor"`
Total int `json:"total"`
}
// Reaction defines model for Reaction.
type Reaction string
// ReactionInput defines model for ReactionInput.
type ReactionInput struct {
Reaction Reaction `json:"reaction"`
}
// ReadyStatus defines model for ReadyStatus.
type ReadyStatus struct {
// Checks Результат проверки каждой зависимости
Checks map[string]string `json:"checks"`
Status ReadyStatusStatus `json:"status"`
}
// ReadyStatusStatus defines model for ReadyStatus.Status.
type ReadyStatusStatus string
// RefreshRequest defines model for RefreshRequest.
type RefreshRequest struct {
// RefreshToken Android и desktop; веб передаёт токен в cookie
RefreshToken *string `json:"refresh_token,omitempty"`
}
// Role defines model for Role.
type Role string
// ScanProgress defines model for ScanProgress.
type ScanProgress struct {
Added int `json:"added"`
Error *string `json:"error"`
Errors int `json:"errors"`
FinishedAt *time.Time `json:"finished_at"`
Found int `json:"found"`
Full bool `json:"full"`
Missing int `json:"missing"`
Moved int `json:"moved"`
Processed int `json:"processed"`
Running bool `json:"running"`
StartedAt time.Time `json:"started_at"`
ToProcess int `json:"to_process"`
Updated int `json:"updated"`
}
// ScanRequest defines model for ScanRequest.
type ScanRequest struct {
// Full Перечитать все файлы, а не только новые и изменённые
Full *bool `json:"full,omitempty"`
}
// SearchResults defines model for SearchResults.
type SearchResults struct {
Albums []AlbumSummary `json:"albums"`
Artists []ArtistRef `json:"artists"`
// CorrectedQuery Запрос в другой раскладке, если по исходному ничего не нашлось
CorrectedQuery *string `json:"corrected_query"`
NextCursor *string `json:"next_cursor"`
// Totals Оценка общего числа совпадений
Totals struct {
Albums int `json:"albums"`
Artists int `json:"artists"`
Tracks int `json:"tracks"`
} `json:"totals"`
Tracks []Track `json:"tracks"`
}
// ServerInfo defines model for ServerInfo.
type ServerInfo struct {
ApiVersion string `json:"api_version"`
// BootstrapRequired Первый вход администратора ещё не завершён — клиент может показать подсказку
BootstrapRequired bool `json:"bootstrap_required"`
// MinAndroidVersionCode Минимальный versionCode Android-приложения, которое поддерживает сервер
MinAndroidVersionCode int `json:"min_android_version_code"`
Name string `json:"name"`
SupportedLocales []string `json:"supported_locales"`
// Version Версия сервера (SemVer)
Version string `json:"version"`
}
// Session defines model for Session.
type Session struct {
ClientType ClientType `json:"client_type"`
// CreatedAt Время входа
CreatedAt time.Time `json:"created_at"`
// Current Сессия, из которой сделан запрос
Current bool `json:"current"`
DeviceName *string `json:"device_name"`
Id openapi_types.UUID `json:"id"`
LastUsedAt time.Time `json:"last_used_at"`
}
// SessionList defines model for SessionList.
type SessionList struct {
Items []Session `json:"items"`
}
// Source defines model for Source.
type Source struct {
// AcceptsUploads Принимает импорт из очереди на добавление (NFS монтируется агентом ещё и на запись)
AcceptsUploads bool `json:"accepts_uploads"`
CreatedAt time.Time `json:"created_at"`
Id openapi_types.UUID `json:"id"`
LastScanAt *time.Time `json:"last_scan_at"`
// LocalPath Подпапка относительно LIBRARY_HOST, пусто — весь каталог
LocalPath *string `json:"local_path"`
Name string `json:"name"`
NfsExport *string `json:"nfs_export"`
NfsOptions string `json:"nfs_options"`
NfsServer *string `json:"nfs_server"`
Scan *ScanProgress `json:"scan"`
// ScanIntervalMinutes Автоматический скан, null — только вручную
ScanIntervalMinutes *int `json:"scan_interval_minutes"`
Status SourceStatus `json:"status"`
StatusMessage *string `json:"status_message"`
TagPriority TagPriority `json:"tag_priority"`
Type SourceType `json:"type"`
// WriteTemplate Шаблон пути новых файлов (docs/uploads.md#7), null — не задан
WriteTemplate *string `json:"write_template"`
}
// SourceInput defines model for SourceInput.
type SourceInput struct {
AcceptsUploads *bool `json:"accepts_uploads,omitempty"`
LocalPath *string `json:"local_path,omitempty"`
Name string `json:"name"`
NfsExport *string `json:"nfs_export,omitempty"`
NfsOptions *string `json:"nfs_options,omitempty"`
NfsServer *string `json:"nfs_server,omitempty"`
ScanIntervalMinutes *int `json:"scan_interval_minutes"`
TagPriority *TagPriority `json:"tag_priority,omitempty"`
Type SourceType `json:"type"`
WriteTemplate *string `json:"write_template,omitempty"`
}
// SourceList defines model for SourceList.
type SourceList struct {
Items []Source `json:"items"`
}
// SourcePatch defines model for SourcePatch.
type SourcePatch struct {
// AcceptsUploads Смена переподключает NFS-хранилище (rw-точка агента)
AcceptsUploads *bool `json:"accepts_uploads,omitempty"`
// Enabled false — отключить хранилище (треки становятся недоступны), true — подключить снова
Enabled *bool `json:"enabled,omitempty"`
LocalPath *string `json:"local_path,omitempty"`
Name *string `json:"name,omitempty"`
NfsExport *string `json:"nfs_export,omitempty"`
NfsOptions *string `json:"nfs_options,omitempty"`
NfsServer *string `json:"nfs_server,omitempty"`
// ScanIntervalMinutes 0 — отключить автоматический скан
ScanIntervalMinutes *int `json:"scan_interval_minutes,omitempty"`
TagPriority *TagPriority `json:"tag_priority,omitempty"`
// WriteTemplate Шаблон пути новых файлов; пусто — убрать. Неверный синтаксис — `422 validation.template_invalid`
// с `params.reason`. Проверка обратимости не обязательна для сохранения — её показывает `write-template/check`.
WriteTemplate *string `json:"write_template,omitempty"`
}
// SourceStatus defines model for SourceStatus.
type SourceStatus string
// SourceStatusItem defines model for SourceStatusItem.
type SourceStatusItem struct {
Id openapi_types.UUID `json:"id"`
LastScanAt *time.Time `json:"last_scan_at"`
Name string `json:"name"`
Scan *ScanProgress `json:"scan"`
Status SourceStatus `json:"status"`
StatusMessage *string `json:"status_message"`
}
// SourceTestResult defines model for SourceTestResult.
type SourceTestResult struct {
// AudioFiles Сколько аудиофайлов найдено (проверка останавливается на 1000)
AudioFiles int `json:"audio_files"`
Message string `json:"message"`
Ok bool `json:"ok"`
WriteMessage *string `json:"write_message"`
// WriteOk Удалось создать и удалить `.pipu-write-test` (только для accepts_uploads; иначе null)
WriteOk *bool `json:"write_ok"`
}
// SourceType defines model for SourceType.
type SourceType string
// StreamQuality defines model for StreamQuality.
type StreamQuality string
// TagPriority defines model for TagPriority.
type TagPriority string
// TemporaryPassword defines model for TemporaryPassword.
type TemporaryPassword struct {
TemporaryPassword string `json:"temporary_password"`
}
// Track defines model for Track.
type Track struct {
Album AlbumRef `json:"album"`
Artists []ArtistRef `json:"artists"`
// Available Есть доступный файл (хранилище подключено, файл на месте)
Available bool `json:"available"`
DiscNo *int `json:"disc_no"`
DurationMs int `json:"duration_ms"`
// Features Аудиопризнаки (после анализа) — для анимации волны и выравнивания громкости
Features *TrackFeatures `json:"features"`
Genres []string `json:"genres"`
Id openapi_types.UUID `json:"id"`
Reaction *Reaction `json:"reaction"`
// StreamUrl Подписанная ссылка на аудио (12 ч); null — трек недоступен
StreamUrl *string `json:"stream_url"`
Title string `json:"title"`
TrackNo *int `json:"track_no"`
}
// TrackFeatures defines model for TrackFeatures.
type TrackFeatures struct {
Bpm *float32 `json:"bpm"`
Energy *float32 `json:"energy"`
LoudnessLufs *float32 `json:"loudness_lufs"`
}
// TrackIds defines model for TrackIds.
type TrackIds struct {
Ids []openapi_types.UUID `json:"ids"`
}
// TrackList defines model for TrackList.
type TrackList struct {
Items []Track `json:"items"`
}
// TrackMeta defines model for TrackMeta.
type TrackMeta struct {
Album string `json:"album"`
AlbumArtist string `json:"album_artist"`
Artist string `json:"artist"`
Disc *int `json:"disc"`
Genres []string `json:"genres"`
Title string `json:"title"`
Track *int `json:"track"`
Year *int `json:"year"`
}
// UiPrefs defines model for UiPrefs.
type UiPrefs struct {
Ambient *bool `json:"ambient,omitempty"`
CrossfadeS *int `json:"crossfade_s,omitempty"`
// HomeActivities Показывать на главной веба выбор занятия (по умолчанию true)
HomeActivities *bool `json:"home_activities,omitempty"`
// HomeMoods Показывать на главной веба выбор настроения (по умолчанию true)
HomeMoods *bool `json:"home_moods,omitempty"`
MobilePlayer *UiPrefsMobilePlayer `json:"mobile_player,omitempty"`
Normalize *bool `json:"normalize,omitempty"`
// SearchCollapse Сворачивать поиск в кнопку с лупой без фокуса (по умолчанию false)
SearchCollapse *bool `json:"search_collapse,omitempty"`
// SearchPosition Где в топбаре веба поиск (по умолчанию center)
SearchPosition *UiPrefsSearchPosition `json:"search_position,omitempty"`
Theme *UiPrefsTheme `json:"theme,omitempty"`
WaveVariant *UiPrefsWaveVariant `json:"wave_variant,omitempty"`
WebPlayer *UiPrefsWebPlayer `json:"web_player,omitempty"`
}
// UiPrefsMobilePlayer defines model for UiPrefs.MobilePlayer.
type UiPrefsMobilePlayer string
// UiPrefsSearchPosition Где в топбаре веба поиск (по умолчанию center)
type UiPrefsSearchPosition string
// UiPrefsTheme defines model for UiPrefs.Theme.
type UiPrefsTheme string
// UiPrefsWaveVariant defines model for UiPrefs.WaveVariant.
type UiPrefsWaveVariant string
// UiPrefsWebPlayer defines model for UiPrefs.WebPlayer.
type UiPrefsWebPlayer string
// UpdateMeRequest defines model for UpdateMeRequest.
type UpdateMeRequest struct {
// DisplayName Пустая строка — сбросить имя
DisplayName *string `json:"display_name,omitempty"`
Locale *string `json:"locale,omitempty"`
UiPrefs *UiPrefs `json:"ui_prefs,omitempty"`
}
// UpdateUserRequest defines model for UpdateUserRequest.
type UpdateUserRequest struct {
// DisplayName Пустая строка — сбросить имя
DisplayName *string `json:"display_name,omitempty"`
IsBlocked *bool `json:"is_blocked,omitempty"`
// ReviewsUploads Выдать или забрать аудит загрузок. Может менять только админ, в том числе у себя
ReviewsUploads *bool `json:"reviews_uploads,omitempty"`
Role *Role `json:"role,omitempty"`
// Username Новый логин. Может менять только администратор, в том числе у себя
Username *string `json:"username,omitempty"`
}
// UploadBatchCreated defines model for UploadBatchCreated.
type UploadBatchCreated struct {
BatchId openapi_types.UUID `json:"batch_id"`
Files []struct {
ClientId string `json:"client_id"`
// Rejected Код отказа — uploads.queue_full, uploads.user_quota_full, uploads.too_large, uploads.duplicate, uploads.unsupported_format
Rejected *string `json:"rejected"`
TrackId *openapi_types.UUID `json:"track_id"`
TusUrl *string `json:"tus_url"`
UploadFileId *openapi_types.UUID `json:"upload_file_id"`
} `json:"files"`
}
// UploadBatchPatch Пустые поля не меняют файлы. cover_base64 null снимает обложку пачки.
type UploadBatchPatch struct {
Album *string `json:"album,omitempty"`
Artist *string `json:"artist,omitempty"`
// CoverBase64 JPEG, PNG или WebP, не больше 8 МБ после декодирования
CoverBase64 *string `json:"cover_base64"`
Year *int `json:"year"`
}
// UploadBatchRequest defines model for UploadBatchRequest.
type UploadBatchRequest struct {
Comment *string `json:"comment,omitempty"`
Files []struct {
ClientId string `json:"client_id"`
Name string `json:"name"`
// RelPath Относительный путь в перетащенной папке
RelPath *string `json:"rel_path,omitempty"`
Sha256 string `json:"sha256"`
Size int64 `json:"size"`
} `json:"files"`
}
// UploadFile defines model for UploadFile.
type UploadFile struct {
Author UserRef `json:"author"`
BatchComment *string `json:"batch_comment"`
BatchId openapi_types.UUID `json:"batch_id"`
BitDepth *int `json:"bit_depth"`
Bitrate *int `json:"bitrate"`
ClientRelPath *string `json:"client_rel_path"`
Codec *string `json:"codec"`
CreatedAt time.Time `json:"created_at"`
DuplicateLevel *UploadFileDuplicateLevel `json:"duplicate_level"`
DuplicateOfTrackId *openapi_types.UUID `json:"duplicate_of_track_id"`
DurationMs *int `json:"duration_ms"`
Format *string `json:"format"`
Id openapi_types.UUID `json:"id"`
// MatchedAlbumId Найден в каталоге — «будет добавлено к существующему альбому»
MatchedAlbumId *openapi_types.UUID `json:"matched_album_id"`
// MatchedArtistId Найден в каталоге — файл добавится к существующему исполнителю
MatchedArtistId *openapi_types.UUID `json:"matched_artist_id"`
Metadata *UploadMeta `json:"metadata"`
MetadataEdited bool `json:"metadata_edited"`
OriginalName string `json:"original_name"`
PossibleDuplicate bool `json:"possible_duplicate"`
// QualityUpgrade Тот же трек, но лучшего качества — ждёт решения, если включён allow_quality_upgrade
QualityUpgrade bool `json:"quality_upgrade"`
ReceivedBytes int64 `json:"received_bytes"`
ReviewedAt *time.Time `json:"reviewed_at"`
SampleRate *int `json:"sample_rate"`
SizeBytes int64 `json:"size_bytes"`
Status UploadStatus `json:"status"`
StatusReason *string `json:"status_reason"`
// StreamUrl Подписанная ссылка прослушивания из staging; null, если файла уже нет
StreamUrl *string `json:"stream_url"`
Tags map[string]string `json:"tags"`
// TargetRelPath Путь в хранилище по write_template (null — не построился, причина в status_reason)
TargetRelPath *string `json:"target_rel_path"`
TargetSourceId *openapi_types.UUID `json:"target_source_id"`
// TusUrl Только автору и пока файл в статусе uploading
TusUrl *string `json:"tus_url"`
UpdatedAt time.Time `json:"updated_at"`
}
// UploadFileDuplicateLevel defines model for UploadFile.DuplicateLevel.
type UploadFileDuplicateLevel string
// UploadFilePage defines model for UploadFilePage.
type UploadFilePage struct {
Items []UploadFile `json:"items"`
NextCursor *string `json:"next_cursor"`
}
// UploadMeta defines model for UploadMeta.
type UploadMeta struct {
Album string `json:"album"`
Albumartist string `json:"albumartist"`
Artist string `json:"artist"`
Disc *int `json:"disc"`
Genre string `json:"genre"`
Title string `json:"title"`
Track *int `json:"track"`
Year *int `json:"year"`
}
// UploadPatch defines model for UploadPatch.
type UploadPatch struct {
Metadata *UploadMeta `json:"metadata,omitempty"`
TargetSourceId *openapi_types.UUID `json:"target_source_id,omitempty"`
}
// UploadPrecheckRequest defines model for UploadPrecheckRequest.
type UploadPrecheckRequest struct {
Files []struct {
Album *string `json:"album,omitempty"`
Artist *string `json:"artist,omitempty"`
ClientId string `json:"client_id"`
DurationMs *int `json:"duration_ms,omitempty"`
Sha256 string `json:"sha256"`
Size int64 `json:"size"`
Title *string `json:"title,omitempty"`
} `json:"files"`
}
// UploadPrecheckResult defines model for UploadPrecheckResult.
type UploadPrecheckResult struct {
Files []struct {
ClientId string `json:"client_id"`
// PossibleDuplicate Совпали только метаданные — файл примут, админ решит
PossibleDuplicate bool `json:"possible_duplicate"`
Result UploadPrecheckResultFilesResult `json:"result"`
// TrackId С каким треком совпал (дубль или похожие метаданные)
TrackId *openapi_types.UUID `json:"track_id"`
} `json:"files"`
}
// UploadPrecheckResultFilesResult defines model for UploadPrecheckResult.Files.Result.
type UploadPrecheckResultFilesResult string
// UploadQuota defines model for UploadQuota.
type UploadQuota struct {
LimitBytes int64 `json:"limit_bytes"`
MaxFileBytes int64 `json:"max_file_bytes"`
PerUserLimitBytes *int64 `json:"per_user_limit_bytes"`
UsedBytes int64 `json:"used_bytes"`
UserUsedBytes int64 `json:"user_used_bytes"`
}
// UploadReviewRequest defines model for UploadReviewRequest.
type UploadReviewRequest struct {
Decision UploadReviewRequestDecision `json:"decision"`
FileIds []openapi_types.UUID `json:"file_ids"`
// Reason Причина отклонения — её видит автор
Reason *string `json:"reason,omitempty"`
}
// UploadReviewRequestDecision defines model for UploadReviewRequest.Decision.
type UploadReviewRequestDecision string
// UploadReviewResult defines model for UploadReviewResult.
type UploadReviewResult struct {
Items []struct {
Error *Problem `json:"error"`
Id openapi_types.UUID `json:"id"`
Ok bool `json:"ok"`
} `json:"items"`
}
// UploadSettings defines model for UploadSettings.
type UploadSettings struct {
// AllowQualityUpgrade Тот же трек в лучшем качестве идёт на рассмотрение, а не в дубли
AllowQualityUpgrade bool `json:"allow_quality_upgrade"`
DefaultSourceId *openapi_types.UUID `json:"default_source_id"`
MaxFileBytes int64 `json:"max_file_bytes"`
PerUserLimitBytes *int64 `json:"per_user_limit_bytes"`
QueueLimitBytes int64 `json:"queue_limit_bytes"`
}
// UploadSettingsPatch Лимит на пользователя и хранилище по умолчанию передаются всегда (null — выключить / не задано).
type UploadSettingsPatch struct {
AllowQualityUpgrade *bool `json:"allow_quality_upgrade,omitempty"`
// DefaultSourceId null — без хранилища по умолчанию
DefaultSourceId *openapi_types.UUID `json:"default_source_id"`
MaxFileBytes *int64 `json:"max_file_bytes,omitempty"`
// PerUserLimitBytes null — выключить лимит на пользователя
PerUserLimitBytes *int64 `json:"per_user_limit_bytes"`
QueueLimitBytes *int64 `json:"queue_limit_bytes,omitempty"`
}
// UploadStatus defines model for UploadStatus.
type UploadStatus string
// UserRef defines model for UserRef.
type UserRef struct {
Id openapi_types.UUID `json:"id"`
Username string `json:"username"`
}
// WaveBatch defines model for WaveBatch.
type WaveBatch struct {
Activity *string `json:"activity"`
// Fallback Рекомендатель недоступен — пачка собрана упрощённо (лайки, любимые исполнители)
Fallback bool `json:"fallback"`
Mood *string `json:"mood"`
SessionId openapi_types.UUID `json:"session_id"`
Tracks []Track `json:"tracks"`
}
// WaveContext defines model for WaveContext.
type WaveContext struct {
Activity *string `json:"activity"`
Mood *string `json:"mood"`
}
// WaveFeedback defines model for WaveFeedback.
type WaveFeedback struct {
Outcome WaveFeedbackOutcome `json:"outcome"`
TrackId openapi_types.UUID `json:"track_id"`
}
// WaveFeedbackOutcome defines model for WaveFeedback.Outcome.
type WaveFeedbackOutcome string
// WaveMetrics Метрики волны за 7 дней
type WaveMetrics struct {
// ByModel Те же метрики по версии модели показа (v1 / ALS / ранжировщик) — сравнение онлайн
ByModel []WaveModelMetrics `json:"by_model"`
EarlySkipRate *float32 `json:"early_skip_rate"`
// LikeRate Лайков на 100 треков
LikeRate *float32 `json:"like_rate"`
ListenThroughRate *float32 `json:"listen_through_rate"`
Served int `json:"served"`
Sessions int `json:"sessions"`
}
// WaveModelMetrics defines model for WaveModelMetrics.
type WaveModelMetrics struct {
EarlySkipRate *float32 `json:"early_skip_rate"`
LikeRate *float32 `json:"like_rate"`
ListenThroughRate *float32 `json:"listen_through_rate"`
ModelVer string `json:"model_ver"`
Served int `json:"served"`
}
// WaveNext defines model for WaveNext.
type WaveNext struct {
Feedback *[]WaveFeedback `json:"feedback,omitempty"`
}
// WaveOption defines model for WaveOption.
type WaveOption struct {
// Icon Имя иконки Material Symbols
Icon string `json:"icon"`
Key string `json:"key"`
}
// WaveOptions defines model for WaveOptions.
type WaveOptions struct {
Activities []WaveOption `json:"activities"`
Moods []WaveOption `json:"moods"`
}
// WaveStart defines model for WaveStart.
type WaveStart struct {
Activity *string `json:"activity"`
Mood *string `json:"mood"`
Seed *struct {
Id openapi_types.UUID `json:"id"`
Type WaveStartSeedType `json:"type"`
} `json:"seed,omitempty"`
}
// WaveStartSeedType defines model for WaveStart.Seed.Type.
type WaveStartSeedType string
// WriteTemplateCheck defines model for WriteTemplateCheck.
type WriteTemplateCheck struct {
Mismatches []WriteTemplateMismatch `json:"mismatches"`
// Ok Все пути разобраны обратно без изменений и ≥ 90% совпали с реальными
Ok bool `json:"ok"`
RoundTrip int `json:"round_trip"`
SamePath int `json:"same_path"`
Total int `json:"total"`
}
// WriteTemplateCheckRequest defines model for WriteTemplateCheckRequest.
type WriteTemplateCheckRequest struct {
Template string `json:"template"`
}
// WriteTemplateMismatch defines model for WriteTemplateMismatch.
type WriteTemplateMismatch struct {
Error *string `json:"error"`
// Fields Поля, которые регэкспы хранилища распознали не так; `pattern` — не совпало ни одно выражение
Fields []string `json:"fields"`
// RelPath Реальный путь файла
RelPath string `json:"rel_path"`
// Rendered Путь по шаблону, null — не построился
Rendered *string `json:"rendered"`
}
// WriteTemplateSuggestion defines model for WriteTemplateSuggestion.
type WriteTemplateSuggestion struct {
Template string `json:"template"`
}
// Cursor defines model for Cursor.
type Cursor = string
// EntityId defines model for EntityId.
type EntityId = openapi_types.UUID
// Limit defines model for Limit.
type Limit = int
// SourceId defines model for SourceId.
type SourceId = openapi_types.UUID
// UploadStatusFilter defines model for UploadStatusFilter.
type UploadStatusFilter = []UploadStatus
// UserId defines model for UserId.
type UserId = openapi_types.UUID
// ListAuditParams defines parameters for ListAudit.
type ListAuditParams struct {
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// ListLibraryErrorsParams defines parameters for ListLibraryErrors.
type ListLibraryErrorsParams struct {
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// ListHostDirsParams defines parameters for ListHostDirs.
type ListHostDirsParams struct {
// Path Путь относительно корня, пусто — корень
Path *string `form:"path,omitempty" json:"path,omitempty"`
}
// ListUploadsParams defines parameters for ListUploads.
type ListUploadsParams struct {
// Status Статусы через запятую
Status *UploadStatusFilter `form:"status,omitempty" json:"status,omitempty"`
Author *openapi_types.UUID `form:"author,omitempty" json:"author,omitempty"`
Batch *openapi_types.UUID `form:"batch,omitempty" json:"batch,omitempty"`
PossibleDuplicate *bool `form:"possible_duplicate,omitempty" json:"possible_duplicate,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// StreamUploadParams defines parameters for StreamUpload.
type StreamUploadParams struct {
Exp int64 `form:"exp" json:"exp"`
Sig string `form:"sig" json:"sig"`
}
// ListUsersParams defines parameters for ListUsers.
type ListUsersParams struct {
Q *string `form:"q,omitempty" json:"q,omitempty"`
Role *Role `form:"role,omitempty" json:"role,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// ListArtistTopTracksParams defines parameters for ListArtistTopTracks.
type ListArtistTopTracksParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}
// RefreshTokensParams defines parameters for RefreshTokens.
type RefreshTokensParams struct {
PipuRt *string `form:"pipu_rt,omitempty" json:"pipu_rt,omitempty"`
}
// GetCoverParams defines parameters for GetCover.
type GetCoverParams struct {
V string `form:"v" json:"v"`
Sig string `form:"sig" json:"sig"`
Size *GetCoverParamsSize `form:"size,omitempty" json:"size,omitempty"`
}
// GetCoverParamsSize defines parameters for GetCover.
type GetCoverParamsSize int
// GetDislikesParams defines parameters for GetDislikes.
type GetDislikesParams struct {
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// GetHistoryParams defines parameters for GetHistory.
type GetHistoryParams struct {
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// GetLikesParams defines parameters for GetLikes.
type GetLikesParams struct {
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// SearchParams defines parameters for Search.
type SearchParams struct {
Q string `form:"q" json:"q"`
Type *SearchParamsType `form:"type,omitempty" json:"type,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// SearchParamsType defines parameters for Search.
type SearchParamsType string
// SearchSuggestParams defines parameters for SearchSuggest.
type SearchSuggestParams struct {
Q string `form:"q" json:"q"`
}
// StreamTrackParams defines parameters for StreamTrack.
type StreamTrackParams struct {
U openapi_types.UUID `form:"u" json:"u"`
Exp int64 `form:"exp" json:"exp"`
Sig string `form:"sig" json:"sig"`
Q *StreamQuality `form:"q,omitempty" json:"q,omitempty"`
}
// ListMyUploadsParams defines parameters for ListMyUploads.
type ListMyUploadsParams struct {
// Status Статусы через запятую
Status *UploadStatusFilter `form:"status,omitempty" json:"status,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Cursor Непрозрачный курсор из `next_cursor` предыдущей страницы
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
}
// UpdateUploadSettingsJSONRequestBody defines body for UpdateUploadSettings for application/json ContentType.
type UpdateUploadSettingsJSONRequestBody = UploadSettingsPatch
// CreateSourceJSONRequestBody defines body for CreateSource for application/json ContentType.
type CreateSourceJSONRequestBody = SourceInput
// UpdateSourceJSONRequestBody defines body for UpdateSource for application/json ContentType.
type UpdateSourceJSONRequestBody = SourcePatch
// PutSourcePatternsJSONRequestBody defines body for PutSourcePatterns for application/json ContentType.
type PutSourcePatternsJSONRequestBody = PatternList
// PreviewSourcePatternsJSONRequestBody defines body for PreviewSourcePatterns for application/json ContentType.
type PreviewSourcePatternsJSONRequestBody = PatternPreviewRequest
// ScanSourceJSONRequestBody defines body for ScanSource for application/json ContentType.
type ScanSourceJSONRequestBody = ScanRequest
// CheckWriteTemplateJSONRequestBody defines body for CheckWriteTemplate for application/json ContentType.
type CheckWriteTemplateJSONRequestBody = WriteTemplateCheckRequest
// UpdateUploadBatchJSONRequestBody defines body for UpdateUploadBatch for application/json ContentType.
type UpdateUploadBatchJSONRequestBody = UploadBatchPatch
// UpdateUploadJSONRequestBody defines body for UpdateUpload for application/json ContentType.
type UpdateUploadJSONRequestBody = UploadPatch
// ReviewUploadsJSONRequestBody defines body for ReviewUploads for application/json ContentType.
type ReviewUploadsJSONRequestBody = UploadReviewRequest
// CreateUserJSONRequestBody defines body for CreateUser for application/json ContentType.
type CreateUserJSONRequestBody = CreateUserRequest
// UpdateUserJSONRequestBody defines body for UpdateUser for application/json ContentType.
type UpdateUserJSONRequestBody = UpdateUserRequest
// LoginJSONRequestBody defines body for Login for application/json ContentType.
type LoginJSONRequestBody = LoginRequest
// RefreshTokensJSONRequestBody defines body for RefreshTokens for application/json ContentType.
type RefreshTokensJSONRequestBody = RefreshRequest
// PostEventsJSONRequestBody defines body for PostEvents for application/json ContentType.
type PostEventsJSONRequestBody = EventBatch
// UpdateMeJSONRequestBody defines body for UpdateMe for application/json ContentType.
type UpdateMeJSONRequestBody = UpdateMeRequest
// SetBootstrapCredentialsJSONRequestBody defines body for SetBootstrapCredentials for application/json ContentType.
type SetBootstrapCredentialsJSONRequestBody = BootstrapCredentialsRequest
// SaveOnboardingJSONRequestBody defines body for SaveOnboarding for application/json ContentType.
type SaveOnboardingJSONRequestBody = OnboardingChoice
// ChangePasswordJSONRequestBody defines body for ChangePassword for application/json ContentType.
type ChangePasswordJSONRequestBody = ChangePasswordRequest
// PutPlaybackStateJSONRequestBody defines body for PutPlaybackState for application/json ContentType.
type PutPlaybackStateJSONRequestBody = PlaybackStateInput
// CreatePlaylistJSONRequestBody defines body for CreatePlaylist for application/json ContentType.
type CreatePlaylistJSONRequestBody = PlaylistInput
// UpdatePlaylistJSONRequestBody defines body for UpdatePlaylist for application/json ContentType.
type UpdatePlaylistJSONRequestBody = PlaylistUpdate
// SetTrackReactionJSONRequestBody defines body for SetTrackReaction for application/json ContentType.
type SetTrackReactionJSONRequestBody = ReactionInput
// GetTracksBatchJSONRequestBody defines body for GetTracksBatch for application/json ContentType.
type GetTracksBatchJSONRequestBody = TrackIds
// CreateUploadBatchJSONRequestBody defines body for CreateUploadBatch for application/json ContentType.
type CreateUploadBatchJSONRequestBody = UploadBatchRequest
// PrecheckUploadsJSONRequestBody defines body for PrecheckUploads for application/json ContentType.
type PrecheckUploadsJSONRequestBody = UploadPrecheckRequest
// StartWaveJSONRequestBody defines body for StartWave for application/json ContentType.
type StartWaveJSONRequestBody = WaveStart
// UpdateWaveJSONRequestBody defines body for UpdateWave for application/json ContentType.
type UpdateWaveJSONRequestBody = WaveContext
// NextWaveJSONRequestBody defines body for NextWave for application/json ContentType.
type NextWaveJSONRequestBody = WaveNext
// ServerInterface represents all server handlers.
type ServerInterface interface {
// Журнал действий (admin), новые сверху
// (GET /api/v1/admin/audit)
ListAudit(w http.ResponseWriter, r *http.Request, params ListAuditParams)
// Вернуть в очередь треки, которые не удалось проанализировать (admin)
// (POST /api/v1/admin/library/analysis/retry)
RetryAnalysis(w http.ResponseWriter, r *http.Request)
// Файлы, которые не удалось прочитать (admin)
// (GET /api/v1/admin/library/errors)
ListLibraryErrors(w http.ResponseWriter, r *http.Request, params ListLibraryErrorsParams)
// Подпапки каталога LIBRARY_HOST — выбор папки для local-хранилища (admin)
// (GET /api/v1/admin/library/host-dirs)
ListHostDirs(w http.ResponseWriter, r *http.Request, params ListHostDirsParams)
// Состояние библиотеки (admin, moderator)
// (GET /api/v1/admin/library/status)
GetLibraryStatus(w http.ResponseWriter, r *http.Request)
// Пересобрать поисковые индексы (admin)
// (POST /api/v1/admin/search/reindex)
ReindexSearch(w http.ResponseWriter, r *http.Request)
// Настройки очереди (admin)
// (GET /api/v1/admin/settings/uploads)
GetUploadSettings(w http.ResponseWriter, r *http.Request)
// Изменить настройки очереди (admin)
// (PATCH /api/v1/admin/settings/uploads)
UpdateUploadSettings(w http.ResponseWriter, r *http.Request)
// Хранилища (admin)
// (GET /api/v1/admin/sources)
ListSources(w http.ResponseWriter, r *http.Request)
// Подключить хранилище (admin)
// (POST /api/v1/admin/sources)
CreateSource(w http.ResponseWriter, r *http.Request)
// Отключить и удалить хранилище (admin)
// (DELETE /api/v1/admin/sources/{id})
DeleteSource(w http.ResponseWriter, r *http.Request, id SourceId)
// Хранилище (admin)
// (GET /api/v1/admin/sources/{id})
GetSource(w http.ResponseWriter, r *http.Request, id SourceId)
// Изменить хранилище (admin)
// (PATCH /api/v1/admin/sources/{id})
UpdateSource(w http.ResponseWriter, r *http.Request, id SourceId)
// Шаблоны путей (admin)
// (GET /api/v1/admin/sources/{id}/patterns)
GetSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId)
// Заменить шаблоны путей (admin)
// (PUT /api/v1/admin/sources/{id}/patterns)
PutSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId)
// Предпросмотр разбора путей без сохранения (admin)
// (POST /api/v1/admin/sources/{id}/patterns/preview)
PreviewSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId)
// Запустить скан (admin)
// (POST /api/v1/admin/sources/{id}/scan)
ScanSource(w http.ResponseWriter, r *http.Request, id SourceId)
// Проверить подключение (admin)
// (POST /api/v1/admin/sources/{id}/test)
TestSource(w http.ResponseWriter, r *http.Request, id SourceId)
// Проверить шаблон на обратимость (admin)
// (POST /api/v1/admin/sources/{id}/write-template/check)
CheckWriteTemplate(w http.ResponseWriter, r *http.Request, id SourceId)
// Подобрать шаблон пути по существующей структуре (admin)
// (POST /api/v1/admin/sources/{id}/write-template/suggest)
SuggestWriteTemplate(w http.ResponseWriter, r *http.Request, id SourceId)
// Очередь на добавление (admin)
// (GET /api/v1/admin/uploads)
ListUploads(w http.ResponseWriter, r *http.Request, params ListUploadsParams)
// Правка метаданных и обложки на всю пачку (admin)
// (PATCH /api/v1/admin/uploads/batches/{id})
UpdateUploadBatch(w http.ResponseWriter, r *http.Request, id EntityId)
// Править метаданные и хранилище (admin)
// (PATCH /api/v1/admin/uploads/files/{id})
UpdateUpload(w http.ResponseWriter, r *http.Request, id EntityId)
// Повторить импорт после import_failed (admin)
// (POST /api/v1/admin/uploads/files/{id}/retry)
RetryUploadImport(w http.ResponseWriter, r *http.Request, id EntityId)
// Прослушать файл из staging (подпись, как у стрима трека)
// (GET /api/v1/admin/uploads/files/{id}/stream)
StreamUpload(w http.ResponseWriter, r *http.Request, id EntityId, params StreamUploadParams)
// Одобрить / отклонить файлы (admin)
// (POST /api/v1/admin/uploads/review)
ReviewUploads(w http.ResponseWriter, r *http.Request)
// Пользователи (admin, moderator)
// (GET /api/v1/admin/users)
ListUsers(w http.ResponseWriter, r *http.Request, params ListUsersParams)
// Создать пользователя
// (POST /api/v1/admin/users)
CreateUser(w http.ResponseWriter, r *http.Request)
// Удалить пользователя (admin)
// (DELETE /api/v1/admin/users/{id})
DeleteUser(w http.ResponseWriter, r *http.Request, id UserId)
// Изменить имя, роль, блокировку
// (PATCH /api/v1/admin/users/{id})
UpdateUser(w http.ResponseWriter, r *http.Request, id UserId)
// Сбросить пароль
// (POST /api/v1/admin/users/{id}/reset-password)
ResetUserPassword(w http.ResponseWriter, r *http.Request, id UserId)
// Сбросить рекомендации
// (POST /api/v1/admin/users/{id}/reset-recommendations)
ResetUserRecommendations(w http.ResponseWriter, r *http.Request, id UserId)
// Альбом с треками
// (GET /api/v1/albums/{id})
GetAlbum(w http.ResponseWriter, r *http.Request, id EntityId)
// APK версии (кэшируется на сервере, поддерживает Range для докачки)
// (GET /api/v1/app/android/download/{version})
DownloadAndroidApk(w http.ResponseWriter, r *http.Request, version string)
// Последняя версия Android-приложения (из релизов Gitea через сервер)
// (GET /api/v1/app/android/latest)
GetAndroidLatest(w http.ResponseWriter, r *http.Request)
// Клиенты последнего релиза (Android и десктоп)
// (GET /api/v1/app/clients)
GetAppClients(w http.ResponseWriter, r *http.Request)
// Файл клиента (кэшируется на сервере, поддерживает Range)
// (GET /api/v1/app/download/{client}/{version})
DownloadAppClient(w http.ResponseWriter, r *http.Request, client AppClient, version string)
// Исполнитель
// (GET /api/v1/artists/{id})
GetArtist(w http.ResponseWriter, r *http.Request, id EntityId)
// Альбомы исполнителя (свои и сборники с его треками)
// (GET /api/v1/artists/{id}/albums)
ListArtistAlbums(w http.ResponseWriter, r *http.Request, id EntityId)
// Популярные треки исполнителя (по прослушиваниям всех пользователей)
// (GET /api/v1/artists/{id}/top-tracks)
ListArtistTopTracks(w http.ResponseWriter, r *http.Request, id EntityId, params ListArtistTopTracksParams)
// Вход по логину и паролю
// (POST /api/v1/auth/login)
Login(w http.ResponseWriter, r *http.Request)
// Выход — отзыв текущей сессии
// (POST /api/v1/auth/logout)
Logout(w http.ResponseWriter, r *http.Request)
// Выход на всех устройствах
// (POST /api/v1/auth/logout-all)
LogoutAll(w http.ResponseWriter, r *http.Request)
// Ротация refresh-токена
// (POST /api/v1/auth/refresh)
RefreshTokens(w http.ResponseWriter, r *http.Request, params RefreshTokensParams)
// Обложка альбома (WebP)
// (GET /api/v1/covers/{id})
GetCover(w http.ResponseWriter, r *http.Request, id EntityId, params GetCoverParams)
// Пачка событий прослушивания (до 500)
// (POST /api/v1/events)
PostEvents(w http.ResponseWriter, r *http.Request)
// Текущий пользователь
// (GET /api/v1/me)
GetMe(w http.ResponseWriter, r *http.Request)
// Изменить имя, язык, настройки интерфейса
// (PATCH /api/v1/me)
UpdateMe(w http.ResponseWriter, r *http.Request)
// Первый запуск — новые логин и пароль администратора
// (POST /api/v1/me/bootstrap-credentials)
SetBootstrapCredentials(w http.ResponseWriter, r *http.Request)
// Дизлайки, новые сверху
// (GET /api/v1/me/dislikes)
GetDislikes(w http.ResponseWriter, r *http.Request, params GetDislikesParams)
// Очистить историю (события остаются для статистики)
// (DELETE /api/v1/me/history)
ClearHistory(w http.ResponseWriter, r *http.Request)
// История прослушиваний, новые сверху
// (GET /api/v1/me/history)
GetHistory(w http.ResponseWriter, r *http.Request, params GetHistoryParams)
// Лайки, новые сверху
// (GET /api/v1/me/likes)
GetLikes(w http.ResponseWriter, r *http.Request, params GetLikesParams)
// Сохранить выбор онбординга (или пропуск — пустые списки)
// (PUT /api/v1/me/onboarding)
SaveOnboarding(w http.ResponseWriter, r *http.Request)
// Сменить пароль
// (POST /api/v1/me/password)
ChangePassword(w http.ResponseWriter, r *http.Request)
// Последнее состояние плеера (трек, позиция, очередь)
// (GET /api/v1/me/playback-state)
GetPlaybackState(w http.ResponseWriter, r *http.Request)
// Сохранить состояние плеера (last-write-wins)
// (PUT /api/v1/me/playback-state)
PutPlaybackState(w http.ResponseWriter, r *http.Request)
// (GET /api/v1/me/playlists)
ListPlaylists(w http.ResponseWriter, r *http.Request)
// (POST /api/v1/me/playlists)
CreatePlaylist(w http.ResponseWriter, r *http.Request)
// (DELETE /api/v1/me/playlists/{id})
DeletePlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
// (GET /api/v1/me/playlists/{id})
GetPlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
// (PUT /api/v1/me/playlists/{id})
UpdatePlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
// Снять реакцию
// (DELETE /api/v1/me/reactions/tracks/{id})
ClearTrackReaction(w http.ResponseWriter, r *http.Request, id EntityId)
// Лайк или дизлайк трека
// (PUT /api/v1/me/reactions/tracks/{id})
SetTrackReaction(w http.ResponseWriter, r *http.Request, id EntityId)
// Активные сессии (устройства)
// (GET /api/v1/me/sessions)
ListMySessions(w http.ResponseWriter, r *http.Request)
// Завершить сессию на устройстве
// (DELETE /api/v1/me/sessions/{id})
RevokeMySession(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
// Онбординг вкуса — исполнители и жанры библиотеки для выбора
// (GET /api/v1/onboarding)
GetOnboarding(w http.ResponseWriter, r *http.Request)
// Страница поиска
// (GET /api/v1/search)
Search(w http.ResponseWriter, r *http.Request, params SearchParams)
// Выпадающий список поиска — до 3 исполнителей, 3 альбомов, 5 треков
// (GET /api/v1/search/suggest)
SearchSuggest(w http.ResponseWriter, r *http.Request, params SearchSuggestParams)
// Сведения о сервере для клиентов
// (GET /api/v1/server-info)
GetServerInfo(w http.ResponseWriter, r *http.Request)
// Аудио трека (поддерживает Range)
// (GET /api/v1/stream/{id})
StreamTrack(w http.ResponseWriter, r *http.Request, id EntityId, params StreamTrackParams)
// Треки по списку id (восстановление очереди)
// (POST /api/v1/tracks/batch)
GetTracksBatch(w http.ResponseWriter, r *http.Request)
// Трек
// (GET /api/v1/tracks/{id})
GetTrack(w http.ResponseWriter, r *http.Request, id EntityId)
// Создать пачку и зарезервировать место (moderator, admin)
// (POST /api/v1/uploads)
CreateUploadBatch(w http.ResponseWriter, r *http.Request)
// Отозвать своё предложение до решения
// (DELETE /api/v1/uploads/files/{id})
WithdrawUpload(w http.ResponseWriter, r *http.Request, id EntityId)
// Мои предложения (moderator, admin)
// (GET /api/v1/uploads/mine)
ListMyUploads(w http.ResponseWriter, r *http.Request, params ListMyUploadsParams)
// Предпроверка дублей до загрузки (moderator, admin)
// (POST /api/v1/uploads/precheck)
PrecheckUploads(w http.ResponseWriter, r *http.Request)
// Квота очереди на добавление (moderator, admin)
// (GET /api/v1/uploads/quota)
GetUploadQuota(w http.ResponseWriter, r *http.Request)
// Отметить свои предложения просмотренными
// (POST /api/v1/uploads/seen)
MarkUploadsSeen(w http.ResponseWriter, r *http.Request)
// Сколько решений по своим предложениям с прошлого визита (moderator, admin)
// (GET /api/v1/uploads/unseen)
UnseenUploadDecisions(w http.ResponseWriter, r *http.Request)
// Занятия и настроения (ключи для i18n и иконки)
// (GET /api/v1/wave/options)
GetWaveOptions(w http.ResponseWriter, r *http.Request)
// Начать «Мою волну»
// (POST /api/v1/wave/sessions)
StartWave(w http.ResponseWriter, r *http.Request)
// Завершить сессию волны
// (DELETE /api/v1/wave/sessions/{id})
EndWave(w http.ResponseWriter, r *http.Request, id EntityId)
// Сменить занятие / настроение на лету — пачка пересобирается
// (PATCH /api/v1/wave/sessions/{id})
UpdateWave(w http.ResponseWriter, r *http.Request, id EntityId)
// Следующая пачка с учётом реакций на выданные треки
// (POST /api/v1/wave/sessions/{id}/next)
NextWave(w http.ResponseWriter, r *http.Request, id EntityId)
// Живость процесса
// (GET /healthz)
GetHealthz(w http.ResponseWriter, r *http.Request)
// Готовность обслуживать запросы (зависимости доступны)
// (GET /readyz)
GetReadyz(w http.ResponseWriter, r *http.Request)
}
// Unimplemented server implementation that returns http.StatusNotImplemented for each endpoint.
type Unimplemented struct{}
// Журнал действий (admin), новые сверху
// (GET /api/v1/admin/audit)
func (_ Unimplemented) ListAudit(w http.ResponseWriter, r *http.Request, params ListAuditParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Вернуть в очередь треки, которые не удалось проанализировать (admin)
// (POST /api/v1/admin/library/analysis/retry)
func (_ Unimplemented) RetryAnalysis(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Файлы, которые не удалось прочитать (admin)
// (GET /api/v1/admin/library/errors)
func (_ Unimplemented) ListLibraryErrors(w http.ResponseWriter, r *http.Request, params ListLibraryErrorsParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Подпапки каталога LIBRARY_HOST — выбор папки для local-хранилища (admin)
// (GET /api/v1/admin/library/host-dirs)
func (_ Unimplemented) ListHostDirs(w http.ResponseWriter, r *http.Request, params ListHostDirsParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Состояние библиотеки (admin, moderator)
// (GET /api/v1/admin/library/status)
func (_ Unimplemented) GetLibraryStatus(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Пересобрать поисковые индексы (admin)
// (POST /api/v1/admin/search/reindex)
func (_ Unimplemented) ReindexSearch(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Настройки очереди (admin)
// (GET /api/v1/admin/settings/uploads)
func (_ Unimplemented) GetUploadSettings(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Изменить настройки очереди (admin)
// (PATCH /api/v1/admin/settings/uploads)
func (_ Unimplemented) UpdateUploadSettings(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Хранилища (admin)
// (GET /api/v1/admin/sources)
func (_ Unimplemented) ListSources(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Подключить хранилище (admin)
// (POST /api/v1/admin/sources)
func (_ Unimplemented) CreateSource(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Отключить и удалить хранилище (admin)
// (DELETE /api/v1/admin/sources/{id})
func (_ Unimplemented) DeleteSource(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Хранилище (admin)
// (GET /api/v1/admin/sources/{id})
func (_ Unimplemented) GetSource(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Изменить хранилище (admin)
// (PATCH /api/v1/admin/sources/{id})
func (_ Unimplemented) UpdateSource(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Шаблоны путей (admin)
// (GET /api/v1/admin/sources/{id}/patterns)
func (_ Unimplemented) GetSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Заменить шаблоны путей (admin)
// (PUT /api/v1/admin/sources/{id}/patterns)
func (_ Unimplemented) PutSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Предпросмотр разбора путей без сохранения (admin)
// (POST /api/v1/admin/sources/{id}/patterns/preview)
func (_ Unimplemented) PreviewSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Запустить скан (admin)
// (POST /api/v1/admin/sources/{id}/scan)
func (_ Unimplemented) ScanSource(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Проверить подключение (admin)
// (POST /api/v1/admin/sources/{id}/test)
func (_ Unimplemented) TestSource(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Проверить шаблон на обратимость (admin)
// (POST /api/v1/admin/sources/{id}/write-template/check)
func (_ Unimplemented) CheckWriteTemplate(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Подобрать шаблон пути по существующей структуре (admin)
// (POST /api/v1/admin/sources/{id}/write-template/suggest)
func (_ Unimplemented) SuggestWriteTemplate(w http.ResponseWriter, r *http.Request, id SourceId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Очередь на добавление (admin)
// (GET /api/v1/admin/uploads)
func (_ Unimplemented) ListUploads(w http.ResponseWriter, r *http.Request, params ListUploadsParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Правка метаданных и обложки на всю пачку (admin)
// (PATCH /api/v1/admin/uploads/batches/{id})
func (_ Unimplemented) UpdateUploadBatch(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Править метаданные и хранилище (admin)
// (PATCH /api/v1/admin/uploads/files/{id})
func (_ Unimplemented) UpdateUpload(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Повторить импорт после import_failed (admin)
// (POST /api/v1/admin/uploads/files/{id}/retry)
func (_ Unimplemented) RetryUploadImport(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Прослушать файл из staging (подпись, как у стрима трека)
// (GET /api/v1/admin/uploads/files/{id}/stream)
func (_ Unimplemented) StreamUpload(w http.ResponseWriter, r *http.Request, id EntityId, params StreamUploadParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Одобрить / отклонить файлы (admin)
// (POST /api/v1/admin/uploads/review)
func (_ Unimplemented) ReviewUploads(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Пользователи (admin, moderator)
// (GET /api/v1/admin/users)
func (_ Unimplemented) ListUsers(w http.ResponseWriter, r *http.Request, params ListUsersParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Создать пользователя
// (POST /api/v1/admin/users)
func (_ Unimplemented) CreateUser(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Удалить пользователя (admin)
// (DELETE /api/v1/admin/users/{id})
func (_ Unimplemented) DeleteUser(w http.ResponseWriter, r *http.Request, id UserId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Изменить имя, роль, блокировку
// (PATCH /api/v1/admin/users/{id})
func (_ Unimplemented) UpdateUser(w http.ResponseWriter, r *http.Request, id UserId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сбросить пароль
// (POST /api/v1/admin/users/{id}/reset-password)
func (_ Unimplemented) ResetUserPassword(w http.ResponseWriter, r *http.Request, id UserId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сбросить рекомендации
// (POST /api/v1/admin/users/{id}/reset-recommendations)
func (_ Unimplemented) ResetUserRecommendations(w http.ResponseWriter, r *http.Request, id UserId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Альбом с треками
// (GET /api/v1/albums/{id})
func (_ Unimplemented) GetAlbum(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// APK версии (кэшируется на сервере, поддерживает Range для докачки)
// (GET /api/v1/app/android/download/{version})
func (_ Unimplemented) DownloadAndroidApk(w http.ResponseWriter, r *http.Request, version string) {
w.WriteHeader(http.StatusNotImplemented)
}
// Последняя версия Android-приложения (из релизов Gitea через сервер)
// (GET /api/v1/app/android/latest)
func (_ Unimplemented) GetAndroidLatest(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Клиенты последнего релиза (Android и десктоп)
// (GET /api/v1/app/clients)
func (_ Unimplemented) GetAppClients(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Файл клиента (кэшируется на сервере, поддерживает Range)
// (GET /api/v1/app/download/{client}/{version})
func (_ Unimplemented) DownloadAppClient(w http.ResponseWriter, r *http.Request, client AppClient, version string) {
w.WriteHeader(http.StatusNotImplemented)
}
// Исполнитель
// (GET /api/v1/artists/{id})
func (_ Unimplemented) GetArtist(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Альбомы исполнителя (свои и сборники с его треками)
// (GET /api/v1/artists/{id}/albums)
func (_ Unimplemented) ListArtistAlbums(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Популярные треки исполнителя (по прослушиваниям всех пользователей)
// (GET /api/v1/artists/{id}/top-tracks)
func (_ Unimplemented) ListArtistTopTracks(w http.ResponseWriter, r *http.Request, id EntityId, params ListArtistTopTracksParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Вход по логину и паролю
// (POST /api/v1/auth/login)
func (_ Unimplemented) Login(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Выход — отзыв текущей сессии
// (POST /api/v1/auth/logout)
func (_ Unimplemented) Logout(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Выход на всех устройствах
// (POST /api/v1/auth/logout-all)
func (_ Unimplemented) LogoutAll(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Ротация refresh-токена
// (POST /api/v1/auth/refresh)
func (_ Unimplemented) RefreshTokens(w http.ResponseWriter, r *http.Request, params RefreshTokensParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Обложка альбома (WebP)
// (GET /api/v1/covers/{id})
func (_ Unimplemented) GetCover(w http.ResponseWriter, r *http.Request, id EntityId, params GetCoverParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Пачка событий прослушивания (до 500)
// (POST /api/v1/events)
func (_ Unimplemented) PostEvents(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Текущий пользователь
// (GET /api/v1/me)
func (_ Unimplemented) GetMe(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Изменить имя, язык, настройки интерфейса
// (PATCH /api/v1/me)
func (_ Unimplemented) UpdateMe(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Первый запуск — новые логин и пароль администратора
// (POST /api/v1/me/bootstrap-credentials)
func (_ Unimplemented) SetBootstrapCredentials(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Дизлайки, новые сверху
// (GET /api/v1/me/dislikes)
func (_ Unimplemented) GetDislikes(w http.ResponseWriter, r *http.Request, params GetDislikesParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Очистить историю (события остаются для статистики)
// (DELETE /api/v1/me/history)
func (_ Unimplemented) ClearHistory(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// История прослушиваний, новые сверху
// (GET /api/v1/me/history)
func (_ Unimplemented) GetHistory(w http.ResponseWriter, r *http.Request, params GetHistoryParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Лайки, новые сверху
// (GET /api/v1/me/likes)
func (_ Unimplemented) GetLikes(w http.ResponseWriter, r *http.Request, params GetLikesParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сохранить выбор онбординга (или пропуск — пустые списки)
// (PUT /api/v1/me/onboarding)
func (_ Unimplemented) SaveOnboarding(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сменить пароль
// (POST /api/v1/me/password)
func (_ Unimplemented) ChangePassword(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Последнее состояние плеера (трек, позиция, очередь)
// (GET /api/v1/me/playback-state)
func (_ Unimplemented) GetPlaybackState(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сохранить состояние плеера (last-write-wins)
// (PUT /api/v1/me/playback-state)
func (_ Unimplemented) PutPlaybackState(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// (GET /api/v1/me/playlists)
func (_ Unimplemented) ListPlaylists(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// (POST /api/v1/me/playlists)
func (_ Unimplemented) CreatePlaylist(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// (DELETE /api/v1/me/playlists/{id})
func (_ Unimplemented) DeletePlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
w.WriteHeader(http.StatusNotImplemented)
}
// (GET /api/v1/me/playlists/{id})
func (_ Unimplemented) GetPlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
w.WriteHeader(http.StatusNotImplemented)
}
// (PUT /api/v1/me/playlists/{id})
func (_ Unimplemented) UpdatePlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
w.WriteHeader(http.StatusNotImplemented)
}
// Снять реакцию
// (DELETE /api/v1/me/reactions/tracks/{id})
func (_ Unimplemented) ClearTrackReaction(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Лайк или дизлайк трека
// (PUT /api/v1/me/reactions/tracks/{id})
func (_ Unimplemented) SetTrackReaction(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Активные сессии (устройства)
// (GET /api/v1/me/sessions)
func (_ Unimplemented) ListMySessions(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Завершить сессию на устройстве
// (DELETE /api/v1/me/sessions/{id})
func (_ Unimplemented) RevokeMySession(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
w.WriteHeader(http.StatusNotImplemented)
}
// Онбординг вкуса — исполнители и жанры библиотеки для выбора
// (GET /api/v1/onboarding)
func (_ Unimplemented) GetOnboarding(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Страница поиска
// (GET /api/v1/search)
func (_ Unimplemented) Search(w http.ResponseWriter, r *http.Request, params SearchParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Выпадающий список поиска — до 3 исполнителей, 3 альбомов, 5 треков
// (GET /api/v1/search/suggest)
func (_ Unimplemented) SearchSuggest(w http.ResponseWriter, r *http.Request, params SearchSuggestParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сведения о сервере для клиентов
// (GET /api/v1/server-info)
func (_ Unimplemented) GetServerInfo(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Аудио трека (поддерживает Range)
// (GET /api/v1/stream/{id})
func (_ Unimplemented) StreamTrack(w http.ResponseWriter, r *http.Request, id EntityId, params StreamTrackParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Треки по списку id (восстановление очереди)
// (POST /api/v1/tracks/batch)
func (_ Unimplemented) GetTracksBatch(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Трек
// (GET /api/v1/tracks/{id})
func (_ Unimplemented) GetTrack(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Создать пачку и зарезервировать место (moderator, admin)
// (POST /api/v1/uploads)
func (_ Unimplemented) CreateUploadBatch(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Отозвать своё предложение до решения
// (DELETE /api/v1/uploads/files/{id})
func (_ Unimplemented) WithdrawUpload(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Мои предложения (moderator, admin)
// (GET /api/v1/uploads/mine)
func (_ Unimplemented) ListMyUploads(w http.ResponseWriter, r *http.Request, params ListMyUploadsParams) {
w.WriteHeader(http.StatusNotImplemented)
}
// Предпроверка дублей до загрузки (moderator, admin)
// (POST /api/v1/uploads/precheck)
func (_ Unimplemented) PrecheckUploads(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Квота очереди на добавление (moderator, admin)
// (GET /api/v1/uploads/quota)
func (_ Unimplemented) GetUploadQuota(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Отметить свои предложения просмотренными
// (POST /api/v1/uploads/seen)
func (_ Unimplemented) MarkUploadsSeen(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сколько решений по своим предложениям с прошлого визита (moderator, admin)
// (GET /api/v1/uploads/unseen)
func (_ Unimplemented) UnseenUploadDecisions(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Занятия и настроения (ключи для i18n и иконки)
// (GET /api/v1/wave/options)
func (_ Unimplemented) GetWaveOptions(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Начать «Мою волну»
// (POST /api/v1/wave/sessions)
func (_ Unimplemented) StartWave(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Завершить сессию волны
// (DELETE /api/v1/wave/sessions/{id})
func (_ Unimplemented) EndWave(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Сменить занятие / настроение на лету — пачка пересобирается
// (PATCH /api/v1/wave/sessions/{id})
func (_ Unimplemented) UpdateWave(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Следующая пачка с учётом реакций на выданные треки
// (POST /api/v1/wave/sessions/{id}/next)
func (_ Unimplemented) NextWave(w http.ResponseWriter, r *http.Request, id EntityId) {
w.WriteHeader(http.StatusNotImplemented)
}
// Живость процесса
// (GET /healthz)
func (_ Unimplemented) GetHealthz(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// Готовность обслуживать запросы (зависимости доступны)
// (GET /readyz)
func (_ Unimplemented) GetReadyz(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
}
// ServerInterfaceWrapper converts contexts to parameters.
type ServerInterfaceWrapper struct {
Handler ServerInterface
HandlerMiddlewares []MiddlewareFunc
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}
type MiddlewareFunc func(http.Handler) http.Handler
// ListAudit operation middleware
func (siw *ServerInterfaceWrapper) ListAudit(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListAuditParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListAudit(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// RetryAnalysis operation middleware
func (siw *ServerInterfaceWrapper) RetryAnalysis(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.RetryAnalysis(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListLibraryErrors operation middleware
func (siw *ServerInterfaceWrapper) ListLibraryErrors(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListLibraryErrorsParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListLibraryErrors(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListHostDirs operation middleware
func (siw *ServerInterfaceWrapper) ListHostDirs(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListHostDirsParams
// ------------- Optional query parameter "path" -------------
err = runtime.BindQueryParameter("form", true, false, "path", r.URL.Query(), &params.Path)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "path", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListHostDirs(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetLibraryStatus operation middleware
func (siw *ServerInterfaceWrapper) GetLibraryStatus(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetLibraryStatus(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ReindexSearch operation middleware
func (siw *ServerInterfaceWrapper) ReindexSearch(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ReindexSearch(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetUploadSettings operation middleware
func (siw *ServerInterfaceWrapper) GetUploadSettings(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetUploadSettings(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateUploadSettings operation middleware
func (siw *ServerInterfaceWrapper) UpdateUploadSettings(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateUploadSettings(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListSources operation middleware
func (siw *ServerInterfaceWrapper) ListSources(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListSources(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CreateSource operation middleware
func (siw *ServerInterfaceWrapper) CreateSource(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CreateSource(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// DeleteSource operation middleware
func (siw *ServerInterfaceWrapper) DeleteSource(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DeleteSource(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetSource operation middleware
func (siw *ServerInterfaceWrapper) GetSource(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetSource(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateSource operation middleware
func (siw *ServerInterfaceWrapper) UpdateSource(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateSource(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetSourcePatterns operation middleware
func (siw *ServerInterfaceWrapper) GetSourcePatterns(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetSourcePatterns(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// PutSourcePatterns operation middleware
func (siw *ServerInterfaceWrapper) PutSourcePatterns(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.PutSourcePatterns(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// PreviewSourcePatterns operation middleware
func (siw *ServerInterfaceWrapper) PreviewSourcePatterns(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.PreviewSourcePatterns(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ScanSource operation middleware
func (siw *ServerInterfaceWrapper) ScanSource(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ScanSource(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// TestSource operation middleware
func (siw *ServerInterfaceWrapper) TestSource(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.TestSource(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CheckWriteTemplate operation middleware
func (siw *ServerInterfaceWrapper) CheckWriteTemplate(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CheckWriteTemplate(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SuggestWriteTemplate operation middleware
func (siw *ServerInterfaceWrapper) SuggestWriteTemplate(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id SourceId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SuggestWriteTemplate(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListUploads operation middleware
func (siw *ServerInterfaceWrapper) ListUploads(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListUploadsParams
// ------------- Optional query parameter "status" -------------
err = runtime.BindQueryParameter("form", false, false, "status", r.URL.Query(), &params.Status)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
return
}
// ------------- Optional query parameter "author" -------------
err = runtime.BindQueryParameter("form", true, false, "author", r.URL.Query(), &params.Author)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "author", Err: err})
return
}
// ------------- Optional query parameter "batch" -------------
err = runtime.BindQueryParameter("form", true, false, "batch", r.URL.Query(), &params.Batch)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "batch", Err: err})
return
}
// ------------- Optional query parameter "possible_duplicate" -------------
err = runtime.BindQueryParameter("form", true, false, "possible_duplicate", r.URL.Query(), &params.PossibleDuplicate)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "possible_duplicate", Err: err})
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListUploads(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateUploadBatch operation middleware
func (siw *ServerInterfaceWrapper) UpdateUploadBatch(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateUploadBatch(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateUpload operation middleware
func (siw *ServerInterfaceWrapper) UpdateUpload(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateUpload(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// RetryUploadImport operation middleware
func (siw *ServerInterfaceWrapper) RetryUploadImport(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.RetryUploadImport(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// StreamUpload operation middleware
func (siw *ServerInterfaceWrapper) StreamUpload(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params StreamUploadParams
// ------------- Required query parameter "exp" -------------
if paramValue := r.URL.Query().Get("exp"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "exp"})
return
}
err = runtime.BindQueryParameter("form", true, true, "exp", r.URL.Query(), &params.Exp)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "exp", Err: err})
return
}
// ------------- Required query parameter "sig" -------------
if paramValue := r.URL.Query().Get("sig"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "sig"})
return
}
err = runtime.BindQueryParameter("form", true, true, "sig", r.URL.Query(), &params.Sig)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "sig", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.StreamUpload(w, r, id, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ReviewUploads operation middleware
func (siw *ServerInterfaceWrapper) ReviewUploads(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ReviewUploads(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListUsers operation middleware
func (siw *ServerInterfaceWrapper) ListUsers(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListUsersParams
// ------------- Optional query parameter "q" -------------
err = runtime.BindQueryParameter("form", true, false, "q", r.URL.Query(), &params.Q)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "q", Err: err})
return
}
// ------------- Optional query parameter "role" -------------
err = runtime.BindQueryParameter("form", true, false, "role", r.URL.Query(), &params.Role)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "role", Err: err})
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListUsers(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CreateUser operation middleware
func (siw *ServerInterfaceWrapper) CreateUser(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CreateUser(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// DeleteUser operation middleware
func (siw *ServerInterfaceWrapper) DeleteUser(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id UserId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DeleteUser(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateUser operation middleware
func (siw *ServerInterfaceWrapper) UpdateUser(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id UserId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateUser(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ResetUserPassword operation middleware
func (siw *ServerInterfaceWrapper) ResetUserPassword(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id UserId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ResetUserPassword(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ResetUserRecommendations operation middleware
func (siw *ServerInterfaceWrapper) ResetUserRecommendations(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id UserId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ResetUserRecommendations(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetAlbum operation middleware
func (siw *ServerInterfaceWrapper) GetAlbum(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetAlbum(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// DownloadAndroidApk operation middleware
func (siw *ServerInterfaceWrapper) DownloadAndroidApk(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "version" -------------
var version string
err = runtime.BindStyledParameterWithOptions("simple", "version", chi.URLParam(r, "version"), &version, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "version", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DownloadAndroidApk(w, r, version)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetAndroidLatest operation middleware
func (siw *ServerInterfaceWrapper) GetAndroidLatest(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetAndroidLatest(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetAppClients operation middleware
func (siw *ServerInterfaceWrapper) GetAppClients(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetAppClients(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// DownloadAppClient operation middleware
func (siw *ServerInterfaceWrapper) DownloadAppClient(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "client" -------------
var client AppClient
err = runtime.BindStyledParameterWithOptions("simple", "client", chi.URLParam(r, "client"), &client, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "client", Err: err})
return
}
// ------------- Path parameter "version" -------------
var version string
err = runtime.BindStyledParameterWithOptions("simple", "version", chi.URLParam(r, "version"), &version, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "version", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DownloadAppClient(w, r, client, version)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetArtist operation middleware
func (siw *ServerInterfaceWrapper) GetArtist(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetArtist(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListArtistAlbums operation middleware
func (siw *ServerInterfaceWrapper) ListArtistAlbums(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListArtistAlbums(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListArtistTopTracks operation middleware
func (siw *ServerInterfaceWrapper) ListArtistTopTracks(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListArtistTopTracksParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListArtistTopTracks(w, r, id, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// Login operation middleware
func (siw *ServerInterfaceWrapper) Login(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.Login(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// Logout operation middleware
func (siw *ServerInterfaceWrapper) Logout(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.Logout(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// LogoutAll operation middleware
func (siw *ServerInterfaceWrapper) LogoutAll(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.LogoutAll(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// RefreshTokens operation middleware
func (siw *ServerInterfaceWrapper) RefreshTokens(w http.ResponseWriter, r *http.Request) {
var err error
// Parameter object where we will unmarshal all parameters from the context
var params RefreshTokensParams
{
var cookie *http.Cookie
if cookie, err = r.Cookie("pipu_rt"); err == nil {
var value string
err = runtime.BindStyledParameterWithOptions("simple", "pipu_rt", cookie.Value, &value, runtime.BindStyledParameterOptions{Explode: true, Required: false})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pipu_rt", Err: err})
return
}
params.PipuRt = &value
}
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.RefreshTokens(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetCover operation middleware
func (siw *ServerInterfaceWrapper) GetCover(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetCoverParams
// ------------- Required query parameter "v" -------------
if paramValue := r.URL.Query().Get("v"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "v"})
return
}
err = runtime.BindQueryParameter("form", true, true, "v", r.URL.Query(), &params.V)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "v", Err: err})
return
}
// ------------- Required query parameter "sig" -------------
if paramValue := r.URL.Query().Get("sig"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "sig"})
return
}
err = runtime.BindQueryParameter("form", true, true, "sig", r.URL.Query(), &params.Sig)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "sig", Err: err})
return
}
// ------------- Optional query parameter "size" -------------
err = runtime.BindQueryParameter("form", true, false, "size", r.URL.Query(), &params.Size)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "size", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetCover(w, r, id, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// PostEvents operation middleware
func (siw *ServerInterfaceWrapper) PostEvents(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.PostEvents(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetMe operation middleware
func (siw *ServerInterfaceWrapper) GetMe(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetMe(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateMe operation middleware
func (siw *ServerInterfaceWrapper) UpdateMe(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateMe(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SetBootstrapCredentials operation middleware
func (siw *ServerInterfaceWrapper) SetBootstrapCredentials(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SetBootstrapCredentials(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetDislikes operation middleware
func (siw *ServerInterfaceWrapper) GetDislikes(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params GetDislikesParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetDislikes(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ClearHistory operation middleware
func (siw *ServerInterfaceWrapper) ClearHistory(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ClearHistory(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetHistory operation middleware
func (siw *ServerInterfaceWrapper) GetHistory(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params GetHistoryParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetHistory(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetLikes operation middleware
func (siw *ServerInterfaceWrapper) GetLikes(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params GetLikesParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetLikes(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SaveOnboarding operation middleware
func (siw *ServerInterfaceWrapper) SaveOnboarding(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SaveOnboarding(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ChangePassword operation middleware
func (siw *ServerInterfaceWrapper) ChangePassword(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ChangePassword(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetPlaybackState operation middleware
func (siw *ServerInterfaceWrapper) GetPlaybackState(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetPlaybackState(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// PutPlaybackState operation middleware
func (siw *ServerInterfaceWrapper) PutPlaybackState(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.PutPlaybackState(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListPlaylists operation middleware
func (siw *ServerInterfaceWrapper) ListPlaylists(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListPlaylists(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CreatePlaylist operation middleware
func (siw *ServerInterfaceWrapper) CreatePlaylist(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CreatePlaylist(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// DeletePlaylist operation middleware
func (siw *ServerInterfaceWrapper) DeletePlaylist(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DeletePlaylist(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetPlaylist operation middleware
func (siw *ServerInterfaceWrapper) GetPlaylist(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetPlaylist(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdatePlaylist operation middleware
func (siw *ServerInterfaceWrapper) UpdatePlaylist(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdatePlaylist(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ClearTrackReaction operation middleware
func (siw *ServerInterfaceWrapper) ClearTrackReaction(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ClearTrackReaction(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SetTrackReaction operation middleware
func (siw *ServerInterfaceWrapper) SetTrackReaction(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SetTrackReaction(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListMySessions operation middleware
func (siw *ServerInterfaceWrapper) ListMySessions(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListMySessions(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// RevokeMySession operation middleware
func (siw *ServerInterfaceWrapper) RevokeMySession(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id openapi_types.UUID
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.RevokeMySession(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetOnboarding operation middleware
func (siw *ServerInterfaceWrapper) GetOnboarding(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetOnboarding(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// Search operation middleware
func (siw *ServerInterfaceWrapper) Search(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params SearchParams
// ------------- Required query parameter "q" -------------
if paramValue := r.URL.Query().Get("q"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "q"})
return
}
err = runtime.BindQueryParameter("form", true, true, "q", r.URL.Query(), &params.Q)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "q", Err: err})
return
}
// ------------- Optional query parameter "type" -------------
err = runtime.BindQueryParameter("form", true, false, "type", r.URL.Query(), &params.Type)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err})
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.Search(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SearchSuggest operation middleware
func (siw *ServerInterfaceWrapper) SearchSuggest(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params SearchSuggestParams
// ------------- Required query parameter "q" -------------
if paramValue := r.URL.Query().Get("q"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "q"})
return
}
err = runtime.BindQueryParameter("form", true, true, "q", r.URL.Query(), &params.Q)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "q", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SearchSuggest(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetServerInfo operation middleware
func (siw *ServerInterfaceWrapper) GetServerInfo(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetServerInfo(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// StreamTrack operation middleware
func (siw *ServerInterfaceWrapper) StreamTrack(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params StreamTrackParams
// ------------- Required query parameter "u" -------------
if paramValue := r.URL.Query().Get("u"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "u"})
return
}
err = runtime.BindQueryParameter("form", true, true, "u", r.URL.Query(), &params.U)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "u", Err: err})
return
}
// ------------- Required query parameter "exp" -------------
if paramValue := r.URL.Query().Get("exp"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "exp"})
return
}
err = runtime.BindQueryParameter("form", true, true, "exp", r.URL.Query(), &params.Exp)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "exp", Err: err})
return
}
// ------------- Required query parameter "sig" -------------
if paramValue := r.URL.Query().Get("sig"); paramValue != "" {
} else {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "sig"})
return
}
err = runtime.BindQueryParameter("form", true, true, "sig", r.URL.Query(), &params.Sig)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "sig", Err: err})
return
}
// ------------- Optional query parameter "q" -------------
err = runtime.BindQueryParameter("form", true, false, "q", r.URL.Query(), &params.Q)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "q", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.StreamTrack(w, r, id, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetTracksBatch operation middleware
func (siw *ServerInterfaceWrapper) GetTracksBatch(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTracksBatch(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetTrack operation middleware
func (siw *ServerInterfaceWrapper) GetTrack(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTrack(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CreateUploadBatch operation middleware
func (siw *ServerInterfaceWrapper) CreateUploadBatch(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CreateUploadBatch(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// WithdrawUpload operation middleware
func (siw *ServerInterfaceWrapper) WithdrawUpload(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.WithdrawUpload(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListMyUploads operation middleware
func (siw *ServerInterfaceWrapper) ListMyUploads(w http.ResponseWriter, r *http.Request) {
var err error
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
// Parameter object where we will unmarshal all parameters from the context
var params ListMyUploadsParams
// ------------- Optional query parameter "status" -------------
err = runtime.BindQueryParameter("form", false, false, "status", r.URL.Query(), &params.Status)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
return
}
// ------------- Optional query parameter "cursor" -------------
err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListMyUploads(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// PrecheckUploads operation middleware
func (siw *ServerInterfaceWrapper) PrecheckUploads(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.PrecheckUploads(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetUploadQuota operation middleware
func (siw *ServerInterfaceWrapper) GetUploadQuota(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetUploadQuota(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// MarkUploadsSeen operation middleware
func (siw *ServerInterfaceWrapper) MarkUploadsSeen(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.MarkUploadsSeen(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UnseenUploadDecisions operation middleware
func (siw *ServerInterfaceWrapper) UnseenUploadDecisions(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UnseenUploadDecisions(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetWaveOptions operation middleware
func (siw *ServerInterfaceWrapper) GetWaveOptions(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetWaveOptions(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// StartWave operation middleware
func (siw *ServerInterfaceWrapper) StartWave(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.StartWave(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// EndWave operation middleware
func (siw *ServerInterfaceWrapper) EndWave(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.EndWave(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateWave operation middleware
func (siw *ServerInterfaceWrapper) UpdateWave(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateWave(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// NextWave operation middleware
func (siw *ServerInterfaceWrapper) NextWave(w http.ResponseWriter, r *http.Request) {
var err error
// ------------- Path parameter "id" -------------
var id EntityId
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
return
}
ctx := r.Context()
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
r = r.WithContext(ctx)
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.NextWave(w, r, id)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetHealthz operation middleware
func (siw *ServerInterfaceWrapper) GetHealthz(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetHealthz(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetReadyz operation middleware
func (siw *ServerInterfaceWrapper) GetReadyz(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetReadyz(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
type UnescapedCookieParamError struct {
ParamName string
Err error
}
func (e *UnescapedCookieParamError) Error() string {
return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName)
}
func (e *UnescapedCookieParamError) Unwrap() error {
return e.Err
}
type UnmarshalingParamError struct {
ParamName string
Err error
}
func (e *UnmarshalingParamError) Error() string {
return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error())
}
func (e *UnmarshalingParamError) Unwrap() error {
return e.Err
}
type RequiredParamError struct {
ParamName string
}
func (e *RequiredParamError) Error() string {
return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName)
}
type RequiredHeaderError struct {
ParamName string
Err error
}
func (e *RequiredHeaderError) Error() string {
return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName)
}
func (e *RequiredHeaderError) Unwrap() error {
return e.Err
}
type InvalidParamFormatError struct {
ParamName string
Err error
}
func (e *InvalidParamFormatError) Error() string {
return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error())
}
func (e *InvalidParamFormatError) Unwrap() error {
return e.Err
}
type TooManyValuesForParamError struct {
ParamName string
Count int
}
func (e *TooManyValuesForParamError) Error() string {
return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count)
}
// Handler creates http.Handler with routing matching OpenAPI spec.
func Handler(si ServerInterface) http.Handler {
return HandlerWithOptions(si, ChiServerOptions{})
}
type ChiServerOptions struct {
BaseURL string
BaseRouter chi.Router
Middlewares []MiddlewareFunc
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}
// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler {
return HandlerWithOptions(si, ChiServerOptions{
BaseRouter: r,
})
}
func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler {
return HandlerWithOptions(si, ChiServerOptions{
BaseURL: baseURL,
BaseRouter: r,
})
}
// HandlerWithOptions creates http.Handler with additional options
func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler {
r := options.BaseRouter
if r == nil {
r = chi.NewRouter()
}
if options.ErrorHandlerFunc == nil {
options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) {
http.Error(w, err.Error(), http.StatusBadRequest)
}
}
wrapper := ServerInterfaceWrapper{
Handler: si,
HandlerMiddlewares: options.Middlewares,
ErrorHandlerFunc: options.ErrorHandlerFunc,
}
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/audit", wrapper.ListAudit)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/library/analysis/retry", wrapper.RetryAnalysis)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/library/errors", wrapper.ListLibraryErrors)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/library/host-dirs", wrapper.ListHostDirs)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/library/status", wrapper.GetLibraryStatus)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/search/reindex", wrapper.ReindexSearch)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/settings/uploads", wrapper.GetUploadSettings)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/admin/settings/uploads", wrapper.UpdateUploadSettings)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/sources", wrapper.ListSources)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/sources", wrapper.CreateSource)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/admin/sources/{id}", wrapper.DeleteSource)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/sources/{id}", wrapper.GetSource)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/admin/sources/{id}", wrapper.UpdateSource)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/sources/{id}/patterns", wrapper.GetSourcePatterns)
})
r.Group(func(r chi.Router) {
r.Put(options.BaseURL+"/api/v1/admin/sources/{id}/patterns", wrapper.PutSourcePatterns)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/sources/{id}/patterns/preview", wrapper.PreviewSourcePatterns)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/sources/{id}/scan", wrapper.ScanSource)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/sources/{id}/test", wrapper.TestSource)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/sources/{id}/write-template/check", wrapper.CheckWriteTemplate)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/sources/{id}/write-template/suggest", wrapper.SuggestWriteTemplate)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/uploads", wrapper.ListUploads)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/admin/uploads/batches/{id}", wrapper.UpdateUploadBatch)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/admin/uploads/files/{id}", wrapper.UpdateUpload)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/uploads/files/{id}/retry", wrapper.RetryUploadImport)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/uploads/files/{id}/stream", wrapper.StreamUpload)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/uploads/review", wrapper.ReviewUploads)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/admin/users", wrapper.ListUsers)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/users", wrapper.CreateUser)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/admin/users/{id}", wrapper.DeleteUser)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/admin/users/{id}", wrapper.UpdateUser)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/users/{id}/reset-password", wrapper.ResetUserPassword)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/admin/users/{id}/reset-recommendations", wrapper.ResetUserRecommendations)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/albums/{id}", wrapper.GetAlbum)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/app/android/download/{version}", wrapper.DownloadAndroidApk)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/app/android/latest", wrapper.GetAndroidLatest)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/app/clients", wrapper.GetAppClients)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/app/download/{client}/{version}", wrapper.DownloadAppClient)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/artists/{id}", wrapper.GetArtist)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/artists/{id}/albums", wrapper.ListArtistAlbums)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/artists/{id}/top-tracks", wrapper.ListArtistTopTracks)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/auth/login", wrapper.Login)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/auth/logout", wrapper.Logout)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/auth/logout-all", wrapper.LogoutAll)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/auth/refresh", wrapper.RefreshTokens)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/covers/{id}", wrapper.GetCover)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/events", wrapper.PostEvents)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me", wrapper.GetMe)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/me", wrapper.UpdateMe)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/me/bootstrap-credentials", wrapper.SetBootstrapCredentials)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/dislikes", wrapper.GetDislikes)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/me/history", wrapper.ClearHistory)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/history", wrapper.GetHistory)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/likes", wrapper.GetLikes)
})
r.Group(func(r chi.Router) {
r.Put(options.BaseURL+"/api/v1/me/onboarding", wrapper.SaveOnboarding)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/me/password", wrapper.ChangePassword)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/playback-state", wrapper.GetPlaybackState)
})
r.Group(func(r chi.Router) {
r.Put(options.BaseURL+"/api/v1/me/playback-state", wrapper.PutPlaybackState)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/playlists", wrapper.ListPlaylists)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/me/playlists", wrapper.CreatePlaylist)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/me/playlists/{id}", wrapper.DeletePlaylist)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/playlists/{id}", wrapper.GetPlaylist)
})
r.Group(func(r chi.Router) {
r.Put(options.BaseURL+"/api/v1/me/playlists/{id}", wrapper.UpdatePlaylist)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/me/reactions/tracks/{id}", wrapper.ClearTrackReaction)
})
r.Group(func(r chi.Router) {
r.Put(options.BaseURL+"/api/v1/me/reactions/tracks/{id}", wrapper.SetTrackReaction)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/me/sessions", wrapper.ListMySessions)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/me/sessions/{id}", wrapper.RevokeMySession)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/onboarding", wrapper.GetOnboarding)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/search", wrapper.Search)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/search/suggest", wrapper.SearchSuggest)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/server-info", wrapper.GetServerInfo)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/stream/{id}", wrapper.StreamTrack)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/tracks/batch", wrapper.GetTracksBatch)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/tracks/{id}", wrapper.GetTrack)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/uploads", wrapper.CreateUploadBatch)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/uploads/files/{id}", wrapper.WithdrawUpload)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/uploads/mine", wrapper.ListMyUploads)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/uploads/precheck", wrapper.PrecheckUploads)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/uploads/quota", wrapper.GetUploadQuota)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/uploads/seen", wrapper.MarkUploadsSeen)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/uploads/unseen", wrapper.UnseenUploadDecisions)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/api/v1/wave/options", wrapper.GetWaveOptions)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/wave/sessions", wrapper.StartWave)
})
r.Group(func(r chi.Router) {
r.Delete(options.BaseURL+"/api/v1/wave/sessions/{id}", wrapper.EndWave)
})
r.Group(func(r chi.Router) {
r.Patch(options.BaseURL+"/api/v1/wave/sessions/{id}", wrapper.UpdateWave)
})
r.Group(func(r chi.Router) {
r.Post(options.BaseURL+"/api/v1/wave/sessions/{id}/next", wrapper.NextWave)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/healthz", wrapper.GetHealthz)
})
r.Group(func(r chi.Router) {
r.Get(options.BaseURL+"/readyz", wrapper.GetReadyz)
})
return r
}
type ProblemApplicationProblemPlusJSONResponse Problem
type ListAuditRequestObject struct {
Params ListAuditParams
}
type ListAuditResponseObject interface {
VisitListAuditResponse(w http.ResponseWriter) error
}
type ListAudit200JSONResponse AuditPage
func (response ListAudit200JSONResponse) VisitListAuditResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListAuditdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListAuditdefaultApplicationProblemPlusJSONResponse) VisitListAuditResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type RetryAnalysisRequestObject struct {
}
type RetryAnalysisResponseObject interface {
VisitRetryAnalysisResponse(w http.ResponseWriter) error
}
type RetryAnalysis200JSONResponse struct {
Requeued int `json:"requeued"`
}
func (response RetryAnalysis200JSONResponse) VisitRetryAnalysisResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type RetryAnalysisdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response RetryAnalysisdefaultApplicationProblemPlusJSONResponse) VisitRetryAnalysisResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListLibraryErrorsRequestObject struct {
Params ListLibraryErrorsParams
}
type ListLibraryErrorsResponseObject interface {
VisitListLibraryErrorsResponse(w http.ResponseWriter) error
}
type ListLibraryErrors200JSONResponse LibraryErrorPage
func (response ListLibraryErrors200JSONResponse) VisitListLibraryErrorsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListLibraryErrorsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListLibraryErrorsdefaultApplicationProblemPlusJSONResponse) VisitListLibraryErrorsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListHostDirsRequestObject struct {
Params ListHostDirsParams
}
type ListHostDirsResponseObject interface {
VisitListHostDirsResponse(w http.ResponseWriter) error
}
type ListHostDirs200JSONResponse HostDirList
func (response ListHostDirs200JSONResponse) VisitListHostDirsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListHostDirsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListHostDirsdefaultApplicationProblemPlusJSONResponse) VisitListHostDirsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetLibraryStatusRequestObject struct {
}
type GetLibraryStatusResponseObject interface {
VisitGetLibraryStatusResponse(w http.ResponseWriter) error
}
type GetLibraryStatus200JSONResponse LibraryStatus
func (response GetLibraryStatus200JSONResponse) VisitGetLibraryStatusResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetLibraryStatusdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetLibraryStatusdefaultApplicationProblemPlusJSONResponse) VisitGetLibraryStatusResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ReindexSearchRequestObject struct {
}
type ReindexSearchResponseObject interface {
VisitReindexSearchResponse(w http.ResponseWriter) error
}
type ReindexSearch202Response struct {
}
func (response ReindexSearch202Response) VisitReindexSearchResponse(w http.ResponseWriter) error {
w.WriteHeader(202)
return nil
}
type ReindexSearchdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ReindexSearchdefaultApplicationProblemPlusJSONResponse) VisitReindexSearchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetUploadSettingsRequestObject struct {
}
type GetUploadSettingsResponseObject interface {
VisitGetUploadSettingsResponse(w http.ResponseWriter) error
}
type GetUploadSettings200JSONResponse UploadSettings
func (response GetUploadSettings200JSONResponse) VisitGetUploadSettingsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUploadSettingsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetUploadSettingsdefaultApplicationProblemPlusJSONResponse) VisitGetUploadSettingsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateUploadSettingsRequestObject struct {
Body *UpdateUploadSettingsJSONRequestBody
}
type UpdateUploadSettingsResponseObject interface {
VisitUpdateUploadSettingsResponse(w http.ResponseWriter) error
}
type UpdateUploadSettings200JSONResponse UploadSettings
func (response UpdateUploadSettings200JSONResponse) VisitUpdateUploadSettingsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateUploadSettingsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateUploadSettingsdefaultApplicationProblemPlusJSONResponse) VisitUpdateUploadSettingsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListSourcesRequestObject struct {
}
type ListSourcesResponseObject interface {
VisitListSourcesResponse(w http.ResponseWriter) error
}
type ListSources200JSONResponse SourceList
func (response ListSources200JSONResponse) VisitListSourcesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListSourcesdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListSourcesdefaultApplicationProblemPlusJSONResponse) VisitListSourcesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type CreateSourceRequestObject struct {
Body *CreateSourceJSONRequestBody
}
type CreateSourceResponseObject interface {
VisitCreateSourceResponse(w http.ResponseWriter) error
}
type CreateSource201JSONResponse Source
func (response CreateSource201JSONResponse) VisitCreateSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(201)
return json.NewEncoder(w).Encode(response)
}
type CreateSourcedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response CreateSourcedefaultApplicationProblemPlusJSONResponse) VisitCreateSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type DeleteSourceRequestObject struct {
Id SourceId `json:"id"`
}
type DeleteSourceResponseObject interface {
VisitDeleteSourceResponse(w http.ResponseWriter) error
}
type DeleteSource204Response struct {
}
func (response DeleteSource204Response) VisitDeleteSourceResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type DeleteSourcedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response DeleteSourcedefaultApplicationProblemPlusJSONResponse) VisitDeleteSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetSourceRequestObject struct {
Id SourceId `json:"id"`
}
type GetSourceResponseObject interface {
VisitGetSourceResponse(w http.ResponseWriter) error
}
type GetSource200JSONResponse Source
func (response GetSource200JSONResponse) VisitGetSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetSourcedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetSourcedefaultApplicationProblemPlusJSONResponse) VisitGetSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateSourceRequestObject struct {
Id SourceId `json:"id"`
Body *UpdateSourceJSONRequestBody
}
type UpdateSourceResponseObject interface {
VisitUpdateSourceResponse(w http.ResponseWriter) error
}
type UpdateSource200JSONResponse Source
func (response UpdateSource200JSONResponse) VisitUpdateSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateSourcedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateSourcedefaultApplicationProblemPlusJSONResponse) VisitUpdateSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetSourcePatternsRequestObject struct {
Id SourceId `json:"id"`
}
type GetSourcePatternsResponseObject interface {
VisitGetSourcePatternsResponse(w http.ResponseWriter) error
}
type GetSourcePatterns200JSONResponse PatternList
func (response GetSourcePatterns200JSONResponse) VisitGetSourcePatternsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetSourcePatternsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetSourcePatternsdefaultApplicationProblemPlusJSONResponse) VisitGetSourcePatternsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type PutSourcePatternsRequestObject struct {
Id SourceId `json:"id"`
Body *PutSourcePatternsJSONRequestBody
}
type PutSourcePatternsResponseObject interface {
VisitPutSourcePatternsResponse(w http.ResponseWriter) error
}
type PutSourcePatterns200JSONResponse PatternList
func (response PutSourcePatterns200JSONResponse) VisitPutSourcePatternsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PutSourcePatternsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response PutSourcePatternsdefaultApplicationProblemPlusJSONResponse) VisitPutSourcePatternsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type PreviewSourcePatternsRequestObject struct {
Id SourceId `json:"id"`
Body *PreviewSourcePatternsJSONRequestBody
}
type PreviewSourcePatternsResponseObject interface {
VisitPreviewSourcePatternsResponse(w http.ResponseWriter) error
}
type PreviewSourcePatterns200JSONResponse PatternPreview
func (response PreviewSourcePatterns200JSONResponse) VisitPreviewSourcePatternsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PreviewSourcePatternsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response PreviewSourcePatternsdefaultApplicationProblemPlusJSONResponse) VisitPreviewSourcePatternsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ScanSourceRequestObject struct {
Id SourceId `json:"id"`
Body *ScanSourceJSONRequestBody
}
type ScanSourceResponseObject interface {
VisitScanSourceResponse(w http.ResponseWriter) error
}
type ScanSource202JSONResponse ScanProgress
func (response ScanSource202JSONResponse) VisitScanSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(202)
return json.NewEncoder(w).Encode(response)
}
type ScanSourcedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ScanSourcedefaultApplicationProblemPlusJSONResponse) VisitScanSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type TestSourceRequestObject struct {
Id SourceId `json:"id"`
}
type TestSourceResponseObject interface {
VisitTestSourceResponse(w http.ResponseWriter) error
}
type TestSource200JSONResponse SourceTestResult
func (response TestSource200JSONResponse) VisitTestSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type TestSourcedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response TestSourcedefaultApplicationProblemPlusJSONResponse) VisitTestSourceResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type CheckWriteTemplateRequestObject struct {
Id SourceId `json:"id"`
Body *CheckWriteTemplateJSONRequestBody
}
type CheckWriteTemplateResponseObject interface {
VisitCheckWriteTemplateResponse(w http.ResponseWriter) error
}
type CheckWriteTemplate200JSONResponse WriteTemplateCheck
func (response CheckWriteTemplate200JSONResponse) VisitCheckWriteTemplateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type CheckWriteTemplatedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response CheckWriteTemplatedefaultApplicationProblemPlusJSONResponse) VisitCheckWriteTemplateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type SuggestWriteTemplateRequestObject struct {
Id SourceId `json:"id"`
}
type SuggestWriteTemplateResponseObject interface {
VisitSuggestWriteTemplateResponse(w http.ResponseWriter) error
}
type SuggestWriteTemplate200JSONResponse WriteTemplateSuggestion
func (response SuggestWriteTemplate200JSONResponse) VisitSuggestWriteTemplateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type SuggestWriteTemplatedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response SuggestWriteTemplatedefaultApplicationProblemPlusJSONResponse) VisitSuggestWriteTemplateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListUploadsRequestObject struct {
Params ListUploadsParams
}
type ListUploadsResponseObject interface {
VisitListUploadsResponse(w http.ResponseWriter) error
}
type ListUploads200JSONResponse UploadFilePage
func (response ListUploads200JSONResponse) VisitListUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListUploadsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListUploadsdefaultApplicationProblemPlusJSONResponse) VisitListUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateUploadBatchRequestObject struct {
Id EntityId `json:"id"`
Body *UpdateUploadBatchJSONRequestBody
}
type UpdateUploadBatchResponseObject interface {
VisitUpdateUploadBatchResponse(w http.ResponseWriter) error
}
type UpdateUploadBatch200JSONResponse struct {
Items []UploadFile `json:"items"`
}
func (response UpdateUploadBatch200JSONResponse) VisitUpdateUploadBatchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateUploadBatchdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateUploadBatchdefaultApplicationProblemPlusJSONResponse) VisitUpdateUploadBatchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateUploadRequestObject struct {
Id EntityId `json:"id"`
Body *UpdateUploadJSONRequestBody
}
type UpdateUploadResponseObject interface {
VisitUpdateUploadResponse(w http.ResponseWriter) error
}
type UpdateUpload200JSONResponse UploadFile
func (response UpdateUpload200JSONResponse) VisitUpdateUploadResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateUploaddefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateUploaddefaultApplicationProblemPlusJSONResponse) VisitUpdateUploadResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type RetryUploadImportRequestObject struct {
Id EntityId `json:"id"`
}
type RetryUploadImportResponseObject interface {
VisitRetryUploadImportResponse(w http.ResponseWriter) error
}
type RetryUploadImport200JSONResponse UploadFile
func (response RetryUploadImport200JSONResponse) VisitRetryUploadImportResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type RetryUploadImportdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response RetryUploadImportdefaultApplicationProblemPlusJSONResponse) VisitRetryUploadImportResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type StreamUploadRequestObject struct {
Id EntityId `json:"id"`
Params StreamUploadParams
}
type StreamUploadResponseObject interface {
VisitStreamUploadResponse(w http.ResponseWriter) error
}
type StreamUpload200AudioResponse struct {
Body io.Reader
ContentType string
ContentLength int64
}
func (response StreamUpload200AudioResponse) VisitStreamUploadResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", response.ContentType)
if response.ContentLength != 0 {
w.Header().Set("Content-Length", fmt.Sprint(response.ContentLength))
}
w.WriteHeader(200)
if closer, ok := response.Body.(io.ReadCloser); ok {
defer closer.Close()
}
_, err := io.Copy(w, response.Body)
return err
}
type StreamUploaddefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response StreamUploaddefaultApplicationProblemPlusJSONResponse) VisitStreamUploadResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ReviewUploadsRequestObject struct {
Body *ReviewUploadsJSONRequestBody
}
type ReviewUploadsResponseObject interface {
VisitReviewUploadsResponse(w http.ResponseWriter) error
}
type ReviewUploads200JSONResponse UploadReviewResult
func (response ReviewUploads200JSONResponse) VisitReviewUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ReviewUploadsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ReviewUploadsdefaultApplicationProblemPlusJSONResponse) VisitReviewUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListUsersRequestObject struct {
Params ListUsersParams
}
type ListUsersResponseObject interface {
VisitListUsersResponse(w http.ResponseWriter) error
}
type ListUsers200JSONResponse AdminUserPage
func (response ListUsers200JSONResponse) VisitListUsersResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListUsersdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListUsersdefaultApplicationProblemPlusJSONResponse) VisitListUsersResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type CreateUserRequestObject struct {
Body *CreateUserJSONRequestBody
}
type CreateUserResponseObject interface {
VisitCreateUserResponse(w http.ResponseWriter) error
}
type CreateUser201JSONResponse CreatedUser
func (response CreateUser201JSONResponse) VisitCreateUserResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(201)
return json.NewEncoder(w).Encode(response)
}
type CreateUserdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response CreateUserdefaultApplicationProblemPlusJSONResponse) VisitCreateUserResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type DeleteUserRequestObject struct {
Id UserId `json:"id"`
}
type DeleteUserResponseObject interface {
VisitDeleteUserResponse(w http.ResponseWriter) error
}
type DeleteUser204Response struct {
}
func (response DeleteUser204Response) VisitDeleteUserResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type DeleteUserdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response DeleteUserdefaultApplicationProblemPlusJSONResponse) VisitDeleteUserResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateUserRequestObject struct {
Id UserId `json:"id"`
Body *UpdateUserJSONRequestBody
}
type UpdateUserResponseObject interface {
VisitUpdateUserResponse(w http.ResponseWriter) error
}
type UpdateUser200JSONResponse AdminUser
func (response UpdateUser200JSONResponse) VisitUpdateUserResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateUserdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateUserdefaultApplicationProblemPlusJSONResponse) VisitUpdateUserResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ResetUserPasswordRequestObject struct {
Id UserId `json:"id"`
}
type ResetUserPasswordResponseObject interface {
VisitResetUserPasswordResponse(w http.ResponseWriter) error
}
type ResetUserPassword200JSONResponse TemporaryPassword
func (response ResetUserPassword200JSONResponse) VisitResetUserPasswordResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ResetUserPassworddefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ResetUserPassworddefaultApplicationProblemPlusJSONResponse) VisitResetUserPasswordResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ResetUserRecommendationsRequestObject struct {
Id UserId `json:"id"`
}
type ResetUserRecommendationsResponseObject interface {
VisitResetUserRecommendationsResponse(w http.ResponseWriter) error
}
type ResetUserRecommendations204Response struct {
}
func (response ResetUserRecommendations204Response) VisitResetUserRecommendationsResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type ResetUserRecommendationsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ResetUserRecommendationsdefaultApplicationProblemPlusJSONResponse) VisitResetUserRecommendationsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetAlbumRequestObject struct {
Id EntityId `json:"id"`
}
type GetAlbumResponseObject interface {
VisitGetAlbumResponse(w http.ResponseWriter) error
}
type GetAlbum200JSONResponse Album
func (response GetAlbum200JSONResponse) VisitGetAlbumResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetAlbumdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetAlbumdefaultApplicationProblemPlusJSONResponse) VisitGetAlbumResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type DownloadAndroidApkRequestObject struct {
Version string `json:"version"`
}
type DownloadAndroidApkResponseObject interface {
VisitDownloadAndroidApkResponse(w http.ResponseWriter) error
}
type DownloadAndroidApk200ApplicationvndAndroidPackageArchiveResponse struct {
Body io.Reader
ContentLength int64
}
func (response DownloadAndroidApk200ApplicationvndAndroidPackageArchiveResponse) VisitDownloadAndroidApkResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/vnd.android.package-archive")
if response.ContentLength != 0 {
w.Header().Set("Content-Length", fmt.Sprint(response.ContentLength))
}
w.WriteHeader(200)
if closer, ok := response.Body.(io.ReadCloser); ok {
defer closer.Close()
}
_, err := io.Copy(w, response.Body)
return err
}
type DownloadAndroidApkdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response DownloadAndroidApkdefaultApplicationProblemPlusJSONResponse) VisitDownloadAndroidApkResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetAndroidLatestRequestObject struct {
}
type GetAndroidLatestResponseObject interface {
VisitGetAndroidLatestResponse(w http.ResponseWriter) error
}
type GetAndroidLatest200JSONResponse AndroidRelease
func (response GetAndroidLatest200JSONResponse) VisitGetAndroidLatestResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetAndroidLatestdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetAndroidLatestdefaultApplicationProblemPlusJSONResponse) VisitGetAndroidLatestResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetAppClientsRequestObject struct {
}
type GetAppClientsResponseObject interface {
VisitGetAppClientsResponse(w http.ResponseWriter) error
}
type GetAppClients200JSONResponse AppClients
func (response GetAppClients200JSONResponse) VisitGetAppClientsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetAppClientsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetAppClientsdefaultApplicationProblemPlusJSONResponse) VisitGetAppClientsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type DownloadAppClientRequestObject struct {
Client AppClient `json:"client"`
Version string `json:"version"`
}
type DownloadAppClientResponseObject interface {
VisitDownloadAppClientResponse(w http.ResponseWriter) error
}
type DownloadAppClient200ApplicationoctetStreamResponse struct {
Body io.Reader
ContentLength int64
}
func (response DownloadAppClient200ApplicationoctetStreamResponse) VisitDownloadAppClientResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/octet-stream")
if response.ContentLength != 0 {
w.Header().Set("Content-Length", fmt.Sprint(response.ContentLength))
}
w.WriteHeader(200)
if closer, ok := response.Body.(io.ReadCloser); ok {
defer closer.Close()
}
_, err := io.Copy(w, response.Body)
return err
}
type DownloadAppClientdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response DownloadAppClientdefaultApplicationProblemPlusJSONResponse) VisitDownloadAppClientResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetArtistRequestObject struct {
Id EntityId `json:"id"`
}
type GetArtistResponseObject interface {
VisitGetArtistResponse(w http.ResponseWriter) error
}
type GetArtist200JSONResponse Artist
func (response GetArtist200JSONResponse) VisitGetArtistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetArtistdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetArtistdefaultApplicationProblemPlusJSONResponse) VisitGetArtistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListArtistAlbumsRequestObject struct {
Id EntityId `json:"id"`
}
type ListArtistAlbumsResponseObject interface {
VisitListArtistAlbumsResponse(w http.ResponseWriter) error
}
type ListArtistAlbums200JSONResponse AlbumSummaryList
func (response ListArtistAlbums200JSONResponse) VisitListArtistAlbumsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListArtistAlbumsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListArtistAlbumsdefaultApplicationProblemPlusJSONResponse) VisitListArtistAlbumsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListArtistTopTracksRequestObject struct {
Id EntityId `json:"id"`
Params ListArtistTopTracksParams
}
type ListArtistTopTracksResponseObject interface {
VisitListArtistTopTracksResponse(w http.ResponseWriter) error
}
type ListArtistTopTracks200JSONResponse TrackList
func (response ListArtistTopTracks200JSONResponse) VisitListArtistTopTracksResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListArtistTopTracksdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListArtistTopTracksdefaultApplicationProblemPlusJSONResponse) VisitListArtistTopTracksResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type LoginRequestObject struct {
Body *LoginJSONRequestBody
}
type LoginResponseObject interface {
VisitLoginResponse(w http.ResponseWriter) error
}
type Login200JSONResponse AuthTokens
func (response Login200JSONResponse) VisitLoginResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type LogindefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response LogindefaultApplicationProblemPlusJSONResponse) VisitLoginResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type LogoutRequestObject struct {
}
type LogoutResponseObject interface {
VisitLogoutResponse(w http.ResponseWriter) error
}
type Logout204Response struct {
}
func (response Logout204Response) VisitLogoutResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type LogoutdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response LogoutdefaultApplicationProblemPlusJSONResponse) VisitLogoutResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type LogoutAllRequestObject struct {
}
type LogoutAllResponseObject interface {
VisitLogoutAllResponse(w http.ResponseWriter) error
}
type LogoutAll204Response struct {
}
func (response LogoutAll204Response) VisitLogoutAllResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type LogoutAlldefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response LogoutAlldefaultApplicationProblemPlusJSONResponse) VisitLogoutAllResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type RefreshTokensRequestObject struct {
Params RefreshTokensParams
Body *RefreshTokensJSONRequestBody
}
type RefreshTokensResponseObject interface {
VisitRefreshTokensResponse(w http.ResponseWriter) error
}
type RefreshTokens200JSONResponse AuthTokens
func (response RefreshTokens200JSONResponse) VisitRefreshTokensResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type RefreshTokensdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response RefreshTokensdefaultApplicationProblemPlusJSONResponse) VisitRefreshTokensResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetCoverRequestObject struct {
Id EntityId `json:"id"`
Params GetCoverParams
}
type GetCoverResponseObject interface {
VisitGetCoverResponse(w http.ResponseWriter) error
}
type GetCover200ImagewebpResponse struct {
Body io.Reader
ContentLength int64
}
func (response GetCover200ImagewebpResponse) VisitGetCoverResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "image/webp")
if response.ContentLength != 0 {
w.Header().Set("Content-Length", fmt.Sprint(response.ContentLength))
}
w.WriteHeader(200)
if closer, ok := response.Body.(io.ReadCloser); ok {
defer closer.Close()
}
_, err := io.Copy(w, response.Body)
return err
}
type GetCoverdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetCoverdefaultApplicationProblemPlusJSONResponse) VisitGetCoverResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type PostEventsRequestObject struct {
Body *PostEventsJSONRequestBody
}
type PostEventsResponseObject interface {
VisitPostEventsResponse(w http.ResponseWriter) error
}
type PostEvents200JSONResponse EventBatchResult
func (response PostEvents200JSONResponse) VisitPostEventsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PostEventsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response PostEventsdefaultApplicationProblemPlusJSONResponse) VisitPostEventsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetMeRequestObject struct {
}
type GetMeResponseObject interface {
VisitGetMeResponse(w http.ResponseWriter) error
}
type GetMe200JSONResponse Me
func (response GetMe200JSONResponse) VisitGetMeResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetMedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetMedefaultApplicationProblemPlusJSONResponse) VisitGetMeResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateMeRequestObject struct {
Body *UpdateMeJSONRequestBody
}
type UpdateMeResponseObject interface {
VisitUpdateMeResponse(w http.ResponseWriter) error
}
type UpdateMe200JSONResponse Me
func (response UpdateMe200JSONResponse) VisitUpdateMeResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateMedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateMedefaultApplicationProblemPlusJSONResponse) VisitUpdateMeResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type SetBootstrapCredentialsRequestObject struct {
Body *SetBootstrapCredentialsJSONRequestBody
}
type SetBootstrapCredentialsResponseObject interface {
VisitSetBootstrapCredentialsResponse(w http.ResponseWriter) error
}
type SetBootstrapCredentials200JSONResponse AuthTokens
func (response SetBootstrapCredentials200JSONResponse) VisitSetBootstrapCredentialsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type SetBootstrapCredentialsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response SetBootstrapCredentialsdefaultApplicationProblemPlusJSONResponse) VisitSetBootstrapCredentialsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetDislikesRequestObject struct {
Params GetDislikesParams
}
type GetDislikesResponseObject interface {
VisitGetDislikesResponse(w http.ResponseWriter) error
}
type GetDislikes200JSONResponse ReactedTrackPage
func (response GetDislikes200JSONResponse) VisitGetDislikesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetDislikesdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetDislikesdefaultApplicationProblemPlusJSONResponse) VisitGetDislikesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ClearHistoryRequestObject struct {
}
type ClearHistoryResponseObject interface {
VisitClearHistoryResponse(w http.ResponseWriter) error
}
type ClearHistory204Response struct {
}
func (response ClearHistory204Response) VisitClearHistoryResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type ClearHistorydefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ClearHistorydefaultApplicationProblemPlusJSONResponse) VisitClearHistoryResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetHistoryRequestObject struct {
Params GetHistoryParams
}
type GetHistoryResponseObject interface {
VisitGetHistoryResponse(w http.ResponseWriter) error
}
type GetHistory200JSONResponse HistoryPage
func (response GetHistory200JSONResponse) VisitGetHistoryResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetHistorydefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetHistorydefaultApplicationProblemPlusJSONResponse) VisitGetHistoryResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetLikesRequestObject struct {
Params GetLikesParams
}
type GetLikesResponseObject interface {
VisitGetLikesResponse(w http.ResponseWriter) error
}
type GetLikes200JSONResponse ReactedTrackPage
func (response GetLikes200JSONResponse) VisitGetLikesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetLikesdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetLikesdefaultApplicationProblemPlusJSONResponse) VisitGetLikesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type SaveOnboardingRequestObject struct {
Body *SaveOnboardingJSONRequestBody
}
type SaveOnboardingResponseObject interface {
VisitSaveOnboardingResponse(w http.ResponseWriter) error
}
type SaveOnboarding204Response struct {
}
func (response SaveOnboarding204Response) VisitSaveOnboardingResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type SaveOnboardingdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response SaveOnboardingdefaultApplicationProblemPlusJSONResponse) VisitSaveOnboardingResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ChangePasswordRequestObject struct {
Body *ChangePasswordJSONRequestBody
}
type ChangePasswordResponseObject interface {
VisitChangePasswordResponse(w http.ResponseWriter) error
}
type ChangePassword200JSONResponse AuthTokens
func (response ChangePassword200JSONResponse) VisitChangePasswordResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ChangePassworddefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ChangePassworddefaultApplicationProblemPlusJSONResponse) VisitChangePasswordResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetPlaybackStateRequestObject struct {
}
type GetPlaybackStateResponseObject interface {
VisitGetPlaybackStateResponse(w http.ResponseWriter) error
}
type GetPlaybackState200JSONResponse PlaybackState
func (response GetPlaybackState200JSONResponse) VisitGetPlaybackStateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetPlaybackStatedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetPlaybackStatedefaultApplicationProblemPlusJSONResponse) VisitGetPlaybackStateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type PutPlaybackStateRequestObject struct {
Body *PutPlaybackStateJSONRequestBody
}
type PutPlaybackStateResponseObject interface {
VisitPutPlaybackStateResponse(w http.ResponseWriter) error
}
type PutPlaybackState200JSONResponse PlaybackState
func (response PutPlaybackState200JSONResponse) VisitPutPlaybackStateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PutPlaybackStatedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response PutPlaybackStatedefaultApplicationProblemPlusJSONResponse) VisitPutPlaybackStateResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListPlaylistsRequestObject struct {
}
type ListPlaylistsResponseObject interface {
VisitListPlaylistsResponse(w http.ResponseWriter) error
}
type ListPlaylists200JSONResponse PlaylistList
func (response ListPlaylists200JSONResponse) VisitListPlaylistsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListPlaylistsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListPlaylistsdefaultApplicationProblemPlusJSONResponse) VisitListPlaylistsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type CreatePlaylistRequestObject struct {
Body *CreatePlaylistJSONRequestBody
}
type CreatePlaylistResponseObject interface {
VisitCreatePlaylistResponse(w http.ResponseWriter) error
}
type CreatePlaylist201JSONResponse Playlist
func (response CreatePlaylist201JSONResponse) VisitCreatePlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(201)
return json.NewEncoder(w).Encode(response)
}
type CreatePlaylistdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response CreatePlaylistdefaultApplicationProblemPlusJSONResponse) VisitCreatePlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type DeletePlaylistRequestObject struct {
Id openapi_types.UUID `json:"id"`
}
type DeletePlaylistResponseObject interface {
VisitDeletePlaylistResponse(w http.ResponseWriter) error
}
type DeletePlaylist204Response struct {
}
func (response DeletePlaylist204Response) VisitDeletePlaylistResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type DeletePlaylistdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response DeletePlaylistdefaultApplicationProblemPlusJSONResponse) VisitDeletePlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetPlaylistRequestObject struct {
Id openapi_types.UUID `json:"id"`
}
type GetPlaylistResponseObject interface {
VisitGetPlaylistResponse(w http.ResponseWriter) error
}
type GetPlaylist200JSONResponse Playlist
func (response GetPlaylist200JSONResponse) VisitGetPlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetPlaylistdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetPlaylistdefaultApplicationProblemPlusJSONResponse) VisitGetPlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdatePlaylistRequestObject struct {
Id openapi_types.UUID `json:"id"`
Body *UpdatePlaylistJSONRequestBody
}
type UpdatePlaylistResponseObject interface {
VisitUpdatePlaylistResponse(w http.ResponseWriter) error
}
type UpdatePlaylist200JSONResponse Playlist
func (response UpdatePlaylist200JSONResponse) VisitUpdatePlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdatePlaylistdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdatePlaylistdefaultApplicationProblemPlusJSONResponse) VisitUpdatePlaylistResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ClearTrackReactionRequestObject struct {
Id EntityId `json:"id"`
}
type ClearTrackReactionResponseObject interface {
VisitClearTrackReactionResponse(w http.ResponseWriter) error
}
type ClearTrackReaction204Response struct {
}
func (response ClearTrackReaction204Response) VisitClearTrackReactionResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type ClearTrackReactiondefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ClearTrackReactiondefaultApplicationProblemPlusJSONResponse) VisitClearTrackReactionResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type SetTrackReactionRequestObject struct {
Id EntityId `json:"id"`
Body *SetTrackReactionJSONRequestBody
}
type SetTrackReactionResponseObject interface {
VisitSetTrackReactionResponse(w http.ResponseWriter) error
}
type SetTrackReaction204Response struct {
}
func (response SetTrackReaction204Response) VisitSetTrackReactionResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type SetTrackReactiondefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response SetTrackReactiondefaultApplicationProblemPlusJSONResponse) VisitSetTrackReactionResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListMySessionsRequestObject struct {
}
type ListMySessionsResponseObject interface {
VisitListMySessionsResponse(w http.ResponseWriter) error
}
type ListMySessions200JSONResponse SessionList
func (response ListMySessions200JSONResponse) VisitListMySessionsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListMySessionsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListMySessionsdefaultApplicationProblemPlusJSONResponse) VisitListMySessionsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type RevokeMySessionRequestObject struct {
Id openapi_types.UUID `json:"id"`
}
type RevokeMySessionResponseObject interface {
VisitRevokeMySessionResponse(w http.ResponseWriter) error
}
type RevokeMySession204Response struct {
}
func (response RevokeMySession204Response) VisitRevokeMySessionResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type RevokeMySessiondefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response RevokeMySessiondefaultApplicationProblemPlusJSONResponse) VisitRevokeMySessionResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetOnboardingRequestObject struct {
}
type GetOnboardingResponseObject interface {
VisitGetOnboardingResponse(w http.ResponseWriter) error
}
type GetOnboarding200JSONResponse Onboarding
func (response GetOnboarding200JSONResponse) VisitGetOnboardingResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetOnboardingdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetOnboardingdefaultApplicationProblemPlusJSONResponse) VisitGetOnboardingResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type SearchRequestObject struct {
Params SearchParams
}
type SearchResponseObject interface {
VisitSearchResponse(w http.ResponseWriter) error
}
type Search200JSONResponse SearchResults
func (response Search200JSONResponse) VisitSearchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type SearchdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response SearchdefaultApplicationProblemPlusJSONResponse) VisitSearchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type SearchSuggestRequestObject struct {
Params SearchSuggestParams
}
type SearchSuggestResponseObject interface {
VisitSearchSuggestResponse(w http.ResponseWriter) error
}
type SearchSuggest200JSONResponse SearchResults
func (response SearchSuggest200JSONResponse) VisitSearchSuggestResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type SearchSuggestdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response SearchSuggestdefaultApplicationProblemPlusJSONResponse) VisitSearchSuggestResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetServerInfoRequestObject struct {
}
type GetServerInfoResponseObject interface {
VisitGetServerInfoResponse(w http.ResponseWriter) error
}
type GetServerInfo200JSONResponse ServerInfo
func (response GetServerInfo200JSONResponse) VisitGetServerInfoResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetServerInfodefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetServerInfodefaultApplicationProblemPlusJSONResponse) VisitGetServerInfoResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type StreamTrackRequestObject struct {
Id EntityId `json:"id"`
Params StreamTrackParams
}
type StreamTrackResponseObject interface {
VisitStreamTrackResponse(w http.ResponseWriter) error
}
type StreamTrack200AudioResponse struct {
Body io.Reader
ContentType string
ContentLength int64
}
func (response StreamTrack200AudioResponse) VisitStreamTrackResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", response.ContentType)
if response.ContentLength != 0 {
w.Header().Set("Content-Length", fmt.Sprint(response.ContentLength))
}
w.WriteHeader(200)
if closer, ok := response.Body.(io.ReadCloser); ok {
defer closer.Close()
}
_, err := io.Copy(w, response.Body)
return err
}
type StreamTrackdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response StreamTrackdefaultApplicationProblemPlusJSONResponse) VisitStreamTrackResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetTracksBatchRequestObject struct {
Body *GetTracksBatchJSONRequestBody
}
type GetTracksBatchResponseObject interface {
VisitGetTracksBatchResponse(w http.ResponseWriter) error
}
type GetTracksBatch200JSONResponse TrackList
func (response GetTracksBatch200JSONResponse) VisitGetTracksBatchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTracksBatchdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetTracksBatchdefaultApplicationProblemPlusJSONResponse) VisitGetTracksBatchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetTrackRequestObject struct {
Id EntityId `json:"id"`
}
type GetTrackResponseObject interface {
VisitGetTrackResponse(w http.ResponseWriter) error
}
type GetTrack200JSONResponse Track
func (response GetTrack200JSONResponse) VisitGetTrackResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTrackdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetTrackdefaultApplicationProblemPlusJSONResponse) VisitGetTrackResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type CreateUploadBatchRequestObject struct {
Body *CreateUploadBatchJSONRequestBody
}
type CreateUploadBatchResponseObject interface {
VisitCreateUploadBatchResponse(w http.ResponseWriter) error
}
type CreateUploadBatch201JSONResponse UploadBatchCreated
func (response CreateUploadBatch201JSONResponse) VisitCreateUploadBatchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(201)
return json.NewEncoder(w).Encode(response)
}
type CreateUploadBatchdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response CreateUploadBatchdefaultApplicationProblemPlusJSONResponse) VisitCreateUploadBatchResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type WithdrawUploadRequestObject struct {
Id EntityId `json:"id"`
}
type WithdrawUploadResponseObject interface {
VisitWithdrawUploadResponse(w http.ResponseWriter) error
}
type WithdrawUpload204Response struct {
}
func (response WithdrawUpload204Response) VisitWithdrawUploadResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type WithdrawUploaddefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response WithdrawUploaddefaultApplicationProblemPlusJSONResponse) VisitWithdrawUploadResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type ListMyUploadsRequestObject struct {
Params ListMyUploadsParams
}
type ListMyUploadsResponseObject interface {
VisitListMyUploadsResponse(w http.ResponseWriter) error
}
type ListMyUploads200JSONResponse UploadFilePage
func (response ListMyUploads200JSONResponse) VisitListMyUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type ListMyUploadsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response ListMyUploadsdefaultApplicationProblemPlusJSONResponse) VisitListMyUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type PrecheckUploadsRequestObject struct {
Body *PrecheckUploadsJSONRequestBody
}
type PrecheckUploadsResponseObject interface {
VisitPrecheckUploadsResponse(w http.ResponseWriter) error
}
type PrecheckUploads200JSONResponse UploadPrecheckResult
func (response PrecheckUploads200JSONResponse) VisitPrecheckUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PrecheckUploadsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response PrecheckUploadsdefaultApplicationProblemPlusJSONResponse) VisitPrecheckUploadsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetUploadQuotaRequestObject struct {
}
type GetUploadQuotaResponseObject interface {
VisitGetUploadQuotaResponse(w http.ResponseWriter) error
}
type GetUploadQuota200JSONResponse UploadQuota
func (response GetUploadQuota200JSONResponse) VisitGetUploadQuotaResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUploadQuotadefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetUploadQuotadefaultApplicationProblemPlusJSONResponse) VisitGetUploadQuotaResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type MarkUploadsSeenRequestObject struct {
}
type MarkUploadsSeenResponseObject interface {
VisitMarkUploadsSeenResponse(w http.ResponseWriter) error
}
type MarkUploadsSeen204Response struct {
}
func (response MarkUploadsSeen204Response) VisitMarkUploadsSeenResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type MarkUploadsSeendefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response MarkUploadsSeendefaultApplicationProblemPlusJSONResponse) VisitMarkUploadsSeenResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UnseenUploadDecisionsRequestObject struct {
}
type UnseenUploadDecisionsResponseObject interface {
VisitUnseenUploadDecisionsResponse(w http.ResponseWriter) error
}
type UnseenUploadDecisions200JSONResponse struct {
Count int `json:"count"`
}
func (response UnseenUploadDecisions200JSONResponse) VisitUnseenUploadDecisionsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UnseenUploadDecisionsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UnseenUploadDecisionsdefaultApplicationProblemPlusJSONResponse) VisitUnseenUploadDecisionsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetWaveOptionsRequestObject struct {
}
type GetWaveOptionsResponseObject interface {
VisitGetWaveOptionsResponse(w http.ResponseWriter) error
}
type GetWaveOptions200JSONResponse WaveOptions
func (response GetWaveOptions200JSONResponse) VisitGetWaveOptionsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetWaveOptionsdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response GetWaveOptionsdefaultApplicationProblemPlusJSONResponse) VisitGetWaveOptionsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type StartWaveRequestObject struct {
Body *StartWaveJSONRequestBody
}
type StartWaveResponseObject interface {
VisitStartWaveResponse(w http.ResponseWriter) error
}
type StartWave201JSONResponse WaveBatch
func (response StartWave201JSONResponse) VisitStartWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(201)
return json.NewEncoder(w).Encode(response)
}
type StartWavedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response StartWavedefaultApplicationProblemPlusJSONResponse) VisitStartWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type EndWaveRequestObject struct {
Id EntityId `json:"id"`
}
type EndWaveResponseObject interface {
VisitEndWaveResponse(w http.ResponseWriter) error
}
type EndWave204Response struct {
}
func (response EndWave204Response) VisitEndWaveResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type EndWavedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response EndWavedefaultApplicationProblemPlusJSONResponse) VisitEndWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type UpdateWaveRequestObject struct {
Id EntityId `json:"id"`
Body *UpdateWaveJSONRequestBody
}
type UpdateWaveResponseObject interface {
VisitUpdateWaveResponse(w http.ResponseWriter) error
}
type UpdateWave200JSONResponse WaveBatch
func (response UpdateWave200JSONResponse) VisitUpdateWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type UpdateWavedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response UpdateWavedefaultApplicationProblemPlusJSONResponse) VisitUpdateWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type NextWaveRequestObject struct {
Id EntityId `json:"id"`
Body *NextWaveJSONRequestBody
}
type NextWaveResponseObject interface {
VisitNextWaveResponse(w http.ResponseWriter) error
}
type NextWave200JSONResponse WaveBatch
func (response NextWave200JSONResponse) VisitNextWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type NextWavedefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (response NextWavedefaultApplicationProblemPlusJSONResponse) VisitNextWaveResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/problem+json")
w.WriteHeader(response.StatusCode)
return json.NewEncoder(w).Encode(response.Body)
}
type GetHealthzRequestObject struct {
}
type GetHealthzResponseObject interface {
VisitGetHealthzResponse(w http.ResponseWriter) error
}
type GetHealthz200JSONResponse HealthStatus
func (response GetHealthz200JSONResponse) VisitGetHealthzResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetReadyzRequestObject struct {
}
type GetReadyzResponseObject interface {
VisitGetReadyzResponse(w http.ResponseWriter) error
}
type GetReadyz200JSONResponse ReadyStatus
func (response GetReadyz200JSONResponse) VisitGetReadyzResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetReadyz503JSONResponse ReadyStatus
func (response GetReadyz503JSONResponse) VisitGetReadyzResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(503)
return json.NewEncoder(w).Encode(response)
}
// StrictServerInterface represents all server handlers.
type StrictServerInterface interface {
// Журнал действий (admin), новые сверху
// (GET /api/v1/admin/audit)
ListAudit(ctx context.Context, request ListAuditRequestObject) (ListAuditResponseObject, error)
// Вернуть в очередь треки, которые не удалось проанализировать (admin)
// (POST /api/v1/admin/library/analysis/retry)
RetryAnalysis(ctx context.Context, request RetryAnalysisRequestObject) (RetryAnalysisResponseObject, error)
// Файлы, которые не удалось прочитать (admin)
// (GET /api/v1/admin/library/errors)
ListLibraryErrors(ctx context.Context, request ListLibraryErrorsRequestObject) (ListLibraryErrorsResponseObject, error)
// Подпапки каталога LIBRARY_HOST — выбор папки для local-хранилища (admin)
// (GET /api/v1/admin/library/host-dirs)
ListHostDirs(ctx context.Context, request ListHostDirsRequestObject) (ListHostDirsResponseObject, error)
// Состояние библиотеки (admin, moderator)
// (GET /api/v1/admin/library/status)
GetLibraryStatus(ctx context.Context, request GetLibraryStatusRequestObject) (GetLibraryStatusResponseObject, error)
// Пересобрать поисковые индексы (admin)
// (POST /api/v1/admin/search/reindex)
ReindexSearch(ctx context.Context, request ReindexSearchRequestObject) (ReindexSearchResponseObject, error)
// Настройки очереди (admin)
// (GET /api/v1/admin/settings/uploads)
GetUploadSettings(ctx context.Context, request GetUploadSettingsRequestObject) (GetUploadSettingsResponseObject, error)
// Изменить настройки очереди (admin)
// (PATCH /api/v1/admin/settings/uploads)
UpdateUploadSettings(ctx context.Context, request UpdateUploadSettingsRequestObject) (UpdateUploadSettingsResponseObject, error)
// Хранилища (admin)
// (GET /api/v1/admin/sources)
ListSources(ctx context.Context, request ListSourcesRequestObject) (ListSourcesResponseObject, error)
// Подключить хранилище (admin)
// (POST /api/v1/admin/sources)
CreateSource(ctx context.Context, request CreateSourceRequestObject) (CreateSourceResponseObject, error)
// Отключить и удалить хранилище (admin)
// (DELETE /api/v1/admin/sources/{id})
DeleteSource(ctx context.Context, request DeleteSourceRequestObject) (DeleteSourceResponseObject, error)
// Хранилище (admin)
// (GET /api/v1/admin/sources/{id})
GetSource(ctx context.Context, request GetSourceRequestObject) (GetSourceResponseObject, error)
// Изменить хранилище (admin)
// (PATCH /api/v1/admin/sources/{id})
UpdateSource(ctx context.Context, request UpdateSourceRequestObject) (UpdateSourceResponseObject, error)
// Шаблоны путей (admin)
// (GET /api/v1/admin/sources/{id}/patterns)
GetSourcePatterns(ctx context.Context, request GetSourcePatternsRequestObject) (GetSourcePatternsResponseObject, error)
// Заменить шаблоны путей (admin)
// (PUT /api/v1/admin/sources/{id}/patterns)
PutSourcePatterns(ctx context.Context, request PutSourcePatternsRequestObject) (PutSourcePatternsResponseObject, error)
// Предпросмотр разбора путей без сохранения (admin)
// (POST /api/v1/admin/sources/{id}/patterns/preview)
PreviewSourcePatterns(ctx context.Context, request PreviewSourcePatternsRequestObject) (PreviewSourcePatternsResponseObject, error)
// Запустить скан (admin)
// (POST /api/v1/admin/sources/{id}/scan)
ScanSource(ctx context.Context, request ScanSourceRequestObject) (ScanSourceResponseObject, error)
// Проверить подключение (admin)
// (POST /api/v1/admin/sources/{id}/test)
TestSource(ctx context.Context, request TestSourceRequestObject) (TestSourceResponseObject, error)
// Проверить шаблон на обратимость (admin)
// (POST /api/v1/admin/sources/{id}/write-template/check)
CheckWriteTemplate(ctx context.Context, request CheckWriteTemplateRequestObject) (CheckWriteTemplateResponseObject, error)
// Подобрать шаблон пути по существующей структуре (admin)
// (POST /api/v1/admin/sources/{id}/write-template/suggest)
SuggestWriteTemplate(ctx context.Context, request SuggestWriteTemplateRequestObject) (SuggestWriteTemplateResponseObject, error)
// Очередь на добавление (admin)
// (GET /api/v1/admin/uploads)
ListUploads(ctx context.Context, request ListUploadsRequestObject) (ListUploadsResponseObject, error)
// Правка метаданных и обложки на всю пачку (admin)
// (PATCH /api/v1/admin/uploads/batches/{id})
UpdateUploadBatch(ctx context.Context, request UpdateUploadBatchRequestObject) (UpdateUploadBatchResponseObject, error)
// Править метаданные и хранилище (admin)
// (PATCH /api/v1/admin/uploads/files/{id})
UpdateUpload(ctx context.Context, request UpdateUploadRequestObject) (UpdateUploadResponseObject, error)
// Повторить импорт после import_failed (admin)
// (POST /api/v1/admin/uploads/files/{id}/retry)
RetryUploadImport(ctx context.Context, request RetryUploadImportRequestObject) (RetryUploadImportResponseObject, error)
// Прослушать файл из staging (подпись, как у стрима трека)
// (GET /api/v1/admin/uploads/files/{id}/stream)
StreamUpload(ctx context.Context, request StreamUploadRequestObject) (StreamUploadResponseObject, error)
// Одобрить / отклонить файлы (admin)
// (POST /api/v1/admin/uploads/review)
ReviewUploads(ctx context.Context, request ReviewUploadsRequestObject) (ReviewUploadsResponseObject, error)
// Пользователи (admin, moderator)
// (GET /api/v1/admin/users)
ListUsers(ctx context.Context, request ListUsersRequestObject) (ListUsersResponseObject, error)
// Создать пользователя
// (POST /api/v1/admin/users)
CreateUser(ctx context.Context, request CreateUserRequestObject) (CreateUserResponseObject, error)
// Удалить пользователя (admin)
// (DELETE /api/v1/admin/users/{id})
DeleteUser(ctx context.Context, request DeleteUserRequestObject) (DeleteUserResponseObject, error)
// Изменить имя, роль, блокировку
// (PATCH /api/v1/admin/users/{id})
UpdateUser(ctx context.Context, request UpdateUserRequestObject) (UpdateUserResponseObject, error)
// Сбросить пароль
// (POST /api/v1/admin/users/{id}/reset-password)
ResetUserPassword(ctx context.Context, request ResetUserPasswordRequestObject) (ResetUserPasswordResponseObject, error)
// Сбросить рекомендации
// (POST /api/v1/admin/users/{id}/reset-recommendations)
ResetUserRecommendations(ctx context.Context, request ResetUserRecommendationsRequestObject) (ResetUserRecommendationsResponseObject, error)
// Альбом с треками
// (GET /api/v1/albums/{id})
GetAlbum(ctx context.Context, request GetAlbumRequestObject) (GetAlbumResponseObject, error)
// APK версии (кэшируется на сервере, поддерживает Range для докачки)
// (GET /api/v1/app/android/download/{version})
DownloadAndroidApk(ctx context.Context, request DownloadAndroidApkRequestObject) (DownloadAndroidApkResponseObject, error)
// Последняя версия Android-приложения (из релизов Gitea через сервер)
// (GET /api/v1/app/android/latest)
GetAndroidLatest(ctx context.Context, request GetAndroidLatestRequestObject) (GetAndroidLatestResponseObject, error)
// Клиенты последнего релиза (Android и десктоп)
// (GET /api/v1/app/clients)
GetAppClients(ctx context.Context, request GetAppClientsRequestObject) (GetAppClientsResponseObject, error)
// Файл клиента (кэшируется на сервере, поддерживает Range)
// (GET /api/v1/app/download/{client}/{version})
DownloadAppClient(ctx context.Context, request DownloadAppClientRequestObject) (DownloadAppClientResponseObject, error)
// Исполнитель
// (GET /api/v1/artists/{id})
GetArtist(ctx context.Context, request GetArtistRequestObject) (GetArtistResponseObject, error)
// Альбомы исполнителя (свои и сборники с его треками)
// (GET /api/v1/artists/{id}/albums)
ListArtistAlbums(ctx context.Context, request ListArtistAlbumsRequestObject) (ListArtistAlbumsResponseObject, error)
// Популярные треки исполнителя (по прослушиваниям всех пользователей)
// (GET /api/v1/artists/{id}/top-tracks)
ListArtistTopTracks(ctx context.Context, request ListArtistTopTracksRequestObject) (ListArtistTopTracksResponseObject, error)
// Вход по логину и паролю
// (POST /api/v1/auth/login)
Login(ctx context.Context, request LoginRequestObject) (LoginResponseObject, error)
// Выход — отзыв текущей сессии
// (POST /api/v1/auth/logout)
Logout(ctx context.Context, request LogoutRequestObject) (LogoutResponseObject, error)
// Выход на всех устройствах
// (POST /api/v1/auth/logout-all)
LogoutAll(ctx context.Context, request LogoutAllRequestObject) (LogoutAllResponseObject, error)
// Ротация refresh-токена
// (POST /api/v1/auth/refresh)
RefreshTokens(ctx context.Context, request RefreshTokensRequestObject) (RefreshTokensResponseObject, error)
// Обложка альбома (WebP)
// (GET /api/v1/covers/{id})
GetCover(ctx context.Context, request GetCoverRequestObject) (GetCoverResponseObject, error)
// Пачка событий прослушивания (до 500)
// (POST /api/v1/events)
PostEvents(ctx context.Context, request PostEventsRequestObject) (PostEventsResponseObject, error)
// Текущий пользователь
// (GET /api/v1/me)
GetMe(ctx context.Context, request GetMeRequestObject) (GetMeResponseObject, error)
// Изменить имя, язык, настройки интерфейса
// (PATCH /api/v1/me)
UpdateMe(ctx context.Context, request UpdateMeRequestObject) (UpdateMeResponseObject, error)
// Первый запуск — новые логин и пароль администратора
// (POST /api/v1/me/bootstrap-credentials)
SetBootstrapCredentials(ctx context.Context, request SetBootstrapCredentialsRequestObject) (SetBootstrapCredentialsResponseObject, error)
// Дизлайки, новые сверху
// (GET /api/v1/me/dislikes)
GetDislikes(ctx context.Context, request GetDislikesRequestObject) (GetDislikesResponseObject, error)
// Очистить историю (события остаются для статистики)
// (DELETE /api/v1/me/history)
ClearHistory(ctx context.Context, request ClearHistoryRequestObject) (ClearHistoryResponseObject, error)
// История прослушиваний, новые сверху
// (GET /api/v1/me/history)
GetHistory(ctx context.Context, request GetHistoryRequestObject) (GetHistoryResponseObject, error)
// Лайки, новые сверху
// (GET /api/v1/me/likes)
GetLikes(ctx context.Context, request GetLikesRequestObject) (GetLikesResponseObject, error)
// Сохранить выбор онбординга (или пропуск — пустые списки)
// (PUT /api/v1/me/onboarding)
SaveOnboarding(ctx context.Context, request SaveOnboardingRequestObject) (SaveOnboardingResponseObject, error)
// Сменить пароль
// (POST /api/v1/me/password)
ChangePassword(ctx context.Context, request ChangePasswordRequestObject) (ChangePasswordResponseObject, error)
// Последнее состояние плеера (трек, позиция, очередь)
// (GET /api/v1/me/playback-state)
GetPlaybackState(ctx context.Context, request GetPlaybackStateRequestObject) (GetPlaybackStateResponseObject, error)
// Сохранить состояние плеера (last-write-wins)
// (PUT /api/v1/me/playback-state)
PutPlaybackState(ctx context.Context, request PutPlaybackStateRequestObject) (PutPlaybackStateResponseObject, error)
// (GET /api/v1/me/playlists)
ListPlaylists(ctx context.Context, request ListPlaylistsRequestObject) (ListPlaylistsResponseObject, error)
// (POST /api/v1/me/playlists)
CreatePlaylist(ctx context.Context, request CreatePlaylistRequestObject) (CreatePlaylistResponseObject, error)
// (DELETE /api/v1/me/playlists/{id})
DeletePlaylist(ctx context.Context, request DeletePlaylistRequestObject) (DeletePlaylistResponseObject, error)
// (GET /api/v1/me/playlists/{id})
GetPlaylist(ctx context.Context, request GetPlaylistRequestObject) (GetPlaylistResponseObject, error)
// (PUT /api/v1/me/playlists/{id})
UpdatePlaylist(ctx context.Context, request UpdatePlaylistRequestObject) (UpdatePlaylistResponseObject, error)
// Снять реакцию
// (DELETE /api/v1/me/reactions/tracks/{id})
ClearTrackReaction(ctx context.Context, request ClearTrackReactionRequestObject) (ClearTrackReactionResponseObject, error)
// Лайк или дизлайк трека
// (PUT /api/v1/me/reactions/tracks/{id})
SetTrackReaction(ctx context.Context, request SetTrackReactionRequestObject) (SetTrackReactionResponseObject, error)
// Активные сессии (устройства)
// (GET /api/v1/me/sessions)
ListMySessions(ctx context.Context, request ListMySessionsRequestObject) (ListMySessionsResponseObject, error)
// Завершить сессию на устройстве
// (DELETE /api/v1/me/sessions/{id})
RevokeMySession(ctx context.Context, request RevokeMySessionRequestObject) (RevokeMySessionResponseObject, error)
// Онбординг вкуса — исполнители и жанры библиотеки для выбора
// (GET /api/v1/onboarding)
GetOnboarding(ctx context.Context, request GetOnboardingRequestObject) (GetOnboardingResponseObject, error)
// Страница поиска
// (GET /api/v1/search)
Search(ctx context.Context, request SearchRequestObject) (SearchResponseObject, error)
// Выпадающий список поиска — до 3 исполнителей, 3 альбомов, 5 треков
// (GET /api/v1/search/suggest)
SearchSuggest(ctx context.Context, request SearchSuggestRequestObject) (SearchSuggestResponseObject, error)
// Сведения о сервере для клиентов
// (GET /api/v1/server-info)
GetServerInfo(ctx context.Context, request GetServerInfoRequestObject) (GetServerInfoResponseObject, error)
// Аудио трека (поддерживает Range)
// (GET /api/v1/stream/{id})
StreamTrack(ctx context.Context, request StreamTrackRequestObject) (StreamTrackResponseObject, error)
// Треки по списку id (восстановление очереди)
// (POST /api/v1/tracks/batch)
GetTracksBatch(ctx context.Context, request GetTracksBatchRequestObject) (GetTracksBatchResponseObject, error)
// Трек
// (GET /api/v1/tracks/{id})
GetTrack(ctx context.Context, request GetTrackRequestObject) (GetTrackResponseObject, error)
// Создать пачку и зарезервировать место (moderator, admin)
// (POST /api/v1/uploads)
CreateUploadBatch(ctx context.Context, request CreateUploadBatchRequestObject) (CreateUploadBatchResponseObject, error)
// Отозвать своё предложение до решения
// (DELETE /api/v1/uploads/files/{id})
WithdrawUpload(ctx context.Context, request WithdrawUploadRequestObject) (WithdrawUploadResponseObject, error)
// Мои предложения (moderator, admin)
// (GET /api/v1/uploads/mine)
ListMyUploads(ctx context.Context, request ListMyUploadsRequestObject) (ListMyUploadsResponseObject, error)
// Предпроверка дублей до загрузки (moderator, admin)
// (POST /api/v1/uploads/precheck)
PrecheckUploads(ctx context.Context, request PrecheckUploadsRequestObject) (PrecheckUploadsResponseObject, error)
// Квота очереди на добавление (moderator, admin)
// (GET /api/v1/uploads/quota)
GetUploadQuota(ctx context.Context, request GetUploadQuotaRequestObject) (GetUploadQuotaResponseObject, error)
// Отметить свои предложения просмотренными
// (POST /api/v1/uploads/seen)
MarkUploadsSeen(ctx context.Context, request MarkUploadsSeenRequestObject) (MarkUploadsSeenResponseObject, error)
// Сколько решений по своим предложениям с прошлого визита (moderator, admin)
// (GET /api/v1/uploads/unseen)
UnseenUploadDecisions(ctx context.Context, request UnseenUploadDecisionsRequestObject) (UnseenUploadDecisionsResponseObject, error)
// Занятия и настроения (ключи для i18n и иконки)
// (GET /api/v1/wave/options)
GetWaveOptions(ctx context.Context, request GetWaveOptionsRequestObject) (GetWaveOptionsResponseObject, error)
// Начать «Мою волну»
// (POST /api/v1/wave/sessions)
StartWave(ctx context.Context, request StartWaveRequestObject) (StartWaveResponseObject, error)
// Завершить сессию волны
// (DELETE /api/v1/wave/sessions/{id})
EndWave(ctx context.Context, request EndWaveRequestObject) (EndWaveResponseObject, error)
// Сменить занятие / настроение на лету — пачка пересобирается
// (PATCH /api/v1/wave/sessions/{id})
UpdateWave(ctx context.Context, request UpdateWaveRequestObject) (UpdateWaveResponseObject, error)
// Следующая пачка с учётом реакций на выданные треки
// (POST /api/v1/wave/sessions/{id}/next)
NextWave(ctx context.Context, request NextWaveRequestObject) (NextWaveResponseObject, error)
// Живость процесса
// (GET /healthz)
GetHealthz(ctx context.Context, request GetHealthzRequestObject) (GetHealthzResponseObject, error)
// Готовность обслуживать запросы (зависимости доступны)
// (GET /readyz)
GetReadyz(ctx context.Context, request GetReadyzRequestObject) (GetReadyzResponseObject, error)
}
type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc
type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc
type StrictHTTPServerOptions struct {
RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
ResponseErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}
func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface {
return &strictHandler{ssi: ssi, middlewares: middlewares, options: StrictHTTPServerOptions{
RequestErrorHandlerFunc: func(w http.ResponseWriter, r *http.Request, err error) {
http.Error(w, err.Error(), http.StatusBadRequest)
},
ResponseErrorHandlerFunc: func(w http.ResponseWriter, r *http.Request, err error) {
http.Error(w, err.Error(), http.StatusInternalServerError)
},
}}
}
func NewStrictHandlerWithOptions(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc, options StrictHTTPServerOptions) ServerInterface {
return &strictHandler{ssi: ssi, middlewares: middlewares, options: options}
}
type strictHandler struct {
ssi StrictServerInterface
middlewares []StrictMiddlewareFunc
options StrictHTTPServerOptions
}
// ListAudit operation middleware
func (sh *strictHandler) ListAudit(w http.ResponseWriter, r *http.Request, params ListAuditParams) {
var request ListAuditRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListAudit(ctx, request.(ListAuditRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListAudit")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListAuditResponseObject); ok {
if err := validResponse.VisitListAuditResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// RetryAnalysis operation middleware
func (sh *strictHandler) RetryAnalysis(w http.ResponseWriter, r *http.Request) {
var request RetryAnalysisRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.RetryAnalysis(ctx, request.(RetryAnalysisRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "RetryAnalysis")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(RetryAnalysisResponseObject); ok {
if err := validResponse.VisitRetryAnalysisResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListLibraryErrors operation middleware
func (sh *strictHandler) ListLibraryErrors(w http.ResponseWriter, r *http.Request, params ListLibraryErrorsParams) {
var request ListLibraryErrorsRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListLibraryErrors(ctx, request.(ListLibraryErrorsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListLibraryErrors")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListLibraryErrorsResponseObject); ok {
if err := validResponse.VisitListLibraryErrorsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListHostDirs operation middleware
func (sh *strictHandler) ListHostDirs(w http.ResponseWriter, r *http.Request, params ListHostDirsParams) {
var request ListHostDirsRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListHostDirs(ctx, request.(ListHostDirsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListHostDirs")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListHostDirsResponseObject); ok {
if err := validResponse.VisitListHostDirsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetLibraryStatus operation middleware
func (sh *strictHandler) GetLibraryStatus(w http.ResponseWriter, r *http.Request) {
var request GetLibraryStatusRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetLibraryStatus(ctx, request.(GetLibraryStatusRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetLibraryStatus")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetLibraryStatusResponseObject); ok {
if err := validResponse.VisitGetLibraryStatusResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ReindexSearch operation middleware
func (sh *strictHandler) ReindexSearch(w http.ResponseWriter, r *http.Request) {
var request ReindexSearchRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ReindexSearch(ctx, request.(ReindexSearchRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ReindexSearch")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ReindexSearchResponseObject); ok {
if err := validResponse.VisitReindexSearchResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetUploadSettings operation middleware
func (sh *strictHandler) GetUploadSettings(w http.ResponseWriter, r *http.Request) {
var request GetUploadSettingsRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetUploadSettings(ctx, request.(GetUploadSettingsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetUploadSettings")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetUploadSettingsResponseObject); ok {
if err := validResponse.VisitGetUploadSettingsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateUploadSettings operation middleware
func (sh *strictHandler) UpdateUploadSettings(w http.ResponseWriter, r *http.Request) {
var request UpdateUploadSettingsRequestObject
var body UpdateUploadSettingsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateUploadSettings(ctx, request.(UpdateUploadSettingsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateUploadSettings")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateUploadSettingsResponseObject); ok {
if err := validResponse.VisitUpdateUploadSettingsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListSources operation middleware
func (sh *strictHandler) ListSources(w http.ResponseWriter, r *http.Request) {
var request ListSourcesRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListSources(ctx, request.(ListSourcesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListSources")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListSourcesResponseObject); ok {
if err := validResponse.VisitListSourcesResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// CreateSource operation middleware
func (sh *strictHandler) CreateSource(w http.ResponseWriter, r *http.Request) {
var request CreateSourceRequestObject
var body CreateSourceJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.CreateSource(ctx, request.(CreateSourceRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "CreateSource")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(CreateSourceResponseObject); ok {
if err := validResponse.VisitCreateSourceResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// DeleteSource operation middleware
func (sh *strictHandler) DeleteSource(w http.ResponseWriter, r *http.Request, id SourceId) {
var request DeleteSourceRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.DeleteSource(ctx, request.(DeleteSourceRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DeleteSource")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(DeleteSourceResponseObject); ok {
if err := validResponse.VisitDeleteSourceResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetSource operation middleware
func (sh *strictHandler) GetSource(w http.ResponseWriter, r *http.Request, id SourceId) {
var request GetSourceRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetSource(ctx, request.(GetSourceRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetSource")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetSourceResponseObject); ok {
if err := validResponse.VisitGetSourceResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateSource operation middleware
func (sh *strictHandler) UpdateSource(w http.ResponseWriter, r *http.Request, id SourceId) {
var request UpdateSourceRequestObject
request.Id = id
var body UpdateSourceJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateSource(ctx, request.(UpdateSourceRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateSource")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateSourceResponseObject); ok {
if err := validResponse.VisitUpdateSourceResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetSourcePatterns operation middleware
func (sh *strictHandler) GetSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId) {
var request GetSourcePatternsRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetSourcePatterns(ctx, request.(GetSourcePatternsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetSourcePatterns")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetSourcePatternsResponseObject); ok {
if err := validResponse.VisitGetSourcePatternsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// PutSourcePatterns operation middleware
func (sh *strictHandler) PutSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId) {
var request PutSourcePatternsRequestObject
request.Id = id
var body PutSourcePatternsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.PutSourcePatterns(ctx, request.(PutSourcePatternsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PutSourcePatterns")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(PutSourcePatternsResponseObject); ok {
if err := validResponse.VisitPutSourcePatternsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// PreviewSourcePatterns operation middleware
func (sh *strictHandler) PreviewSourcePatterns(w http.ResponseWriter, r *http.Request, id SourceId) {
var request PreviewSourcePatternsRequestObject
request.Id = id
var body PreviewSourcePatternsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.PreviewSourcePatterns(ctx, request.(PreviewSourcePatternsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PreviewSourcePatterns")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(PreviewSourcePatternsResponseObject); ok {
if err := validResponse.VisitPreviewSourcePatternsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ScanSource operation middleware
func (sh *strictHandler) ScanSource(w http.ResponseWriter, r *http.Request, id SourceId) {
var request ScanSourceRequestObject
request.Id = id
var body ScanSourceJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ScanSource(ctx, request.(ScanSourceRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ScanSource")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ScanSourceResponseObject); ok {
if err := validResponse.VisitScanSourceResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// TestSource operation middleware
func (sh *strictHandler) TestSource(w http.ResponseWriter, r *http.Request, id SourceId) {
var request TestSourceRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.TestSource(ctx, request.(TestSourceRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "TestSource")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(TestSourceResponseObject); ok {
if err := validResponse.VisitTestSourceResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// CheckWriteTemplate operation middleware
func (sh *strictHandler) CheckWriteTemplate(w http.ResponseWriter, r *http.Request, id SourceId) {
var request CheckWriteTemplateRequestObject
request.Id = id
var body CheckWriteTemplateJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.CheckWriteTemplate(ctx, request.(CheckWriteTemplateRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "CheckWriteTemplate")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(CheckWriteTemplateResponseObject); ok {
if err := validResponse.VisitCheckWriteTemplateResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// SuggestWriteTemplate operation middleware
func (sh *strictHandler) SuggestWriteTemplate(w http.ResponseWriter, r *http.Request, id SourceId) {
var request SuggestWriteTemplateRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.SuggestWriteTemplate(ctx, request.(SuggestWriteTemplateRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "SuggestWriteTemplate")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(SuggestWriteTemplateResponseObject); ok {
if err := validResponse.VisitSuggestWriteTemplateResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListUploads operation middleware
func (sh *strictHandler) ListUploads(w http.ResponseWriter, r *http.Request, params ListUploadsParams) {
var request ListUploadsRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListUploads(ctx, request.(ListUploadsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListUploads")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListUploadsResponseObject); ok {
if err := validResponse.VisitListUploadsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateUploadBatch operation middleware
func (sh *strictHandler) UpdateUploadBatch(w http.ResponseWriter, r *http.Request, id EntityId) {
var request UpdateUploadBatchRequestObject
request.Id = id
var body UpdateUploadBatchJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateUploadBatch(ctx, request.(UpdateUploadBatchRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateUploadBatch")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateUploadBatchResponseObject); ok {
if err := validResponse.VisitUpdateUploadBatchResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateUpload operation middleware
func (sh *strictHandler) UpdateUpload(w http.ResponseWriter, r *http.Request, id EntityId) {
var request UpdateUploadRequestObject
request.Id = id
var body UpdateUploadJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateUpload(ctx, request.(UpdateUploadRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateUpload")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateUploadResponseObject); ok {
if err := validResponse.VisitUpdateUploadResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// RetryUploadImport operation middleware
func (sh *strictHandler) RetryUploadImport(w http.ResponseWriter, r *http.Request, id EntityId) {
var request RetryUploadImportRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.RetryUploadImport(ctx, request.(RetryUploadImportRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "RetryUploadImport")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(RetryUploadImportResponseObject); ok {
if err := validResponse.VisitRetryUploadImportResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// StreamUpload operation middleware
func (sh *strictHandler) StreamUpload(w http.ResponseWriter, r *http.Request, id EntityId, params StreamUploadParams) {
var request StreamUploadRequestObject
request.Id = id
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.StreamUpload(ctx, request.(StreamUploadRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "StreamUpload")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(StreamUploadResponseObject); ok {
if err := validResponse.VisitStreamUploadResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ReviewUploads operation middleware
func (sh *strictHandler) ReviewUploads(w http.ResponseWriter, r *http.Request) {
var request ReviewUploadsRequestObject
var body ReviewUploadsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ReviewUploads(ctx, request.(ReviewUploadsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ReviewUploads")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ReviewUploadsResponseObject); ok {
if err := validResponse.VisitReviewUploadsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListUsers operation middleware
func (sh *strictHandler) ListUsers(w http.ResponseWriter, r *http.Request, params ListUsersParams) {
var request ListUsersRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListUsers(ctx, request.(ListUsersRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListUsers")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListUsersResponseObject); ok {
if err := validResponse.VisitListUsersResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// CreateUser operation middleware
func (sh *strictHandler) CreateUser(w http.ResponseWriter, r *http.Request) {
var request CreateUserRequestObject
var body CreateUserJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.CreateUser(ctx, request.(CreateUserRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "CreateUser")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(CreateUserResponseObject); ok {
if err := validResponse.VisitCreateUserResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// DeleteUser operation middleware
func (sh *strictHandler) DeleteUser(w http.ResponseWriter, r *http.Request, id UserId) {
var request DeleteUserRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.DeleteUser(ctx, request.(DeleteUserRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DeleteUser")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(DeleteUserResponseObject); ok {
if err := validResponse.VisitDeleteUserResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateUser operation middleware
func (sh *strictHandler) UpdateUser(w http.ResponseWriter, r *http.Request, id UserId) {
var request UpdateUserRequestObject
request.Id = id
var body UpdateUserJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateUser(ctx, request.(UpdateUserRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateUser")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateUserResponseObject); ok {
if err := validResponse.VisitUpdateUserResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ResetUserPassword operation middleware
func (sh *strictHandler) ResetUserPassword(w http.ResponseWriter, r *http.Request, id UserId) {
var request ResetUserPasswordRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ResetUserPassword(ctx, request.(ResetUserPasswordRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ResetUserPassword")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ResetUserPasswordResponseObject); ok {
if err := validResponse.VisitResetUserPasswordResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ResetUserRecommendations operation middleware
func (sh *strictHandler) ResetUserRecommendations(w http.ResponseWriter, r *http.Request, id UserId) {
var request ResetUserRecommendationsRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ResetUserRecommendations(ctx, request.(ResetUserRecommendationsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ResetUserRecommendations")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ResetUserRecommendationsResponseObject); ok {
if err := validResponse.VisitResetUserRecommendationsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetAlbum operation middleware
func (sh *strictHandler) GetAlbum(w http.ResponseWriter, r *http.Request, id EntityId) {
var request GetAlbumRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetAlbum(ctx, request.(GetAlbumRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetAlbum")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetAlbumResponseObject); ok {
if err := validResponse.VisitGetAlbumResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// DownloadAndroidApk operation middleware
func (sh *strictHandler) DownloadAndroidApk(w http.ResponseWriter, r *http.Request, version string) {
var request DownloadAndroidApkRequestObject
request.Version = version
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.DownloadAndroidApk(ctx, request.(DownloadAndroidApkRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DownloadAndroidApk")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(DownloadAndroidApkResponseObject); ok {
if err := validResponse.VisitDownloadAndroidApkResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetAndroidLatest operation middleware
func (sh *strictHandler) GetAndroidLatest(w http.ResponseWriter, r *http.Request) {
var request GetAndroidLatestRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetAndroidLatest(ctx, request.(GetAndroidLatestRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetAndroidLatest")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetAndroidLatestResponseObject); ok {
if err := validResponse.VisitGetAndroidLatestResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetAppClients operation middleware
func (sh *strictHandler) GetAppClients(w http.ResponseWriter, r *http.Request) {
var request GetAppClientsRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetAppClients(ctx, request.(GetAppClientsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetAppClients")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetAppClientsResponseObject); ok {
if err := validResponse.VisitGetAppClientsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// DownloadAppClient operation middleware
func (sh *strictHandler) DownloadAppClient(w http.ResponseWriter, r *http.Request, client AppClient, version string) {
var request DownloadAppClientRequestObject
request.Client = client
request.Version = version
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.DownloadAppClient(ctx, request.(DownloadAppClientRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DownloadAppClient")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(DownloadAppClientResponseObject); ok {
if err := validResponse.VisitDownloadAppClientResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetArtist operation middleware
func (sh *strictHandler) GetArtist(w http.ResponseWriter, r *http.Request, id EntityId) {
var request GetArtistRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetArtist(ctx, request.(GetArtistRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetArtist")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetArtistResponseObject); ok {
if err := validResponse.VisitGetArtistResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListArtistAlbums operation middleware
func (sh *strictHandler) ListArtistAlbums(w http.ResponseWriter, r *http.Request, id EntityId) {
var request ListArtistAlbumsRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListArtistAlbums(ctx, request.(ListArtistAlbumsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListArtistAlbums")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListArtistAlbumsResponseObject); ok {
if err := validResponse.VisitListArtistAlbumsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListArtistTopTracks operation middleware
func (sh *strictHandler) ListArtistTopTracks(w http.ResponseWriter, r *http.Request, id EntityId, params ListArtistTopTracksParams) {
var request ListArtistTopTracksRequestObject
request.Id = id
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListArtistTopTracks(ctx, request.(ListArtistTopTracksRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListArtistTopTracks")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListArtistTopTracksResponseObject); ok {
if err := validResponse.VisitListArtistTopTracksResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// Login operation middleware
func (sh *strictHandler) Login(w http.ResponseWriter, r *http.Request) {
var request LoginRequestObject
var body LoginJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.Login(ctx, request.(LoginRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "Login")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(LoginResponseObject); ok {
if err := validResponse.VisitLoginResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// Logout operation middleware
func (sh *strictHandler) Logout(w http.ResponseWriter, r *http.Request) {
var request LogoutRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.Logout(ctx, request.(LogoutRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "Logout")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(LogoutResponseObject); ok {
if err := validResponse.VisitLogoutResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// LogoutAll operation middleware
func (sh *strictHandler) LogoutAll(w http.ResponseWriter, r *http.Request) {
var request LogoutAllRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.LogoutAll(ctx, request.(LogoutAllRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "LogoutAll")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(LogoutAllResponseObject); ok {
if err := validResponse.VisitLogoutAllResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// RefreshTokens operation middleware
func (sh *strictHandler) RefreshTokens(w http.ResponseWriter, r *http.Request, params RefreshTokensParams) {
var request RefreshTokensRequestObject
request.Params = params
var body RefreshTokensJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.RefreshTokens(ctx, request.(RefreshTokensRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "RefreshTokens")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(RefreshTokensResponseObject); ok {
if err := validResponse.VisitRefreshTokensResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetCover operation middleware
func (sh *strictHandler) GetCover(w http.ResponseWriter, r *http.Request, id EntityId, params GetCoverParams) {
var request GetCoverRequestObject
request.Id = id
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetCover(ctx, request.(GetCoverRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetCover")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetCoverResponseObject); ok {
if err := validResponse.VisitGetCoverResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// PostEvents operation middleware
func (sh *strictHandler) PostEvents(w http.ResponseWriter, r *http.Request) {
var request PostEventsRequestObject
var body PostEventsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.PostEvents(ctx, request.(PostEventsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PostEvents")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(PostEventsResponseObject); ok {
if err := validResponse.VisitPostEventsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetMe operation middleware
func (sh *strictHandler) GetMe(w http.ResponseWriter, r *http.Request) {
var request GetMeRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetMe(ctx, request.(GetMeRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetMe")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetMeResponseObject); ok {
if err := validResponse.VisitGetMeResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateMe operation middleware
func (sh *strictHandler) UpdateMe(w http.ResponseWriter, r *http.Request) {
var request UpdateMeRequestObject
var body UpdateMeJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateMe(ctx, request.(UpdateMeRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateMe")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateMeResponseObject); ok {
if err := validResponse.VisitUpdateMeResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// SetBootstrapCredentials operation middleware
func (sh *strictHandler) SetBootstrapCredentials(w http.ResponseWriter, r *http.Request) {
var request SetBootstrapCredentialsRequestObject
var body SetBootstrapCredentialsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.SetBootstrapCredentials(ctx, request.(SetBootstrapCredentialsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "SetBootstrapCredentials")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(SetBootstrapCredentialsResponseObject); ok {
if err := validResponse.VisitSetBootstrapCredentialsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetDislikes operation middleware
func (sh *strictHandler) GetDislikes(w http.ResponseWriter, r *http.Request, params GetDislikesParams) {
var request GetDislikesRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetDislikes(ctx, request.(GetDislikesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetDislikes")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetDislikesResponseObject); ok {
if err := validResponse.VisitGetDislikesResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ClearHistory operation middleware
func (sh *strictHandler) ClearHistory(w http.ResponseWriter, r *http.Request) {
var request ClearHistoryRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ClearHistory(ctx, request.(ClearHistoryRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ClearHistory")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ClearHistoryResponseObject); ok {
if err := validResponse.VisitClearHistoryResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetHistory operation middleware
func (sh *strictHandler) GetHistory(w http.ResponseWriter, r *http.Request, params GetHistoryParams) {
var request GetHistoryRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetHistory(ctx, request.(GetHistoryRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetHistory")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetHistoryResponseObject); ok {
if err := validResponse.VisitGetHistoryResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetLikes operation middleware
func (sh *strictHandler) GetLikes(w http.ResponseWriter, r *http.Request, params GetLikesParams) {
var request GetLikesRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetLikes(ctx, request.(GetLikesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetLikes")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetLikesResponseObject); ok {
if err := validResponse.VisitGetLikesResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// SaveOnboarding operation middleware
func (sh *strictHandler) SaveOnboarding(w http.ResponseWriter, r *http.Request) {
var request SaveOnboardingRequestObject
var body SaveOnboardingJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.SaveOnboarding(ctx, request.(SaveOnboardingRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "SaveOnboarding")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(SaveOnboardingResponseObject); ok {
if err := validResponse.VisitSaveOnboardingResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ChangePassword operation middleware
func (sh *strictHandler) ChangePassword(w http.ResponseWriter, r *http.Request) {
var request ChangePasswordRequestObject
var body ChangePasswordJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ChangePassword(ctx, request.(ChangePasswordRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ChangePassword")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ChangePasswordResponseObject); ok {
if err := validResponse.VisitChangePasswordResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetPlaybackState operation middleware
func (sh *strictHandler) GetPlaybackState(w http.ResponseWriter, r *http.Request) {
var request GetPlaybackStateRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetPlaybackState(ctx, request.(GetPlaybackStateRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetPlaybackState")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetPlaybackStateResponseObject); ok {
if err := validResponse.VisitGetPlaybackStateResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// PutPlaybackState operation middleware
func (sh *strictHandler) PutPlaybackState(w http.ResponseWriter, r *http.Request) {
var request PutPlaybackStateRequestObject
var body PutPlaybackStateJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.PutPlaybackState(ctx, request.(PutPlaybackStateRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PutPlaybackState")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(PutPlaybackStateResponseObject); ok {
if err := validResponse.VisitPutPlaybackStateResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListPlaylists operation middleware
func (sh *strictHandler) ListPlaylists(w http.ResponseWriter, r *http.Request) {
var request ListPlaylistsRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListPlaylists(ctx, request.(ListPlaylistsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListPlaylists")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListPlaylistsResponseObject); ok {
if err := validResponse.VisitListPlaylistsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// CreatePlaylist operation middleware
func (sh *strictHandler) CreatePlaylist(w http.ResponseWriter, r *http.Request) {
var request CreatePlaylistRequestObject
var body CreatePlaylistJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.CreatePlaylist(ctx, request.(CreatePlaylistRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "CreatePlaylist")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(CreatePlaylistResponseObject); ok {
if err := validResponse.VisitCreatePlaylistResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// DeletePlaylist operation middleware
func (sh *strictHandler) DeletePlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
var request DeletePlaylistRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.DeletePlaylist(ctx, request.(DeletePlaylistRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DeletePlaylist")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(DeletePlaylistResponseObject); ok {
if err := validResponse.VisitDeletePlaylistResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetPlaylist operation middleware
func (sh *strictHandler) GetPlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
var request GetPlaylistRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetPlaylist(ctx, request.(GetPlaylistRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetPlaylist")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetPlaylistResponseObject); ok {
if err := validResponse.VisitGetPlaylistResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdatePlaylist operation middleware
func (sh *strictHandler) UpdatePlaylist(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
var request UpdatePlaylistRequestObject
request.Id = id
var body UpdatePlaylistJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdatePlaylist(ctx, request.(UpdatePlaylistRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdatePlaylist")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdatePlaylistResponseObject); ok {
if err := validResponse.VisitUpdatePlaylistResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ClearTrackReaction operation middleware
func (sh *strictHandler) ClearTrackReaction(w http.ResponseWriter, r *http.Request, id EntityId) {
var request ClearTrackReactionRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ClearTrackReaction(ctx, request.(ClearTrackReactionRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ClearTrackReaction")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ClearTrackReactionResponseObject); ok {
if err := validResponse.VisitClearTrackReactionResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// SetTrackReaction operation middleware
func (sh *strictHandler) SetTrackReaction(w http.ResponseWriter, r *http.Request, id EntityId) {
var request SetTrackReactionRequestObject
request.Id = id
var body SetTrackReactionJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.SetTrackReaction(ctx, request.(SetTrackReactionRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "SetTrackReaction")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(SetTrackReactionResponseObject); ok {
if err := validResponse.VisitSetTrackReactionResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListMySessions operation middleware
func (sh *strictHandler) ListMySessions(w http.ResponseWriter, r *http.Request) {
var request ListMySessionsRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListMySessions(ctx, request.(ListMySessionsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListMySessions")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListMySessionsResponseObject); ok {
if err := validResponse.VisitListMySessionsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// RevokeMySession operation middleware
func (sh *strictHandler) RevokeMySession(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
var request RevokeMySessionRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.RevokeMySession(ctx, request.(RevokeMySessionRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "RevokeMySession")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(RevokeMySessionResponseObject); ok {
if err := validResponse.VisitRevokeMySessionResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetOnboarding operation middleware
func (sh *strictHandler) GetOnboarding(w http.ResponseWriter, r *http.Request) {
var request GetOnboardingRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetOnboarding(ctx, request.(GetOnboardingRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetOnboarding")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetOnboardingResponseObject); ok {
if err := validResponse.VisitGetOnboardingResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// Search operation middleware
func (sh *strictHandler) Search(w http.ResponseWriter, r *http.Request, params SearchParams) {
var request SearchRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.Search(ctx, request.(SearchRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "Search")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(SearchResponseObject); ok {
if err := validResponse.VisitSearchResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// SearchSuggest operation middleware
func (sh *strictHandler) SearchSuggest(w http.ResponseWriter, r *http.Request, params SearchSuggestParams) {
var request SearchSuggestRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.SearchSuggest(ctx, request.(SearchSuggestRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "SearchSuggest")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(SearchSuggestResponseObject); ok {
if err := validResponse.VisitSearchSuggestResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetServerInfo operation middleware
func (sh *strictHandler) GetServerInfo(w http.ResponseWriter, r *http.Request) {
var request GetServerInfoRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetServerInfo(ctx, request.(GetServerInfoRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetServerInfo")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetServerInfoResponseObject); ok {
if err := validResponse.VisitGetServerInfoResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// StreamTrack operation middleware
func (sh *strictHandler) StreamTrack(w http.ResponseWriter, r *http.Request, id EntityId, params StreamTrackParams) {
var request StreamTrackRequestObject
request.Id = id
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.StreamTrack(ctx, request.(StreamTrackRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "StreamTrack")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(StreamTrackResponseObject); ok {
if err := validResponse.VisitStreamTrackResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetTracksBatch operation middleware
func (sh *strictHandler) GetTracksBatch(w http.ResponseWriter, r *http.Request) {
var request GetTracksBatchRequestObject
var body GetTracksBatchJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetTracksBatch(ctx, request.(GetTracksBatchRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetTracksBatch")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetTracksBatchResponseObject); ok {
if err := validResponse.VisitGetTracksBatchResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetTrack operation middleware
func (sh *strictHandler) GetTrack(w http.ResponseWriter, r *http.Request, id EntityId) {
var request GetTrackRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetTrack(ctx, request.(GetTrackRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetTrack")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetTrackResponseObject); ok {
if err := validResponse.VisitGetTrackResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// CreateUploadBatch operation middleware
func (sh *strictHandler) CreateUploadBatch(w http.ResponseWriter, r *http.Request) {
var request CreateUploadBatchRequestObject
var body CreateUploadBatchJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.CreateUploadBatch(ctx, request.(CreateUploadBatchRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "CreateUploadBatch")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(CreateUploadBatchResponseObject); ok {
if err := validResponse.VisitCreateUploadBatchResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// WithdrawUpload operation middleware
func (sh *strictHandler) WithdrawUpload(w http.ResponseWriter, r *http.Request, id EntityId) {
var request WithdrawUploadRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.WithdrawUpload(ctx, request.(WithdrawUploadRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "WithdrawUpload")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(WithdrawUploadResponseObject); ok {
if err := validResponse.VisitWithdrawUploadResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// ListMyUploads operation middleware
func (sh *strictHandler) ListMyUploads(w http.ResponseWriter, r *http.Request, params ListMyUploadsParams) {
var request ListMyUploadsRequestObject
request.Params = params
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.ListMyUploads(ctx, request.(ListMyUploadsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "ListMyUploads")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(ListMyUploadsResponseObject); ok {
if err := validResponse.VisitListMyUploadsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// PrecheckUploads operation middleware
func (sh *strictHandler) PrecheckUploads(w http.ResponseWriter, r *http.Request) {
var request PrecheckUploadsRequestObject
var body PrecheckUploadsJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.PrecheckUploads(ctx, request.(PrecheckUploadsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PrecheckUploads")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(PrecheckUploadsResponseObject); ok {
if err := validResponse.VisitPrecheckUploadsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetUploadQuota operation middleware
func (sh *strictHandler) GetUploadQuota(w http.ResponseWriter, r *http.Request) {
var request GetUploadQuotaRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetUploadQuota(ctx, request.(GetUploadQuotaRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetUploadQuota")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetUploadQuotaResponseObject); ok {
if err := validResponse.VisitGetUploadQuotaResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// MarkUploadsSeen operation middleware
func (sh *strictHandler) MarkUploadsSeen(w http.ResponseWriter, r *http.Request) {
var request MarkUploadsSeenRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.MarkUploadsSeen(ctx, request.(MarkUploadsSeenRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "MarkUploadsSeen")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(MarkUploadsSeenResponseObject); ok {
if err := validResponse.VisitMarkUploadsSeenResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UnseenUploadDecisions operation middleware
func (sh *strictHandler) UnseenUploadDecisions(w http.ResponseWriter, r *http.Request) {
var request UnseenUploadDecisionsRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UnseenUploadDecisions(ctx, request.(UnseenUploadDecisionsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UnseenUploadDecisions")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UnseenUploadDecisionsResponseObject); ok {
if err := validResponse.VisitUnseenUploadDecisionsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetWaveOptions operation middleware
func (sh *strictHandler) GetWaveOptions(w http.ResponseWriter, r *http.Request) {
var request GetWaveOptionsRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetWaveOptions(ctx, request.(GetWaveOptionsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetWaveOptions")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetWaveOptionsResponseObject); ok {
if err := validResponse.VisitGetWaveOptionsResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// StartWave operation middleware
func (sh *strictHandler) StartWave(w http.ResponseWriter, r *http.Request) {
var request StartWaveRequestObject
var body StartWaveJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.StartWave(ctx, request.(StartWaveRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "StartWave")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(StartWaveResponseObject); ok {
if err := validResponse.VisitStartWaveResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// EndWave operation middleware
func (sh *strictHandler) EndWave(w http.ResponseWriter, r *http.Request, id EntityId) {
var request EndWaveRequestObject
request.Id = id
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.EndWave(ctx, request.(EndWaveRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "EndWave")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(EndWaveResponseObject); ok {
if err := validResponse.VisitEndWaveResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// UpdateWave operation middleware
func (sh *strictHandler) UpdateWave(w http.ResponseWriter, r *http.Request, id EntityId) {
var request UpdateWaveRequestObject
request.Id = id
var body UpdateWaveJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.UpdateWave(ctx, request.(UpdateWaveRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "UpdateWave")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(UpdateWaveResponseObject); ok {
if err := validResponse.VisitUpdateWaveResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// NextWave operation middleware
func (sh *strictHandler) NextWave(w http.ResponseWriter, r *http.Request, id EntityId) {
var request NextWaveRequestObject
request.Id = id
var body NextWaveJSONRequestBody
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
return
}
request.Body = &body
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.NextWave(ctx, request.(NextWaveRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "NextWave")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(NextWaveResponseObject); ok {
if err := validResponse.VisitNextWaveResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetHealthz operation middleware
func (sh *strictHandler) GetHealthz(w http.ResponseWriter, r *http.Request) {
var request GetHealthzRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetHealthz(ctx, request.(GetHealthzRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetHealthz")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetHealthzResponseObject); ok {
if err := validResponse.VisitGetHealthzResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// GetReadyz operation middleware
func (sh *strictHandler) GetReadyz(w http.ResponseWriter, r *http.Request) {
var request GetReadyzRequestObject
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
return sh.ssi.GetReadyz(ctx, request.(GetReadyzRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetReadyz")
}
response, err := handler(r.Context(), w, r, request)
if err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
} else if validResponse, ok := response.(GetReadyzResponseObject); ok {
if err := validResponse.VisitGetReadyzResponse(w); err != nil {
sh.options.ResponseErrorHandlerFunc(w, r, err)
}
} else if response != nil {
sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
}
}
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"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",
"AQA=",
}
// 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
}