initial commit
This commit is contained in:
		
							
								
								
									
										15
									
								
								app/Models/Membership.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								app/Models/Membership.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Laravel\Jetstream\Membership as JetstreamMembership; | ||||
| 
 | ||||
| class Membership extends JetstreamMembership | ||||
| { | ||||
|     /** | ||||
|      * Indicates if the IDs are auto-incrementing. | ||||
|      * | ||||
|      * @var bool | ||||
|      */ | ||||
|     public $incrementing = true; | ||||
| } | ||||
							
								
								
									
										44
									
								
								app/Models/Team.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								app/Models/Team.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Factories\HasFactory; | ||||
| use Laravel\Jetstream\Events\TeamCreated; | ||||
| use Laravel\Jetstream\Events\TeamDeleted; | ||||
| use Laravel\Jetstream\Events\TeamUpdated; | ||||
| use Laravel\Jetstream\Team as JetstreamTeam; | ||||
| 
 | ||||
| class Team extends JetstreamTeam | ||||
| { | ||||
|     use HasFactory; | ||||
| 
 | ||||
|     /** | ||||
|      * The attributes that should be cast. | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $casts = [ | ||||
|         'personal_team' => 'boolean', | ||||
|     ]; | ||||
| 
 | ||||
|     /** | ||||
|      * The attributes that are mass assignable. | ||||
|      * | ||||
|      * @var string[] | ||||
|      */ | ||||
|     protected $fillable = [ | ||||
|         'name', | ||||
|         'personal_team', | ||||
|     ]; | ||||
| 
 | ||||
|     /** | ||||
|      * The event map for the model. | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $dispatchesEvents = [ | ||||
|         'created' => TeamCreated::class, | ||||
|         'updated' => TeamUpdated::class, | ||||
|         'deleted' => TeamDeleted::class, | ||||
|     ]; | ||||
| } | ||||
							
								
								
									
										29
									
								
								app/Models/TeamInvitation.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								app/Models/TeamInvitation.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Laravel\Jetstream\Jetstream; | ||||
| use Laravel\Jetstream\TeamInvitation as JetstreamTeamInvitation; | ||||
| 
 | ||||
| class TeamInvitation extends JetstreamTeamInvitation | ||||
| { | ||||
|     /** | ||||
|      * The attributes that are mass assignable. | ||||
|      * | ||||
|      * @var string[] | ||||
|      */ | ||||
|     protected $fillable = [ | ||||
|         'email', | ||||
|         'role', | ||||
|     ]; | ||||
| 
 | ||||
|     /** | ||||
|      * Get the team that the invitation belongs to. | ||||
|      * | ||||
|      * @return \Illuminate\Database\Eloquent\Relations\BelongsTo | ||||
|      */ | ||||
|     public function team() | ||||
|     { | ||||
|         return $this->belongsTo(Jetstream::teamModel()); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										44
									
								
								app/Models/Traits/HasUidTrait.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								app/Models/Traits/HasUidTrait.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models\Traits; | ||||
| 
 | ||||
| trait HasUidTrait | ||||
| { | ||||
|     /** | ||||
|      * Ensure that when a model is saving, a unique ID | ||||
|      * is set for the model. | ||||
|      * | ||||
|      * @since 1.0.0 | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public static function bootHasUidTrait(): void | ||||
|     { | ||||
|         //
 | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Initialize logic. | ||||
|      * | ||||
|      * @since 1.0.0 | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     protected function initializeHasUidTrait(): void | ||||
|     { | ||||
|         $this->id = $this->generateUid(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Generates a cryptographically safe unique ID. | ||||
|      * | ||||
|      * @since 1.0.0 | ||||
|      * | ||||
|      * @return string | ||||
|      */ | ||||
|     public function generateUid(): string | ||||
|     { | ||||
|         $bytes = openssl_random_pseudo_bytes(env('APP_UID_BYTES', 8)); | ||||
|         return bin2hex($bytes); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										61
									
								
								app/Models/User.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								app/Models/User.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Contracts\Auth\MustVerifyEmail; | ||||
| use Illuminate\Database\Eloquent\Factories\HasFactory; | ||||
| use Illuminate\Foundation\Auth\User as Authenticatable; | ||||
| use Illuminate\Notifications\Notifiable; | ||||
| use Laravel\Fortify\TwoFactorAuthenticatable; | ||||
| use Laravel\Jetstream\HasProfilePhoto; | ||||
| use Laravel\Jetstream\HasTeams; | ||||
| use Laravel\Sanctum\HasApiTokens; | ||||
| 
 | ||||
| class User extends Authenticatable | ||||
| { | ||||
|     use HasApiTokens; | ||||
|     use HasFactory; | ||||
|     use HasProfilePhoto; | ||||
|     use HasTeams; | ||||
|     use Notifiable; | ||||
|     use TwoFactorAuthenticatable; | ||||
| 
 | ||||
|     /** | ||||
|      * The attributes that are mass assignable. | ||||
|      * | ||||
|      * @var string[] | ||||
|      */ | ||||
|     protected $fillable = [ | ||||
|         'name', 'email', 'password', | ||||
|     ]; | ||||
| 
 | ||||
|     /** | ||||
|      * The attributes that should be hidden for serialization. | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $hidden = [ | ||||
|         'password', | ||||
|         'remember_token', | ||||
|         'two_factor_recovery_codes', | ||||
|         'two_factor_secret', | ||||
|     ]; | ||||
| 
 | ||||
|     /** | ||||
|      * The attributes that should be cast. | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $casts = [ | ||||
|         'email_verified_at' => 'datetime', | ||||
|     ]; | ||||
| 
 | ||||
|     /** | ||||
|      * The accessors to append to the model's array form. | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $appends = [ | ||||
|         'profile_photo_url', | ||||
|     ]; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user