コード例 #1
0
ファイル: sessions.py プロジェクト: topmrscode/Flask
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
コード例 #2
0
ファイル: sessions.py プロジェクト: topmrscode/Flask
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
コード例 #3
0
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
コード例 #4
0
ファイル: comments.py プロジェクト: topmrscode/Flask
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
コード例 #5
0
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
コード例 #6
0
ファイル: comments.py プロジェクト: topmrscode/Flask
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, ""
コード例 #7
0
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
コード例 #8
0
ファイル: comments.py プロジェクト: topmrscode/Flask
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"
コード例 #9
0
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"
コード例 #10
0
ファイル: comments.py プロジェクト: topmrscode/Flask
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"
コード例 #11
0
ファイル: comments.py プロジェクト: topmrscode/Flask
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, "" 
コード例 #12
0
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"
コード例 #13
0
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, "" 
コード例 #14
0
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, ""