chore(web): drop legacy openapi-generator-cli — orval is the single source (v1.0.8 B9)

Closes Phase 3 of the v1.0.8 OpenAPI typegen migration. With the four
feature-service migrations (B2 dashboard, B3 profile, B4 playlist,
B5 track, B6 partial auth) landed, the four remaining importers of
the legacy typescript-axios output were all consuming pure model
types — easily portable to the equivalent orval-generated models
under src/services/generated/model/.

Type imports re-pointed (4 sites):
- src/types/index.ts            — VezaBackendApiInternalModelsUser /
                                  Track / TrackStatus / Playlist
- src/types/api.ts              — same trio (Track / TrackStatus / User)
- src/features/auth/types/index.ts — TokenResponse +
                                  ResendVerificationRequest
- src/features/tracks/types/track.ts — Track / TrackStatus

Same shapes, sourced from openapi.yaml — orval and the legacy
generator were emitting structurally-identical interfaces because
swaggo's spec is the common source. Verified by `npm run typecheck`
clean and 1187/1188 tests green (1 skipped is the long-standing
ResetPasswordPage flake).

Cleanup performed:
1. `git rm -rf apps/web/src/types/generated/` — 198 files / ~23k LOC
   of auto-generated typescript-axios output gone.
2. `npm uninstall @openapitools/openapi-generator-cli` — drops the
   ~150 MB Java-bundled dependency tree from node_modules.
3. `apps/web/scripts/generate-types.sh` — collapsed from a two-step
   "[1/2] legacy / [2/2] orval" pipeline to a single orval call.
4. `apps/web/scripts/check-types-sync.sh` — now diffs only
   `src/services/generated/`. The "regenerate two trees" complexity
   is gone.
5. `.husky/pre-commit` — message updated to point at the new tree.

Knock-on: the pre-commit hook should run noticeably faster (no Java
JVM spin-up to invoke openapi-generator-cli on every commit), and a
fresh `npm install` is leaner.

Not yet removed (still active under hand-written services):
- services/api/{auth,users,tracks,playlists,queue,search,social}.ts
  — these wrap features/<feature>/api/* services and remain in use
  by 2-15 callers each. They live in the orval-driven world (their
  underlying calls go through orval mutator) and don't import the
  legacy types, so they're safe parallel surfaces. Consolidation
  punted to v1.0.9 once all auth/queue endpoints are annotated and
  the remaining authService 5/9 functions ship.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
senke 2026-04-26 00:02:58 +02:00
parent f23d23cf2b
commit a66aeade45
206 changed files with 33 additions and 23540 deletions

View file

@ -2,7 +2,7 @@
# Each step runs in a subshell so the cd does not leak across steps. # Each step runs in a subshell so the cd does not leak across steps.
# Pre-commit runs from the repo root; every cd below is relative to that. # Pre-commit runs from the repo root; every cd below is relative to that.
# Drift guard: ensure apps/web/src/types/generated/ matches # Drift guard: ensure apps/web/src/services/generated/ (orval) matches
# veza-backend-api/openapi.yaml. Regenerates locally then fails if the # veza-backend-api/openapi.yaml. Regenerates locally then fails if the
# committed types don't match the freshly-regenerated output. # committed types don't match the freshly-regenerated output.
# Skip with SKIP_TYPES=1 for emergency commits (documented in CLAUDE.md). # Skip with SKIP_TYPES=1 for emergency commits (documented in CLAUDE.md).
@ -10,7 +10,7 @@ if [ -z "$SKIP_TYPES" ]; then
(cd apps/web && bash scripts/check-types-sync.sh) || { (cd apps/web && bash scripts/check-types-sync.sh) || {
echo "❌ OpenAPI types are out of sync with veza-backend-api/openapi.yaml." echo "❌ OpenAPI types are out of sync with veza-backend-api/openapi.yaml."
echo "💡 Run: make openapi && cd apps/web && bash scripts/generate-types.sh" echo "💡 Run: make openapi && cd apps/web && bash scripts/generate-types.sh"
echo "💡 Then stage the updated src/types/generated/ and retry." echo "💡 Then stage the updated src/services/generated/ and retry."
echo "💡 Tip: SKIP_TYPES=1 bypasses (not recommended)." echo "💡 Tip: SKIP_TYPES=1 bypasses (not recommended)."
exit 1 exit 1
} }

View file

@ -99,7 +99,6 @@
"zustand": "^4.5.0" "zustand": "^4.5.0"
}, },
"devDependencies": { "devDependencies": {
"@openapitools/openapi-generator-cli": "^2.27.0",
"@storybook/addon-a11y": "^10.3.3", "@storybook/addon-a11y": "^10.3.3",
"@storybook/addon-docs": "^10.3.3", "@storybook/addon-docs": "^10.3.3",
"@storybook/addon-vitest": "^10.3.3", "@storybook/addon-vitest": "^10.3.3",

View file

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
# Check that generated TypeScript types + orval output match the committed # Check that orval-generated output matches the committed version.
# versions. Fails if openapi.yaml changed without regenerating one of the # Fails if openapi.yaml changed without regenerating.
# two trees.
# #
# v1.0.8 Phase 1: watches both src/types/generated/ (legacy typescript-axios) # v1.0.8 Phase 3 (B9) — single tree now: src/services/generated/ (orval).
# and src/services/generated/ (orval). Phase 3 (B9) removes the legacy tree. # The legacy src/types/generated/ tree was dropped along with the
# @openapitools/openapi-generator-cli dependency.
# #
# Usage: ./scripts/check-types-sync.sh (from apps/web) # Usage: ./scripts/check-types-sync.sh (from apps/web)
@ -15,21 +15,12 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT" cd "$PROJECT_ROOT"
# Regenerate both legacy types + orval output. # Regenerate orval output.
./scripts/generate-types.sh ./scripts/generate-types.sh
# Check for uncommitted changes across BOTH trees. # Check for uncommitted changes.
sync_ok=true
if ! git diff --exit-code src/types/generated/ >/dev/null 2>&1; then
echo "Error: src/types/generated/ is out of sync with openapi.yaml."
sync_ok=false
fi
if ! git diff --exit-code src/services/generated/ >/dev/null 2>&1; then if ! git diff --exit-code src/services/generated/ >/dev/null 2>&1; then
echo "Error: src/services/generated/ (orval) is out of sync with openapi.yaml." echo "Error: src/services/generated/ (orval) is out of sync with openapi.yaml."
sync_ok=false
fi
if ! $sync_ok; then
echo "" echo ""
echo "Run: make openapi && cd apps/web && ./scripts/generate-types.sh" echo "Run: make openapi && cd apps/web && ./scripts/generate-types.sh"
echo "Then stage the updated files and retry." echo "Then stage the updated files and retry."

View file

@ -1,13 +1,9 @@
# Generate TypeScript types + React Query hooks from OpenAPI spec. # Generate TypeScript types + React Query hooks from OpenAPI spec.
# #
# v1.0.8 Phase 1: runs TWO generators during the migration: # v1.0.8 Phase 3 (B9) — single generator now: orval emits typed Axios
# 1. @openapitools/openapi-generator-cli → src/types/generated/ # functions + React Query hooks under src/services/generated/. The
# (feeds hand-written services/api/*.ts until Phase 3 cleanup) # legacy openapi-generator-cli output (src/types/generated/) was
# 2. orval → src/services/generated/ # removed once all consumers switched to orval models.
# (typed Axios services + React Query hooks, new world)
#
# Phase 3 (B9) removes step 1 and drops the old generator dependency.
# Until then, drift on EITHER tree fails check-types-sync.sh.
# #
# Usage: ./scripts/generate-types.sh # Usage: ./scripts/generate-types.sh
# (invoked by check-types-sync.sh, pre-commit, CI frontend-ci.yml) # (invoked by check-types-sync.sh, pre-commit, CI frontend-ci.yml)
@ -23,7 +19,6 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
BACKEND_ROOT="$(cd "$PROJECT_ROOT/../../veza-backend-api" && pwd)" BACKEND_ROOT="$(cd "$PROJECT_ROOT/../../veza-backend-api" && pwd)"
OPENAPI_SPEC="$BACKEND_ROOT/openapi.yaml" OPENAPI_SPEC="$BACKEND_ROOT/openapi.yaml"
LEGACY_OUTPUT_DIR="$PROJECT_ROOT/src/types/generated"
ORVAL_OUTPUT_DIR="$PROJECT_ROOT/src/services/generated" ORVAL_OUTPUT_DIR="$PROJECT_ROOT/src/services/generated"
cd "$PROJECT_ROOT" cd "$PROJECT_ROOT"
@ -35,33 +30,9 @@ if [ ! -f "$OPENAPI_SPEC" ]; then
fi fi
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 1. Legacy generator — still feeds hand-written services during migration. # orval — typed Axios services + React Query hooks.
# Dropped in v1.0.8 Phase 3 (B9) once all services switch to orval.
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
echo -e "${GREEN}🔨 [1/2] Generating legacy typescript-axios types...${NC}" echo -e "${GREEN}🔨 Generating orval services + hooks...${NC}"
mkdir -p "$LEGACY_OUTPUT_DIR"
npx @openapitools/openapi-generator-cli generate \
-i "$OPENAPI_SPEC" \
-g typescript-axios \
-o "$LEGACY_OUTPUT_DIR" \
--additional-properties=supportsES6=true,withInterfaces=true,typescriptThreePlus=true
cat > "$LEGACY_OUTPUT_DIR/index.ts" << 'EOF'
// Auto-generated types from OpenAPI specification
// Do not edit this file manually - it will be overwritten
// DEPRECATED v1.0.8 P3 — migrate consumers to src/services/generated/ (orval).
export * from './api';
export * from './base';
export * from './configuration';
export * from './common';
EOF
echo -e "${GREEN} ✅ Legacy types → $LEGACY_OUTPUT_DIR${NC}"
# -----------------------------------------------------------------------------
# 2. orval — typed Axios services + React Query hooks. New world.
# -----------------------------------------------------------------------------
echo -e "${GREEN}🔨 [2/2] Generating orval services + hooks...${NC}"
npx orval --config orval.config.ts npx orval --config orval.config.ts
echo -e "${GREEN} ✅ orval output → $ORVAL_OUTPUT_DIR${NC}" echo -e "${GREEN} ✅ orval output → $ORVAL_OUTPUT_DIR${NC}"

View file

@ -1,10 +1,8 @@
// INT-CLEANUP-002: Import shared types from @/types instead of duplicating // INT-CLEANUP-002: Import shared types from @/types instead of duplicating
import type { User, AuthTokens } from '@/types'; import type { User, AuthTokens } from '@/types';
// Action 1.1.3.13: Import generated types for auth responses // Action 1.1.3.13: Import generated types for auth responses (orval — v1.0.8 B9)
import type { import type { VezaBackendApiInternalDtoTokenResponse } from '@/services/generated/model/vezaBackendApiInternalDtoTokenResponse';
VezaBackendApiInternalDtoTokenResponse, import type { VezaBackendApiInternalDtoResendVerificationRequest } from '@/services/generated/model/vezaBackendApiInternalDtoResendVerificationRequest';
VezaBackendApiInternalDtoResendVerificationRequest,
} from '@/types/generated/api';
// Re-export for backward compatibility // Re-export for backward compatibility
export type { User, AuthTokens }; export type { User, AuthTokens };

View file

@ -5,7 +5,10 @@
* Action 1.1.3.3: Using generated type as base * Action 1.1.3.3: Using generated type as base
*/ */
import type { VezaBackendApiInternalModelsTrack, VezaBackendApiInternalModelsTrackStatus } from '@/types/generated/api'; // v1.0.8 B9 — switched from legacy openapi-generator-cli output to
// orval-generated models. Same shape, sourced from openapi.yaml.
import type { VezaBackendApiInternalModelsTrack } from '@/services/generated/model/vezaBackendApiInternalModelsTrack';
import type { VezaBackendApiInternalModelsTrackStatus } from '@/services/generated/model/vezaBackendApiInternalModelsTrackStatus';
/** /**
* TrackStatus enum - aligned with backend TrackStatus constants * TrackStatus enum - aligned with backend TrackStatus constants

View file

@ -1,7 +1,11 @@
// Types de base pour l'API // Types de base pour l'API
import { TrackStatus } from '@/features/tracks/types/track'; import { TrackStatus } from '@/features/tracks/types/track';
import type { ApiError } from '@/schemas/apiSchemas'; import type { ApiError } from '@/schemas/apiSchemas';
import type { VezaBackendApiInternalModelsTrack, VezaBackendApiInternalModelsTrackStatus, VezaBackendApiInternalModelsUser } from '@/types/generated/api'; // v1.0.8 B9 — orval-generated models replace the legacy
// openapi-generator-cli output. Same shapes, sourced from openapi.yaml.
import type { VezaBackendApiInternalModelsTrack } from '@/services/generated/model/vezaBackendApiInternalModelsTrack';
import type { VezaBackendApiInternalModelsTrackStatus } from '@/services/generated/model/vezaBackendApiInternalModelsTrackStatus';
import type { VezaBackendApiInternalModelsUser } from '@/services/generated/model/vezaBackendApiInternalModelsUser';
export interface PaginatedResponse<T> { export interface PaginatedResponse<T> {
items: T[]; items: T[];

View file

@ -1,4 +0,0 @@
wwwroot/*.js
node_modules
typings
dist

View file

@ -1 +0,0 @@
# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm

View file

@ -1,23 +0,0 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

View file

@ -1,181 +0,0 @@
.gitignore
.npmignore
api.ts
base.ts
common.ts
configuration.ts
docs/ApiV1DashboardGet200Response.md
docs/ApiV1LogsFrontendPost200Response.md
docs/ApiV1LogsFrontendPost200ResponseAllOfData.md
docs/AuditActivityGet200Response.md
docs/AuditActivityGet200ResponseAllOfData.md
docs/AuditApi.md
docs/AuditLogsGet200Response.md
docs/AuditLogsGet200ResponseAllOfData.md
docs/AuditStatsGet200Response.md
docs/AuditStatsGet200ResponseAllOfData.md
docs/Auth2faDisablePost200Response.md
docs/Auth2faDisablePost200ResponseAllOfData.md
docs/Auth2faSetupPost200Response.md
docs/Auth2faStatusGet200Response.md
docs/Auth2faStatusGet200ResponseAllOfData.md
docs/AuthApi.md
docs/AuthCheckUsernameGet200Response.md
docs/AuthCheckUsernameGet200ResponseAllOfData.md
docs/AuthLogoutPostRequest.md
docs/AuthMeGet200Response.md
docs/ChatApi.md
docs/ChatTokenGet200Response.md
docs/ChatTokenGet200ResponseAllOfData.md
docs/CommentApi.md
docs/CommentsIdPut200Response.md
docs/CommentsIdPut200ResponseAllOfData.md
docs/CommentsIdRepliesGet200Response.md
docs/CommentsIdRepliesGet200ResponseAllOfData.md
docs/DashboardApi.md
docs/InternalCoreTrackBatchDeleteRequest.md
docs/InternalCoreTrackBatchUpdateRequest.md
docs/InternalCoreTrackCompleteChunkedUploadRequest.md
docs/InternalCoreTrackCreateShareRequest.md
docs/InternalCoreTrackInitiateChunkedUploadRequest.md
docs/InternalCoreTrackRecordPlayRequest.md
docs/InternalCoreTrackStreamCallbackRequest.md
docs/InternalCoreTrackUpdateLyricsRequest.md
docs/InternalCoreTrackUpdateTrackRequest.md
docs/InternalHandlersAPIResponse.md
docs/InternalHandlersAddCollaboratorRequest.md
docs/InternalHandlersCreateCommentRequest.md
docs/InternalHandlersCreateOrderRequest.md
docs/InternalHandlersCreateOrderRequestItemsInner.md
docs/InternalHandlersCreatePlaylistRequest.md
docs/InternalHandlersCreateProductRequest.md
docs/InternalHandlersCreateProductRequestLicensesInner.md
docs/InternalHandlersDashboardResponse.md
docs/InternalHandlersDashboardStats.md
docs/InternalHandlersDeleteAccountRequest.md
docs/InternalHandlersDisableTwoFactorRequest.md
docs/InternalHandlersFrontendLogRequest.md
docs/InternalHandlersImportPlaylistRequest.md
docs/InternalHandlersImportPlaylistRequestPlaylist.md
docs/InternalHandlersImportPlaylistRequestTracksInner.md
docs/InternalHandlersLibraryPreview.md
docs/InternalHandlersRecentActivity.md
docs/InternalHandlersReorderTracksRequest.md
docs/InternalHandlersSetupTwoFactorResponse.md
docs/InternalHandlersStreamTokenResponse.md
docs/InternalHandlersTrackPreview.md
docs/InternalHandlersUpdateCollaboratorPermissionRequest.md
docs/InternalHandlersUpdateCommentRequest.md
docs/InternalHandlersUpdatePlaylistRequest.md
docs/InternalHandlersUpdateProductRequest.md
docs/InternalHandlersUpdateProfileRequest.md
docs/InternalHandlersValidateRequest.md
docs/InternalHandlersValidateResponse.md
docs/InternalHandlersVerifyTwoFactorRequest.md
docs/LoggingApi.md
docs/MarketplaceApi.md
docs/PlaylistApi.md
docs/PlaylistsGet200Response.md
docs/PlaylistsGet200ResponseAllOfData.md
docs/PlaylistsIdCollaboratorsGet200Response.md
docs/PlaylistsIdCollaboratorsGet200ResponseAllOfData.md
docs/PlaylistsIdCollaboratorsPost200Response.md
docs/PlaylistsIdCollaboratorsPost200ResponseAllOfData.md
docs/PlaylistsIdSharePost200Response.md
docs/PlaylistsIdSharePost200ResponseAllOfData.md
docs/PlaylistsIdTracksPostRequest.md
docs/PlaylistsPost201Response.md
docs/PlaylistsPost201ResponseAllOfData.md
docs/PlaylistsRecommendationsGet200Response.md
docs/PlaylistsRecommendationsGet200ResponseAllOfData.md
docs/TrackApi.md
docs/TracksBatchDeletePost200Response.md
docs/TracksBatchDeletePost200ResponseAllOfData.md
docs/TracksBatchUpdatePost200Response.md
docs/TracksBatchUpdatePost200ResponseAllOfData.md
docs/TracksChunkPost200Response.md
docs/TracksChunkPost200ResponseAllOfData.md
docs/TracksCompletePost201Response.md
docs/TracksCompletePost201ResponseAllOfData.md
docs/TracksGet200Response.md
docs/TracksGet200ResponseAllOfData.md
docs/TracksIdCommentsGet200Response.md
docs/TracksIdCommentsGet200ResponseAllOfData.md
docs/TracksIdDelete200Response.md
docs/TracksIdHistoryGet200Response.md
docs/TracksIdHistoryGet200ResponseAllOfData.md
docs/TracksIdLikePost200Response.md
docs/TracksIdLikesGet200Response.md
docs/TracksIdLikesGet200ResponseAllOfData.md
docs/TracksIdLyricsGet200Response.md
docs/TracksIdLyricsGet200ResponseAllOfData.md
docs/TracksIdPlayPost200Response.md
docs/TracksIdPlayPost200ResponseAllOfData.md
docs/TracksIdRepostGet200Response.md
docs/TracksIdRepostGet200ResponseAllOfData.md
docs/TracksIdSharePost200Response.md
docs/TracksIdStatsGet200Response.md
docs/TracksIdStatusGet200Response.md
docs/TracksIdStatusGet200ResponseAllOfData.md
docs/TracksInitiatePost200Response.md
docs/TracksInitiatePost200ResponseAllOfData.md
docs/TracksPost201Response.md
docs/TracksPost201ResponseAllOfData.md
docs/TracksQuotaIdGet200Response.md
docs/TracksQuotaIdGet200ResponseAllOfData.md
docs/TracksRecommendationsGet200Response.md
docs/TracksRecommendationsGet200ResponseAllOfData.md
docs/TracksResumeUploadIdGet200Response.md
docs/TracksResumeUploadIdGet200ResponseAllOfData.md
docs/TracksSharedTokenGet200Response.md
docs/TracksSharedTokenGet200ResponseAllOfData.md
docs/TracksSuggestedTagsGet200Response.md
docs/TracksSuggestedTagsGet200ResponseAllOfData.md
docs/UserApi.md
docs/UsersApi.md
docs/UsersGet200Response.md
docs/UsersGet200ResponseAllOfData.md
docs/UsersIdGet200Response.md
docs/UsersIdGet200ResponseAllOfData.md
docs/UsersIdLikesGet200Response.md
docs/UsersIdLikesGet200ResponseAllOfData.md
docs/UsersSearchGet200Response.md
docs/UsersSearchGet200ResponseAllOfData.md
docs/UsersSuggestionsGet200Response.md
docs/UsersSuggestionsGet200ResponseAllOfData.md
docs/ValidationApi.md
docs/VezaBackendApiInternalCoreMarketplaceLicenseType.md
docs/VezaBackendApiInternalCoreMarketplaceOrder.md
docs/VezaBackendApiInternalCoreMarketplaceOrderItem.md
docs/VezaBackendApiInternalCoreMarketplaceProduct.md
docs/VezaBackendApiInternalCoreMarketplaceProductImage.md
docs/VezaBackendApiInternalCoreMarketplaceProductLicense.md
docs/VezaBackendApiInternalCoreMarketplaceProductPreview.md
docs/VezaBackendApiInternalCoreMarketplaceProductStatus.md
docs/VezaBackendApiInternalDtoLoginRequest.md
docs/VezaBackendApiInternalDtoLoginResponse.md
docs/VezaBackendApiInternalDtoRefreshRequest.md
docs/VezaBackendApiInternalDtoRegisterRequest.md
docs/VezaBackendApiInternalDtoRegisterResponse.md
docs/VezaBackendApiInternalDtoResendVerificationRequest.md
docs/VezaBackendApiInternalDtoTokenResponse.md
docs/VezaBackendApiInternalDtoUserResponse.md
docs/VezaBackendApiInternalDtoValidationError.md
docs/VezaBackendApiInternalHandlersAPIResponse.md
docs/VezaBackendApiInternalModelsPlaylist.md
docs/VezaBackendApiInternalModelsPlaylistCollaborator.md
docs/VezaBackendApiInternalModelsPlaylistPermission.md
docs/VezaBackendApiInternalModelsPlaylistTrack.md
docs/VezaBackendApiInternalModelsTrack.md
docs/VezaBackendApiInternalModelsTrackStatus.md
docs/VezaBackendApiInternalModelsUser.md
docs/VezaBackendApiInternalResponseAPIResponse.md
docs/WebhookApi.md
docs/WebhooksGet200Response.md
docs/WebhooksGet200ResponseAllOfData.md
docs/WebhooksIdRegenerateKeyPost200Response.md
docs/WebhooksIdRegenerateKeyPost200ResponseAllOfData.md
docs/WebhooksPost201Response.md
docs/WebhooksPost201ResponseAllOfData.md
git_push.sh
index.ts

File diff suppressed because it is too large Load diff

View file

@ -1,62 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Veza Backend API
* Backend API for Veza platform.
*
* The version of the OpenAPI document: 1.2.0
* Contact: support@veza.app
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { Configuration } from './configuration';
// Some imports not used depending on template conditions
// @ts-ignore
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import globalAxios from 'axios';
export const BASE_PATH = "http://localhost:18080/api/v1".replace(/\/+$/, "");
export const COLLECTION_FORMATS = {
csv: ",",
ssv: " ",
tsv: "\t",
pipes: "|",
};
export interface RequestArgs {
url: string;
options: RawAxiosRequestConfig;
}
export class BaseAPI {
protected configuration: Configuration | undefined;
constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
if (configuration) {
this.configuration = configuration;
this.basePath = configuration.basePath ?? basePath;
}
}
};
export class RequiredError extends Error {
constructor(public field: string, msg?: string) {
super(msg);
this.name = "RequiredError"
}
}
interface ServerMap {
[key: string]: {
url: string,
description: string,
}[];
}
export const operationServerMap: ServerMap = {
}

View file

@ -1,113 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Veza Backend API
* Backend API for Veza platform.
*
* The version of the OpenAPI document: 1.2.0
* Contact: support@veza.app
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { Configuration } from "./configuration";
import type { RequestArgs } from "./base";
import type { AxiosInstance, AxiosResponse } from 'axios';
import { RequiredError } from "./base";
export const DUMMY_BASE_URL = 'https://example.com'
/**
*
* @throws {RequiredError}
*/
export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {
if (paramValue === null || paramValue === undefined) {
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
}
}
export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {
if (configuration && configuration.apiKey) {
const localVarApiKeyValue = typeof configuration.apiKey === 'function'
? await configuration.apiKey(keyParamName)
: await configuration.apiKey;
object[keyParamName] = localVarApiKeyValue;
}
}
export const setBasicAuthToObject = function (object: any, configuration?: Configuration) {
if (configuration && (configuration.username || configuration.password)) {
object["auth"] = { username: configuration.username, password: configuration.password };
}
}
export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {
if (configuration && configuration.accessToken) {
const accessToken = typeof configuration.accessToken === 'function'
? await configuration.accessToken()
: await configuration.accessToken;
object["Authorization"] = "Bearer " + accessToken;
}
}
export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {
if (configuration && configuration.accessToken) {
const localVarAccessTokenValue = typeof configuration.accessToken === 'function'
? await configuration.accessToken(name, scopes)
: await configuration.accessToken;
object["Authorization"] = "Bearer " + localVarAccessTokenValue;
}
}
function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void {
if (parameter == null) return;
if (typeof parameter === "object") {
if (Array.isArray(parameter)) {
(parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));
}
else {
Object.keys(parameter).forEach(currentKey =>
setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)
);
}
}
else {
if (urlSearchParams.has(key)) {
urlSearchParams.append(key, parameter);
}
else {
urlSearchParams.set(key, parameter);
}
}
}
export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search);
setFlattenedQueryParams(searchParams, objects);
url.search = searchParams.toString();
}
export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {
const nonString = typeof value !== 'string';
const needsSerialization = nonString && configuration && configuration.isJsonMime
? configuration.isJsonMime(requestOptions.headers['Content-Type'])
: nonString;
return needsSerialization
? JSON.stringify(value !== undefined ? value : {})
: (value || "");
}
export const toPathString = function (url: URL) {
return url.pathname + url.search + url.hash
}
export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {
return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};
return axios.request<T, R>(axiosRequestArgs);
};
}

View file

@ -1,121 +0,0 @@
/* tslint:disable */
/**
* Veza Backend API
* Backend API for Veza platform.
*
* The version of the OpenAPI document: 1.2.0
* Contact: support@veza.app
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
interface AWSv4Configuration {
options?: {
region?: string
service?: string
}
credentials?: {
accessKeyId?: string
secretAccessKey?: string,
sessionToken?: string
}
}
export interface ConfigurationParameters {
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
username?: string;
password?: string;
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
awsv4?: AWSv4Configuration;
basePath?: string;
serverIndex?: number;
baseOptions?: any;
formDataCtor?: new () => any;
}
export class Configuration {
/**
* parameter for apiKey security
* @param name security name
*/
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
/**
* parameter for basic security
*/
username?: string;
/**
* parameter for basic security
*/
password?: string;
/**
* parameter for oauth2 security
* @param name security name
* @param scopes oauth2 scope
*/
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
/**
* parameter for aws4 signature security
* @param {Object} AWS4Signature - AWS4 Signature security
* @param {string} options.region - aws region
* @param {string} options.service - name of the service.
* @param {string} credentials.accessKeyId - aws access key id
* @param {string} credentials.secretAccessKey - aws access key
* @param {string} credentials.sessionToken - aws session token
* @memberof Configuration
*/
awsv4?: AWSv4Configuration;
/**
* override base path
*/
basePath?: string;
/**
* override server index
*/
serverIndex?: number;
/**
* base options for axios calls
*/
baseOptions?: any;
/**
* The FormData constructor that will be used to create multipart form data
* requests. You can inject this here so that execution environments that
* do not support the FormData class can still run the generated client.
*
* @type {new () => FormData}
*/
formDataCtor?: new () => any;
constructor(param: ConfigurationParameters = {}) {
this.apiKey = param.apiKey;
this.username = param.username;
this.password = param.password;
this.accessToken = param.accessToken;
this.awsv4 = param.awsv4;
this.basePath = param.basePath;
this.serverIndex = param.serverIndex;
this.baseOptions = {
...param.baseOptions,
headers: {
...param.baseOptions?.headers,
},
};
this.formDataCtor = param.formDataCtor;
}
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
* application/vnd.company+json
* @param mime - MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
public isJsonMime(mime: string): boolean {
const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
}
}

View file

@ -1,473 +0,0 @@
# AnalyticsApi
All URIs are relative to *http://localhost:8080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**analyticsEventsPost**](#analyticseventspost) | **POST** /analytics/events | Record Analytics Event|
|[**analyticsGet**](#analyticsget) | **GET** /analytics | Get Analytics Data|
|[**analyticsTracksIdGet**](#analyticstracksidget) | **GET** /analytics/tracks/{id} | Get Track Analytics Dashboard|
|[**analyticsTracksTopGet**](#analyticstrackstopget) | **GET** /analytics/tracks/top | Get top tracks|
|[**tracksIdAnalyticsPlaysGet**](#tracksidanalyticsplaysget) | **GET** /tracks/{id}/analytics/plays | Get plays over time|
|[**tracksIdPlayPost**](#tracksidplaypost) | **POST** /tracks/{id}/play | Record play|
|[**tracksIdStatsGet**](#tracksidstatsget) | **GET** /tracks/{id}/stats | Get track statistics|
|[**usersIdAnalyticsStatsGet**](#usersidanalyticsstatsget) | **GET** /users/{id}/analytics/stats | Get user statistics|
# **analyticsEventsPost**
> AnalyticsEventsPost200Response analyticsEventsPost(request)
Record a custom analytics event
### Example
```typescript
import {
AnalyticsApi,
Configuration,
InternalHandlersRecordEventRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let request: InternalHandlersRecordEventRequest; //Event Data
const { status, data } = await apiInstance.analyticsEventsPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **InternalHandlersRecordEventRequest**| Event Data | |
### Return type
**AnalyticsEventsPost200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation Error | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **analyticsGet**
> AnalyticsGet200Response analyticsGet()
Get aggregated analytics data for tracks and playlists
### Example
```typescript
import {
AnalyticsApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let days: number; //Number of days (default: 30) (optional) (default to undefined)
let startDate: string; //Start date (ISO 8601) (optional) (default to undefined)
let endDate: string; //End date (ISO 8601) (optional) (default to undefined)
const { status, data } = await apiInstance.analyticsGet(
days,
startDate,
endDate
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **days** | [**number**] | Number of days (default: 30) | (optional) defaults to undefined|
| **startDate** | [**string**] | Start date (ISO 8601) | (optional) defaults to undefined|
| **endDate** | [**string**] | End date (ISO 8601) | (optional) defaults to undefined|
### Return type
**AnalyticsGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **analyticsTracksIdGet**
> AnalyticsTracksIdGet200Response analyticsTracksIdGet()
Get comprehensive analytics dashboard for a track
### Example
```typescript
import {
AnalyticsApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let id: string; //Track ID (default to undefined)
const { status, data } = await apiInstance.analyticsTracksIdGet(
id
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Track ID | defaults to undefined|
### Return type
**AnalyticsTracksIdGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation Error | - |
|**404** | Track not found | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **analyticsTracksTopGet**
> AnalyticsTracksTopGet200Response analyticsTracksTopGet()
Get list of top tracks by play count, optionally filtered by date range
### Example
```typescript
import {
AnalyticsApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let limit: number; //Number of tracks to return (optional) (default to 10)
let startDate: string; //Start date filter (RFC3339 format) (optional) (default to undefined)
let endDate: string; //End date filter (RFC3339 format) (optional) (default to undefined)
const { status, data } = await apiInstance.analyticsTracksTopGet(
limit,
startDate,
endDate
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **limit** | [**number**] | Number of tracks to return | (optional) defaults to 10|
| **startDate** | [**string**] | Start date filter (RFC3339 format) | (optional) defaults to undefined|
| **endDate** | [**string**] | End date filter (RFC3339 format) | (optional) defaults to undefined|
### Return type
**AnalyticsTracksTopGet200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **tracksIdAnalyticsPlaysGet**
> TracksIdAnalyticsPlaysGet200Response tracksIdAnalyticsPlaysGet()
Get play statistics over time for a track, grouped by time period
### Example
```typescript
import {
AnalyticsApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let id: string; //Track ID (UUID) (default to undefined)
let startDate: string; //Start date (RFC3339 format) (optional) (default to undefined)
let endDate: string; //End date (RFC3339 format) (optional) (default to undefined)
let interval: string; //Time period grouping (hour, day, week, month) (optional) (default to 'day')
const { status, data } = await apiInstance.tracksIdAnalyticsPlaysGet(
id,
startDate,
endDate,
interval
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Track ID (UUID) | defaults to undefined|
| **startDate** | [**string**] | Start date (RFC3339 format) | (optional) defaults to undefined|
| **endDate** | [**string**] | End date (RFC3339 format) | (optional) defaults to undefined|
| **interval** | [**string**] | Time period grouping (hour, day, week, month) | (optional) defaults to 'day'|
### Return type
**TracksIdAnalyticsPlaysGet200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**404** | Track not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **tracksIdPlayPost**
> AnalyticsEventsPost200Response tracksIdPlayPost(request)
Record a play event for a track. Can be called anonymously or with authentication.
### Example
```typescript
import {
AnalyticsApi,
Configuration,
InternalHandlersRecordPlayRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let id: string; //Track ID (UUID) (default to undefined)
let request: InternalHandlersRecordPlayRequest; //Play event data
const { status, data } = await apiInstance.tracksIdPlayPost(
id,
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **InternalHandlersRecordPlayRequest**| Play event data | |
| **id** | [**string**] | Track ID (UUID) | defaults to undefined|
### Return type
**AnalyticsEventsPost200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**404** | Track not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **tracksIdStatsGet**
> AuditStatsGet200Response tracksIdStatsGet()
Get statistics for a track (plays, likes, etc.)
### Example
```typescript
import {
AnalyticsApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let id: string; //Track ID (UUID) (default to undefined)
const { status, data } = await apiInstance.tracksIdStatsGet(
id
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Track ID (UUID) | defaults to undefined|
### Return type
**AuditStatsGet200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**404** | Track not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **usersIdAnalyticsStatsGet**
> AuditStatsGet200Response usersIdAnalyticsStatsGet()
Get analytics statistics for a user (total plays, tracks, etc.)
### Example
```typescript
import {
AnalyticsApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AnalyticsApi(configuration);
let id: string; //User ID (UUID) (default to undefined)
const { status, data } = await apiInstance.usersIdAnalyticsStatsGet(
id
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | User ID (UUID) | defaults to undefined|
### Return type
**AuditStatsGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**401** | Unauthorized | - |
|**403** | Forbidden - can only view own stats | - |
|**404** | User not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AnalyticsEventsPost200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AnalyticsEventsPost200ResponseAllOfData**](AnalyticsEventsPost200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsEventsPost200Response } from './api';
const instance: AnalyticsEventsPost200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# AnalyticsEventsPost200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**message** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsEventsPost200ResponseAllOfData } from './api';
const instance: AnalyticsEventsPost200ResponseAllOfData = {
message,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AnalyticsGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AnalyticsGet200ResponseAllOfData**](AnalyticsGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsGet200Response } from './api';
const instance: AnalyticsGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AnalyticsGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**period** | **object** | | [optional] [default to undefined]
**playlists** | **object** | | [optional] [default to undefined]
**tracks** | **object** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsGet200ResponseAllOfData } from './api';
const instance: AnalyticsGet200ResponseAllOfData = {
period,
playlists,
tracks,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AnalyticsTracksIdGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AnalyticsTracksIdGet200ResponseAllOfData**](AnalyticsTracksIdGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsTracksIdGet200Response } from './api';
const instance: AnalyticsTracksIdGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# AnalyticsTracksIdGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**dashboard** | **object** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsTracksIdGet200ResponseAllOfData } from './api';
const instance: AnalyticsTracksIdGet200ResponseAllOfData = {
dashboard,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AnalyticsTracksTopGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AnalyticsTracksTopGet200ResponseAllOfData**](AnalyticsTracksTopGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsTracksTopGet200Response } from './api';
const instance: AnalyticsTracksTopGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# AnalyticsTracksTopGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**tracks** | **Array&lt;string&gt;** | | [optional] [default to undefined]
## Example
```typescript
import { AnalyticsTracksTopGet200ResponseAllOfData } from './api';
const instance: AnalyticsTracksTopGet200ResponseAllOfData = {
tracks,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# ApiV1DashboardGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**InternalHandlersDashboardResponse**](InternalHandlersDashboardResponse.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { ApiV1DashboardGet200Response } from './api';
const instance: ApiV1DashboardGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# ApiV1LogsFrontendPost200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**ApiV1LogsFrontendPost200ResponseAllOfData**](ApiV1LogsFrontendPost200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { ApiV1LogsFrontendPost200Response } from './api';
const instance: ApiV1LogsFrontendPost200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# ApiV1LogsFrontendPost200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**received** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { ApiV1LogsFrontendPost200ResponseAllOfData } from './api';
const instance: ApiV1LogsFrontendPost200ResponseAllOfData = {
received,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AuditActivityGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AuditActivityGet200ResponseAllOfData**](AuditActivityGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AuditActivityGet200Response } from './api';
const instance: AuditActivityGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# AuditActivityGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**activities** | **Array&lt;string&gt;** | | [optional] [default to undefined]
## Example
```typescript
import { AuditActivityGet200ResponseAllOfData } from './api';
const instance: AuditActivityGet200ResponseAllOfData = {
activities,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,201 +0,0 @@
# AuditApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**auditActivityGet**](#auditactivityget) | **GET** /audit/activity | Get user activity|
|[**auditLogsGet**](#auditlogsget) | **GET** /audit/logs | Search audit logs|
|[**auditStatsGet**](#auditstatsget) | **GET** /audit/stats | Get audit statistics|
# **auditActivityGet**
> AuditActivityGet200Response auditActivityGet()
Get recent activity logs for the current user
### Example
```typescript
import {
AuditApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuditApi(configuration);
let limit: number; //Number of activities to return (optional) (default to 50)
const { status, data } = await apiInstance.auditActivityGet(
limit
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **limit** | [**number**] | Number of activities to return | (optional) defaults to 50|
### Return type
**AuditActivityGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **auditLogsGet**
> AuditLogsGet200Response auditLogsGet()
Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent.
### Example
```typescript
import {
AuditApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuditApi(configuration);
let action: string; //Filter by action type (optional) (default to undefined)
let resource: string; //Filter by resource type (optional) (default to undefined)
let resourceId: string; //Filter by resource ID (UUID) (optional) (default to undefined)
let ipAddress: string; //Filter by IP address (optional) (default to undefined)
let userAgent: string; //Filter by user agent (optional) (default to undefined)
let startDate: string; //Start date filter (YYYY-MM-DD) (optional) (default to undefined)
let endDate: string; //End date filter (YYYY-MM-DD) (optional) (default to undefined)
let page: number; //Page number (optional) (default to 1)
let limit: number; //Items per page (optional) (default to 20)
let offset: number; //Offset for pagination (optional) (default to undefined)
const { status, data } = await apiInstance.auditLogsGet(
action,
resource,
resourceId,
ipAddress,
userAgent,
startDate,
endDate,
page,
limit,
offset
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **action** | [**string**] | Filter by action type | (optional) defaults to undefined|
| **resource** | [**string**] | Filter by resource type | (optional) defaults to undefined|
| **resourceId** | [**string**] | Filter by resource ID (UUID) | (optional) defaults to undefined|
| **ipAddress** | [**string**] | Filter by IP address | (optional) defaults to undefined|
| **userAgent** | [**string**] | Filter by user agent | (optional) defaults to undefined|
| **startDate** | [**string**] | Start date filter (YYYY-MM-DD) | (optional) defaults to undefined|
| **endDate** | [**string**] | End date filter (YYYY-MM-DD) | (optional) defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to 1|
| **limit** | [**number**] | Items per page | (optional) defaults to 20|
| **offset** | [**number**] | Offset for pagination | (optional) defaults to undefined|
### Return type
**AuditLogsGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**401** | Unauthorized | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **auditStatsGet**
> AuditStatsGet200Response auditStatsGet()
Get audit statistics for the current user, optionally filtered by date range
### Example
```typescript
import {
AuditApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuditApi(configuration);
let startDate: string; //Start date (YYYY-MM-DD) (optional) (default to undefined)
let endDate: string; //End date (YYYY-MM-DD) (optional) (default to undefined)
const { status, data } = await apiInstance.auditStatsGet(
startDate,
endDate
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **startDate** | [**string**] | Start date (YYYY-MM-DD) | (optional) defaults to undefined|
| **endDate** | [**string**] | End date (YYYY-MM-DD) | (optional) defaults to undefined|
### Return type
**AuditStatsGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**401** | Unauthorized | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AuditLogsGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AuditLogsGet200ResponseAllOfData**](AuditLogsGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AuditLogsGet200Response } from './api';
const instance: AuditLogsGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# AuditLogsGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**logs** | **Array&lt;string&gt;** | | [optional] [default to undefined]
**pagination** | **object** | | [optional] [default to undefined]
## Example
```typescript
import { AuditLogsGet200ResponseAllOfData } from './api';
const instance: AuditLogsGet200ResponseAllOfData = {
logs,
pagination,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AuditStatsGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AuditStatsGet200ResponseAllOfData**](AuditStatsGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AuditStatsGet200Response } from './api';
const instance: AuditStatsGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# AuditStatsGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**stats** | **object** | | [optional] [default to undefined]
## Example
```typescript
import { AuditStatsGet200ResponseAllOfData } from './api';
const instance: AuditStatsGet200ResponseAllOfData = {
stats,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# Auth2faDisablePost200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**Auth2faDisablePost200ResponseAllOfData**](Auth2faDisablePost200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { Auth2faDisablePost200Response } from './api';
const instance: Auth2faDisablePost200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# Auth2faDisablePost200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**message** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { Auth2faDisablePost200ResponseAllOfData } from './api';
const instance: Auth2faDisablePost200ResponseAllOfData = {
message,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# Auth2faSetupPost200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**InternalHandlersSetupTwoFactorResponse**](InternalHandlersSetupTwoFactorResponse.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { Auth2faSetupPost200Response } from './api';
const instance: Auth2faSetupPost200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# Auth2faStatusGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**Auth2faStatusGet200ResponseAllOfData**](Auth2faStatusGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { Auth2faStatusGet200Response } from './api';
const instance: Auth2faStatusGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# Auth2faStatusGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enabled** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { Auth2faStatusGet200ResponseAllOfData } from './api';
const instance: Auth2faStatusGet200ResponseAllOfData = {
enabled,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,690 +0,0 @@
# AuthApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**auth2faDisablePost**](#auth2fadisablepost) | **POST** /auth/2fa/disable | Disable 2FA|
|[**auth2faSetupPost**](#auth2fasetuppost) | **POST** /auth/2fa/setup | Setup 2FA|
|[**auth2faStatusGet**](#auth2fastatusget) | **GET** /auth/2fa/status | Get 2FA Status|
|[**auth2faVerifyPost**](#auth2faverifypost) | **POST** /auth/2fa/verify | Verify and Enable 2FA|
|[**authCheckUsernameGet**](#authcheckusernameget) | **GET** /auth/check-username | Check Username Availability|
|[**authLoginPost**](#authloginpost) | **POST** /auth/login | User Login|
|[**authLogoutPost**](#authlogoutpost) | **POST** /auth/logout | Logout|
|[**authMeGet**](#authmeget) | **GET** /auth/me | Get Current User|
|[**authRefreshPost**](#authrefreshpost) | **POST** /auth/refresh | Refresh Token|
|[**authRegisterPost**](#authregisterpost) | **POST** /auth/register | User Registration|
|[**authResendVerificationPost**](#authresendverificationpost) | **POST** /auth/resend-verification | Resend Verification Email|
|[**authStreamTokenPost**](#authstreamtokenpost) | **POST** /auth/stream-token | Get ephemeral stream token|
|[**authVerifyEmailPost**](#authverifyemailpost) | **POST** /auth/verify-email | Verify Email|
# **auth2faDisablePost**
> Auth2faDisablePost200Response auth2faDisablePost(request)
Disable 2FA for user (requires password confirmation)
### Example
```typescript
import {
AuthApi,
Configuration,
InternalHandlersDisableTwoFactorRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: InternalHandlersDisableTwoFactorRequest; //Password Confirmation
const { status, data } = await apiInstance.auth2faDisablePost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **InternalHandlersDisableTwoFactorRequest**| Password Confirmation | |
### Return type
**Auth2faDisablePost200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Invalid password or 2FA not enabled | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **auth2faSetupPost**
> Auth2faSetupPost200Response auth2faSetupPost()
Generate 2FA secret and QR code for setup
### Example
```typescript
import {
AuthApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
const { status, data } = await apiInstance.auth2faSetupPost();
```
### Parameters
This endpoint does not have any parameters.
### Return type
**Auth2faSetupPost200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | 2FA already enabled | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **auth2faStatusGet**
> Auth2faStatusGet200Response auth2faStatusGet()
Get 2FA enabled status for authenticated user
### Example
```typescript
import {
AuthApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
const { status, data } = await apiInstance.auth2faStatusGet();
```
### Parameters
This endpoint does not have any parameters.
### Return type
**Auth2faStatusGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **auth2faVerifyPost**
> Auth2faDisablePost200Response auth2faVerifyPost(request)
Verify 2FA code and enable 2FA for user
### Example
```typescript
import {
AuthApi,
Configuration,
InternalHandlersVerifyTwoFactorRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: InternalHandlersVerifyTwoFactorRequest; //2FA Code
const { status, data } = await apiInstance.auth2faVerifyPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **InternalHandlersVerifyTwoFactorRequest**| 2FA Code | |
### Return type
**Auth2faDisablePost200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Invalid code | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authCheckUsernameGet**
> AuthCheckUsernameGet200Response authCheckUsernameGet()
Check if a username is already taken
### Example
```typescript
import {
AuthApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let username: string; //Username to check (default to undefined)
const { status, data } = await apiInstance.authCheckUsernameGet(
username
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **username** | [**string**] | Username to check | defaults to undefined|
### Return type
**AuthCheckUsernameGet200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Missing Username | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authLoginPost**
> VezaBackendApiInternalDtoLoginResponse authLoginPost(request)
Authenticate user and return access token. Refresh token is set in httpOnly cookie.
### Example
```typescript
import {
AuthApi,
Configuration,
VezaBackendApiInternalDtoLoginRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: VezaBackendApiInternalDtoLoginRequest; //Login Credentials
const { status, data } = await apiInstance.authLoginPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **VezaBackendApiInternalDtoLoginRequest**| Login Credentials | |
### Return type
**VezaBackendApiInternalDtoLoginResponse**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Access token returned in body, refresh token in httpOnly cookie | - |
|**400** | Validation or Bad Request | - |
|**401** | Invalid credentials | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authLogoutPost**
> InternalHandlersAPIResponse authLogoutPost(request)
Revoke refresh token and current session
### Example
```typescript
import {
AuthApi,
Configuration,
AuthLogoutPostRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: AuthLogoutPostRequest; //Refresh Token to revoke
const { status, data } = await apiInstance.authLogoutPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **AuthLogoutPostRequest**| Refresh Token to revoke | |
### Return type
**InternalHandlersAPIResponse**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Success message | - |
|**400** | Validation Error | - |
|**401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authMeGet**
> AuthMeGet200Response authMeGet()
Get profile information of the currently logged-in user
### Example
```typescript
import {
AuthApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
const { status, data } = await apiInstance.authMeGet();
```
### Parameters
This endpoint does not have any parameters.
### Return type
**AuthMeGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**404** | User not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authRefreshPost**
> VezaBackendApiInternalDtoTokenResponse authRefreshPost(request)
Get a new access token using a refresh token
### Example
```typescript
import {
AuthApi,
Configuration,
VezaBackendApiInternalDtoRefreshRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: VezaBackendApiInternalDtoRefreshRequest; //Refresh Token
const { status, data } = await apiInstance.authRefreshPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **VezaBackendApiInternalDtoRefreshRequest**| Refresh Token | |
### Return type
**VezaBackendApiInternalDtoTokenResponse**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation Error | - |
|**401** | Invalid/Expired Refresh Token | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authRegisterPost**
> VezaBackendApiInternalDtoRegisterResponse authRegisterPost(request)
Register a new user account
### Example
```typescript
import {
AuthApi,
Configuration,
VezaBackendApiInternalDtoRegisterRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: VezaBackendApiInternalDtoRegisterRequest; //Registration Data
const { status, data } = await apiInstance.authRegisterPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **VezaBackendApiInternalDtoRegisterRequest**| Registration Data | |
### Return type
**VezaBackendApiInternalDtoRegisterResponse**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**201** | Created | - |
|**400** | Validation Error | - |
|**409** | User already exists | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authResendVerificationPost**
> InternalHandlersAPIResponse authResendVerificationPost(request)
Resend the email verification link
### Example
```typescript
import {
AuthApi,
Configuration,
VezaBackendApiInternalDtoResendVerificationRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let request: VezaBackendApiInternalDtoResendVerificationRequest; //Email
const { status, data } = await apiInstance.authResendVerificationPost(
request
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **request** | **VezaBackendApiInternalDtoResendVerificationRequest**| Email | |
### Return type
**InternalHandlersAPIResponse**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Success message | - |
|**400** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authStreamTokenPost**
> InternalHandlersStreamTokenResponse authStreamTokenPost()
Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access)
### Example
```typescript
import {
AuthApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
const { status, data } = await apiInstance.authStreamTokenPost();
```
### Parameters
This endpoint does not have any parameters.
### Return type
**InternalHandlersStreamTokenResponse**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: */*
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **authVerifyEmailPost**
> InternalHandlersAPIResponse authVerifyEmailPost()
Verify user email address using a token
### Example
```typescript
import {
AuthApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new AuthApi(configuration);
let token: string; //Verification Token (default to undefined)
const { status, data } = await apiInstance.authVerifyEmailPost(
token
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **token** | [**string**] | Verification Token | defaults to undefined|
### Return type
**InternalHandlersAPIResponse**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Success message | - |
|**400** | Invalid Token | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AuthCheckUsernameGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AuthCheckUsernameGet200ResponseAllOfData**](AuthCheckUsernameGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AuthCheckUsernameGet200Response } from './api';
const instance: AuthCheckUsernameGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# AuthCheckUsernameGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**available** | **boolean** | | [optional] [default to undefined]
**username** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { AuthCheckUsernameGet200ResponseAllOfData } from './api';
const instance: AuthCheckUsernameGet200ResponseAllOfData = {
available,
username,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# AuthLogoutPostRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**refresh_token** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { AuthLogoutPostRequest } from './api';
const instance: AuthLogoutPostRequest = {
refresh_token,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# AuthMeGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | **object** | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { AuthMeGet200Response } from './api';
const instance: AuthMeGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,54 +0,0 @@
# ChatApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**chatTokenGet**](#chattokenget) | **GET** /chat/token | Get Chat Token|
# **chatTokenGet**
> ChatTokenGet200Response chatTokenGet()
Generate a short-lived token for chat authentication
### Example
```typescript
import {
ChatApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new ChatApi(configuration);
const { status, data } = await apiInstance.chatTokenGet();
```
### Parameters
This endpoint does not have any parameters.
### Return type
**ChatTokenGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# ChatTokenGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**ChatTokenGet200ResponseAllOfData**](ChatTokenGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { ChatTokenGet200Response } from './api';
const instance: ChatTokenGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# ChatTokenGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**token** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { ChatTokenGet200ResponseAllOfData } from './api';
const instance: ChatTokenGet200ResponseAllOfData = {
token,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,309 +0,0 @@
# CommentApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**commentsIdPut**](#commentsidput) | **PUT** /comments/{id} | Update comment|
|[**commentsIdRepliesGet**](#commentsidrepliesget) | **GET** /comments/{id}/replies | Get comment replies|
|[**tracksIdCommentsCommentIdDelete**](#tracksidcommentscommentiddelete) | **DELETE** /tracks/{id}/comments/{comment_id} | Delete comment|
|[**tracksIdCommentsGet**](#tracksidcommentsget) | **GET** /tracks/{id}/comments | Get track comments|
|[**tracksIdCommentsPost**](#tracksidcommentspost) | **POST** /tracks/{id}/comments | Create comment|
# **commentsIdPut**
> CommentsIdPut200Response commentsIdPut(comment)
Update a comment (only by owner)
### Example
```typescript
import {
CommentApi,
Configuration,
InternalHandlersUpdateCommentRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new CommentApi(configuration);
let id: string; //Comment ID (UUID) (default to undefined)
let comment: InternalHandlersUpdateCommentRequest; //Updated comment content
const { status, data } = await apiInstance.commentsIdPut(
id,
comment
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **comment** | **InternalHandlersUpdateCommentRequest**| Updated comment content | |
| **id** | [**string**] | Comment ID (UUID) | defaults to undefined|
### Return type
**CommentsIdPut200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**401** | Unauthorized | - |
|**403** | Forbidden - can only edit own comments | - |
|**404** | Comment not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **commentsIdRepliesGet**
> CommentsIdRepliesGet200Response commentsIdRepliesGet()
Get paginated list of replies to a comment
### Example
```typescript
import {
CommentApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new CommentApi(configuration);
let id: string; //Parent Comment ID (UUID) (default to undefined)
let page: number; //Page number (optional) (default to 1)
let limit: number; //Items per page (optional) (default to 20)
const { status, data } = await apiInstance.commentsIdRepliesGet(
id,
page,
limit
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Parent Comment ID (UUID) | defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to 1|
| **limit** | [**number**] | Items per page | (optional) defaults to 20|
### Return type
**CommentsIdRepliesGet200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**404** | Parent comment not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **tracksIdCommentsCommentIdDelete**
> Auth2faDisablePost200Response tracksIdCommentsCommentIdDelete()
Delete a comment (only by owner or admin)
### Example
```typescript
import {
CommentApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new CommentApi(configuration);
let id: string; //Track ID (default to undefined)
let commentId: string; //Comment ID (default to undefined)
const { status, data } = await apiInstance.tracksIdCommentsCommentIdDelete(
id,
commentId
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Track ID | defaults to undefined|
| **commentId** | [**string**] | Comment ID | defaults to undefined|
### Return type
**Auth2faDisablePost200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**401** | Unauthorized | - |
|**403** | Forbidden - not comment owner | - |
|**404** | Comment not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **tracksIdCommentsGet**
> TracksIdCommentsGet200Response tracksIdCommentsGet()
Get paginated list of comments for a track
### Example
```typescript
import {
CommentApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new CommentApi(configuration);
let id: string; //Track ID (default to undefined)
let page: number; //Page number (optional) (default to 1)
let limit: number; //Items per page (optional) (default to 20)
const { status, data } = await apiInstance.tracksIdCommentsGet(
id,
page,
limit
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Track ID | defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to 1|
| **limit** | [**number**] | Items per page | (optional) defaults to 20|
### Return type
**TracksIdCommentsGet200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation error | - |
|**404** | Track not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **tracksIdCommentsPost**
> CommentsIdPut200Response tracksIdCommentsPost(comment)
Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id).
### Example
```typescript
import {
CommentApi,
Configuration,
InternalHandlersCreateCommentRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new CommentApi(configuration);
let id: string; //Track ID (UUID) (default to undefined)
let comment: InternalHandlersCreateCommentRequest; //Comment data
const { status, data } = await apiInstance.tracksIdCommentsPost(
id,
comment
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **comment** | **InternalHandlersCreateCommentRequest**| Comment data | |
| **id** | [**string**] | Track ID (UUID) | defaults to undefined|
### Return type
**CommentsIdPut200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**201** | Created | - |
|**400** | Validation error | - |
|**401** | Unauthorized | - |
|**404** | Track not found | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# CommentsIdPut200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**CommentsIdPut200ResponseAllOfData**](CommentsIdPut200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { CommentsIdPut200Response } from './api';
const instance: CommentsIdPut200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# CommentsIdPut200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**comment** | **object** | | [optional] [default to undefined]
## Example
```typescript
import { CommentsIdPut200ResponseAllOfData } from './api';
const instance: CommentsIdPut200ResponseAllOfData = {
comment,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# CommentsIdRepliesGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**CommentsIdRepliesGet200ResponseAllOfData**](CommentsIdRepliesGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { CommentsIdRepliesGet200Response } from './api';
const instance: CommentsIdRepliesGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# CommentsIdRepliesGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**pagination** | **object** | | [optional] [default to undefined]
**replies** | **Array&lt;string&gt;** | | [optional] [default to undefined]
## Example
```typescript
import { CommentsIdRepliesGet200ResponseAllOfData } from './api';
const instance: CommentsIdRepliesGet200ResponseAllOfData = {
pagination,
replies,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,67 +0,0 @@
# DashboardApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**apiV1DashboardGet**](#apiv1dashboardget) | **GET** /api/v1/dashboard | Get Dashboard Data|
# **apiV1DashboardGet**
> ApiV1DashboardGet200Response apiV1DashboardGet()
Get aggregated dashboard data including stats, recent activity, and library preview
### Example
```typescript
import {
DashboardApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new DashboardApi(configuration);
let activityLimit: number; //Number of recent activity items (default: 10) (optional) (default to undefined)
let libraryLimit: number; //Number of library items (default: 5) (optional) (default to undefined)
let statsPeriod: string; //Time period for statistics: 7d, 30d, 90d, all (default: 30d) (optional) (default to undefined)
const { status, data } = await apiInstance.apiV1DashboardGet(
activityLimit,
libraryLimit,
statsPeriod
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **activityLimit** | [**number**] | Number of recent activity items (default: 10) | (optional) defaults to undefined|
| **libraryLimit** | [**number**] | Number of library items (default: 5) | (optional) defaults to undefined|
| **statsPeriod** | [**string**] | Time period for statistics: 7d, 30d, 90d, all (default: 30d) | (optional) defaults to undefined|
### Return type
**ApiV1DashboardGet200Response**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalCoreTrackBatchDeleteRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**track_ids** | **Array&lt;string&gt;** | | [default to undefined]
## Example
```typescript
import { InternalCoreTrackBatchDeleteRequest } from './api';
const instance: InternalCoreTrackBatchDeleteRequest = {
track_ids,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalCoreTrackBatchUpdateRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**track_ids** | **Array&lt;string&gt;** | | [default to undefined]
**updates** | **{ [key: string]: any; }** | | [default to undefined]
## Example
```typescript
import { InternalCoreTrackBatchUpdateRequest } from './api';
const instance: InternalCoreTrackBatchUpdateRequest = {
track_ids,
updates,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalCoreTrackCompleteChunkedUploadRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**upload_id** | **string** | | [default to undefined]
## Example
```typescript
import { InternalCoreTrackCompleteChunkedUploadRequest } from './api';
const instance: InternalCoreTrackCompleteChunkedUploadRequest = {
upload_id,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalCoreTrackCreateShareRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**expires_at** | **string** | | [optional] [default to undefined]
**permissions** | **string** | | [default to undefined]
## Example
```typescript
import { InternalCoreTrackCreateShareRequest } from './api';
const instance: InternalCoreTrackCreateShareRequest = {
expires_at,
permissions,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalCoreTrackInitiateChunkedUploadRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**filename** | **string** | | [default to undefined]
**total_chunks** | **number** | | [default to undefined]
**total_size** | **number** | | [default to undefined]
## Example
```typescript
import { InternalCoreTrackInitiateChunkedUploadRequest } from './api';
const instance: InternalCoreTrackInitiateChunkedUploadRequest = {
filename,
total_chunks,
total_size,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalCoreTrackRecordPlayRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**play_time** | **number** | | [optional] [default to undefined]
## Example
```typescript
import { InternalCoreTrackRecordPlayRequest } from './api';
const instance: InternalCoreTrackRecordPlayRequest = {
play_time,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalCoreTrackStreamCallbackRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | **string** | | [optional] [default to undefined]
**manifest_url** | **string** | | [optional] [default to undefined]
**status** | **string** | | [default to undefined]
## Example
```typescript
import { InternalCoreTrackStreamCallbackRequest } from './api';
const instance: InternalCoreTrackStreamCallbackRequest = {
error,
manifest_url,
status,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalCoreTrackUpdateLyricsRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalCoreTrackUpdateLyricsRequest } from './api';
const instance: InternalCoreTrackUpdateLyricsRequest = {
content,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,38 +0,0 @@
# InternalCoreTrackUpdateTrackRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**album** | **string** | | [optional] [default to undefined]
**artist** | **string** | | [optional] [default to undefined]
**bpm** | **number** | | [optional] [default to undefined]
**genre** | **string** | legacy, single | [optional] [default to undefined]
**genres** | **Array&lt;string&gt;** | v0.10.1: max 3, taxonomy slugs | [optional] [default to undefined]
**is_public** | **boolean** | | [optional] [default to undefined]
**musical_key** | **string** | | [optional] [default to undefined]
**tags** | **Array&lt;string&gt;** | v0.10.1: max 10, 30 chars each | [optional] [default to undefined]
**title** | **string** | | [optional] [default to undefined]
**year** | **number** | | [optional] [default to undefined]
## Example
```typescript
import { InternalCoreTrackUpdateTrackRequest } from './api';
const instance: InternalCoreTrackUpdateTrackRequest = {
album,
artist,
bpm,
genre,
genres,
is_public,
musical_key,
tags,
title,
year,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersAPIResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | **object** | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersAPIResponse } from './api';
const instance: InternalHandlersAPIResponse = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersAddCollaboratorRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**permission** | **string** | | [default to undefined]
**user_id** | **string** | | [default to undefined]
## Example
```typescript
import { InternalHandlersAddCollaboratorRequest } from './api';
const instance: InternalHandlersAddCollaboratorRequest = {
permission,
user_id,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersCreateCommentRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **string** | | [default to undefined]
**parent_id** | **string** | | [optional] [default to undefined]
**timestamp** | **number** | Position in seconds (0 &#x3D; top-level, no specific time) | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersCreateCommentRequest } from './api';
const instance: InternalHandlersCreateCommentRequest = {
content,
parent_id,
timestamp,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersCreateOrderRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | [**Array&lt;InternalHandlersCreateOrderRequestItemsInner&gt;**](InternalHandlersCreateOrderRequestItemsInner.md) | | [default to undefined]
**promo_code** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersCreateOrderRequest } from './api';
const instance: InternalHandlersCreateOrderRequest = {
items,
promo_code,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalHandlersCreateOrderRequestItemsInner
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**product_id** | **string** | | [default to undefined]
## Example
```typescript
import { InternalHandlersCreateOrderRequestItemsInner } from './api';
const instance: InternalHandlersCreateOrderRequestItemsInner = {
product_id,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersCreatePlaylistRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**description** | **string** | | [optional] [default to undefined]
**is_public** | **boolean** | | [optional] [default to undefined]
**title** | **string** | | [default to undefined]
## Example
```typescript
import { InternalHandlersCreatePlaylistRequest } from './api';
const instance: InternalHandlersCreatePlaylistRequest = {
description,
is_public,
title,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,38 +0,0 @@
# InternalHandlersCreateProductRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**bpm** | **number** | v0.401 M1 | [optional] [default to undefined]
**category** | **string** | | [optional] [default to undefined]
**description** | **string** | | [optional] [default to undefined]
**license_type** | **string** | | [optional] [default to undefined]
**licenses** | [**Array&lt;InternalHandlersCreateProductRequestLicensesInner&gt;**](InternalHandlersCreateProductRequestLicensesInner.md) | v0.401 M2: Product licenses (streaming, personal, commercial, exclusive) | [optional] [default to undefined]
**musical_key** | **string** | | [optional] [default to undefined]
**price** | **number** | | [default to undefined]
**product_type** | **string** | | [default to undefined]
**title** | **string** | | [default to undefined]
**track_id** | **string** | UUID string | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersCreateProductRequest } from './api';
const instance: InternalHandlersCreateProductRequest = {
bpm,
category,
description,
license_type,
licenses,
musical_key,
price,
product_type,
title,
track_id,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersCreateProductRequestLicensesInner
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**license_type** | **string** | | [default to undefined]
**price_cents** | **number** | | [default to undefined]
**terms_text** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersCreateProductRequestLicensesInner } from './api';
const instance: InternalHandlersCreateProductRequestLicensesInner = {
license_type,
price_cents,
terms_text,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersDashboardResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**library_preview** | [**InternalHandlersLibraryPreview**](InternalHandlersLibraryPreview.md) | | [optional] [default to undefined]
**recent_activity** | [**Array&lt;InternalHandlersRecentActivity&gt;**](InternalHandlersRecentActivity.md) | | [optional] [default to undefined]
**stats** | [**InternalHandlersDashboardStats**](InternalHandlersDashboardStats.md) | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersDashboardResponse } from './api';
const instance: InternalHandlersDashboardResponse = {
library_preview,
recent_activity,
stats,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,36 +0,0 @@
# InternalHandlersDashboardStats
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**active_friends** | **number** | | [optional] [default to undefined]
**active_friends_change** | **string** | | [optional] [default to undefined]
**favorites** | **number** | | [optional] [default to undefined]
**favorites_change** | **string** | | [optional] [default to undefined]
**messages_sent** | **number** | | [optional] [default to undefined]
**messages_sent_change** | **string** | | [optional] [default to undefined]
**period** | **string** | | [optional] [default to undefined]
**tracks_played** | **number** | | [optional] [default to undefined]
**tracks_played_change** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersDashboardStats } from './api';
const instance: InternalHandlersDashboardStats = {
active_friends,
active_friends_change,
favorites,
favorites_change,
messages_sent,
messages_sent_change,
period,
tracks_played,
tracks_played_change,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,26 +0,0 @@
# InternalHandlersDeleteAccountRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**confirm_text** | **string** | | [default to undefined]
**keep_public_tracks** | **boolean** | If true, public tracks remain (attributed to deleted account) | [optional] [default to undefined]
**password** | **string** | | [default to undefined]
**reason** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersDeleteAccountRequest } from './api';
const instance: InternalHandlersDeleteAccountRequest = {
confirm_text,
keep_public_tracks,
password,
reason,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalHandlersDisableTwoFactorRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**password** | **string** | | [default to undefined]
## Example
```typescript
import { InternalHandlersDisableTwoFactorRequest } from './api';
const instance: InternalHandlersDisableTwoFactorRequest = {
password,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,28 +0,0 @@
# InternalHandlersFrontendLogRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**context** | **{ [key: string]: any; }** | | [optional] [default to undefined]
**data** | **object** | | [optional] [default to undefined]
**level** | **string** | | [optional] [default to undefined]
**message** | **string** | | [optional] [default to undefined]
**timestamp** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersFrontendLogRequest } from './api';
const instance: InternalHandlersFrontendLogRequest = {
context,
data,
level,
message,
timestamp,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersImportPlaylistRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**playlist** | [**InternalHandlersImportPlaylistRequestPlaylist**](InternalHandlersImportPlaylistRequestPlaylist.md) | | [optional] [default to undefined]
**tracks** | [**Array&lt;InternalHandlersImportPlaylistRequestTracksInner&gt;**](InternalHandlersImportPlaylistRequestTracksInner.md) | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersImportPlaylistRequest } from './api';
const instance: InternalHandlersImportPlaylistRequest = {
playlist,
tracks,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersImportPlaylistRequestPlaylist
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**description** | **string** | | [optional] [default to undefined]
**is_public** | **boolean** | | [optional] [default to undefined]
**title** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersImportPlaylistRequestPlaylist } from './api';
const instance: InternalHandlersImportPlaylistRequestPlaylist = {
description,
is_public,
title,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalHandlersImportPlaylistRequestTracksInner
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersImportPlaylistRequestTracksInner } from './api';
const instance: InternalHandlersImportPlaylistRequestTracksInner = {
id,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersLibraryPreview
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**has_more** | **boolean** | | [optional] [default to undefined]
**items** | [**Array&lt;InternalHandlersTrackPreview&gt;**](InternalHandlersTrackPreview.md) | | [optional] [default to undefined]
**total_count** | **number** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersLibraryPreview } from './api';
const instance: InternalHandlersLibraryPreview = {
has_more,
items,
total_count,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,32 +0,0 @@
# InternalHandlersRecentActivity
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**description** | **string** | | [optional] [default to undefined]
**icon** | **string** | | [optional] [default to undefined]
**id** | **string** | | [optional] [default to undefined]
**metadata** | **{ [key: string]: any; }** | | [optional] [default to undefined]
**timestamp** | **string** | | [optional] [default to undefined]
**title** | **string** | | [optional] [default to undefined]
**type** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersRecentActivity } from './api';
const instance: InternalHandlersRecentActivity = {
description,
icon,
id,
metadata,
timestamp,
title,
type,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersRecordEventRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**event_name** | **string** | | [default to undefined]
**payload** | **{ [key: string]: any; }** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersRecordEventRequest } from './api';
const instance: InternalHandlersRecordEventRequest = {
event_name,
payload,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersRecordPlayRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**device** | **string** | | [optional] [default to undefined]
**duration** | **number** | | [default to undefined]
## Example
```typescript
import { InternalHandlersRecordPlayRequest } from './api';
const instance: InternalHandlersRecordPlayRequest = {
device,
duration,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalHandlersReorderTracksRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**track_ids** | **Array&lt;string&gt;** | Changed to []uuid.UUID | [default to undefined]
## Example
```typescript
import { InternalHandlersReorderTracksRequest } from './api';
const instance: InternalHandlersReorderTracksRequest = {
track_ids,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersSetupTwoFactorResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**qr_code_url** | **string** | | [optional] [default to undefined]
**recovery_codes** | **Array&lt;string&gt;** | | [optional] [default to undefined]
**secret** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersSetupTwoFactorResponse } from './api';
const instance: InternalHandlersSetupTwoFactorResponse = {
qr_code_url,
recovery_codes,
secret,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersStreamTokenResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**expires_in** | **number** | seconds | [optional] [default to undefined]
**token** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersStreamTokenResponse } from './api';
const instance: InternalHandlersStreamTokenResponse = {
expires_in,
token,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,34 +0,0 @@
# InternalHandlersTrackPreview
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**artist** | **string** | | [optional] [default to undefined]
**cover_art_path** | **string** | | [optional] [default to undefined]
**created_at** | **string** | | [optional] [default to undefined]
**duration** | **number** | | [optional] [default to undefined]
**id** | **string** | | [optional] [default to undefined]
**like_count** | **number** | | [optional] [default to undefined]
**play_count** | **number** | | [optional] [default to undefined]
**title** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersTrackPreview } from './api';
const instance: InternalHandlersTrackPreview = {
artist,
cover_art_path,
created_at,
duration,
id,
like_count,
play_count,
title,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalHandlersUpdateCollaboratorPermissionRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**permission** | **string** | | [default to undefined]
## Example
```typescript
import { InternalHandlersUpdateCollaboratorPermissionRequest } from './api';
const instance: InternalHandlersUpdateCollaboratorPermissionRequest = {
permission,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,20 +0,0 @@
# InternalHandlersUpdateCommentRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **string** | | [default to undefined]
## Example
```typescript
import { InternalHandlersUpdateCommentRequest } from './api';
const instance: InternalHandlersUpdateCommentRequest = {
content,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersUpdatePlaylistRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**description** | **string** | | [optional] [default to undefined]
**is_public** | **boolean** | | [optional] [default to undefined]
**title** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersUpdatePlaylistRequest } from './api';
const instance: InternalHandlersUpdatePlaylistRequest = {
description,
is_public,
title,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,34 +0,0 @@
# InternalHandlersUpdateProductRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**bpm** | **number** | | [optional] [default to undefined]
**category** | **string** | | [optional] [default to undefined]
**description** | **string** | | [optional] [default to undefined]
**licenses** | [**Array&lt;InternalHandlersCreateProductRequestLicensesInner&gt;**](InternalHandlersCreateProductRequestLicensesInner.md) | v0.401 M2: Product licenses | [optional] [default to undefined]
**musical_key** | **string** | | [optional] [default to undefined]
**price** | **number** | | [optional] [default to undefined]
**status** | **string** | | [optional] [default to undefined]
**title** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersUpdateProductRequest } from './api';
const instance: InternalHandlersUpdateProductRequest = {
bpm,
category,
description,
licenses,
musical_key,
price,
status,
title,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,38 +0,0 @@
# InternalHandlersUpdateProfileRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**banner_url** | **string** | | [optional] [default to undefined]
**bio** | **string** | | [optional] [default to undefined]
**birthdate** | **string** | | [optional] [default to undefined]
**first_name** | **string** | | [optional] [default to undefined]
**gender** | **string** | | [optional] [default to undefined]
**is_public** | **boolean** | | [optional] [default to undefined]
**last_name** | **string** | | [optional] [default to undefined]
**location** | **string** | | [optional] [default to undefined]
**social_links** | **{ [key: string]: any; }** | | [optional] [default to undefined]
**username** | **string** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersUpdateProfileRequest } from './api';
const instance: InternalHandlersUpdateProfileRequest = {
banner_url,
bio,
birthdate,
first_name,
gender,
is_public,
last_name,
location,
social_links,
username,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersValidateRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | **Array&lt;number&gt;** | The data to validate | [default to undefined]
**type** | **string** | e.g., \&quot;RegisterRequest\&quot;, \&quot;LoginRequest\&quot; | [default to undefined]
## Example
```typescript
import { InternalHandlersValidateRequest } from './api';
const instance: InternalHandlersValidateRequest = {
data,
type,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,24 +0,0 @@
# InternalHandlersValidateResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**errors** | [**Array&lt;VezaBackendApiInternalDtoValidationError&gt;**](VezaBackendApiInternalDtoValidationError.md) | | [optional] [default to undefined]
**message** | **string** | | [optional] [default to undefined]
**valid** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { InternalHandlersValidateResponse } from './api';
const instance: InternalHandlersValidateResponse = {
errors,
message,
valid,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# InternalHandlersVerifyTwoFactorRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **string** | TOTP code to verify | [default to undefined]
**secret** | **string** | Secret from setup step | [default to undefined]
## Example
```typescript
import { InternalHandlersVerifyTwoFactorRequest } from './api';
const instance: InternalHandlersVerifyTwoFactorRequest = {
code,
secret,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,62 +0,0 @@
# LoggingApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**apiV1LogsFrontendPost**](#apiv1logsfrontendpost) | **POST** /api/v1/logs/frontend | Receive frontend log|
# **apiV1LogsFrontendPost**
> ApiV1LogsFrontendPost200Response apiV1LogsFrontendPost(log)
Receive and store a log entry from the frontend application
### Example
```typescript
import {
LoggingApi,
Configuration,
InternalHandlersFrontendLogRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new LoggingApi(configuration);
let log: InternalHandlersFrontendLogRequest; //Frontend log entry
const { status, data } = await apiInstance.apiV1LogsFrontendPost(
log
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **log** | **InternalHandlersFrontendLogRequest**| Frontend log entry | |
### Return type
**ApiV1LogsFrontendPost200Response**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Invalid log entry | - |
|**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -1,407 +0,0 @@
# MarketplaceApi
All URIs are relative to *http://localhost:18080/api/v1*
|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**apiV1MarketplaceDownloadProductIdGet**](#apiv1marketplacedownloadproductidget) | **GET** /api/v1/marketplace/download/{product_id} | Get download URL|
|[**apiV1MarketplaceOrdersGet**](#apiv1marketplaceordersget) | **GET** /api/v1/marketplace/orders | List user orders|
|[**apiV1MarketplaceOrdersIdGet**](#apiv1marketplaceordersidget) | **GET** /api/v1/marketplace/orders/{id} | Get order details|
|[**apiV1MarketplaceOrdersPost**](#apiv1marketplaceorderspost) | **POST** /api/v1/marketplace/orders | Create a new order|
|[**apiV1MarketplaceProductsGet**](#apiv1marketplaceproductsget) | **GET** /api/v1/marketplace/products | List products|
|[**apiV1MarketplaceProductsIdPut**](#apiv1marketplaceproductsidput) | **PUT** /api/v1/marketplace/products/{id} | Update a product|
|[**apiV1MarketplaceProductsPost**](#apiv1marketplaceproductspost) | **POST** /api/v1/marketplace/products | Create a new product|
# **apiV1MarketplaceDownloadProductIdGet**
> { [key: string]: string; } apiV1MarketplaceDownloadProductIdGet()
Get a secure download URL for a purchased product
### Example
```typescript
import {
MarketplaceApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
let productId: string; //Product ID (default to undefined)
const { status, data } = await apiInstance.apiV1MarketplaceDownloadProductIdGet(
productId
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **productId** | [**string**] | Product ID | defaults to undefined|
### Return type
**{ [key: string]: string; }**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**403** | No license | - |
|**404** | Not Found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **apiV1MarketplaceOrdersGet**
> Array<VezaBackendApiInternalCoreMarketplaceOrder> apiV1MarketplaceOrdersGet()
Get all orders for the authenticated user
### Example
```typescript
import {
MarketplaceApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
const { status, data } = await apiInstance.apiV1MarketplaceOrdersGet();
```
### Parameters
This endpoint does not have any parameters.
### Return type
**Array<VezaBackendApiInternalCoreMarketplaceOrder>**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**401** | Unauthorized | - |
|**500** | Internal Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **apiV1MarketplaceOrdersIdGet**
> VezaBackendApiInternalCoreMarketplaceOrder apiV1MarketplaceOrdersIdGet()
Get details of a specific order (only order owner can access)
### Example
```typescript
import {
MarketplaceApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
let id: string; //Order ID (default to undefined)
const { status, data } = await apiInstance.apiV1MarketplaceOrdersIdGet(
id
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | Order ID | defaults to undefined|
### Return type
**VezaBackendApiInternalCoreMarketplaceOrder**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation Error | - |
|**401** | Unauthorized | - |
|**403** | Forbidden - Not order owner | - |
|**404** | Order not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **apiV1MarketplaceOrdersPost**
> VezaBackendApiInternalCoreMarketplaceOrder apiV1MarketplaceOrdersPost(order)
Purchase products
### Example
```typescript
import {
MarketplaceApi,
Configuration,
InternalHandlersCreateOrderRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
let order: InternalHandlersCreateOrderRequest; //Order items
const { status, data } = await apiInstance.apiV1MarketplaceOrdersPost(
order
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **order** | **InternalHandlersCreateOrderRequest**| Order items | |
### Return type
**VezaBackendApiInternalCoreMarketplaceOrder**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**201** | Created | - |
|**400** | Validation Error | - |
|**401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **apiV1MarketplaceProductsGet**
> Array<VezaBackendApiInternalCoreMarketplaceProduct> apiV1MarketplaceProductsGet()
List marketplace products with filters
### Example
```typescript
import {
MarketplaceApi,
Configuration
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
let status: string; //Product status (optional) (default to undefined)
let sellerId: string; //Seller ID (optional) (default to undefined)
let q: string; //Search query (optional) (default to undefined)
let type: string; //Product type (track, pack, service) (optional) (default to undefined)
let minPrice: number; //Minimum price (optional) (default to undefined)
let maxPrice: number; //Maximum price (optional) (default to undefined)
let page: number; //Page number (optional) (default to undefined)
let limit: number; //Items per page (optional) (default to undefined)
const { status, data } = await apiInstance.apiV1MarketplaceProductsGet(
status,
sellerId,
q,
type,
minPrice,
maxPrice,
page,
limit
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **status** | [**string**] | Product status | (optional) defaults to undefined|
| **sellerId** | [**string**] | Seller ID | (optional) defaults to undefined|
| **q** | [**string**] | Search query | (optional) defaults to undefined|
| **type** | [**string**] | Product type (track, pack, service) | (optional) defaults to undefined|
| **minPrice** | [**number**] | Minimum price | (optional) defaults to undefined|
| **maxPrice** | [**number**] | Maximum price | (optional) defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to undefined|
| **limit** | [**number**] | Items per page | (optional) defaults to undefined|
### Return type
**Array<VezaBackendApiInternalCoreMarketplaceProduct>**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **apiV1MarketplaceProductsIdPut**
> VezaBackendApiInternalCoreMarketplaceProduct apiV1MarketplaceProductsIdPut(product)
Update product details (only seller can update)
### Example
```typescript
import {
MarketplaceApi,
Configuration,
InternalHandlersUpdateProductRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
let id: string; //Product ID (default to undefined)
let product: InternalHandlersUpdateProductRequest; //Product updates
const { status, data } = await apiInstance.apiV1MarketplaceProductsIdPut(
id,
product
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **product** | **InternalHandlersUpdateProductRequest**| Product updates | |
| **id** | [**string**] | Product ID | defaults to undefined|
### Return type
**VezaBackendApiInternalCoreMarketplaceProduct**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | OK | - |
|**400** | Validation Error | - |
|**401** | Unauthorized | - |
|**403** | Forbidden - Not product owner | - |
|**404** | Product not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **apiV1MarketplaceProductsPost**
> VezaBackendApiInternalCoreMarketplaceProduct apiV1MarketplaceProductsPost(product)
Create a product (Track, Pack, Service) for sale
### Example
```typescript
import {
MarketplaceApi,
Configuration,
InternalHandlersCreateProductRequest
} from './api';
const configuration = new Configuration();
const apiInstance = new MarketplaceApi(configuration);
let product: InternalHandlersCreateProductRequest; //Product info
const { status, data } = await apiInstance.apiV1MarketplaceProductsPost(
product
);
```
### Parameters
|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **product** | **InternalHandlersCreateProductRequest**| Product info | |
### Return type
**VezaBackendApiInternalCoreMarketplaceProduct**
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**201** | Created | - |
|**400** | Validation Error | - |
|**401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

File diff suppressed because it is too large Load diff

View file

@ -1,24 +0,0 @@
# PlaylistsGet200Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**PlaylistsGet200ResponseAllOfData**](PlaylistsGet200ResponseAllOfData.md) | | [optional] [default to undefined]
**error** | **object** | | [optional] [default to undefined]
**success** | **boolean** | | [optional] [default to undefined]
## Example
```typescript
import { PlaylistsGet200Response } from './api';
const instance: PlaylistsGet200Response = {
data,
error,
success,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -1,22 +0,0 @@
# PlaylistsGet200ResponseAllOfData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**pagination** | **object** | | [optional] [default to undefined]
**playlists** | [**Array&lt;VezaBackendApiInternalModelsPlaylist&gt;**](VezaBackendApiInternalModelsPlaylist.md) | | [optional] [default to undefined]
## Example
```typescript
import { PlaylistsGet200ResponseAllOfData } from './api';
const instance: PlaylistsGet200ResponseAllOfData = {
pagination,
playlists,
};
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

Some files were not shown because too many files have changed in this diff Show more