| 
									
										
										
										
											2022-07-13 04:13:02 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace BookStack\Auth\Permissions; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-23 23:09:03 +08:00
										 |  |  | use BookStack\Entities\Models\Entity; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-13 04:13:02 +08:00
										 |  |  | class SimpleEntityData | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     public int $id; | 
					
						
							|  |  |  |     public string $type; | 
					
						
							|  |  |  |     public int $owned_by; | 
					
						
							|  |  |  |     public ?int $book_id; | 
					
						
							|  |  |  |     public ?int $chapter_id; | 
					
						
							| 
									
										
										
										
											2023-01-23 23:09:03 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     public static function fromEntity(Entity $entity): self | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $attrs = $entity->getAttributes(); | 
					
						
							|  |  |  |         $simple = new self(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $simple->id = $attrs['id']; | 
					
						
							|  |  |  |         $simple->type = $entity->getMorphClass(); | 
					
						
							|  |  |  |         $simple->owned_by = $attrs['owned_by'] ?? 0; | 
					
						
							|  |  |  |         $simple->book_id = $attrs['book_id'] ?? null; | 
					
						
							|  |  |  |         $simple->chapter_id = $attrs['chapter_id'] ?? null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return $simple; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-07-17 17:32:16 +08:00
										 |  |  | } |