diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml
index c09678f..9db8ce3 100644
--- a/.github/workflows/dependabot-auto-merge.yml
+++ b/.github/workflows/dependabot-auto-merge.yml
@@ -13,7 +13,7 @@ jobs:
- name: Dependabot metadata
id: metadata
- uses: dependabot/fetch-metadata@v2.1.0
+ uses: dependabot/fetch-metadata@v2.2.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
compat-lookup: true
diff --git a/README.md b/README.md
index 90abc22..276633a 100644
--- a/README.md
+++ b/README.md
@@ -2,21 +2,20 @@
-[![Latest Stable Version](http://poser.pugx.org/milwad/laravel-crod/v)](https://packagist.org/packages/milwad/laravel-crod)
-[![Total Downloads](http://poser.pugx.org/milwad/laravel-crod/downloads)](https://packagist.org/packages/milwad/laravel-crod)
-[![License](http://poser.pugx.org/milwad/laravel-crod/license)](https://packagist.org/packages/milwad/laravel-crod)
+[![PHP Version Require](https://img.shields.io/packagist/dependency-v/milwad/laravel-crod/php.svg)](https://packagist.org/packages/milwad/laravel-crod)
+[![Latest Stable Version](https://img.shields.io/packagist/v/milwad/laravel-crod.svg)](https://packagist.org/packages/milwad/laravel-crod)
+[![Total Downloads](https://img.shields.io/packagist/dt/milwad/laravel-crod.svg)](https://packagist.org/packages/milwad/laravel-crod)
+[![License](https://img.shields.io/packagist/l/milwad/laravel-crod.svg)](https://packagist.org/packages/milwad/laravel-crod)
[![Passed Tests](https://github.com/milwad-dev/laravel-crod/actions/workflows/run-tests.yml/badge.svg)](https://github.com/milwad-dev/laravel-crod/actions/workflows/run-tests.yml)
-[![PHP Version Require](http://poser.pugx.org/milwad/laravel-crod/require/php)](https://packagist.org/packages/milwad/laravel-crod)
***
-Laravel crod is a package for implementing CRUD faster and easier.
-You can create controllers, models, migrations, services, repositories, views and requests quickly.
-You can make automatically fillable for models, query for repositories and services, make resource functions for
-controllers, and a lot of options.
+Laravel crod is a package for implementing CRUD faster and easier.
+You can quickly create controllers, models, migrations, services, repositories, views and requests.
+You can make it automatically fillable for models, query for repositories and services, make resource controllers, and have a lot of options.
Docs: https://github.com/milwad-dev/laravel-crod/wiki
-# Requirements
+## Requirements
***
@@ -24,14 +23,15 @@ Docs: https://github.com/milwad-dev/laravel-crod/wiki
- `Laravel framework: ^9`
- `doctrine/dbal: ^3.6`
-| Crod | L7 | L8 | L9 | L10 |
-|------|--------------------|--------------------|--------------------|--------------------|
-| 1.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: |
-| 1.1 | :x: | :x: | :white_check_mark: | :white_check_mark: |
-| 1.2 | :x: | :x: | :white_check_mark: | :white_check_mark: |
-| 1.3 | :x: | :x: | :white_check_mark: | :white_check_mark: |
+| Crod | L7 | L8 | L9 | L10 | L11 |
+|------|--------------------|--------------------|--------------------|--------------------|--------------------|
+| 1.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: |
+| 1.1 | :x: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
+| 1.2 | :x: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
+| 1.3 | :x: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
+| 1.4 | :x: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
-# Installation
+## Installation
***
@@ -39,28 +39,25 @@ Docs: https://github.com/milwad-dev/laravel-crod/wiki
composer require milwad/laravel-crod
```
-After publish config files.
+After installation, you need to publish config files.
```bash
php artisan vendor:publish --provider="Milwad\LaravelCrod\LaravelCrodServiceProvider" --tag="laravel-crod-config"
```
-# Check active commands
+## Check active commands
-Run the command in cmd or terminal.
+When you install the `Laravel Crod`, a series of commands will be activated for you. For see these commands, you can run below command:
```bash
php artisan
```
-
-
-You must see this command in the terminal.
![Crod commands](https://s6.uupload.ir/files/carbon_(1)_tqmq.png "Crod commands")
-# Make CRUD files
+## Make CRUD files
-This command creates CRUD files, Run this command in the terminal.
+For creating crud files, you need to run the `crud:make` command in your terminal:
```bash
php artisan crud:make {name}
@@ -76,43 +73,49 @@ php artisan crud:make Product
When you execute this command, after creating the files, you will see a list of options that will create a series of additional files for you, which of course are optional, you can choose and if you need, it will create additional files for you such as `seeder`, `factory`, `repository`, etc.
-✅ After you can see crod creates files for crud
+✅ After, you can see `Laravel Crod` creates crud files such as `Model`, `Controller`, `Form-Requests`, `Migrations` etc.
+
+## CRUD Query
-# CRUD query
+If you run `crud:query` command, the result is:
-This command adds query and date to CRUD files.
+- Add `index`, `create`, `store`, `edit`, `update`, `destroy` function to your controller
+- Get all migration columns and move it to your model fillable
+- Add `index`, `findById`, `delete` functions to your repositories
+- Add `store`, `update` functions to your services
+- Add resource route (SOON)
-** You must run the migrate command. **
+** You must run the migrate command, before `crud:query` command. **
```bash
php artisan migrate
```
-Run this command in the terminal.
+For using automatic query, you can run below command:
```bash
php artisan crud:query {table_name} {model} {--id-controller}
```
-For example
+For example:
```bash
php artisan crud:query products Product
```
-When write `--id-controller` option add function without route model binding.
+When you add `--id-controller` option, the `Laravel Crod` create crud functions without [Route Model Binding](https://laravel.com/docs/routing#route-model-binding) in controller.
-After you can see add query to service, repository, controller, model, etc.
+After you can see `Laravel Crod` added query to service, repository, controller, model, etc.
-# CRUD for module
+## CRUD for Module
-Run this command in the terminal, This command created CRUD file for module.
+If you are using Modular Architecture, you are able to run `crud:make-module` command. This command create a new module and create the default crud files such as `Model`, `Controller`, `Migration`, etc:
```bash
php artisan crud:make-module {module_name}
```
-For example
+For example:
```bash
php artisan crud:make-module Product
@@ -120,17 +123,18 @@ php artisan crud:make-module Product
When you execute this command, after creating the files, you will see a list of options that will create a series of additional files for you, which of course are optional, you can choose and if you need, it will create additional files for you such as `seeder`, `factory`, `repository`, etc.
-# CRUD query from module
+## CRUD Query for Module
-This command adds query and date to CRUD files for module.
+This command adds query and date to CRUD files for module.
+This command is similar to `crud:query` command, but this command is for module. if you have a modular you can write your module name and `Laravel Crod` find it automatically.
-** You must run your migration file. **
+** You must run your migration file **
```
php artisan crud:query-module {table_name} {model} {--id-controller}
```
-For example
+For example:
```bash
php artisan crud:query-module products Product
@@ -142,13 +146,16 @@ OR
php artisan crud:query-module products Product --id-controller
```
-When write --id-controller option add function without route model binding.
+When you add `--id-controller` option, the `Laravel Crod` create crud functions without [Route Model Binding](https://laravel.com/docs/routing#route-model-binding) in controller.
-After you can see add query to service, repository, controller, model, etc for module.
+After you can see `Laravel Crod` added query to service, repository, controller, model, ... for your module.
## Custom path
-You can custom file path in config file. ```config/laravel-crod.php```
+You can custom file path in config file. ``````
+
+With `Laravel Crod` config, you can customize the commands, for example you want to set the route file name.
+This config file exists in `config/laravel-crod.php`:
```php
Milwad Khosravi
diff --git a/tests/TestCase.php b/tests/TestCase.php
index 88c7a2d..13787ba 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -3,6 +3,7 @@
namespace Milwad\LaravelCrod\Tests;
use Illuminate\Support\Facades\File;
+use Illuminate\Encryption\Encrypter;
use Milwad\LaravelCrod\LaravelCrodServiceProvider;
class TestCase extends \Orchestra\Testbench\TestCase
@@ -21,7 +22,7 @@ protected function getPackageProviders($app)
];
}
- /**
+ /*
* Setup the test environment.
*/
protected function setUp(): void
@@ -33,4 +34,25 @@ protected function setUp(): void
File::deleteDirectory(base_path('App\Services'));
File::deleteDirectory(base_path('Database\Factories'));
}
+
+ /*
+ * Define environment setup.
+ *
+ * @param \Illuminate\Foundation\Application $app
+ */
+ protected function getEnvironmentSetUp($app)
+ {
+ // Set default database to use sqlite :memory:
+ $app['config']->set('database.default', 'testing');
+ $app['config']->set('database.connections.testing', [
+ 'driver' => 'sqlite',
+ 'database' => ':memory:',
+ 'prefix' => '',
+ ]);
+
+ // Set app key
+ $app['config']->set('app.key', 'base64:'.base64_encode(
+ Encrypter::generateKey(config()['app.cipher'])
+ ));
+ }
}