public function fillTemplate($templateData)
 {
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     $fieldTypes = $this->commandData->getSwaggerTypes();
     $fieldTypes = array_merge($fieldTypes, [['name' => "limit", 'type' => "integer", "description" => "Limit the number of results returned"], ['name' => "offset", 'type' => "integer", "description" => "Records from give Offset"], ['name' => "sort", 'type' => "string", "description" => "Sort records by given field"]]);
     $templateData = str_replace('$PARAMETERS$', implode(",\n", $this->generateSwagger($fieldTypes)), $templateData);
     return $templateData;
 }
 private function generateUpdateRequest()
 {
     $templateData = $this->commandData->templatesHelper->getTemplate('UpdateRequest', 'scaffold/requests');
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     $fileName = 'Update' . $this->commandData->modelName . 'Request.php';
     $path = $this->path . $fileName;
     $this->commandData->fileHelper->writeFile($path, $templateData);
     $this->commandData->commandObj->comment("\nUpdate Request created: ");
     $this->commandData->commandObj->info($fileName);
 }
 private function generateScaffoldRoutes()
 {
     $routeContents = $this->commandData->fileHelper->getFileContents($this->path);
     $templateData = $this->commandData->templatesHelper->getTemplate('scaffold_routes', 'routes');
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     $routeContents .= "\n\n" . $templateData;
     $this->commandData->fileHelper->writeFile($this->path, $routeContents);
     $this->commandData->commandObj->comment("\nroutes.php modified:");
     $this->commandData->commandObj->info('"' . $this->commandData->modelNamePluralCamel . '" route added.');
 }
 public function generate()
 {
     $templateData = $this->commandData->templatesHelper->getTemplate('Migration', 'common');
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     $templateData = str_replace('$FIELDS$', $this->generateFieldsStr(), $templateData);
     $fileName = date('Y_m_d_His') . '_' . 'create_' . $this->commandData->modelNamePluralCamel . '_table.php';
     $path = $this->path . $fileName;
     $this->commandData->fileHelper->writeFile($path, $templateData);
     $this->commandData->commandObj->comment("\nMigration created: ");
     $this->commandData->commandObj->info($fileName);
 }
 public function generate()
 {
     $templateData = $this->commandData->templatesHelper->getTemplate('Service', 'common');
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     $fileName = $this->commandData->modelName . 'Service.php';
     if (!file_exists($this->path)) {
         mkdir($this->path, 0755, true);
     }
     $path = $this->path . $fileName;
     $this->commandData->fileHelper->writeFile($path, $templateData);
     $this->commandData->commandObj->comment("\nService created: ");
     $this->commandData->commandObj->info($fileName);
 }
 public function generate()
 {
     $templateData = $this->commandData->templatesHelper->getTemplate('Controller', 'scaffold');
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     if ($this->commandData->paginate) {
         $templateData = str_replace('$RENDER_TYPE$', 'paginate(' . $this->commandData->paginate . ')', $templateData);
     } else {
         $templateData = str_replace('$RENDER_TYPE$', 'all()', $templateData);
     }
     $fileName = $this->commandData->modelName . 'Controller.php';
     $path = $this->path . $fileName;
     $this->commandData->fileHelper->writeFile($path, $templateData);
     $this->commandData->commandObj->comment("\nController created: ");
     $this->commandData->commandObj->info($fileName);
 }
 private function generateEdit()
 {
     $templateData = $this->commandData->templatesHelper->getTemplate('edit.blade', $this->viewsPath);
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $templateData);
     $fileName = 'edit.blade.php';
     $path = $this->path . $fileName;
     $this->commandData->fileHelper->writeFile($path, $templateData);
     $this->commandData->commandObj->info('edit.blade.php created');
 }
 public function generateSwagger($fields, $fillables)
 {
     $template = $this->commandData->templatesHelper->getTemplate("Model", 'swagger');
     $templateData = GeneratorUtils::fillTemplate($this->commandData->dynamicVars, $template);
     $templateData = str_replace('$REQUIRED_FIELDS$', implode(", ", $fillables), $templateData);
     $propertyTemplate = $this->commandData->templatesHelper->getTemplate("Property", 'swagger');
     $properties = SwaggerTemplateUtil::preparePropertyFields($propertyTemplate, $fields);
     $templateData = str_replace('$PROPERTIES$', implode(",\n", $properties), $templateData);
     return $templateData;
 }
 /**
  * Publishes base controller.
  */
 private function publishAppBaseController()
 {
     $templateHelper = new TemplatesHelper();
     $templateData = $templateHelper->getTemplate('AppBaseController', 'controller');
     $templateData = GeneratorUtils::fillTemplate(CommandData::getConfigDynamicVariables(), $templateData);
     $fileName = 'AppBaseController.php';
     $filePath = Config::get('generator.path_controller', app_path('Http/Controllers/'));
     $fileHelper = new FileHelper();
     $fileHelper->writeFile($filePath . $fileName, $templateData);
     $this->comment('AppBaseController generated');
     $this->info($fileName);
 }