| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-18 00:56:55 +08:00
										 |  |  | namespace BookStack\Permissions\Models; | 
					
						
							| 
									
										
										
										
											2018-09-25 19:30:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-18 00:56:55 +08:00
										 |  |  | use BookStack\App\Model; | 
					
						
							|  |  |  | use BookStack\Users\Models\Role; | 
					
						
							| 
									
										
										
										
											2021-11-20 22:03:56 +08:00
										 |  |  | use Illuminate\Database\Eloquent\Relations\BelongsToMany; | 
					
						
							| 
									
										
										
										
											2015-08-29 22:03:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-04 21:55:01 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @property int $id | 
					
						
							| 
									
										
										
										
											2023-02-18 21:51:18 +08:00
										 |  |  |  * @property string $name | 
					
						
							|  |  |  |  * @property string $display_name | 
					
						
							| 
									
										
										
										
											2020-08-04 21:55:01 +08:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2016-05-02 04:20:50 +08:00
										 |  |  | class RolePermission extends Model | 
					
						
							| 
									
										
										
										
											2015-08-29 22:03:42 +08:00
										 |  |  | { | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * The roles that belong to the permission. | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2021-11-20 22:03:56 +08:00
										 |  |  |     public function roles(): BelongsToMany | 
					
						
							| 
									
										
										
										
											2015-08-29 22:03:42 +08:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2018-01-29 00:58:52 +08:00
										 |  |  |         return $this->belongsToMany(Role::class, 'permission_role', 'permission_id', 'role_id'); | 
					
						
							| 
									
										
										
										
											2015-08-29 22:03:42 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-02-28 03:24:42 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Get the permission object by name. | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2021-11-20 22:03:56 +08:00
										 |  |  |     public static function getByName(string $name): ?RolePermission | 
					
						
							| 
									
										
										
										
											2016-02-28 03:24:42 +08:00
										 |  |  |     { | 
					
						
							|  |  |  |         return static::where('name', '=', $name)->first(); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-08-29 22:03:42 +08:00
										 |  |  | } |