def create(email, password): # etape 1 : verifier que l utilisateur existe usr = users.User() usr.email = email usr = usr.get_by_email() if usr == None: return None, None, 'User not found' # on renvoit juste l EEREUR # etape 2 : verifier le mot de passe correspond if sha256_crypt.verify(password, usr.password) == False: return None, None, 'Bad password' # on renvoit juste l EEREUR # etape 3 : creer un token(str) (si etape 1 et 2 validees) encoded = str( jwt.encode({ 'username': usr.username, 'email': usr.email }, 'l4ur45k', algorithm='HS256')) # etape 4 : appeler la db (create) sess = sessions.Session(encoded) sess.user_id = usr.id sess.create() # etape 5 : retourner un token(str) et un user(objet json)(username, email, id, password) # None => pas d'erreur return encoded, usr, None
def delete(encoded): # etape 1 : chercher si la session existe pour ce token sess = sessions.Session(encoded) sess = sess.get_by_token() # etape 2 : si lr token dans la session est le meme que celui donne, on supprime la session if sess != None: sess.delete() return True
def list_all(token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" arts = articles.Articles() # on creer une nouvelle instance de la class articles arts.all() # remplit la liste dans notre class articles avec tous les articles return arts.articles, "" # renvoit la liste complete
def list_all(article_id, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" coms = comments.Comments() # on creer une nouvelle instance de la class comments coms.article_id = article_id # definit larticle_id coms.all() # remplit la liste dans notre class comments avec tous les commentaires return coms.comments, "" # renvoit la liste complete
def delete(_id, token): sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return "your are not logined" # if sess.user_id != id : # return "You don't have the right to do it" usr = users.User() usr.id = _id usr.delete() return True
def get_comment_by_id(_id, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" # etape 2 : creer le modele comment et recuperer son contenu en fonction de son id com = comments.Comment() com.id = _id com = com.get_by_id() if com == None: return None, "comment not found" return com, ""
def update(_id, username, email, password, token): sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return "your are not logined" if password != "": hashed_pw = sha256_crypt.encrypt(password) else: hashed_pw = password usr = users.User(username, email, hashed_pw) usr.id = _id if hashed_pw != "": usr.update(True) else: usr.update(False) return usr
def delete(_id, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return "your are not logined" # etape 2 : creer le modele comment et recuperer son id com = comments.Comment() com.id = _id # etape 3 : recuperer le commentaire en fonction de son id com.get_by_id() # etape 3 : verifier que l user id dans la session et le meme if sess.user_id == com.user_id : com.delete() return "" else : return None, "you can't do it"
def delete(_id, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return "your are not logined" # etape 2 : creer le modele darticles et recuperer son id art = articles.Article() art.id = _id # etape 3 : recuperer l article en fonction de son id art.get_by_id() # etape 3 : verifier que l user id dans la session et le meme if sess.user_id == art.user_id : art.delete() return "" else : return None, "you can't do it"
def update(_id, message, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" # etape 2 : creer le modele comment et changer le champs com = comments.Comment() #recuperer le comment en fonction de son id com.id = _id com.get_by_id() com.message = message # etape 3 : verifier que l user id dans la session et le meme if sess.user_id == com.user_id : com.update() return com, "" else : return None, "you can't do it"
def create(message, article_id,token) : # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" # etape 2 : creer le modele comment et remplir les champs com = comments.Comment() com.message = message # current date and hours now = datetime.now() com.creation_date = now.strftime("%D/%M/%Y %H:%M:%S") # -------- com.article_id = article_id com.user_id = sess.user_id # etape 3 : sauvegarder et recuperer l id id = com.save() com.id = id return com, ""
def update(_id, title, body, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" # etape 2 : creer le modele darticles et changer le champs art = articles.Article() #recuperer l article en fonction de son id art.id = _id art.get_by_id() art.title = title art.body = body # etape 3 : verifier que l user id dans la session et le meme if sess.user_id == art.user_id : art.update() return art, "" else : return None, "you can't do it"
def create(title, body, token) : # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" # etape 2 : creer le modele article et remplir les champs art = articles.Article() art.title = title art.body = body # current date and hours now = datetime.now() art.creation_date = now.strftime("%D/%M/%Y %H:%M:%S") # -------- art.user_id = sess.user_id # etape 3 : sauvegarder et recuperer l id id = art.save() art.id = id return art, ""
def get_article_by_id(_id, token): # etape 1 : recuperer la session sess = sessions.Session(token) sess = sess.get_by_token() if sess == None: return None, "your are not logined" art = articles.Article() art.id = _id art = art.get_by_id() if art == None: return None, "article not found" # creer le modeles pour PLUSIEURS commentaires comms = comments.Comments() # definir l'id de l'article associe comms.article_id = _id # recup tous les comms en db pour l'article id donne comms.all() art.comments = comms.comments return art, ""