]> BookStack Code Mirror - bookstack/blobdiff - app/Entities/Queries/ProvidesEntityQueries.php
System CLI: Updated to 126de5599c state
[bookstack] / app / Entities / Queries / ProvidesEntityQueries.php
index 5c37b02e417b7b9294ee1872b42da4dcf001fffe..611d0ae526bb24bd0804964818e05ae36076266d 100644 (file)
@@ -5,8 +5,30 @@ namespace BookStack\Entities\Queries;
 use BookStack\Entities\Models\Entity;
 use Illuminate\Database\Eloquent\Builder;
 
+/**
+ * Interface for our classes which provide common queries for our
+ * entity objects. Ideally all queries for entities should run through
+ * these classes.
+ * Any added methods should return a builder instances to allow extension
+ * via building on the query, unless the method starts with 'find'
+ * in which case an entity object should be returned.
+ * (nullable unless it's a *OrFail method).
+ */
 interface ProvidesEntityQueries
 {
+    /**
+     * Start a new query for this entity type.
+     */
     public function start(): Builder;
+
+    /**
+     * Find the entity of the given ID, or return null if not found.
+     */
     public function findVisibleById(int $id): ?Entity;
+
+    /**
+     * Start a query for items that are visible, with selection
+     * configured for list display of this item.
+     */
+    public function visibleForList(): Builder;
 }