Generador de Interfaces y Tipos TypeScript desde Prisma Schema
Extrae modelos, enums, campos opcionales y relaciones de Prisma Schema en interfaces TypeScript independientes sin depender del runtime de Prisma Client.
/**
* 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;
}
Modelos de datos y enums extraídos
Interfaces y tipos auxiliares generados
Sin binarios ni dependencias de Prisma Client
Analizador Léxico en el Navegador
Analiza modelos, enumeraciones, atributos compuestos (@@id, @@unique, @@map), valores por defecto y relaciones directamente en el navegador sin Node.js ni Prisma CLI.
Privacidad 100% Garantizada
Las definiciones de su esquema nunca salen de su navegador. Cero subidas a servidores, rastreo o peticiones externas.
Salida Universal TypeScript y Zod
Genere al instante tipos limpios para aplicaciones web, funciones serverless, monorepositorios y esquemas de validación Zod isomorfos.