Skip to content

Commit

Permalink
refactor: Some code and documentation updates (#985)
Browse files Browse the repository at this point in the history
* Some housekeeping and documentation updates

* Code style fixes

* Code style fixes

* Code style fixes

* Code style fixes

* Change in APIRequest Class

Co-authored-by: neelkanthk <[email protected]>
  • Loading branch information
neelkanthk and neelkanthk authored Jun 22, 2022
1 parent e3d2aab commit f09fdaf
Show file tree
Hide file tree
Showing 14 changed files with 230 additions and 80 deletions.
4 changes: 2 additions & 2 deletions src/Criteria/LimitOffsetCriteria.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ public function __construct(Request $request)
*/
public function apply($model, \Prettus\Repository\Contracts\RepositoryInterface $repository)
{
$limit = $this->request->get('limit', null);
$offset = $this->request->get('offset', null);
$limit = (int) $this->request->get('limit', null);
$offset = (int) $this->request->get('offset', null);

if ($limit) {
$model = $model->limit($limit);
Expand Down
11 changes: 11 additions & 0 deletions src/Events/GeneratorFileCreated.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@ class GeneratorFileCreated
{
use SerializesModels;

/**
* Type of event.
*
* @var string
*/
public $type;

/**
* Event payload.
*
* @var array
*/
public $data;

/**
Expand Down
11 changes: 11 additions & 0 deletions src/Events/GeneratorFileCreating.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@ class GeneratorFileCreating
{
use SerializesModels;

/**
* Type of event.
*
* @var string
*/
public $type;

/**
* Event payload.
*
* @var array
*/
public $data;

/**
Expand Down
11 changes: 11 additions & 0 deletions src/Events/GeneratorFileDeleted.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@ class GeneratorFileDeleted
{
use SerializesModels;

/**
* Type of event.
*
* @var string
*/
public $type;

/**
* Event payload.
*
* @var array
*/
public $data;

/**
Expand Down
11 changes: 11 additions & 0 deletions src/Events/GeneratorFileDeleting.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@ class GeneratorFileDeleting
{
use SerializesModels;

/**
* Type of event.
*
* @var string
*/
public $type;

/**
* Event payload.
*
* @var array
*/
public $data;

/**
Expand Down
10 changes: 10 additions & 0 deletions src/Generators/API/APIControllerGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ public function __construct(CommandData $commandData)
$this->fileName = $this->commandData->modelName.'APIController.php';
}

/**
* Generate API Controller Class.
*
* @return void
*/
public function generate()
{
if ($this->commandData->getOption('repositoryPattern')) {
Expand Down Expand Up @@ -73,6 +78,11 @@ private function fillDocs($templateData)
return $templateData;
}

/**
* Delete API Controller.
*
* @return void
*/
public function rollback()
{
if ($this->rollbackFile($this->path, $this->fileName)) {
Expand Down
20 changes: 20 additions & 0 deletions src/Generators/API/APIRequestGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,22 @@ public function __construct(CommandData $commandData)
$this->updateFileName = 'Update'.$this->commandData->modelName.'APIRequest.php';
}

/**
* Generate API Request Class.
*
* @return void
*/
public function generate()
{
$this->generateCreateRequest();
$this->generateUpdateRequest();
}

/**
* Generate Create Request.
*
* @return void
*/
private function generateCreateRequest()
{
$templateData = get_template('api.request.create_request', 'laravel-generator');
Expand All @@ -47,6 +57,11 @@ private function generateCreateRequest()
$this->commandData->commandInfo($this->createFileName);
}

/**
* Generate Update Request.
*
* @return void
*/
private function generateUpdateRequest()
{
$modelGenerator = new ModelGenerator($this->commandData);
Expand All @@ -63,6 +78,11 @@ private function generateUpdateRequest()
$this->commandData->commandInfo($this->updateFileName);
}

/**
* Delete the generated Request Classes.
*
* @return void
*/
public function rollback()
{
if ($this->rollbackFile($this->path, $this->createFileName)) {
Expand Down
5 changes: 5 additions & 0 deletions src/Generators/API/APIResourceGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ public function __construct(CommandData $commandData)
$this->fileName = $this->commandData->modelName.'Resource.php';
}

/**
* Generate API Resources.
*
* @return void
*/
public function generate()
{
$templateData = get_template('api.resource.api_resource', 'laravel-generator');
Expand Down
10 changes: 10 additions & 0 deletions src/Generators/API/APIRoutesGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ public function __construct(CommandData $commandData)
$this->routesTemplate = fill_template($this->commandData->dynamicVars, $routesTemplate);
}

/**
* Generate API Routes.
*
* @return void
*/
public function generate()
{
$this->routeContents .= "\n\n".$this->routesTemplate;
Expand All @@ -51,6 +56,11 @@ public function generate()
$this->commandData->commandComment("\n".$this->commandData->config->mCamelPlural.' api routes added.');
}

/**
* Remove API Routes.
*
* @return void
*/
public function rollback()
{
if (Str::contains($this->routeContents, $this->routesTemplate)) {
Expand Down
44 changes: 24 additions & 20 deletions src/Generators/MigrationGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,22 @@ private function generateFields()
$createdAtField = null;
$updatedAtField = null;

foreach ($this->commandData->fields as $field) {
if ($field->name == 'created_at') {
$createdAtField = $field;
continue;
} else {
if ($field->name == 'updated_at') {
$updatedAtField = $field;
if (isset($this->commandData->fields) && !empty($this->commandData->fields)) {
foreach ($this->commandData->fields as $field) {
if ($field->name == 'created_at') {
$createdAtField = $field;
continue;
} else {
if ($field->name == 'updated_at') {
$updatedAtField = $field;
continue;
}
}
}

$fields[] = $field->migrationText;
if (!empty($field->foreignKeyText)) {
$foreignKeys[] = $field->foreignKeyText;
$fields[] = $field->migrationText;
if (!empty($field->foreignKeyText)) {
$foreignKeys[] = $field->foreignKeyText;
}
}
}

Expand Down Expand Up @@ -91,18 +93,20 @@ public function rollback()

$files = [];

foreach ($allFiles as $file) {
$files[] = $file->getFilename();
}
if (!empty($allFiles)) {
foreach ($allFiles as $file) {
$files[] = $file->getFilename();
}

$files = array_reverse($files);
$files = array_reverse($files);

foreach ($files as $file) {
if (Str::contains($file, $fileName)) {
if ($this->rollbackFile($this->path, $file)) {
$this->commandData->commandComment('Migration file deleted: '.$file);
foreach ($files as $file) {
if (Str::contains($file, $fileName)) {
if ($this->rollbackFile($this->path, $file)) {
$this->commandData->commandComment('Migration file deleted: '.$file);
}
break;
}
break;
}
}
}
Expand Down
78 changes: 44 additions & 34 deletions src/Generators/ModelGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,14 @@ private function fillTemplate($templateData)

$fillables = [];
$primaryKey = 'id';

foreach ($this->commandData->fields as $field) {
if ($field->isFillable) {
$fillables[] = "'".$field->name."'";
}
if ($field->isPrimary) {
$primaryKey = $field->name;
if (isset($this->commandData->fields) && !empty($this->commandData->fields)) {
foreach ($this->commandData->fields as $field) {
if ($field->isFillable) {
$fillables[] = "'".$field->name."'";
}
if ($field->isPrimary) {
$primaryKey = $field->name;
}
}
}

Expand Down Expand Up @@ -160,22 +161,27 @@ private function fillDocs($templateData)
$fillables = '';
$fieldsArr = [];
$count = 1;
foreach ($this->commandData->relations as $relation) {
$field = $relationText = (isset($relation->inputs[0])) ? $relation->inputs[0] : null;
if (in_array($field, $fieldsArr)) {
$relationText = $relationText.'_'.$count;
$count++;
}
if (isset($this->commandData->relations) && !empty($this->commandData->relations)) {
foreach ($this->commandData->relations as $relation) {
$field = $relationText = (isset($relation->inputs[0])) ? $relation->inputs[0] : null;
if (in_array($field, $fieldsArr)) {
$relationText = $relationText.'_'.$count;
$count++;
}

$fillables .= ' * @property '.$this->getPHPDocType($relation->type, $relation, $relationText).PHP_EOL;
$fieldsArr[] = $field;
$fillables .= ' * @property '.$this->getPHPDocType($relation->type, $relation, $relationText).PHP_EOL;
$fieldsArr[] = $field;
}
}

foreach ($this->commandData->fields as $field) {
if ($field->isFillable) {
$fillables .= ' * @property '.$this->getPHPDocType($field->fieldType).' $'.$field->name.PHP_EOL;
if (isset($this->commandData->fields) && !empty($this->commandData->fields)) {
foreach ($this->commandData->fields as $field) {
if ($field->isFillable) {
$fillables .= ' * @property '.$this->getPHPDocType($field->fieldType).' $'.$field->name.PHP_EOL;
}
}
}

$docsTemplate = str_replace('$GENERATE_DATE$', date('F j, Y, g:i a T'), $docsTemplate);
$docsTemplate = str_replace('$PHPDOC$', $fillables, $docsTemplate);

Expand Down Expand Up @@ -251,10 +257,12 @@ private function generateRequiredFields()
{
$requiredFields = [];

foreach ($this->commandData->fields as $field) {
if (!empty($field->validations)) {
if (Str::contains($field->validations, 'required')) {
$requiredFields[] = $field->name;
if (isset($this->commandData->fields) && !empty($this->commandData->fields)) {
foreach ($this->commandData->fields as $field) {
if (!empty($field->validations)) {
if (Str::contains($field->validations, 'required')) {
$requiredFields[] = $field->name;
}
}
}
}
Expand Down Expand Up @@ -436,19 +444,21 @@ private function generateRelations()

$count = 1;
$fieldsArr = [];
foreach ($this->commandData->relations as $relation) {
$field = (isset($relation->inputs[0])) ? $relation->inputs[0] : null;

$relationShipText = $field;
if (in_array($field, $fieldsArr)) {
$relationShipText = $relationShipText.'_'.$count;
$count++;
}
if (isset($this->commandData->relations) && !empty($this->commandData->relations)) {
foreach ($this->commandData->relations as $relation) {
$field = (isset($relation->inputs[0])) ? $relation->inputs[0] : null;

$relationShipText = $field;
if (in_array($field, $fieldsArr)) {
$relationShipText = $relationShipText.'_'.$count;
$count++;
}

$relationText = $relation->getRelationFunctionText($relationShipText);
if (!empty($relationText)) {
$fieldsArr[] = $field;
$relations[] = $relationText;
$relationText = $relation->getRelationFunctionText($relationShipText);
if (!empty($relationText)) {
$fieldsArr[] = $field;
$relations[] = $relationText;
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Request/APIRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ public function response(array $errors)
{
$messages = implode(' ', Arr::flatten($errors));

return Response::json(ResponseUtil::makeError($messages), 400);
return Response::json(ResponseUtil::makeError($messages), Response::HTTP_BAD_REQUEST);
}
}
Loading

0 comments on commit f09fdaf

Please sign in to comment.