Générateur d'Interfaces et Types TypeScript depuis un Schéma Prisma
Extrayez les modèles, énumérations, champs optionnels et relations de votre schéma Prisma sous forme d'interfaces TypeScript autonomes sans dépendance au runtime 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;
}
Modèles de données et énumérations extraits
Interfaces et utilitaires purs générés
Aucun binaire ni package Prisma Client requis
Analyseur Syntaxique dans le Navigateur
Analyse les modèles, énumérations, attributs composites (@@id, @@unique, @@map), valeurs par défaut et relations directement dans le navigateur sans Node.js ni Prisma CLI.
Confidentialité 100% Locale
Vos schémas de base de données ne quittent jamais votre navigateur. Zéro transfert vers un serveur externe ni suivi de données.
Sortie Universelle TypeScript & Zod
Générez instantanément des types TypeScript purs pour vos applications web, fonctions serverless, monorepos et schémas Zod isomorphes.