ucg
Version:
Universal CRUD Generator - Express.js plugin and CLI tool for generating complete Node.js REST APIs with database models, controllers, routes, validators, and admin interface. Supports PostgreSQL, MySQL, SQLite with Sequelize, TypeORM, and Knex.js. Develo
61 lines (51 loc) • 1.26 kB
TypeScript
import { Router, Application } from 'express';
export interface UCGOptions {
mountPath?: string;
autoRegisterRoutes?: boolean;
configDir?: string;
swaggerConfig?: {
title?: string;
version?: string;
description?: string;
};
}
export interface DatabaseConfig {
host: string;
port: number;
database: string;
username: string;
password: string;
orm?: 'sequelize' | 'typeorm' | 'knex';
type?: 'postgres' | 'mysql' | 'sqlite';
}
export interface GenerationResult {
modelName: string;
tableName?: string;
filePath: string;
files?: string[];
operations?: string[];
}
export interface ModelGenerationOptions {
table: string;
output?: string;
preview?: boolean;
}
export interface CrudGenerationOptions {
model: string;
operations?: string[];
output?: string;
preview?: boolean;
}
export class UCGPlugin {
constructor(options?: UCGOptions);
initialize(app: Application): Router;
}
export interface UCG {
init(): Promise<void>;
start(): Promise<void>;
generateModel(options: ModelGenerationOptions): Promise<GenerationResult>;
generateCrud(options: CrudGenerationOptions): Promise<GenerationResult>;
}
declare function ucg(options?: UCGOptions): UCGPlugin;
export default ucg;
export = ucg;