Skip to content

Commit 68f15e0

Browse files
committed
Initial commit
0 parents  commit 68f15e0

File tree

127 files changed

+13045
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+13045
-0
lines changed

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 4
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2

.env.example

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
APP_NAME=Laravel
2+
APP_ENV=local
3+
APP_KEY=base64:+e9CzXj7rLLCXp5MxXR+FuWk8MoqlcH3rxnLJtj+DnQ=
4+
APP_DEBUG=true
5+
APP_URL=http://video.test
6+
SPA_URL=http://spa.video.test:3000
7+
8+
SESSION_DOMAIN=.video.test
9+
SANCTUM_STATEFUL_DOMAINS=spa.video.test:3000
10+
11+
LOG_CHANNEL=stack
12+
LOG_LEVEL=debug
13+
14+
DB_CONNECTION=mysql
15+
DB_HOST=127.0.0.1
16+
DB_PORT=3306
17+
DB_DATABASE=laravel
18+
DB_USERNAME=root
19+
DB_PASSWORD=
20+
21+
BROADCAST_DRIVER=log
22+
CACHE_DRIVER=file
23+
QUEUE_CONNECTION=sync
24+
SESSION_DRIVER=cookie
25+
SESSION_LIFETIME=120
26+
27+
28+
29+
MEMCACHED_HOST=127.0.0.1
30+
31+
REDIS_HOST=127.0.0.1
32+
REDIS_PASSWORD=null
33+
REDIS_PORT=6379
34+
35+
MAIL_MAILER=smtp
36+
MAIL_HOST=smtp.mailtrap.io
37+
MAIL_PORT=2525
38+
MAIL_USERNAME=35ee55262b56f1
39+
MAIL_PASSWORD=2995716f39ec2a
40+
MAIL_ENCRYPTION=tls
41+
MAIL_FROM_ADDRESS=[email protected]
42+
MAIL_FROM_NAME="${APP_NAME}"
43+
44+
AWS_ACCESS_KEY_ID=
45+
AWS_SECRET_ACCESS_KEY=
46+
AWS_DEFAULT_REGION=us-east-1
47+
AWS_BUCKET=
48+
49+
PUSHER_APP_ID=
50+
PUSHER_APP_KEY=
51+
PUSHER_APP_SECRET=
52+
PUSHER_APP_CLUSTER=mt1
53+
54+
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
55+
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
56+
57+
58+
59+
60+
# <VirtualHost *:80>
61+
# ServerAdmin [email protected]
62+
# DocumentRoot "C:/xampp/htdocs/project/laravel-api-website/public"
63+
# ServerName api.video.test
64+
# ErrorLog "logs/api.video.test-error.log"
65+
# CustomLog "logs/api.video.test-access.log" common
66+
# </VirtualHost>

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
* text=auto
2+
*.css linguist-vendored
3+
*.scss linguist-vendored
4+
*.js linguist-vendored
5+
CHANGELOG.md export-ignore

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/node_modules
2+
/public/hot
3+
/public/storage
4+
/storage/*.key
5+
/vendor
6+
.env
7+
.env.backup
8+
.phpunit.result.cache
9+
docker-compose.override.yml
10+
Homestead.json
11+
Homestead.yaml
12+
npm-debug.log
13+
yarn-error.log
14+
/lms-e130

.rnd

1 KB
Binary file not shown.

.styleci.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
php:
2+
preset: laravel
3+
disabled:
4+
- no_unused_imports
5+
finder:
6+
not-name:
7+
- index.php
8+
- server.php
9+
js:
10+
finder:
11+
not-name:
12+
- webpack.mix.js
13+
css: true

.vscode/settings.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"workbench.colorCustomizations": {
3+
"activityBar.activeBackground": "#65c89b",
4+
"activityBar.activeBorder": "#945bc4",
5+
"activityBar.background": "#65c89b",
6+
"activityBar.foreground": "#15202b",
7+
"activityBar.inactiveForeground": "#15202b99",
8+
"activityBarBadge.background": "#945bc4",
9+
"activityBarBadge.foreground": "#e7e7e7",
10+
"statusBar.background": "#42b883",
11+
"statusBar.foreground": "#15202b",
12+
"statusBarItem.hoverBackground": "#359268",
13+
"titleBar.activeBackground": "#42b883",
14+
"titleBar.activeForeground": "#15202b",
15+
"titleBar.inactiveBackground": "#42b88399",
16+
"titleBar.inactiveForeground": "#15202b99"
17+
},
18+
"peacock.color": "#42b883"
19+
}

README.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>
2+
3+
<p align="center">
4+
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
5+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
6+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
7+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
8+
</p>
9+
10+
## About Laravel
11+
12+
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
13+
14+
- [Simple, fast routing engine](https://laravel.com/docs/routing).
15+
- [Powerful dependency injection container](https://laravel.com/docs/container).
16+
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
17+
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
18+
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
19+
- [Robust background job processing](https://laravel.com/docs/queues).
20+
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
21+
22+
Laravel is accessible, powerful, and provides tools required for large, robust applications.
23+
24+
## Learning Laravel
25+
26+
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
27+
28+
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
29+
30+
## Laravel Sponsors
31+
32+
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
33+
34+
### Premium Partners
35+
36+
- **[Vehikl](https://vehikl.com/)**
37+
- **[Tighten Co.](https://tighten.co)**
38+
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
39+
- **[64 Robots](https://64robots.com)**
40+
- **[Cubet Techno Labs](https://cubettech.com)**
41+
- **[Cyber-Duck](https://cyber-duck.co.uk)**
42+
- **[Many](https://www.many.co.uk)**
43+
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
44+
- **[DevSquad](https://devsquad.com)**
45+
- **[Curotec](https://www.curotec.com/)**
46+
- **[OP.GG](https://op.gg)**
47+
48+
## Contributing
49+
50+
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
51+
52+
## Code of Conduct
53+
54+
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
55+
56+
## Security Vulnerabilities
57+
58+
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.
59+
60+
## License
61+
62+
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

app/Actions/Fortify/CreateNewUser.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use App\Models\User;
6+
use Illuminate\Validation\Rule;
7+
use Illuminate\Support\Facades\Hash;
8+
use Illuminate\Support\Facades\Validator;
9+
use Laravel\Fortify\Contracts\CreatesNewUsers;
10+
11+
class CreateNewUser implements CreatesNewUsers
12+
{
13+
use PasswordValidationRules;
14+
15+
/**
16+
* Validate and create a newly registered user.
17+
*
18+
* @param array $input
19+
* @return \App\Models\User
20+
*/
21+
public function create(array $input)
22+
{
23+
Validator::make($input, [
24+
'name' => ['required', 'string', 'max:255'],
25+
'email' => [
26+
'required',
27+
'string',
28+
'email',
29+
'max:255',
30+
Rule::unique(User::class),
31+
],
32+
'password' => $this->passwordRules(),
33+
])->validate();
34+
35+
return User::create([
36+
'name' => $input['name'],
37+
'email' => $input['email'],
38+
'password' => Hash::make($input['password']),
39+
]);
40+
}
41+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Laravel\Fortify\Rules\Password;
6+
7+
trait PasswordValidationRules
8+
{
9+
/**
10+
* Get the validation rules used to validate passwords.
11+
*
12+
* @return array
13+
*/
14+
protected function passwordRules()
15+
{
16+
return ['required', 'string', new Password, 'confirmed'];
17+
}
18+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Illuminate\Support\Facades\Hash;
6+
use Illuminate\Support\Facades\Validator;
7+
use Laravel\Fortify\Contracts\ResetsUserPasswords;
8+
9+
class ResetUserPassword implements ResetsUserPasswords
10+
{
11+
use PasswordValidationRules;
12+
13+
/**
14+
* Validate and reset the user's forgotten password.
15+
*
16+
* @param mixed $user
17+
* @param array $input
18+
* @return void
19+
*/
20+
public function reset($user, array $input)
21+
{
22+
Validator::make($input, [
23+
'password' => $this->passwordRules(),
24+
])->validate();
25+
26+
$user->forceFill([
27+
'password' => Hash::make($input['password']),
28+
])->save();
29+
}
30+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Illuminate\Support\Facades\Hash;
6+
use Illuminate\Support\Facades\Validator;
7+
use Laravel\Fortify\Contracts\UpdatesUserPasswords;
8+
9+
class UpdateUserPassword implements UpdatesUserPasswords
10+
{
11+
use PasswordValidationRules;
12+
13+
/**
14+
* Validate and update the user's password.
15+
*
16+
* @param mixed $user
17+
* @param array $input
18+
* @return void
19+
*/
20+
public function update($user, array $input)
21+
{
22+
Validator::make($input, [
23+
'current_password' => ['required', 'string'],
24+
'password' => $this->passwordRules(),
25+
])->after(function ($validator) use ($user, $input) {
26+
if (! isset($input['current_password']) || ! Hash::check($input['current_password'], $user->password)) {
27+
$validator->errors()->add('current_password', __('The provided password does not match your current password.'));
28+
}
29+
})->validateWithBag('updatePassword');
30+
31+
$user->forceFill([
32+
'password' => Hash::make($input['password']),
33+
])->save();
34+
}
35+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Illuminate\Contracts\Auth\MustVerifyEmail;
6+
use Illuminate\Support\Facades\Validator;
7+
use Illuminate\Validation\Rule;
8+
use Laravel\Fortify\Contracts\UpdatesUserProfileInformation;
9+
10+
class UpdateUserProfileInformation implements UpdatesUserProfileInformation
11+
{
12+
/**
13+
* Validate and update the given user's profile information.
14+
*
15+
* @param mixed $user
16+
* @param array $input
17+
* @return void
18+
*/
19+
public function update($user, array $input)
20+
{
21+
Validator::make($input, [
22+
'name' => ['required', 'string', 'max:255'],
23+
24+
'email' => [
25+
'required',
26+
'string',
27+
'email',
28+
'max:255',
29+
Rule::unique('users')->ignore($user->id),
30+
],
31+
])->validateWithBag('updateProfileInformation');
32+
33+
if ($input['email'] !== $user->email &&
34+
$user instanceof MustVerifyEmail) {
35+
$this->updateVerifiedUser($user, $input);
36+
} else {
37+
$user->forceFill([
38+
'name' => $input['name'],
39+
'email' => $input['email'],
40+
])->save();
41+
}
42+
}
43+
44+
/**
45+
* Update the given verified user's profile information.
46+
*
47+
* @param mixed $user
48+
* @param array $input
49+
* @return void
50+
*/
51+
protected function updateVerifiedUser($user, array $input)
52+
{
53+
$user->forceFill([
54+
'name' => $input['name'],
55+
'email' => $input['email'],
56+
'email_verified_at' => null,
57+
])->save();
58+
59+
$user->sendEmailVerificationNotification();
60+
}
61+
}

0 commit comments

Comments
 (0)