File tree Expand file tree Collapse file tree 3 files changed +19
-8
lines changed
Services/Contact/Document Expand file tree Collapse file tree 3 files changed +19
-8
lines changed Original file line number Diff line number Diff line change 4
4
5
5
use Throwable ;
6
6
use Illuminate \Session \TokenMismatchException ;
7
- use Illuminate \Validation \ValidationException ;
8
- use Illuminate \Auth \Access \AuthorizationException ;
9
- use Illuminate \Database \Eloquent \ModelNotFoundException ;
10
7
use League \OAuth2 \Server \Exception \OAuthServerException ;
11
8
use Symfony \Component \HttpKernel \Exception \HttpException ;
12
9
use Illuminate \Foundation \Exceptions \Handler as ExceptionHandler ;
@@ -19,11 +16,8 @@ class Handler extends ExceptionHandler
19
16
* @var array
20
17
*/
21
18
protected $ dontReport = [
22
- AuthorizationException::class,
23
- HttpException::class,
24
- ModelNotFoundException::class,
19
+ AccountLimitException::class,
25
20
OAuthServerException::class,
26
- ValidationException::class,
27
21
WrongIdException::class,
28
22
];
29
23
Original file line number Diff line number Diff line change @@ -233,9 +233,16 @@ public function upload()
233
233
234
234
public function storeImport (ImportsRequest $ request )
235
235
{
236
+ $ account = auth ()->user ()->account ;
237
+ if (AccountHelper::hasReachedContactLimit ($ account )
238
+ && AccountHelper::hasLimitations ($ account )
239
+ && ! $ account ->legacy_free_plan_unlimited_contacts ) {
240
+ throw new AccountLimitException ();
241
+ }
242
+
236
243
$ filename = $ request ->file ('vcard ' )->store ('imports ' , 'public ' );
237
244
238
- $ importJob = auth ()-> user ()-> account ->importjobs ()->create ([
245
+ $ importJob = $ account ->importjobs ()->create ([
239
246
'user_id ' => auth ()->user ()->id ,
240
247
'type ' => 'vcard ' ,
241
248
'filename ' => $ filename ,
Original file line number Diff line number Diff line change 3
3
namespace App \Services \Contact \Document ;
4
4
5
5
use App \Services \BaseService ;
6
+ use App \Helpers \AccountHelper ;
7
+ use App \Models \Account \Account ;
6
8
use App \Models \Contact \Contact ;
7
9
use App \Models \Contact \Document ;
10
+ use App \Exceptions \AccountLimitException ;
8
11
9
12
class UploadDocument extends BaseService
10
13
{
@@ -32,6 +35,13 @@ public function execute(array $data): Document
32
35
{
33
36
$ this ->validate ($ data );
34
37
38
+ $ account = Account::find ($ data ['account_id ' ]);
39
+ if (AccountHelper::hasReachedContactLimit ($ account )
40
+ && AccountHelper::hasLimitations ($ account )
41
+ && ! $ account ->legacy_free_plan_unlimited_contacts ) {
42
+ throw new AccountLimitException ();
43
+ }
44
+
35
45
Contact::where ('account_id ' , $ data ['account_id ' ])
36
46
->findOrFail ($ data ['contact_id ' ]);
37
47
You can’t perform that action at this time.
0 commit comments