From 9c786ee34fe348a051aa6cd301248834dffdf5b1 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Mon, 9 Dec 2019 17:41:39 +0100 Subject: [PATCH] utils: include type of params in endpoint documentation (#38328) --- passerelle/utils/api.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/passerelle/utils/api.py b/passerelle/utils/api.py index 021edffb..54455357 100644 --- a/passerelle/utils/api.py +++ b/passerelle/utils/api.py @@ -155,10 +155,28 @@ class endpoint(object): if param == 'post_data': continue param_info = {'name': param} - if self.parameters and param in self.parameters and self.parameters[param].get('description'): - param_info['description'] = self.parameters[param].get('description') + if self.parameters and param in self.parameters: + info = self.parameters[param] + if info.get('description'): + param_info['description'] = info['description'] + if 'type' in info: + typ = info['type'] + if typ == 'int': + param_info['type'] = 'integer' + elif typ == 'bool': + param_info['type'] = 'boolean' + else: + param_info['type'] = typ if param in defaults: + value = defaults[param] param_info['optional'] = True - param_info['default_value'] = defaults[param] + param_info['default_value'] = value + if 'type' not in param_info: + if isinstance(value, bool): + param_info['type'] = 'boolean' + elif isinstance(value, int): + param_info['type'] = 'integer' + elif isinstance(value, float): + param_info['type'] = 'float' params.append(param_info) return params -- 2.20.1