@@ -123,27 +123,36 @@ def unresolvable_path_param_names(self) -> List[str]:
123
123
return [p for p in params if p != transformer_param ]
124
124
125
125
@property
126
- def unresolvable_query_param_names (self ) -> List [str ]:
126
+ def unresolvable_query_params (self ) -> List [Parameter ]:
127
127
"""returns a list of required query param names with params that are used by the paginator excluded"""
128
+ print ("HERE" )
128
129
paginator_params = self .detected_pagination .param_names if self .detected_pagination else []
129
- query_param_names = []
130
+ query_params : List [ Parameter ] = []
130
131
for param in self .list_all_parameters :
131
132
if param .name not in paginator_params and param .location == "query" :
132
- query_param_names .append (param . name )
133
- return query_param_names
133
+ query_params .append (param )
134
+ return query_params
134
135
135
- def is_query_param_required (self , param_name : str ) -> bool :
136
- for key , p in self .parameters .items ():
137
- if p .name == param_name and p .location == "query" :
138
- return p .required
139
- return False
136
+ @property
137
+ def unresolvable_required_query_param_names (self ) -> List [str ]:
138
+ """returns a list of required query param names with params that are used by the paginator excluded"""
139
+ return [param .name for param in self .unresolvable_query_params if param .required ]
140
+
141
+ @property
142
+ def unresolvable_unrequired_query_param_names (self ) -> List [str ]:
143
+ return [param .name for param in self .unresolvable_query_params if not param .required ]
140
144
141
145
def default_for_param (self , location : Literal ["path" , "query" ], param_name : str ) -> str :
142
146
"""get's a default value for the given param, returns"""
147
+ param : Parameter = None
143
148
for key , p in self .parameters .items ():
144
- if p .name == param_name and p .location == location and p .default :
145
- return p .default
146
- return self .context .config .parameter_default_value
149
+ if p .name == param_name and p .location == location :
150
+ param = p
151
+ if param and param .default :
152
+ return param .default
153
+ if not param or param .required or location == "path" :
154
+ return self .context .config .required_parameter_default_value
155
+ return self .context .config .unrequired_parameter_default_value
147
156
148
157
@property
149
158
def render_description (self ) -> Optional [str ]:
0 commit comments