diff --git a/app/Repositories/Currency/CurrencyRepository.php b/app/Repositories/Currency/CurrencyRepository.php index 66ba81d933..138b5a25b2 100644 --- a/app/Repositories/Currency/CurrencyRepository.php +++ b/app/Repositories/Currency/CurrencyRepository.php @@ -38,6 +38,16 @@ class CurrencyRepository implements CurrencyRepositoryInterface, UserGroupInterf { use UserGroupTrait; + public function searchCurrency(string $search, int $limit): Collection + { + $query = TransactionCurrency::where('enabled', true); + if ('' !== $search) { + $query->whereLike('name', sprintf('%%%s%%', $search)); + } + + return $query->take($limit)->get(); + } + #[\Override] public function find(int $currencyId): ?TransactionCurrency { diff --git a/app/Repositories/Currency/CurrencyRepositoryInterface.php b/app/Repositories/Currency/CurrencyRepositoryInterface.php index 79e7ffe0c1..2af04ab9ee 100644 --- a/app/Repositories/Currency/CurrencyRepositoryInterface.php +++ b/app/Repositories/Currency/CurrencyRepositoryInterface.php @@ -34,6 +34,7 @@ use Illuminate\Support\Collection; interface CurrencyRepositoryInterface { public function find(int $currencyId): ?TransactionCurrency; + public function searchCurrency(string $search, int $limit): Collection; /** * Find by currency code, return NULL if unfound.