diff --git a/main.py b/main.py index d9bcd17..2291bf1 100644 --- a/main.py +++ b/main.py @@ -413,7 +413,7 @@ def get_class_global_search(search_string): @crossdomain(origin='*') def get_all_class(): payload = request.form.to_dict() - status, result = wp.get_all_class() + status, result = wp.get_all_class(payload) print(" ### payload = ", payload) response = jsonify(status=status, message=result) response.headers.add("Access-Control-Allow-Origin", "*") diff --git a/wrapper.py b/wrapper.py index 0909dd0..312ffe9 100644 --- a/wrapper.py +++ b/wrapper.py @@ -112,9 +112,64 @@ def update_class_by_attribut(objId, attribut, value): -def get_all_class(): +def get_all_class(diction): try: + # Dictionnaire des champs utilisables + field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city', + 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text', 'certif', + 'support', 'type', 'lang', 'price'] + + incom_keys = diction.keys() + + ''' + # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés + # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API + # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste + # field_list. + ''' + for val in incom_keys: + if str(val).lower() not in str(field_list).lower(): + mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé") + return False, " Recherche impossible" + + + # Recuperation des parametres + mydata = {} + if ("user_ip" in diction.keys()): + if diction['user_ip']: + mydata['user_ip'] = diction['user_ip'] + + if ("user_country_code" in diction.keys()): + if diction['user_country_code']: + mydata['user_country_code'] = diction['user_country_code'] + + if ("user_ip" in diction.keys()): + if diction['user_country_name']: + mydata['user_country_name'] = diction['user_country_name'] + + if ("user_city" in diction.keys()): + if diction['user_city']: + mydata['user_city'] = diction['user_city'] + + if ("user_postal" in diction.keys()): + if diction['user_postal']: + mydata['user_postal'] = diction['user_postal'] + + if ("user_latitude" in diction.keys()): + if diction['user_latitude']: + mydata['user_latitude'] = diction['user_latitude'] + + if ("user_longitude" in diction.keys()): + if diction['user_longitude']: + mydata['user_longitude'] = diction['user_longitude'] + + if ("user_state" in diction.keys()): + if diction['user_state']: + mydata['user_state'] = diction['user_state'] + + print(" My Data ="+str(mydata)) + coll_name = dbname['myclass'] insertObject = []