77use Illuminate \Database \Eloquent \Scope ;
88use Oddvalue \LaravelDrafts \Facades \LaravelDrafts ;
99
10+ /**
11+ * @template TModel of Model
12+ */
1013class PublishingScope implements Scope
1114{
1215 /**
@@ -17,7 +20,8 @@ class PublishingScope implements Scope
1720 protected $ extensions = [/*'Publish', 'Unpublish', 'Schedule', */ 'Published ' , 'WithDrafts ' , 'WithoutDrafts ' , 'OnlyDrafts ' ];
1821
1922 /**
20- * @param Builder<Model> $builder
23+ * @param Builder<TModel> $builder
24+ * @param TModel $model
2125 */
2226 public function apply (Builder $ builder , Model $ model ): void
2327 {
@@ -30,7 +34,7 @@ public function apply(Builder $builder, Model $model): void
3034 }
3135
3236 /**
33- * @param Builder<Model > $builder
37+ * @param Builder<TModel > $builder
3438 */
3539 public function extend (Builder $ builder ): void
3640 {
@@ -65,19 +69,19 @@ public function extend(Builder $builder): void
6569 // }
6670
6771 /**
68- * @param Builder<Model > $builder
72+ * @param Builder<TModel > $builder
6973 */
7074 protected function addPublished (Builder $ builder ): void
7175 {
7276 $ builder ->macro (
7377 'published ' ,
74- /** @param Builder<Model > $builder */
78+ /** @param Builder<TModel > $builder */
7579 fn (Builder $ builder , $ withoutDrafts = true ) => $ builder ->withDrafts (! $ withoutDrafts ),
7680 );
7781 }
7882
7983 /**
80- * @param Builder<Model > $builder
84+ * @param Builder<TModel > $builder
8185 */
8286 protected function addWithDrafts (Builder $ builder ): void
8387 {
@@ -91,7 +95,7 @@ protected function addWithDrafts(Builder $builder): void
9195 }
9296
9397 /**
94- * @param Builder<Model > $builder
98+ * @param Builder<TModel > $builder
9599 */
96100 protected function addWithoutDrafts (Builder $ builder ): void
97101 {
@@ -107,7 +111,7 @@ protected function addWithoutDrafts(Builder $builder): void
107111 }
108112
109113 /**
110- * @param Builder<Model > $builder
114+ * @param Builder<TModel > $builder
111115 */
112116 protected function addOnlyDrafts (Builder $ builder ): void
113117 {
0 commit comments