Replace Laravel binder with own binder. This will save in queries and increase security.

This commit is contained in:
James Cole
2017-12-25 08:45:23 +01:00
parent 96ccce5db3
commit bf390b65d9
37 changed files with 1671 additions and 142 deletions

View File

@@ -88,17 +88,20 @@ class Budget extends Model
*
* @return Budget
*/
public static function routeBinder(Budget $value)
public static function routeBinder(string $value): Budget
{
if (auth()->check()) {
if (intval($value->user_id) === auth()->user()->id) {
return $value;
$budgetId = intval($value);
$budget = auth()->user()->budgets()->find($budgetId);
if (!is_null($budget)) {
return $budget;
}
}
throw new NotFoundHttpException;
}
/**
* @codeCoverageIgnore
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function budgetlimits()
@@ -107,6 +110,7 @@ class Budget extends Model
}
/**
* @codeCoverageIgnore
* @param $value
*
* @return string
@@ -121,6 +125,7 @@ class Budget extends Model
}
/**
* @codeCoverageIgnore
* @param $value
*/
public function setNameAttribute($value)
@@ -131,6 +136,7 @@ class Budget extends Model
}
/**
* @codeCoverageIgnore
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function transactionJournals()
@@ -139,6 +145,7 @@ class Budget extends Model
}
/**
* @codeCoverageIgnore
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function transactions()
@@ -147,6 +154,7 @@ class Budget extends Model
}
/**
* @codeCoverageIgnore
* @return BelongsTo
*/
public function user(): BelongsTo