94 lines
2.9 KiB
Python
94 lines
2.9 KiB
Python
'''
|
|
|
|
Dans ce fichier sont regrouper les api utilisées
|
|
en phase de developpement ou deblogage.
|
|
|
|
ex : la suppression d'un compte utilisateur, chose qui ne doit pas se passer en prod.
|
|
en prod, le compte est desactivé.
|
|
|
|
'''
|
|
|
|
|
|
from pymongo import MongoClient
|
|
import pymongo
|
|
import json
|
|
from flask import Flask, request, jsonify
|
|
#from flask_mongoengine import MongoEngine
|
|
import json
|
|
from bson import ObjectId
|
|
import re
|
|
import numpy as np
|
|
import ela_index_bdd_classes as ela_index
|
|
import logging
|
|
from datetime import datetime
|
|
import prj_common as mycommon
|
|
import secrets
|
|
import GlobalVariable as MYSY_GV
|
|
|
|
|
|
class JSONEncoder(json.JSONEncoder):
|
|
def default(self, o):
|
|
if isinstance(o, ObjectId):
|
|
return str(o)
|
|
return json.JSONEncoder.default(self, o)
|
|
|
|
|
|
|
|
'''
|
|
Cette fonction supprimer tous les tokens d'un user
|
|
- argument : email.
|
|
'''
|
|
def Dev_del_user_token(diction):
|
|
try:
|
|
client = MongoClient(MYSY_GV.CONNECTION_STRING)
|
|
|
|
'''
|
|
# 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.
|
|
'''
|
|
field_list = ['email']
|
|
|
|
incom_keys = diction.keys()
|
|
for val in incom_keys:
|
|
if val not in field_list and val.startswith('my_') is False:
|
|
mycommon.myprint(
|
|
" Creation partner account : Le champ '" + val + "' n'existe pas, Creation formation annulée")
|
|
return False
|
|
|
|
'''
|
|
Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
|
|
On controle que les champs obligatoires sont presents dans la liste
|
|
'''
|
|
field_list_obligatoire = ['email']
|
|
|
|
for val in field_list_obligatoire:
|
|
if val not in diction:
|
|
mycommon.myprint(" : La valeur '" + val + "' n'est pas presente dans liste ")
|
|
return False
|
|
|
|
# recuperation des paramettre
|
|
mydata = {}
|
|
email = ""
|
|
|
|
if ("email" in diction.keys()):
|
|
if diction['email']:
|
|
email = diction['email']
|
|
|
|
|
|
mydata['date_update'] = str(datetime.now())
|
|
mydata['indexed'] = '0'
|
|
|
|
coll_token = MYSY_GV.dbname['user_token']
|
|
|
|
myquery = {"email": email}
|
|
delete_row = coll_token.delete_many(myquery)
|
|
mycommon.myprint(
|
|
" ela-Token - " + str(delete_row.deleted_count) + " documents deleted. user mail ==> " + str(email) + " ")
|
|
|
|
return True, str(delete_row.deleted_count) + " documents deleted. user mail ==> '" + str(email) + "' "
|
|
|
|
except Exception as e:
|
|
mycommon.myprint(e)
|
|
return False, "Impossible de supprimer les tokens" |