1
1
import { injectable } from 'inversify' ;
2
2
import { AutoSailConfigDto } from './dto/auto-sail-config.dto' ;
3
3
import { AutoSailConstraintsDto } from './dto/auto-sail-constraints.dto' ;
4
- import {
5
- AutoSailConstraintsMapping ,
6
- AutoSailDynamicFieldsMapping ,
7
- } from './mappings/auto-sail-constraints.mapping' ;
4
+ import { AutoSailConstraintsTypeMapping } from './mappings/auto-sail-constraints.mapping' ;
8
5
9
6
@injectable ( )
10
7
export class AutoSailConstraintsService {
@@ -15,7 +12,7 @@ export class AutoSailConstraintsService {
15
12
) {
16
13
let isValid = false ;
17
14
for ( const constraint of constraints ) {
18
- const conditionTypeKey = AutoSailConstraintsMapping [ constraint . type ] ;
15
+ const conditionTypeKey = AutoSailConstraintsTypeMapping [ constraint . type ] ;
19
16
20
17
isValid = this [ `${ conditionTypeKey } Validation` ] (
21
18
constraint ,
@@ -42,10 +39,7 @@ export class AutoSailConstraintsService {
42
39
case 'equal' :
43
40
case 'notEqual' : {
44
41
const configValue = condition [ key ] ?. value ;
45
- const payloadValue =
46
- payload [
47
- AutoSailDynamicFieldsMapping ?. [ triggerEvent ] ?. [ constraint . type ]
48
- ] ;
42
+ const payloadValue = payload [ constraint . type ] ;
49
43
50
44
if (
51
45
( key === 'equal' && configValue ?. includes ( payloadValue ) ) ||
@@ -72,11 +66,12 @@ export class AutoSailConstraintsService {
72
66
case 'gt' :
73
67
case 'lt' : {
74
68
const configIsoTime = new Date ( condition [ key ] ?. value ) ;
75
- const targetIsoTime = new Date (
76
- payload [
77
- AutoSailDynamicFieldsMapping ?. [ triggerEvent ] ?. [ constraint . type ]
78
- ] ,
79
- ) ;
69
+ let targetIsoTime = new Date ( payload [ constraint . type ] ) ;
70
+
71
+ /**If value for constraint type is not available, current date is used */
72
+ targetIsoTime = isNaN ( targetIsoTime . getTime ( ) )
73
+ ? new Date ( )
74
+ : targetIsoTime ;
80
75
81
76
if (
82
77
isNaN ( configIsoTime . getTime ( ) ) ||
0 commit comments