Prisma Schema zu TypeScript Interfaces & Typen Generator
Prisma Schema-Modelle, Enums, optionale Felder und Relationen in eigenständige TypeScript-Interfaces und Types ohne Prisma Client Laufzeitumgebung extrahieren.
/**
* Standalone TypeScript Definitions
* Generated from Prisma Schema without Prisma Client runtime
* Generated via ToolsAA Prisma-to-TypeScript Engine
*/
// ==========================================
// Enums
// ==========================================
export enum Role {
CUSTOMER = 'CUSTOMER',
VENDOR = 'VENDOR',
ADMIN = 'ADMIN',
}
export enum OrderStatus {
PENDING = 'PENDING',
PROCESSING = 'PROCESSING',
SHIPPED = 'SHIPPED',
DELIVERED = 'DELIVERED',
CANCELLED = 'CANCELLED',
}
// ==========================================
// Models & Types
// ==========================================
/**
* User customer or merchant account
* @table users
* @id [id]
*/
export interface User {
id: string; // @id @default(uuid()
email: string; // @unique
name?: string | null;
role: Role; // @default(CUSTOMER)
walletBalance: number; // @default(0.00)
createdAt: Date; // @default(now()
updatedAt: Date; // @updatedAt
orders?: Order[]; // @relation
profile?: UserProfile | null; // @relation
}
/**
* @id [id]
*/
export interface UserProfile {
id: string; // @id @default(cuid()
userId: string; // @unique
user?: User; // @relation
phone?: string | null;
address?: string | null;
city?: string | null;
country: string; // @default("US")
metadata?: Record<string, unknown> | null;
}
/**
* @table products
* @id [id]
*/
export interface Product {
id: number; // @id @default(autoincrement()
sku: string; // @unique
title: string;
description?: string | null;
price: number;
inventory: number; // @default(0)
isPublished: boolean; // @default(true)
categoryId?: number | null;
category?: Category | null; // @relation
orderItems?: OrderItem[]; // @relation
createdAt: Date; // @default(now()
}
/**
* @id [id]
*/
export interface Category {
id: number; // @id @default(autoincrement()
slug: string; // @unique
name: string;
products?: Product[]; // @relation
}
/**
* @table orders
* @id [id]
*/
export interface Order {
id: string; // @id @default(uuid()
orderNumber: string; // @unique
userId: string;
user?: User; // @relation
status: OrderStatus; // @default(PENDING)
totalAmount: number;
items?: OrderItem[]; // @relation
createdAt: Date; // @default(now()
updatedAt: Date; // @updatedAt
}
/**
* @id [id]
*/
export interface OrderItem {
id: number; // @id @default(autoincrement()
orderId: string;
order?: Order; // @relation
productId: number;
product?: Product; // @relation
quantity: number; // @default(1)
unitPrice: number;
}
Extrahierte Datenmodelle & Enums
Generierte Interfaces & Hilfstypen
Keine Prisma-Binaries oder npm-Pakete erforderlich
Reiner Browser-Lexer & Parser
Analysiert Modelle, Enums, zusammengesetzte Attribute (@@id, @@unique, @@map), Standardwerte und Kaskaden direkt im Browser ohne Node.js oder Prisma CLI.
100% Client-Datenschutz
Ihre Datenbankschemata und Architekturentwürfe verlassen niemals den Browser. Keine Server-Uploads, Tracking oder externe Netzwerkaufrufe.
Universeller TypeScript & Zod Export
Erzeugen Sie sofort saubere Typen für Frontend-Apps, Serverless Functions, Monorepos und isomorphe Zod-Laufzeitvalidierungen.