11use crate :: shared:: {
2+ DataTypeContainsKeyRuleConfig , DataTypeContainsTypeRuleConfig , DataTypeIdentifier ,
23 DataTypeItemOfCollectionRuleConfig , DataTypeNumberRangeRuleConfig , DataTypeRegexRuleConfig ,
3- ExecutionDataTypeContainsKeyRuleConfig , ExecutionDataTypeContainsTypeRuleConfig ,
4- ExecutionDataTypeRule , Value , execution_data_type_rule:: Config ,
4+ ExecutionDataTypeRule , Value , data_type_identifier:: Type , execution_data_type_rule:: Config ,
55} ;
66
77pub struct RuleBuilder {
@@ -15,23 +15,23 @@ impl RuleBuilder {
1515
1616 pub fn add_contains_key ( mut self , key : String , data_type_identifier : & str ) -> Self {
1717 self . rules . push ( ExecutionDataTypeRule {
18- config : Some ( Config :: ContainsKey (
19- ExecutionDataTypeContainsKeyRuleConfig {
20- key ,
21- data_type_identifier : data_type_identifier. to_string ( ) ,
22- } ,
23- ) ) ,
18+ config : Some ( Config :: ContainsKey ( DataTypeContainsKeyRuleConfig {
19+ key ,
20+ data_type_identifier : Some ( DataTypeIdentifier {
21+ r#type : Some ( Type :: DataTypeIdentifier ( data_type_identifier. to_string ( ) ) ) ,
22+ } ) ,
23+ } ) ) ,
2424 } ) ;
2525 self
2626 }
2727
2828 pub fn add_contains_type ( mut self , data_type_identifier : & str ) -> Self {
2929 self . rules . push ( ExecutionDataTypeRule {
30- config : Some ( Config :: ContainsType (
31- ExecutionDataTypeContainsTypeRuleConfig {
32- data_type_identifier : data_type_identifier. to_string ( ) ,
33- } ,
34- ) ) ,
30+ config : Some ( Config :: ContainsType ( DataTypeContainsTypeRuleConfig {
31+ data_type_identifier : Some ( DataTypeIdentifier {
32+ r#type : Some ( Type :: DataTypeIdentifier ( data_type_identifier. to_string ( ) ) ) ,
33+ } ) ,
34+ } ) ) ,
3535 } ) ;
3636 self
3737 }
@@ -83,7 +83,12 @@ mod tests {
8383 match & rules[ 0 ] . config {
8484 Some ( Config :: ContainsKey ( cfg) ) => {
8585 assert_eq ! ( cfg. key, "id" ) ;
86- assert_eq ! ( cfg. data_type_identifier, String :: from( "User" ) ) ;
86+ assert_eq ! (
87+ cfg. data_type_identifier,
88+ Some ( DataTypeIdentifier {
89+ r#type: Some ( Type :: DataTypeIdentifier ( String :: from( "User" ) ) ) ,
90+ } ) ,
91+ ) ;
8792 }
8893 _ => panic ! ( "Expected ContainsKey config" ) ,
8994 }
@@ -95,7 +100,12 @@ mod tests {
95100
96101 match & rules[ 0 ] . config {
97102 Some ( Config :: ContainsType ( cfg) ) => {
98- assert_eq ! ( cfg. data_type_identifier, String :: from( "User" ) ) ;
103+ assert_eq ! (
104+ cfg. data_type_identifier,
105+ Some ( DataTypeIdentifier {
106+ r#type: Some ( Type :: DataTypeIdentifier ( String :: from( "User" ) ) ) ,
107+ } ) ,
108+ ) ;
99109 }
100110 _ => panic ! ( "Expected ContainsType config" ) ,
101111 }
@@ -153,7 +163,12 @@ mod tests {
153163 match & rules[ 0 ] . config {
154164 Some ( Config :: ContainsKey ( cfg) ) => {
155165 assert_eq ! ( cfg. key, "id" ) ;
156- assert_eq ! ( cfg. data_type_identifier, String :: from( "User" ) ) ;
166+ assert_eq ! (
167+ cfg. data_type_identifier,
168+ Some ( DataTypeIdentifier {
169+ r#type: Some ( Type :: DataTypeIdentifier ( String :: from( "User" ) ) ) ,
170+ } )
171+ ) ;
157172 }
158173 _ => panic ! ( "Expected ContainsKey config" ) ,
159174 }
@@ -168,7 +183,12 @@ mod tests {
168183 match & rules[ 2 ] . config {
169184 Some ( Config :: ContainsKey ( cfg) ) => {
170185 assert_eq ! ( cfg. key, "id" ) ;
171- assert_eq ! ( cfg. data_type_identifier, String :: from( "User" ) ) ;
186+ assert_eq ! (
187+ cfg. data_type_identifier,
188+ Some ( DataTypeIdentifier {
189+ r#type: Some ( Type :: DataTypeIdentifier ( String :: from( "User" ) ) ) ,
190+ } )
191+ ) ;
172192 }
173193 _ => panic ! ( "Expected ContainsKey config" ) ,
174194 }
0 commit comments