@vegardit/prisma-generator-nestjs-dto
Version:
Generates DTO and Entity classes from Prisma Schema for NestJS
57 lines (56 loc) • 1.46 kB
TypeScript
import { DMMF } from '@prisma/generator-helper';
export interface Model extends DMMF.Model {
output: {
dto: string;
entity: string;
};
}
export interface ParsedField {
kind: DMMF.FieldKind | 'relation-input';
name: string;
type: string;
documentation?: string;
isRequired: boolean;
isList: boolean;
isNullable?: boolean;
}
export interface ExtraModel {
originalName: string;
preAndPostfixedName: string;
isLocal?: boolean;
}
export interface ImportStatementParams {
from: string;
default?: string | {
'*': string;
};
destruct?: (string | Record<string, string>)[];
}
export interface DtoParams {
model: DMMF.Model;
fields: ParsedField[];
imports: ImportStatementParams[];
}
export declare type ConnectDtoParams = Omit<DtoParams, 'imports'>;
export interface CreateDtoParams extends DtoParams {
extraClasses: string[];
apiExtraModels: string[];
}
export interface UpdateDtoParams extends DtoParams {
extraClasses: string[];
apiExtraModels: string[];
}
export interface EntityParams extends DtoParams {
apiExtraModels: string[];
}
export interface ModelParams {
connect: ConnectDtoParams;
create: CreateDtoParams;
update: UpdateDtoParams;
entity: EntityParams;
}
export declare type WriteableFileSpecs = {
fileName: string;
content: string;
};
export declare type NamingStyle = 'snake' | 'camel' | 'pascal' | 'kebab';