@@ -11,24 +11,28 @@ export default class ValidationErrors {
11
11
12
12
static apply ( model : Model , payload : Array < Object > ) {
13
13
let instance = new ValidationErrors ( model , payload ) ;
14
- instance . apply ( ) ;
14
+ let errors = instance . apply ( ) ;
15
15
}
16
16
17
17
apply ( ) {
18
+ let errorsAccumulator = { }
19
+
18
20
this . payload [ 'errors' ] . forEach ( ( err ) => {
19
21
let meta = err [ 'meta' ] ;
20
22
let metaRelationship = meta [ 'relationship' ] ;
21
23
22
24
if ( metaRelationship ) {
23
25
this . _processRelationship ( this . model , metaRelationship ) ;
24
26
} else {
25
- this . _processResource ( this . model , meta ) ;
27
+ this . _processResource ( errorsAccumulator , meta ) ;
26
28
}
27
29
} ) ;
30
+
31
+ this . model . errors = errorsAccumulator
28
32
}
29
33
30
- private _processResource ( model : Model , meta : Object ) {
31
- model . errors [ meta [ 'attribute' ] ] = meta [ 'message' ] ;
34
+ private _processResource ( errorsAccumulator : object , meta : Object ) {
35
+ errorsAccumulator [ meta [ 'attribute' ] ] = meta [ 'message' ] ;
32
36
}
33
37
34
38
private _processRelationship ( model : Model , meta : Object ) {
@@ -38,10 +42,14 @@ export default class ValidationErrors {
38
42
return ( r . id === meta [ 'id' ] || r . temp_id === meta [ 'temp-id' ] ) ;
39
43
} ) ;
40
44
}
45
+
41
46
if ( meta [ 'relationship' ] ) {
42
47
this . _processRelationship ( relatedObject , meta [ 'relationship' ] ) ;
43
48
} else {
44
- this . _processResource ( relatedObject , meta ) ;
49
+ let relatedAccumulator = { }
50
+ this . _processResource ( relatedAccumulator , meta ) ;
51
+ relatedObject . errors = relatedAccumulator
45
52
}
53
+
46
54
}
47
55
}
0 commit comments