UNPKG

sx-cli-tool

Version:

Laravel va Vue frameworklaridagi monolith arxitektura loyihalarni boshqarish uchun mo'ljallangan CLI tool

32 lines (29 loc) 1.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateModel = generateModel; const fs_1 = __importDefault(require("fs")); const folder_1 = require("../../utils/folder"); const path_1 = __importDefault(require("path")); const formatter_1 = require("../../utils/formatter"); const prettier_1 = require("../../utils/prettier"); function generateModel(modelName, fields, projectPath, groupName = "/admin") { const modelPath = path_1.default.join(projectPath, "app", "Models", groupName, `${modelName}.php`); const template = `<?php namespace App\\Models${(0, formatter_1.replaceSlashes)(groupName)}; use Illuminate\\Database\\Eloquent\\Factories\\HasFactory; use Illuminate\\Database\\Eloquent\\Model; class ${modelName} extends Model { use HasFactory; protected $fillable = [${fields .map((field) => `"${field.name}"`) .join(",")}]; } `; (0, folder_1.ensureDirectoryExists)(modelPath); fs_1.default.writeFileSync(modelPath, template, "utf8"); (0, prettier_1.formatPhpFile)(modelPath); }