@@ -9,15 +9,14 @@ import { type ILogger } from '~/libs/packages/logger/logger.js';
9
9
import { AuthStrategy } from '~/packages/auth/libs/enums/enums.js' ;
10
10
11
11
import {
12
- type BusinessGetAllDriversRequestParameters ,
13
12
type DriverCreateUpdateRequestDto ,
14
- type DriverUpdateDeleteRequestParameters ,
13
+ type DriverRequestParameters ,
15
14
} from '../drivers/drivers.js' ;
16
15
import {
17
16
driverCreateUpdateRequestBody ,
18
- driverGetParameters ,
19
- driverUpdateDeleteParameters ,
17
+ driverParameters ,
20
18
} from '../drivers/libs/validation-schemas/validation-schemas.js' ;
19
+ import { type UserEntityObjectWithGroupT } from '../users/users.js' ;
21
20
import { type BusinessService } from './business.service.js' ;
22
21
import { BusinessApiPath } from './libs/enums/enums.js' ;
23
22
import {
@@ -328,7 +327,7 @@ class BusinessController extends Controller {
328
327
this . createDriver (
329
328
options as ApiHandlerOptions < {
330
329
body : DriverCreateUpdateRequestDto ;
331
- params : { businessId : number } ;
330
+ user : UserEntityObjectWithGroupT ;
332
331
} > ,
333
332
) ,
334
333
} ) ;
@@ -339,13 +338,14 @@ class BusinessController extends Controller {
339
338
authStrategy : defaultStrategies ,
340
339
validation : {
341
340
body : driverCreateUpdateRequestBody ,
342
- params : driverUpdateDeleteParameters ,
341
+ params : driverParameters ,
343
342
} ,
344
343
handler : ( options ) =>
345
344
this . updateDriver (
346
345
options as ApiHandlerOptions < {
347
346
body : DriverCreateUpdateRequestDto ;
348
- params : DriverUpdateDeleteRequestParameters ;
347
+ params : DriverRequestParameters ;
348
+ user : UserEntityObjectWithGroupT ;
349
349
} > ,
350
350
) ,
351
351
} ) ;
@@ -354,13 +354,10 @@ class BusinessController extends Controller {
354
354
path : BusinessApiPath . DRIVERS ,
355
355
method : 'GET' ,
356
356
authStrategy : defaultStrategies ,
357
- validation : {
358
- params : driverGetParameters ,
359
- } ,
360
357
handler : ( options ) =>
361
358
this . findAllDrivers (
362
359
options as ApiHandlerOptions < {
363
- params : BusinessGetAllDriversRequestParameters ;
360
+ user : UserEntityObjectWithGroupT ;
364
361
} > ,
365
362
) ,
366
363
} ) ;
@@ -370,12 +367,13 @@ class BusinessController extends Controller {
370
367
method : 'DELETE' ,
371
368
authStrategy : defaultStrategies ,
372
369
validation : {
373
- params : driverUpdateDeleteParameters ,
370
+ params : driverParameters ,
374
371
} ,
375
372
handler : ( options ) =>
376
373
this . deleteDriver (
377
374
options as ApiHandlerOptions < {
378
- params : DriverUpdateDeleteRequestParameters ;
375
+ params : DriverRequestParameters ;
376
+ user : UserEntityObjectWithGroupT ;
379
377
} > ,
380
378
) ,
381
379
} ) ;
@@ -586,20 +584,12 @@ class BusinessController extends Controller {
586
584
587
585
/**
588
586
* @swagger
589
- * /business/{businessId}/ drivers:
587
+ * /business/drivers:
590
588
* post:
591
589
* tags:
592
590
* - business/driver
593
591
* summary: Create driver
594
592
* description: Create driver
595
- * parameters:
596
- * - in: path
597
- * name: businessId
598
- * schema:
599
- * type: integer
600
- * required: true
601
- * description: Numeric ID of the business to create driver
602
- * example: 1
603
593
* requestBody:
604
594
* content:
605
595
* application/json:
@@ -650,13 +640,13 @@ class BusinessController extends Controller {
650
640
private async createDriver (
651
641
options : ApiHandlerOptions < {
652
642
body : DriverCreateUpdateRequestDto ;
653
- params : { businessId : number } ;
643
+ user : UserEntityObjectWithGroupT ;
654
644
} > ,
655
645
) : Promise < ApiHandlerResponse > {
656
- const createdDriver = await this . businessService . createDriver ( {
657
- payload : options . body ,
658
- businessId : options . params . businessId ,
659
- } ) ;
646
+ const createdDriver = await this . businessService . createDriver (
647
+ options . body ,
648
+ options . user . id ,
649
+ ) ;
660
650
661
651
return {
662
652
status : HttpCode . CREATED ,
@@ -666,21 +656,14 @@ class BusinessController extends Controller {
666
656
667
657
/**
668
658
* @swagger
669
- * /business/{businessId}/ driver/{driverId}:
659
+ * /business/driver/{driverId}:
670
660
* put:
671
661
* tags:
672
662
* - business/driver
673
663
* summary: Update driver
674
664
* description: Update driver
675
665
* parameters:
676
666
* - in: path
677
- * name: businessId
678
- * schema:
679
- * type: integer
680
- * required: true
681
- * description: Numeric ID of the business to update drivers
682
- * example: 1
683
- * - in: path
684
667
* name: driverId
685
668
* schema:
686
669
* type: integer
@@ -729,13 +712,15 @@ class BusinessController extends Controller {
729
712
private async updateDriver (
730
713
options : ApiHandlerOptions < {
731
714
body : DriverCreateUpdateRequestDto ;
732
- params : DriverUpdateDeleteRequestParameters ;
715
+ params : DriverRequestParameters ;
716
+ user : UserEntityObjectWithGroupT ;
733
717
} > ,
734
718
) : Promise < ApiHandlerResponse > {
735
- const updatedDriver = await this . businessService . updateDriver ( {
736
- driverId : options . params . driverId ,
737
- payload : options . body ,
738
- } ) ;
719
+ const updatedDriver = await this . businessService . updateDriver (
720
+ options . body ,
721
+ options . params . driverId ,
722
+ options . user . id ,
723
+ ) ;
739
724
740
725
return {
741
726
status : HttpCode . OK ,
@@ -745,20 +730,12 @@ class BusinessController extends Controller {
745
730
746
731
/**
747
732
* @swagger
748
- * /business/{businessId}/ drivers:
733
+ * /business/drivers:
749
734
* get:
750
735
* tags:
751
736
* - business/driver
752
737
* summary: Find all drivers
753
738
* description: Find all drivers
754
- * parameters:
755
- * - in: path
756
- * name: businessId
757
- * schema:
758
- * type: integer
759
- * required: true
760
- * description: Numeric ID of the business to find drivers
761
- * example: 1
762
739
* security:
763
740
* - bearerAuth: []
764
741
* responses:
@@ -774,11 +751,11 @@ class BusinessController extends Controller {
774
751
775
752
private async findAllDrivers (
776
753
options : ApiHandlerOptions < {
777
- params : BusinessGetAllDriversRequestParameters ;
754
+ user : UserEntityObjectWithGroupT ;
778
755
} > ,
779
756
) : Promise < ApiHandlerResponse > {
780
757
const drivers = await this . businessService . findAllDriversByBusinessId (
781
- options . params . businessId ,
758
+ options . user . id ,
782
759
) ;
783
760
784
761
return {
@@ -789,21 +766,14 @@ class BusinessController extends Controller {
789
766
790
767
/**
791
768
* @swagger
792
- * /business/{businessId}/ driver/{driverId}:
769
+ * /business/driver/{driverId}:
793
770
* delete:
794
771
* tags:
795
772
* - business/driver
796
773
* summary: Delete driver
797
774
* description: Delete driver
798
775
* parameters:
799
776
* - in: path
800
- * name: businessId
801
- * schema:
802
- * type: integer
803
- * required: true
804
- * description: Numeric ID of the business to delete drivers
805
- * example: 1
806
- * - in: path
807
777
* name: driverId
808
778
* schema:
809
779
* type: integer
@@ -831,11 +801,13 @@ class BusinessController extends Controller {
831
801
832
802
private async deleteDriver (
833
803
options : ApiHandlerOptions < {
834
- params : DriverUpdateDeleteRequestParameters ;
804
+ params : DriverRequestParameters ;
805
+ user : UserEntityObjectWithGroupT ;
835
806
} > ,
836
807
) : Promise < ApiHandlerResponse > {
837
808
const deletionResult = await this . businessService . deleteDriver (
838
809
options . params . driverId ,
810
+ options . user . id ,
839
811
) ;
840
812
841
813
return {
0 commit comments