| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Http\Requests\UserCredits\UserCreditCreateRequest;
use App\Http\Requests\UserCredits\UserCreditListRequest;
use App\Http\Requests\UserCredits\UserCreditTopUpRequest;
use App\Http\Requests\UserCredits\ExportUserCreditRequest;
use App\Http\Services\UserCreditService;
use Auth;
use App\Models\UserCredit;
use App\Models\User;
class UserCreditController extends Controller
{
public function __construct(
UserCreditService $userCreditService
)
{
$this->userCreditService = $userCreditService;
}
/**
* @OA\Get(
*
* path="/api/user-credit/list",
* operationId="CreditList",
* tags={"User Credit"},
* summary="Credit List",
* security={
* {
* "open_key": {}
* },
* {
* "api_key": {}
* }
* },
@OA\Parameter(
* name="user_id",
* description="user_id",
* in="query",
* @OA\Schema(
* type="string",
* default="1"
* )
* ),
* @OA\Response(
* response=200,
* description="Success",
* @OA\JsonContent()
* ),
* @OA\Response(response=400, description="Bad request"),
* @OA\Response(response=404, description="Resource Not Found"),
* @OA\Response(response=422, description="Unprocessable Entity"),
* @OA\Response(response=500, description="Internal Server Error"),
* )
*/
public function userCreditList(UserCreditListRequest $request)
{
$payload = $request->validated();
$user = null;
if(Auth::user()->isSuperAdmin()){
if(isset($payload['user_id']))
$user = User::find($payload['user_id']);
}else{
$payload['user_id'] = Auth::id();
$user = Auth::user();
}
$userCredits = $this->userCreditService->userCreditList( $payload );
return self::successResponse('Success', [
'totalCredit' => $user ? $user->getCreditAmount() : 0,
'creditList' => $userCredits
]);
}
public function userCreditCreate(UserCreditCreateRequest $request)
{
$userCredit = $this->userCreditService->userCreditCreate( $request->validated() );
return self::successResponse('Success',$userCredit);
}
public function userCreditRefs()
{
$userCredits = $this->userCreditService->userCreditRefs();
return self::successResponse('Success', $userCredits);
}
public function exportUserCreditList(ExportUserCreditRequest $request)
{
$payload = $request->validated();
$paymentRecords = $this->userCreditService->exportUserCreditList( $payload );
return self::successResponse('Success', $paymentRecords);
}
}