@@ -19,6 +19,7 @@ import { BeneficiariesCoreService } from './beneficiaries.core.service';
19
19
import * as moment from 'moment' ;
20
20
import { CSVHelperService } from 'src/helper/csvHelper.service' ;
21
21
import { Method } from 'src/common/method/method' ;
22
+ import { query } from 'express' ;
22
23
23
24
@Injectable ( )
24
25
export class BeneficiariesService {
@@ -743,32 +744,36 @@ export class BeneficiariesService {
743
744
let first_name = body . search . split ( ' ' ) [ 0 ] ;
744
745
let last_name = body . search . split ( ' ' ) [ 1 ] || '' ;
745
746
746
- if ( last_name ?. length > 0 ) {
747
- filterQueryArray . push ( `{ _or: [
748
- { first_name: { _ilike: "%${ first_name } %" } },
749
- { last_name: { _ilike: "%${ last_name } %" } },
747
+ if ( / ^ \d + $ / . test ( body ?. search ) ) {
748
+ filterQueryArray . push ( `{id: { _eq: "${ body ?. search } "} }` ) ;
749
+ } else {
750
+ if ( last_name ?. length > 0 ) {
751
+ filterQueryArray . push ( `{ _or: [
752
+ { first_name: { _ilike: "%${ first_name } %" } },
753
+ { last_name: { _ilike: "%${ last_name } %" } },
754
+ {
755
+ program_beneficiaries: {
756
+ _or: [
757
+ { enrollment_first_name: { _ilike: "%${ first_name } %" } },
758
+ { enrollment_last_name: { _ilike: "%${ last_name } %" } }
759
+ ]
760
+ }
761
+ }
762
+ ]} ` ) ;
763
+ } else {
764
+ filterQueryArray . push ( `{_or: [
765
+ { first_name: { _ilike: "%${ first_name } %" } }
766
+ { last_name: { _ilike: "%${ first_name } %" } }
750
767
{
751
768
program_beneficiaries: {
752
769
_or: [
753
770
{ enrollment_first_name: { _ilike: "%${ first_name } %" } },
754
- { enrollment_last_name: { _ilike: "%${ last_name } %" } }
771
+ { enrollment_last_name: { _ilike: "%${ first_name } %" } }
755
772
]
756
773
}
757
774
}
758
- ]} ` ) ;
759
- } else {
760
- filterQueryArray . push ( `{_or: [
761
- { first_name: { _ilike: "%${ first_name } %" } }
762
- { last_name: { _ilike: "%${ first_name } %" } }
763
- {
764
- program_beneficiaries: {
765
- _or: [
766
- { enrollment_first_name: { _ilike: "%${ first_name } %" } },
767
- { enrollment_last_name: { _ilike: "%${ first_name } %" } }
768
- ]
769
- }
775
+ ]} ` ) ;
770
776
}
771
- ]} ` ) ;
772
777
}
773
778
}
774
779
@@ -900,6 +905,7 @@ export class BeneficiariesService {
900
905
offset : offset ,
901
906
} ,
902
907
} ;
908
+
903
909
const response = await this . hasuraServiceFromServices . getData ( data ) ;
904
910
let mappedResponse = response ?. data ?. users ;
905
911
const count = response ?. data ?. users_aggregate ?. aggregate ?. count ;
@@ -1002,16 +1008,20 @@ export class BeneficiariesService {
1002
1008
let first_name = body . search . split ( ' ' ) [ 0 ] ;
1003
1009
let last_name = body . search . split ( ' ' ) [ 1 ] || '' ;
1004
1010
1005
- if ( last_name ?. length > 0 ) {
1006
- filterQueryArray . push ( `{_or: [
1007
- { first_name: { _ilike: "%${ first_name } %" } }
1008
- { last_name: { _ilike: "%${ last_name } %" } }
1009
- ]} ` ) ;
1011
+ if ( / ^ \d + $ / . test ( body ?. search ) ) {
1012
+ filterQueryArray . push ( `{id: { _eq: "${ body ?. search } "} }` ) ;
1010
1013
} else {
1011
- filterQueryArray . push ( `{_or: [
1012
- { first_name: { _ilike: "%${ first_name } %" } }
1013
- { last_name: { _ilike: "%${ first_name } %" } }
1014
- ]} ` ) ;
1014
+ if ( last_name ?. length > 0 ) {
1015
+ filterQueryArray . push ( `{_or: [
1016
+ { first_name: { _ilike: "%${ first_name } %" } }
1017
+ { last_name: { _ilike: "%${ last_name } %" } }
1018
+ ]} ` ) ;
1019
+ } else {
1020
+ filterQueryArray . push ( `{_or: [
1021
+ { first_name: { _ilike: "%${ first_name } %" } }
1022
+ { last_name: { _ilike: "%${ first_name } %" } }
1023
+ ]} ` ) ;
1024
+ }
1015
1025
}
1016
1026
}
1017
1027
if ( body ?. is_deactivated && body ?. is_deactivated !== '' ) {
0 commit comments