Skip to content

Commit 7664d92

Browse files
authored
Merge pull request #31 from dotkernel/issue-23-commands
commands documentation pages
2 parents ee2ca79 + 0de9252 commit 7664d92

4 files changed

Lines changed: 242 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Creating admin accounts in DotKernel API
2+
3+
## Usage
4+
5+
Run the following command in your application’s root directory:
6+
7+
```shell
8+
php ./bin/cli.php admin:create -i {IDENTITY} -p {PASSWORD} -f {FIRST_NAME} -l {LAST_NAME}
9+
```
10+
11+
OR
12+
13+
```shell
14+
php ./bin/cli.php admin:create --identity {IDENTITY} --password {PASSWORD} --firstName {FIRST_NAME} --lastName {LAST_NAME}
15+
```
16+
17+
after replacing:
18+
19+
* {IDENTITY} with a valid username OR email address
20+
* {PASSWORD} with a valid password
21+
* {FIRST_NAME} and {LAST_NAME} with valid names
22+
23+
**NOTE:**
24+
25+
* if the specified fields contain special characters, make sure you surround them with double quote signs
26+
* this method does not allow specifying an admin role – newly created accounts will have role of admin
27+
28+
If the submitted data is valid, the outputted response is:
29+
30+
```text
31+
Admin account has been created.
32+
```
33+
34+
The new admin account is ready to use.
35+
36+
You can get more help with this command by running:
37+
38+
```shell
39+
php ./bin/cli.php help admin:create
40+
```
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Displaying DotKernel API endpoints using dot-cli
2+
3+
## Usage
4+
5+
Run the following command in your application’s root directory:
6+
7+
```shell
8+
php ./bin/cli.php route:list
9+
```
10+
11+
The command runs through all routes and extracts endpoint information in realtime.
12+
The output should be similar to the following:
13+
14+
```text
15+
+--------+---------------------------------+--------------------------------+
16+
| Method | Name | Path |
17+
+--------+---------------------------------+--------------------------------+
18+
| DELETE | admin.delete | /admin/{uuid} |
19+
| DELETE | user.my-account.delete | /user/my-account |
20+
| DELETE | user.my-avatar.delete | /user/my-avatar |
21+
| DELETE | user.delete | /user/{uuid} |
22+
| DELETE | user.avatar.delete | /user/{uuid}/avatar |
23+
| GET | home | / |
24+
| GET | account.reset-password.validate | /account/reset-password/{hash} |
25+
| GET | admin.list | /admin |
26+
| GET | admin.my-account.view | /admin/my-account |
27+
| GET | admin.role.list | /admin/role |
28+
| GET | admin.role.view | /admin/role/{uuid} |
29+
| GET | admin.view | /admin/{uuid} |
30+
| GET | user.list | /user |
31+
| GET | user.my-account.view | /user/my-account |
32+
| GET | user.my-avatar.view | /user/my-avatar |
33+
| GET | user.role.list | /user/role |
34+
| GET | user.role.view | /user/role/{uuid} |
35+
| GET | user.view | /user/{uuid} |
36+
| GET | user.avatar.view | /user/{uuid}/avatar |
37+
| PATCH | account.activate | /account/activate/{hash} |
38+
| PATCH | account.modify-password | /account/reset-password/{hash} |
39+
| PATCH | admin.my-account.update | /admin/my-account |
40+
| PATCH | admin.update | /admin/{uuid} |
41+
| PATCH | user.my-account.update | /user/my-account |
42+
| PATCH | user.update | /user/{uuid} |
43+
| POST | account.activate.request | /account/activate |
44+
| POST | account.recover-identity | /account/recover-identity |
45+
| POST | account.register | /account/register |
46+
| POST | account.reset-password.request | /account/reset-password |
47+
| POST | admin.create | /admin |
48+
| POST | error.report | /error-report |
49+
| POST | security.generate-token | /security/generate-token |
50+
| POST | security.refresh-token | /security/refresh-token |
51+
| POST | user.create | /user |
52+
| POST | user.my-avatar.create | /user/my-avatar |
53+
| POST | user.activate | /user/{uuid}/activate |
54+
| POST | user.avatar.create | /user/{uuid}/avatar |
55+
+--------+---------------------------------+--------------------------------+
56+
```
57+
58+
## Filtering results
59+
60+
The following filters can be applied when displaying the routes list:
61+
62+
* Filter routes by name, using: `-i|--name[=NAME]`
63+
* Filter routes by path, using: `-p|--path[=PATH]`
64+
* Filter routes by method, using: `-m|--method[=METHOD]`
65+
66+
The filters are case-insensitive and can be combined.
67+
68+
Get more help by running this command:
69+
70+
```shell
71+
php ./bin/cli.php route:list --help
72+
```
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Generate a database migration without dropping custom tables
2+
3+
## Usage
4+
5+
Run the following command in your application’s root directory:
6+
7+
```shell
8+
vendor/bin/doctrine-migrations diff
9+
```
10+
11+
If you have mapping modifications, this will create a new migration file under `data/doctrine/migrations/` directory.
12+
Opening the migration file, you will notice that it contains some queries that will drop your `oauth_*` tables because they are unmapped (there is no doctrine entity describing them).
13+
You should delete your latest migration with the DROP queries in it as we will create another one, without the DROP queries in it.
14+
In order to avoid dropping these tables, you need to add a parameter called `filter-expression`.
15+
16+
The command to be executed without dropping these tables looks like this:
17+
18+
On Windows (use double quotes):
19+
20+
```shell
21+
vendor/bin/doctrine-migrations diff --filter-expression="/^(?!oauth_)/"
22+
```
23+
24+
On Linux/macOS (use single quotes):
25+
26+
```shell
27+
vendor/bin/doctrine-migrations diff --filter-expression='/^(?!oauth_)/'
28+
```
29+
30+
## Filtering multiple unmapped table patterns
31+
32+
If your database contains multiple unmapped table groups, then the pattern in `filter-expression` should hold all table prefixes concatenated by pipe character (`|`).
33+
For example, if you need to filter tables prefixed with `foo_` and `bar_`, then the command should look like this:
34+
35+
On Windows:
36+
37+
```shell
38+
vendor/bin/doctrine-migrations diff --filter-expression="/^(?!foo_|bar_)/"
39+
```
40+
41+
On Linux/macOS:
42+
43+
```shell
44+
vendor/bin/doctrine-migrations diff --filter-expression='/^(?!foo_|bar_)/'
45+
```
46+
47+
## Troubleshooting
48+
49+
On Windows, running the command in PowerShell might still add the `DROP TABLE oauth_*` queries to the migration file.
50+
This happens because for PowerShell the caret (`^`) is a special character, so it gets dropped (`"/^(?!oauth_)/"` becomes `"/(?!oauth_)/"` when it reaches your command).
51+
Escaping it will not help either.
52+
In this case, we recommend running the command:
53+
54+
* directly from your IDE
55+
* using `Linux shell`
56+
* from the `Command Prompt`
57+
58+
## Help
59+
60+
You can get more help with this command by running:
61+
62+
```shell
63+
vendor/bin/doctrine-migrations help diff
64+
```
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Generating tokens in DotKernel API
2+
3+
This is a multipurpose command that allows creating tokens required by different parts of the API.
4+
5+
## Usage
6+
7+
Go to your application's root directory.
8+
9+
Run the token generator command by executing the following command:
10+
11+
```shell
12+
php ./bin/cli.php token:generate <type>
13+
```
14+
15+
Where `<type>` is one of the following:
16+
17+
* [error-reporting](#generate-error-reporting-token)
18+
19+
If you need help using the command, execute the following command:
20+
21+
```shell
22+
php ./bin/cli.php token:generate --help
23+
```
24+
25+
### Generate error reporting token
26+
27+
You can generate an error reporting token by executing the following command:
28+
29+
```shell
30+
php ./bin/cli.php token:generate error-reporting
31+
```
32+
33+
The output should look similar to this:
34+
35+
```text
36+
Error reporting token:
37+
38+
0123456789abcdef0123456789abcdef01234567
39+
```
40+
41+
Copy the generated token.
42+
43+
Open `config/autoload/error-handling.global.php` and paste the copied token as shown below:
44+
45+
```php
46+
return [
47+
...
48+
ErrorReportServiceInterface::class => [
49+
...
50+
'tokens' => [
51+
'0123456789abcdef0123456789abcdef01234567',
52+
],
53+
...
54+
]
55+
]
56+
```
57+
58+
Save and close `config/autoload/error-handling.global.php`.
59+
60+
**Note**:
61+
62+
If your application is NOT in development mode, make sure you clear your config cache by executing:
63+
64+
```shell
65+
php ./bin/clear-config-cache.php
66+
```

0 commit comments

Comments
 (0)