From ef20346c67bfc541ebbd041bb7512be3c25c6c5f Mon Sep 17 00:00:00 2001 From: Paul Grimes Date: Mon, 30 Sep 2024 10:13:07 +1000 Subject: [PATCH] Added check for current team country --- app/Enums/ApiResponse.php | 1 + .../Api/V1/Admin/ApiAdminVoucherSetsController.php | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/app/Enums/ApiResponse.php b/app/Enums/ApiResponse.php index adf3aa50..168b179b 100644 --- a/app/Enums/ApiResponse.php +++ b/app/Enums/ApiResponse.php @@ -26,6 +26,7 @@ enum ApiResponse: string case RESPONSE_COUNTRY_MISMATCH = 'Country mismatch.'; case RESPONSE_INVALID_MERCHANT_TEAM = 'Invalid merchant team.'; case RESPONSE_INVALID_MERCHANT_TEAM_FOR_SERVICE_TEAM = 'Invalid merchant team for this service team. Ensure merchant team is merchant of service team.'; + case RESPONSE_INVALID_TEAM = 'Invalid team.'; case RESPONSE_INVALID_VOUCHER_TEMPLATE_FOR_TEAM = 'Invalid voucher template for team.'; case RESPONSE_QUERY_FILTER_DISALLOWED = 'Query filter disallowed'; case RESPONSE_REDEMPTION_FAILED_VOUCHER_ALREADY_FULLY_REDEEMED = 'This voucher has already been fully redeemed, no redemption made this time.'; diff --git a/app/Http/Controllers/Api/V1/Admin/ApiAdminVoucherSetsController.php b/app/Http/Controllers/Api/V1/Admin/ApiAdminVoucherSetsController.php index cb92c209..8fdf0246 100644 --- a/app/Http/Controllers/Api/V1/Admin/ApiAdminVoucherSetsController.php +++ b/app/Http/Controllers/Api/V1/Admin/ApiAdminVoucherSetsController.php @@ -257,6 +257,18 @@ public function store(): JsonResponse try { + /** + * Ensure the API user has a country against their current team. + */ + if(!isset(Auth::user()->currentTeam->country_id)) + { + $this->message = ApiResponse::RESPONSE_INVALID_TEAM->value; + $this->responseCode = 400; + + return $this->respond(); + } + + DB::beginTransaction(); $merchantTeamIds = $this->request->get('merchant_team_ids'); @@ -321,6 +333,7 @@ public function store(): JsonResponse $model->created_by_user_id = Auth::id(); $model->created_by_team_id = Auth::user()->current_team_id; + $model->currency_country_id = Auth::user()->currentTeam?->country_id; $model->save(); foreach ($merchantTeamIds as $merchantTeamId) {