Skip to content

Commit a2d4970

Browse files
author
agustin
committed
Merge remote-tracking branch 'origin/bugs/query-parameters-validations' into develop
2 parents 4039ebb + f74d8aa commit a2d4970

File tree

9 files changed

+316212
-34557
lines changed

9 files changed

+316212
-34557
lines changed

dist/scripts/api-console-vendor.js

Lines changed: 316166 additions & 34531 deletions
Large diffs are not rendered by default.

dist/scripts/api-console.js

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,7 @@
694694
scope: {
695695
src: '=',
696696
context: '=',
697+
types: '=',
697698
type: '@',
698699
title: '@'
699700
},
@@ -1480,6 +1481,7 @@
14801481
scope: {
14811482
context: '=',
14821483
type: '=',
1484+
types: '=',
14831485
model: '=',
14841486
param: '='
14851487
},
@@ -2692,7 +2694,7 @@
26922694
var errors;
26932695

26942696
value = typeof value !== 'undefined' && value !== null && value.length === 0 ? undefined : value;
2695-
current[validation.id] = value;
2697+
current[validationId] = value;
26962698

26972699
errors = validator(sanitizer(current)).errors;
26982700

@@ -2701,24 +2703,30 @@
27012703
// Note: We want to allow invalid errors for testing purposes
27022704
return value;
27032705
} else {
2704-
clear(control, validationRules[validation.id]);
2706+
clear(control, validationRules[validationId]);
27052707
return value;
27062708
}
27072709
}
27082710

27092711
var validation = $parse($attrs.validate)($scope);
2712+
var validationId = validation.id;
27102713
var sanitationRules = {};
27112714
var validationRules = {};
27122715
var control = $ctrl;
27132716

2714-
sanitationRules[validation.id] = {
2717+
if (validation && validation.type) {
2718+
var declaredType = RAML.Inspector.Types.findType(validation.type[0], $scope.types);
2719+
if (declaredType) { validation = declaredType; }
2720+
}
2721+
2722+
sanitationRules[validationId] = {
27152723
type: validation.type || null,
27162724
repeat: validation.repeat || null
27172725
};
27182726

2719-
sanitationRules[validation.id] = RAML.Utils.filterEmpty(sanitationRules[validation.id]);
2727+
sanitationRules[validationId] = RAML.Utils.filterEmpty(sanitationRules[validationId]);
27202728

2721-
validationRules[validation.id] = {
2729+
validationRules[validationId] = {
27222730
type: validation.type || null,
27232731
minLength: validation.minLength || null,
27242732
maxLength: validation.maxLength || null,
@@ -2730,7 +2738,7 @@
27302738
repeat: validation.repeat || null
27312739
};
27322740

2733-
validationRules[validation.id] = RAML.Utils.filterEmpty(validationRules[validation.id]);
2741+
validationRules[validationId] = RAML.Utils.filterEmpty(validationRules[validationId]);
27342742

27352743
$ctrl.$formatters.unshift(function(value) {
27362744
return validate(value);
@@ -5744,7 +5752,9 @@ RAML.Inspector = (function() {
57445752
* @return {Boolean}
57455753
*/
57465754
var toBoolean = function (value) {
5747-
return [0, false, '', '0', 'false'].indexOf(value) === -1;
5755+
if ([0, false, '0', 'false'].indexOf(value) !== -1) return false;
5756+
if ([1, true, '1', 'true'].indexOf(value) !== -1) return true;
5757+
return null;
57485758
};
57495759

57505760
/**
@@ -5784,7 +5794,7 @@ RAML.Inspector = (function() {
57845794
*/
57855795
var returnValue = function (value) {
57865796
return value;
5787-
}
5797+
};
57885798

57895799
var toUnion = function (value, key, object, configs) {
57905800
var any = null;
@@ -5795,7 +5805,7 @@ RAML.Inspector = (function() {
57955805
});
57965806

57975807
return any;
5798-
}
5808+
};
57995809

58005810
function isNativeType(typeName) {
58015811
typeName = typeName.replace('[]', '');
@@ -6764,7 +6774,7 @@ angular.module('ramlConsoleApp').run(['$templateCache', function($templateCache)
67646774
" </span>\n" +
67656775
" </span>\n" +
67666776
"\n" +
6767-
" <raml-field context=\"context\" type=\"type\" param=\"param.definitions[0]\" model=\"context[type].values[param.definitions[0].id]\"></raml-field>\n" +
6777+
" <raml-field context=\"context\" type=\"type\" types=\"types\" param=\"param.definitions[0]\" model=\"context[type].values[param.definitions[0].id]\"></raml-field>\n" +
67686778
" </p>\n" +
67696779
" </div>\n" +
67706780
"</section>\n"
@@ -7040,7 +7050,7 @@ angular.module('ramlConsoleApp').run(['$templateCache', function($templateCache)
70407050
" </div>\n" +
70417051
"\n" +
70427052
" <div ng-if=\"param.properties\" style=\"padding-left: 10px\">\n" +
7043-
" <raml-field ng-repeat=\"aParam in param.properties\" context=\"context\" type=\"type\" param=\"aParam[0]\" ng-init=\"model[0][aParam[0].name] = [undefined]\" model=\"model[0][aParam[0].name]\"></raml-field>\n" +
7053+
" <raml-field ng-repeat=\"aParam in param.properties\" context=\"context\" type=\"type\" types=\"types\" param=\"aParam[0]\" ng-init=\"model[0][aParam[0].name] = [undefined]\" model=\"model[0][aParam[0].name]\"></raml-field>\n" +
70447054
" </div>\n" +
70457055
"</div>\n"
70467056
);
@@ -7270,7 +7280,7 @@ angular.module('ramlConsoleApp').run(['$templateCache', function($templateCache)
72707280
"\n" +
72717281
" <named-parameters src=\"methodInfo.headers.plain\" context=\"context\" type=\"headers\" title=\"Headers\" enable-custom-parameters></named-parameters>\n" +
72727282
"\n" +
7273-
" <named-parameters src=\"methodInfo.queryParameters\" context=\"context\" type=\"queryParameters\" title=\"Query Parameters\" enable-custom-parameters></named-parameters>\n" +
7283+
" <named-parameters src=\"methodInfo.queryParameters\" context=\"context\" type=\"queryParameters\" types=\"types\" title=\"Query Parameters\" enable-custom-parameters></named-parameters>\n" +
72747284
"\n" +
72757285
" <section ng-if=\"methodInfo.queryString\">\n" +
72767286
" <header class=\"raml-console-sidebar-row raml-console-sidebar-subheader\">\n" +
@@ -7321,7 +7331,7 @@ angular.module('ramlConsoleApp').run(['$templateCache', function($templateCache)
73217331
" </span>\n" +
73227332
" </span>\n" +
73237333
"\n" +
7324-
" <raml-field context=\"context\" type=\"type\" param=\"param.definitions[0]\" model=\"context.bodyContent.definitions[context.bodyContent.selected].values[param.definitions[0].id]\"></raml-field>\n" +
7334+
" <raml-field context=\"context\" type=\"type\" types=\"types\" param=\"param.definitions[0]\" model=\"context.bodyContent.definitions[context.bodyContent.selected].values[param.definitions[0].id]\"></raml-field>\n" +
73257335
" </p>\n" +
73267336
" </div>\n" +
73277337
" </div>\n" +

src/app/directives/named-parameters.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
scope: {
1010
src: '=',
1111
context: '=',
12+
types: '=',
1213
type: '@',
1314
title: '@'
1415
},

src/app/directives/named-parameters.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ <h4 class="raml-console-sidebar-subhead">{{title}}</h4>
3030
</span>
3131
</span>
3232

33-
<raml-field context="context" type="type" param="param.definitions[0]" model="context[type].values[param.definitions[0].id]"></raml-field>
33+
<raml-field context="context" type="type" types="types" param="param.definitions[0]" model="context[type].values[param.definitions[0].id]"></raml-field>
3434
</p>
3535
</div>
3636
</section>

src/app/directives/raml-field.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
scope: {
1010
context: '=',
1111
type: '=',
12+
types: '=',
1213
model: '=',
1314
param: '='
1415
},

src/app/directives/raml-field.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,6 @@
5050
</div>
5151

5252
<div ng-if="param.properties" style="padding-left: 10px">
53-
<raml-field ng-repeat="aParam in param.properties" context="context" type="type" param="aParam[0]" ng-init="model[0][aParam[0].name] = [undefined]" model="model[0][aParam[0].name]"></raml-field>
53+
<raml-field ng-repeat="aParam in param.properties" context="context" type="type" types="types" param="aParam[0]" ng-init="model[0][aParam[0].name] = [undefined]" model="model[0][aParam[0].name]"></raml-field>
5454
</div>
5555
</div>

src/app/directives/sidebar.tpl.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ <h4 class="raml-console-sidebar-subhead">Authentication</h4>
5454

5555
<named-parameters src="methodInfo.headers.plain" context="context" type="headers" title="Headers" enable-custom-parameters></named-parameters>
5656

57-
<named-parameters src="methodInfo.queryParameters" context="context" type="queryParameters" title="Query Parameters" enable-custom-parameters></named-parameters>
57+
<named-parameters src="methodInfo.queryParameters" context="context" type="queryParameters" types="types" title="Query Parameters" enable-custom-parameters></named-parameters>
5858

5959
<section ng-if="methodInfo.queryString">
6060
<header class="raml-console-sidebar-row raml-console-sidebar-subheader">
@@ -105,7 +105,7 @@ <h4 class="raml-console-sidebar-subhead">Body</h4>
105105
</span>
106106
</span>
107107

108-
<raml-field context="context" type="type" param="param.definitions[0]" model="context.bodyContent.definitions[context.bodyContent.selected].values[param.definitions[0].id]"></raml-field>
108+
<raml-field context="context" type="type" types="types" param="param.definitions[0]" model="context.bodyContent.definitions[context.bodyContent.selected].values[param.definitions[0].id]"></raml-field>
109109
</p>
110110
</div>
111111
</div>

src/app/directives/validate.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
var errors;
1919

2020
value = typeof value !== 'undefined' && value !== null && value.length === 0 ? undefined : value;
21-
current[validation.id] = value;
21+
current[validationId] = value;
2222

2323
errors = validator(sanitizer(current)).errors;
2424

@@ -27,24 +27,30 @@
2727
// Note: We want to allow invalid errors for testing purposes
2828
return value;
2929
} else {
30-
clear(control, validationRules[validation.id]);
30+
clear(control, validationRules[validationId]);
3131
return value;
3232
}
3333
}
3434

3535
var validation = $parse($attrs.validate)($scope);
36+
var validationId = validation.id;
3637
var sanitationRules = {};
3738
var validationRules = {};
3839
var control = $ctrl;
3940

40-
sanitationRules[validation.id] = {
41+
if (validation && validation.type) {
42+
var declaredType = RAML.Inspector.Types.findType(validation.type[0], $scope.types);
43+
if (declaredType) { validation = declaredType; }
44+
}
45+
46+
sanitationRules[validationId] = {
4147
type: validation.type || null,
4248
repeat: validation.repeat || null
4349
};
4450

45-
sanitationRules[validation.id] = RAML.Utils.filterEmpty(sanitationRules[validation.id]);
51+
sanitationRules[validationId] = RAML.Utils.filterEmpty(sanitationRules[validationId]);
4652

47-
validationRules[validation.id] = {
53+
validationRules[validationId] = {
4854
type: validation.type || null,
4955
minLength: validation.minLength || null,
5056
maxLength: validation.maxLength || null,
@@ -56,7 +62,7 @@
5662
repeat: validation.repeat || null
5763
};
5864

59-
validationRules[validation.id] = RAML.Utils.filterEmpty(validationRules[validation.id]);
65+
validationRules[validationId] = RAML.Utils.filterEmpty(validationRules[validationId]);
6066

6167
$ctrl.$formatters.unshift(function(value) {
6268
return validate(value);

src/vendor/raml-sanitize/raml-sanitize.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
* @return {Boolean}
1717
*/
1818
var toBoolean = function (value) {
19-
return [0, false, '', '0', 'false'].indexOf(value) === -1;
19+
if ([0, false, '0', 'false'].indexOf(value) !== -1) return false;
20+
if ([1, true, '1', 'true'].indexOf(value) !== -1) return true;
21+
return null;
2022
};
2123

2224
/**
@@ -56,7 +58,7 @@
5658
*/
5759
var returnValue = function (value) {
5860
return value;
59-
}
61+
};
6062

6163
var toUnion = function (value, key, object, configs) {
6264
var any = null;
@@ -67,7 +69,7 @@
6769
});
6870

6971
return any;
70-
}
72+
};
7173

7274
function isNativeType(typeName) {
7375
typeName = typeName.replace('[]', '');

0 commit comments

Comments
 (0)