223 lines
5.9 KiB
TypeScript
223 lines
5.9 KiB
TypeScript
/**
|
|
* Auto-generated API types from design document
|
|
* Generated at: 2025-12-19T06:09:11.387541
|
|
* DO NOT EDIT - Regenerate with generate_types.py
|
|
*/
|
|
|
|
/** Request body for POST /api/auth/register - Register a new user */
|
|
export interface RegisterUserRequest {
|
|
/** User email address */
|
|
email: string;
|
|
/** User display name */
|
|
name: string;
|
|
/** Password (min 8 characters) */
|
|
password: string;
|
|
}
|
|
|
|
/** Response for POST /api/auth/register (status 201) - User created successfully */
|
|
export interface RegisterUserResponse {
|
|
id: string;
|
|
email: string;
|
|
name: string;
|
|
createdAt: string;
|
|
}
|
|
|
|
/** Error response for POST /api/auth/register (status 400) - Validation error */
|
|
export interface RegisterUserError400 {
|
|
error: string;
|
|
}
|
|
|
|
/** Error response for POST /api/auth/register (status 409) - Email already exists */
|
|
export interface RegisterUserError409 {
|
|
error: string;
|
|
}
|
|
|
|
/** Request body for POST /api/auth/login - Login user */
|
|
export interface LoginUserRequest {
|
|
/** User email */
|
|
email: string;
|
|
/** User password */
|
|
password: string;
|
|
}
|
|
|
|
/** Response for POST /api/auth/login (status 200) - Login successful */
|
|
export interface LoginUserResponse {
|
|
user: Record<string, unknown>;
|
|
token: string;
|
|
}
|
|
|
|
/** Error response for POST /api/auth/login (status 401) - Invalid credentials */
|
|
export interface LoginUserError401 {
|
|
error: string;
|
|
}
|
|
|
|
/** Request body for POST /api/auth/logout - Logout user */
|
|
export interface LogoutUserRequest {
|
|
}
|
|
|
|
/** Response for POST /api/auth/logout (status 200) - Logout successful */
|
|
export interface LogoutUserResponse {
|
|
success: boolean;
|
|
}
|
|
|
|
/** Response for GET /api/auth/me (status 200) - User data */
|
|
export interface GetCurrentUserResponse {
|
|
id: string;
|
|
email: string;
|
|
name: string;
|
|
createdAt: string;
|
|
}
|
|
|
|
/** Error response for GET /api/auth/me (status 401) - Not authenticated */
|
|
export interface GetCurrentUserError401 {
|
|
error: string;
|
|
}
|
|
|
|
/** Response for GET /api/recordings (status 200) - Recordings list */
|
|
export interface ListRecordingsResponse {
|
|
recordings: unknown[];
|
|
total: number;
|
|
}
|
|
|
|
/** Request body for POST /api/recordings - Create new recording */
|
|
export interface CreateRecordingRequest {
|
|
/** Audio file (webm, mp3, wav) */
|
|
audio: unknown;
|
|
/** Recording title (auto-generated if not provided) */
|
|
title?: string;
|
|
/** Duration in seconds */
|
|
duration: number;
|
|
}
|
|
|
|
/** Response for POST /api/recordings (status 201) - Recording created */
|
|
export interface CreateRecordingResponse {
|
|
id: string;
|
|
title: string;
|
|
audioFilePath: string;
|
|
duration: number;
|
|
createdAt: string;
|
|
}
|
|
|
|
/** Error response for POST /api/recordings (status 400) - Invalid audio file */
|
|
export interface CreateRecordingError400 {
|
|
error: string;
|
|
}
|
|
|
|
/** Response for GET /api/recordings/[id] (status 200) - Recording details */
|
|
export interface GetRecordingResponse {
|
|
id: string;
|
|
title: string;
|
|
audioFilePath: string;
|
|
duration: number;
|
|
transcript: string;
|
|
summary: string;
|
|
isTranscribing: boolean;
|
|
createdAt: string;
|
|
}
|
|
|
|
/** Error response for GET /api/recordings/[id] (status 404) - Recording not found */
|
|
export interface GetRecordingError404 {
|
|
error: string;
|
|
}
|
|
|
|
/** Response for DELETE /api/recordings/[id] (status 200) - Recording deleted */
|
|
export interface DeleteRecordingResponse {
|
|
success: boolean;
|
|
}
|
|
|
|
/** Error response for DELETE /api/recordings/[id] (status 404) - Recording not found */
|
|
export interface DeleteRecordingError404 {
|
|
error: string;
|
|
}
|
|
|
|
/** Request body for POST /api/recordings/[id]/transcribe - Transcribe recording */
|
|
export interface TranscribeRecordingRequest {
|
|
}
|
|
|
|
/** Response for POST /api/recordings/[id]/transcribe (status 200) - Transcription started */
|
|
export interface TranscribeRecordingResponse {
|
|
recordingId: string;
|
|
isTranscribing: boolean;
|
|
}
|
|
|
|
/** Error response for POST /api/recordings/[id]/transcribe (status 404) - Recording not found */
|
|
export interface TranscribeRecordingError404 {
|
|
error: string;
|
|
}
|
|
|
|
/** Request body for POST /api/recordings/[id]/summarize - Summarize recording */
|
|
export interface SummarizeRecordingRequest {
|
|
}
|
|
|
|
/** Response for POST /api/recordings/[id]/summarize (status 200) - Summary generated */
|
|
export interface SummarizeRecordingResponse {
|
|
recordingId: string;
|
|
summary: string;
|
|
}
|
|
|
|
/** Error response for POST /api/recordings/[id]/summarize (status 400) - No transcript available */
|
|
export interface SummarizeRecordingError400 {
|
|
error: string;
|
|
}
|
|
|
|
/** Error response for POST /api/recordings/[id]/summarize (status 404) - Recording not found */
|
|
export interface SummarizeRecordingError404 {
|
|
error: string;
|
|
}
|
|
|
|
/** Response for GET /api/apps (status 200) - Apps list */
|
|
export interface ListAppsResponse {
|
|
apps: unknown[];
|
|
total: number;
|
|
}
|
|
|
|
/** Request body for POST /api/apps/generate - Generate app from recording */
|
|
export interface GenerateAppRequest {
|
|
/** Source recording ID */
|
|
recordingId: string;
|
|
}
|
|
|
|
/** Response for POST /api/apps/generate (status 201) - App generation started */
|
|
export interface GenerateAppResponse {
|
|
id: string;
|
|
recordingId: string;
|
|
status: string;
|
|
}
|
|
|
|
/** Error response for POST /api/apps/generate (status 400) - Recording has no summary */
|
|
export interface GenerateAppError400 {
|
|
error: string;
|
|
}
|
|
|
|
/** Error response for POST /api/apps/generate (status 404) - Recording not found */
|
|
export interface GenerateAppError404 {
|
|
error: string;
|
|
}
|
|
|
|
/** Response for GET /api/apps/[id] (status 200) - App details */
|
|
export interface GetAppResponse {
|
|
id: string;
|
|
recordingId: string;
|
|
title: string;
|
|
description: string;
|
|
htmlContent: string;
|
|
appType: string;
|
|
status: string;
|
|
createdAt: string;
|
|
}
|
|
|
|
/** Error response for GET /api/apps/[id] (status 404) - App not found */
|
|
export interface GetAppError404 {
|
|
error: string;
|
|
}
|
|
|
|
/** Response for DELETE /api/apps/[id] (status 200) - App deleted */
|
|
export interface DeleteAppResponse {
|
|
success: boolean;
|
|
}
|
|
|
|
/** Error response for DELETE /api/apps/[id] (status 404) - App not found */
|
|
export interface DeleteAppError404 {
|
|
error: string;
|
|
}
|