Skip to content

Commit 80de498

Browse files
authored
Merge branch 'master' into good-first-issue-readme-update
2 parents 4705502 + 8dab91f commit 80de498

File tree

5 files changed

+181
-195
lines changed

5 files changed

+181
-195
lines changed

src/core/plugins/spec/actions.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,13 @@ export function changeParam( path, paramName, paramIn, value, isXml ){
137137
}
138138
}
139139

140-
export function validateParams( payload ){
140+
export const validateParams = ( payload, isOAS3 ) =>{
141141
return {
142142
type: VALIDATE_PARAMS,
143-
payload:{ pathMethod: payload }
143+
payload:{
144+
pathMethod: payload,
145+
isOAS3
146+
}
144147
}
145148
}
146149

src/core/plugins/spec/reducers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ export default {
5151
})
5252
},
5353

54-
[VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => {
54+
[VALIDATE_PARAMS]: ( state, { payload: { pathMethod, isOAS3 } } ) => {
5555
let operation = state.getIn( [ "resolved", "paths", ...pathMethod ] )
5656
let isXml = /xml/i.test(operation.get("consumes_value"))
5757

5858
return state.updateIn( [ "resolved", "paths", ...pathMethod, "parameters" ], fromJS([]), parameters => {
5959
return parameters.withMutations( parameters => {
6060
for ( let i = 0, len = parameters.count(); i < len; i++ ) {
61-
let errors = validateParam(parameters.get(i), isXml)
61+
let errors = validateParam(parameters.get(i), isXml, isOAS3)
6262
parameters.setIn([i, "errors"], fromJS(errors))
6363
}
6464
})

src/core/plugins/spec/wrap-actions.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ export const executeRequest = (ori, { specActions }) => (req) => {
1313
specActions.logRequest(req)
1414
return ori(req)
1515
}
16+
17+
export const validateParams = (ori, { specSelectors }) => (req) => {
18+
return ori(req, specSelectors.isOAS3())
19+
}

src/core/utils.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -537,16 +537,18 @@ export const validateMinLength = (val, min) => {
537537
}
538538

539539
// validation of parameters before execute
540-
export const validateParam = (param, isXml) => {
540+
export const validateParam = (param, isXml, isOAS3 = false) => {
541541
let errors = []
542542
let value = isXml && param.get("in") === "body" ? param.get("value_xml") : param.get("value")
543543
let required = param.get("required")
544-
let maximum = param.get("maximum")
545-
let minimum = param.get("minimum")
546-
let type = param.get("type")
547-
let format = param.get("format")
548-
let maxLength = param.get("maxLength")
549-
let minLength = param.get("minLength")
544+
545+
let paramDetails = isOAS3 ? param.get("schema") : param
546+
let maximum = paramDetails.get("maximum")
547+
let minimum = paramDetails.get("minimum")
548+
let type = paramDetails.get("type")
549+
let format = paramDetails.get("format")
550+
let maxLength = paramDetails.get("maxLength")
551+
let minLength = paramDetails.get("minLength")
550552

551553
/*
552554
If the parameter is required OR the parameter has a value (meaning optional, but filled in)
@@ -616,7 +618,7 @@ export const validateParam = (param, isXml) => {
616618

617619
if ( !value.count() ) { return errors }
618620

619-
itemType = param.getIn(["items", "type"])
621+
itemType = paramDetails.getIn(["items", "type"])
620622

621623
value.forEach((item, index) => {
622624
let err

0 commit comments

Comments
 (0)