diff --git a/app/Http/Controllers/Shop/ClientController.php b/app/Http/Controllers/Shop/ClientController.php new file mode 100644 index 000000000000..2fec7c5d2fa0 --- /dev/null +++ b/app/Http/Controllers/Shop/ClientController.php @@ -0,0 +1,77 @@ +client_repo = $client_repo; + } + + public function show(string $contact_key) + { + $company_token = CompanyToken::with(['company'])->whereRaw("BINARY `token`= ?", [$request->header('X-API-TOKEN')])->first(); + + $contact = ClientContact::with('client') + ->where('company_id', $company_token->company->id) + ->where('contact_key', $contact_key) + ->firstOrFail(); + + return $this->itemResponse($contact->client); + } + + public function store(StoreClientRequest $request) + { + $company_token = CompanyToken::with(['company'])->whereRaw("BINARY `token`= ?", [$request->header('X-API-TOKEN')])->first(); + + $client = $this->client_repo->save($request->all(), ClientFactory::create($company_token->company_id, $company_token->user_id)); + + $client->load('contacts', 'primary_contact'); + + $this->uploadLogo($request->file('company_logo'), $client->company, $client); + + event(new ClientWasCreated($client, $client->company, Ninja::eventVars())); + + return $this->itemResponse($client); + } +} diff --git a/app/Http/Controllers/Shop/InvoiceController.php b/app/Http/Controllers/Shop/InvoiceController.php index b0723ae6fb1a..97b5a3e25e51 100644 --- a/app/Http/Controllers/Shop/InvoiceController.php +++ b/app/Http/Controllers/Shop/InvoiceController.php @@ -11,6 +11,7 @@ namespace App\Http\Controllers\Shop; +use App\Events\Invoice\InvoiceWasCreated; use App\Factory\InvoiceFactory; use App\Http\Controllers\BaseController; use App\Http\Requests\Invoice\StoreInvoiceRequest; @@ -20,6 +21,7 @@ use App\Models\Invoice; use App\Models\InvoiceInvitation; use App\Repositories\InvoiceRepository; use App\Transformers\InvoiceTransformer; +use App\Utils\Ninja; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; @@ -60,11 +62,7 @@ class InvoiceController extends BaseController return $this->itemResponse($invitation->invoice); } - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ + public function store(StoreInvoiceRequest $request) { $company_token = CompanyToken::with(['company'])->whereRaw("BINARY `token`= ?", [$request->header('X-API-TOKEN')])->first(); diff --git a/routes/api.php b/routes/api.php index e1feb2bdeea4..1db2f96a6b8d 100644 --- a/routes/api.php +++ b/routes/api.php @@ -136,8 +136,8 @@ Route::group(['middleware' => ['api_db', 'token_auth', 'locale'], 'prefix' => 'a Route::post('emails', 'EmailController@send')->name('email.send'); /*Subscription and Webhook routes */ - Route::post('hooks', 'SubscriptionController@subscribe')->name('hooks.subscribe'); - Route::delete('hooks/{subscription_id}', 'SubscriptionController@unsubscribe')->name('hooks.unsubscribe'); + // Route::post('hooks', 'SubscriptionController@subscribe')->name('hooks.subscribe'); + // Route::delete('hooks/{subscription_id}', 'SubscriptionController@unsubscribe')->name('hooks.unsubscribe'); Route::resource('webhooks', 'WebhookController'); Route::post('webhooks/bulk', 'WebhookController@bulk')->name('webhooks.bulk');