Skip to content

Commit 44c556c

Browse files
committed
Add base structure
1 parent 2cbd2ad commit 44c556c

File tree

11 files changed

+96
-17
lines changed

11 files changed

+96
-17
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ php artisan vendor:publish --tag="laravel-users-views"
4444
## Usage
4545

4646
```php
47-
$laravelUsers = new LaravelUsers\LaravelUsers();
47+
$laravelUsers = new Backstage\LaravelUsers();
4848
echo $laravelUsers->echoPhrase('Hello, LaravelUsers!');
4949
```
5050

composer.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
"require": {
1919
"php": "^8.2",
2020
"spatie/laravel-package-tools": "^1.16",
21-
"illuminate/contracts": "^10.0||^11.0"
21+
"laravel/sanctum": ">=3.3.3",
22+
"illuminate/contracts": "^10.0||^11.0",
23+
"spatie/laravel-permission": ">=6.0"
2224
},
2325
"require-dev": {
2426
"laravel/pint": "^1.14",
@@ -35,13 +37,13 @@
3537
},
3638
"autoload": {
3739
"psr-4": {
38-
"LaravelUsers\\LaravelUsers\\": "src/",
39-
"LaravelUsers\\LaravelUsers\\Database\\Factories\\": "database/factories/"
40+
"Backstage\\LaravelUsers\\": "src/",
41+
"Backstage\\LaravelUsers\\Database\\Factories\\": "database/factories/"
4042
}
4143
},
4244
"autoload-dev": {
4345
"psr-4": {
44-
"LaravelUsers\\LaravelUsers\\Tests\\": "tests/",
46+
"Backstage\\LaravelUsers\\Tests\\": "tests/",
4547
"Workbench\\App\\": "workbench/app/"
4648
}
4749
},
@@ -73,7 +75,7 @@
7375
"extra": {
7476
"laravel": {
7577
"providers": [
76-
"LaravelUsers\\LaravelUsers\\LaravelUsersServiceProvider"
78+
"Backstage\\LaravelUsers\\LaravelUsersServiceProvider"
7779
],
7880
"aliases": {}
7981
}

config/users.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22

33
// config for LaravelUsers/LaravelUsers
44
return [
5-
5+
'eloquent' => [
6+
'user' => [
7+
'model' => \Backstage\LaravelUsers\Eloquent\Models\User::class,
8+
'table' => 'users',
9+
],
10+
],
611
];

database/factories/ModelFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace LaravelUsers\LaravelUsers\Database\Factories;
3+
namespace Backstage\LaravelUsers\Database\Factories;
44

55
use Illuminate\Database\Eloquent\Factories\Factory;
66

resources/views/.gitkeep

Whitespace-only changes.

src/Commands/LaravelUsersCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace LaravelUsers\LaravelUsers\Commands;
3+
namespace Backstage\LaravelUsers\Commands;
44

55
use Illuminate\Console\Command;
66

src/Eloquent/Models/User.php

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
namespace Backstage\LaravelUsers\Eloquent\Models;
4+
5+
use Backstage\LaravelUsers\Eloquent\Scopes\VerifiedUser;
6+
use Illuminate\Auth\MustVerifyEmail as MustVerifyEmailConcern;
7+
use Illuminate\Auth\Passwords\CanResetPassword as CanResetPasswordConcern;
8+
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
9+
use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract;
10+
use Illuminate\Database\Eloquent\Factories\HasFactory;
11+
use Illuminate\Foundation\Auth\User as BaseUser;
12+
use Illuminate\Notifications\Notifiable;
13+
use Laravel\Sanctum\Contracts\HasApiTokens as HasApiTokensContract;
14+
use Laravel\Sanctum\HasApiTokens as HasApiTokensConcern;
15+
use Spatie\Permission\Traits\HasRoles;
16+
17+
class User extends BaseUser implements CanResetPasswordContract, HasApiTokensContract, MustVerifyEmailContract
18+
{
19+
use CanResetPasswordConcern;
20+
use HasApiTokensConcern;
21+
use HasFactory;
22+
use HasRoles;
23+
use MustVerifyEmailConcern;
24+
use Notifiable;
25+
26+
public function getTable()
27+
{
28+
return config('users.eloquent.user.table', 'users');
29+
}
30+
31+
protected $guarded = [];
32+
33+
protected $hidden = [
34+
'password',
35+
'remember_token',
36+
];
37+
38+
protected function casts(): array
39+
{
40+
return [
41+
'email_verified_at' => 'datetime',
42+
'password' => 'hashed',
43+
];
44+
}
45+
46+
protected static function boot()
47+
{
48+
parent::boot();
49+
50+
static::addGlobalScope(VerifiedUser::class);
51+
}
52+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Backstage\LaravelUsers\Eloquent\Scopes;
4+
5+
use Illuminate\Database\Eloquent\Builder;
6+
use Illuminate\Database\Eloquent\Model;
7+
use Illuminate\Database\Eloquent\Scope;
8+
9+
class VerifiedUser implements Scope
10+
{
11+
public function apply(Builder $builder, Model $model)
12+
{
13+
$builder->where('email_verified_at', '!=', null)
14+
->where('password', '!=', null);
15+
}
16+
}

src/LaravelUsersServiceProvider.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
namespace LaravelUsers\LaravelUsers;
3+
namespace Backstage\LaravelUsers;
44

5-
use LaravelUsers\LaravelUsers\Commands\LaravelUsersCommand;
5+
use Backstage\LaravelUsers\Commands\LaravelUsersCommand;
66
use Spatie\LaravelPackageTools\Package;
77
use Spatie\LaravelPackageTools\PackageServiceProvider;
88

@@ -18,8 +18,12 @@ public function configurePackage(Package $package): void
1818
$package
1919
->name('laravel-users')
2020
->hasConfigFile()
21-
->hasViews()
22-
->hasMigration('create_laravel_users_table')
21+
->hasMigrations($this->getMigrations())
2322
->hasCommand(LaravelUsersCommand::class);
2423
}
24+
25+
protected function getMigrations(): array
26+
{
27+
return [];
28+
}
2529
}

tests/Pest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
22

3-
use LaravelUsers\LaravelUsers\Tests\TestCase;
3+
use Backstage\LaravelUsers\Tests\TestCase;
44

55
uses(TestCase::class)->in(__DIR__);

0 commit comments

Comments
 (0)