- Update New Api

This commit is contained in:
Vincent BRIDIER 2021-06-29 16:04:22 +02:00
parent 4965d8a2a0
commit c42e793dd5
6 changed files with 19 additions and 45 deletions

View file

@ -14,6 +14,8 @@ use App\Traits\CouponTrait;
use App\Traits\GenerateBR;
use PDF;
use App\Lib\LDCCRM\ApiV1;
class CouponsController extends Controller
{
use CouponTrait;
@ -26,11 +28,15 @@ class CouponsController extends Controller
$customer = Customers::find($datas['crm_id']);
$couponsToPrint = explode(",", $datas['coupons']);
if ($campagne->site->crm_token === null) {
return new StatusResource(['status' => 'KO', 'code' => 500, 'message' => 'CRM Token is missing for site_id : '. $campagne->site->site_id]);
}
if (empty($couponsToPrint)) {
return new StatusResource(['status' => 'KO', 'code' => 422, 'message' => 'Coupons not found.']);
}
$crm = app('crmApi');
$crm = new ApiV1(config('crm.CRM_ENDPOINT'), $campagne->site->crm_token);
$crmInfos = $crm->getCustomer($customer->crm_id);
if ($crmInfos->status === "OK") {
$crmInfos = $crmInfos->user;

View file

@ -40,9 +40,13 @@ class CustomerController extends Controller
*/
public function store(StoreRequest $request)
{
$datas = $request->validated();
try {
$customer = new Customers();
$customer->fill($request->validated());
$customer = Customers::where([
['crm_id', $datas['crm_id']],
['email', $datas['email']]
])->firstOrNew();
$customer->fill($datas);
$customer->saveOrFail();
return new CustomersResource($customer);
@ -77,21 +81,12 @@ class CustomerController extends Controller
/**
* Update the specified resource in storage.
*
* @param UpdateRequest $request
* @param Customers $customer
* @return CustomersResource | StatusResource
* @param Request $request
* @return StatusResource
*/
public function update(UpdateRequest $request, Customers $customer)
public function update(Request $request)
{
try {
$customer->fill($request->validated());
$customer->saveOrFail();
return new CustomersResource($customer);
} catch (\Throwable $e) {
Log::critical($e->getMessage());
return new StatusResource(['status' => 'KO', 'code' => '500', 'message' => 'Server Error.']);
}
return new StatusResource(['status' => 'KO', 'code' => '501', 'message' => 'Not Implemented']);
}
/**

View file

@ -27,8 +27,8 @@ class StoreRequest extends FormRequest
public function rules()
{
return [
'crm_id' => 'numeric|unique:customers,crm_id|required',
'email' => 'email|unique:customers,email|required',
'crm_id' => 'numeric|required',
'email' => 'email|required',
'country' => 'string|required'
];
}

View file

@ -1,22 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\App;
use Illuminate\Support\ServiceProvider;
use App\Lib\LDCCRM\ApiV1;
class CrmApiServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
App::singleton('crmApi', function () {
return new ApiV1(config('crm.CRM_ENDPOINT'), config('crm.CRM_API_TOKEN'));
});
}
}

View file

@ -162,7 +162,6 @@ return [
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\CrmApiServiceProvider::class,
],
/*

View file

@ -13,10 +13,6 @@ use Illuminate\Http\Request;
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::prefix('v1')
->group(function () {
Route::resource('customer', 'Api\v1\CustomerController');