68 lines
1.9 KiB
TypeScript
68 lines
1.9 KiB
TypeScript
/**
|
|
* Auto-generated model types from design document
|
|
* Generated at: 2025-12-19T06:09:11.386096
|
|
* DO NOT EDIT - Regenerate with generate_types.py
|
|
*/
|
|
|
|
/** Application user account with email/password authentication */
|
|
export interface User {
|
|
/** Unique user identifier */
|
|
id?: string;
|
|
/** User email address for login */
|
|
email: string;
|
|
/** User's display name */
|
|
name: string;
|
|
/** Bcrypt hashed password */
|
|
passwordHash: string;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
}
|
|
|
|
/** Voice recording with transcript and summary */
|
|
export interface Recording {
|
|
/** Unique recording identifier */
|
|
id?: string;
|
|
/** Owner of this recording */
|
|
userId: string;
|
|
/** Recording title (auto-generated or user-edited) */
|
|
title: string;
|
|
/** Path to audio file in MinIO/S3 */
|
|
audioFilePath: string;
|
|
/** Recording duration in seconds */
|
|
duration: number;
|
|
/** Full transcript from Whisper STT */
|
|
transcript?: string;
|
|
/** AI-generated summary from Gemini */
|
|
summary?: string;
|
|
/** Whether currently transcribing */
|
|
isTranscribing: boolean;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
}
|
|
|
|
/** AI-generated application from recording content */
|
|
export interface GeneratedApp {
|
|
/** Unique app identifier */
|
|
id?: string;
|
|
/** Owner of this app */
|
|
userId: string;
|
|
/** Source recording that triggered generation */
|
|
recordingId: string;
|
|
/** App title from AI analysis */
|
|
title: string;
|
|
/** App description */
|
|
description?: string;
|
|
/** Complete HTML/CSS/JS for iframe rendering */
|
|
htmlContent: string;
|
|
/** Product Requirements Document (PRD) generated by AI */
|
|
prdContent?: string;
|
|
/** UI/UX design notes from AI */
|
|
uiUxDesign?: string;
|
|
/** Type of app determined by AI (e.g., todo, calculator, form) */
|
|
appType?: string;
|
|
/** Generation status */
|
|
status: 'generating' | 'completed' | 'failed';
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
}
|