Exemplo n.º 1
0
def get_token():
    '''获取一个口令,用于保持登陆'''
    params = request.get_json()
    return jsonify(
        IdentifyUtil.authenticate(
            params.get('username'),
            IdentifyUtil.hash_secret(params.get('password'))))
Exemplo n.º 2
0
def change_userpassword():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'user not find'))
    params = request.get_json()
    if not params.get('oldpassword') or not params.get('newpassword'):
        return jsonify(
            Common.falseReturn(None,
                               'newpassword or oldpassword cannot be empty'))
    user = UserApi.getUserBase(userid)
    if user['status'] and user['data'].get(
            'password') == IdentifyUtil.hash_secret(params.get('oldpassword')):
        return jsonify(
            UserApi.updateUserPassword(userid, params.get('newpassword')))
    return jsonify(Common.falseReturn(None, 'check old password wrong'))
Exemplo n.º 3
0
def post_Article():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'user not find'))
    params = request.get_json()
    if 'title' in params and 'brief' in params and 'body' in params:
        #先将内容保存成文件,然后将地址等信息上传到数据库
        filePath = FileApi.generateFilePath(
            ''.join([
                random.choice(string.digits + string.ascii_letters)
                for i in range(5)
            ]) + '.md', "articles/bodys/" + userid)
        absFilePath = os.path.join(config.STATIC_FILE_PATH, filePath)
        if FileApi.saveFile(absFilePath, params['body'])['status']:
            return jsonify(
                ArticleApi.postArticle(userid, params['title'],
                                       params['brief'], params["keywords"],
                                       params["coverurl"], filePath))
        else:
            return jsonify(Common.falseReturn(None, 'file save failure!'))
    else:
        return jsonify(
            Common.falseReturn(
                None,
                'Please make sure {"title":a,"breif":a,"keywords":a,"body":a}')
        )
Exemplo n.º 4
0
def change_username():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'user not find'))
    params = request.get_json()
    if not params.get('username'):
        return jsonify(Common.falseReturn(None, 'username cannot be empty'))
    return jsonify(UserApi.updateUserName(userid, params.get('username')))
Exemplo n.º 5
0
def add_commentLikes():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    params = request.get_json()
    if 'commentid' in params:
        return jsonify(LikesApi.postLikesComment(params['commentid'], userid))
    return jsonify(Common.falseReturn(None, 'commentid in json is needed'))
Exemplo n.º 6
0
def update_UserIntroduceTag():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    params = request.get_json()
    if 'tags' in params:
        return jsonify(IntroduceApi.changeTags(userid, params['tags']))
    return jsonify(Common.falseReturn(None, 'tags is needed'))
Exemplo n.º 7
0
 def updateUserBase(userid,username,password):
     if not blogDB.getUserById(userid):
         return Common.falseReturn(None, "{} doesn't exist in user_base".format(userid))
     if not username or not password:
         return Common.falseReturn(None, 'username or password cannot be empty')
     if blogDB.updateUser(userid,username,IdentifyUtil.hash_secret(password)):
         return Common.trueReturn({'userid':userid},'change ok')
     else:
         return Common.falseReturn(None,'change false')
Exemplo n.º 8
0
def add_ArticleBrowser():
    articleid = None
    params = request.get_json()
    if 'articleid' in params:
        articleid = params['articleid']
    else:
        return jsonify(Common.falseReturn(None, 'articleid is required'))
    userid = IdentifyUtil.get_user_id()
    return jsonify(
        BrowserApi.postArticleBrowser(articleid, userid, request.remote_addr))
Exemplo n.º 9
0
 def registerUserBase(username,password):
     if not username or not password:
         return Common.falseReturn(None, 'username or password cannot be empty')
     if blogDB.getUserByName(username) is not None:
         return Common.falseReturn(None,'{} is already exists'.format(username))
     userid = blogDB.addUser(username, IdentifyUtil.hash_secret(password))
     if userid is not None:
         return Common.trueReturn({'userid':userid},'register ok')
     else :
         return Common.falseReturn('unknown reason','register wrong')
Exemplo n.º 10
0
def delete_Comments(commentid):
    #获取自己id,只能删除自己文章下或者自己的评论
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    if CommentApi.getIsSelfComment(
            userid, commentid)['data'] or CommentApi.getIsSelfArticlesComment(
                userid, commentid)['data']:
        return jsonify(CommentApi.deleteComment(commentid))
    return jsonify(Common.falseReturn(None, 'permission denied'))
Exemplo n.º 11
0
def update_UserIntroduce():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    params = request.get_json()
    if 'resume' in params and 'tags' in params:
        return jsonify(
            IntroduceApi.changeIntroduce(userid, params['resume'],
                                         params['tags']))
    return jsonify(Common.falseReturn(None, 'add error'))
Exemplo n.º 12
0
def post_Comments():
    '''需要提供articleid,comment,refid'''
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    params = request.get_json()
    if 'articleid' not in params or 'comment' not in params:
        return jsonify(Common.falseReturn('articleid and comment is required'))
    res = CommentApi.postComment(params.get('articleid'), userid,
                                 params.get('comment'), params.get('refid'))
    return jsonify(res)
Exemplo n.º 13
0
def update_Comments(commentid):
    #获取自己id,只能修改自己的评论
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    params = request.get_json()
    if 'comment' not in params:
        return jsonify(Common.falseReturn(None, 'comment is required'))
    if not CommentApi.getIsSelfComment(userid, commentid)['data']:
        return jsonify(Common.falseReturn(None, 'permission denied'))
    return jsonify(
        CommentApi.updateCommentByCommentId(commentid, params.get('comment')))
Exemplo n.º 14
0
def post_article_file_Services(fileName):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'user not find'))
    '''上传功能'''
    refPath = FileApi.generateFilePath(fileName, "articles/pictures/" + userid)
    uploadPath = os.path.join(config.STATIC_FILE_PATH, refPath)

    saveResult = FileApi.saveRequestFileWithPath(uploadPath, request)
    if saveResult['status']:
        return jsonify(Common.trueReturn({'filepath': refPath}, 'up ok'))
    else:
        return jsonify(saveResult)
Exemplo n.º 15
0
def delete_Article(articleid):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    #判定是否是自己的文章,否则不能删除
    articleBase = ArticleApi.getArticleBaseByID(articleid)
    if not articleBase['status']:
        return jsonify(Common.falseReturn(None, 'article not found'))
    if userid != articleBase['data']['userid']:
        return jsonify(Common.falseReturn(None, "it's not your article"))
    try:
        os.remove(
            os.path.join(config.STATIC_FILE_PATH,
                         articleBase['data']['bodyurl']))
    except Exception as e:
        print(e)
    finally:
        return jsonify(ArticleApi.deleteArticle(articleid))
Exemplo n.º 16
0
def update_Article(articleid):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    #判定是否是自己的文章,否则不能修改
    articleBase = ArticleApi.getArticleBaseByID(articleid)
    if not articleBase['status']:
        return jsonify(Common.falseReturn(None, 'article not found'))
    if userid != articleBase['data']['userid']:
        return jsonify(Common.falseReturn(None, "it's not your article"))
    #开始修改文章
    params = request.get_json()
    absFilePath = os.path.join(config.STATIC_FILE_PATH,
                               articleBase['data']['bodyurl'])
    if FileApi.saveFile(absFilePath, params['body']):
        return jsonify(
            ArticleApi.updateArticle(articleid, params['title'],
                                     params['brief'], params["keywords"],
                                     params["coverurl"]))
    return jsonify(Common.falseReturn(None, 'save article file wrong'))
Exemplo n.º 17
0
def get_IsSelfLikeComment(commentid):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    return jsonify(LikesApi.getIsSelfLikesComment(userid, commentid))
Exemplo n.º 18
0
def get_IsSelfLikeArticle(articleid):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    return jsonify(LikesApi.getIsSelfLikesArticle(userid, articleid))
Exemplo n.º 19
0
def del_commentLikes(commentid):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    return jsonify(LikesApi.delLikesComment(commentid, userid))
Exemplo n.º 20
0
def del_articleLikes(articleid):
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'login required'))
    return jsonify(LikesApi.delLikesArticle(articleid, userid))
Exemplo n.º 21
0
 def updateUserPassword(userid,password):
     if blogDB.updateUserPassword(userid,IdentifyUtil.hash_secret(password)):
         return Common.trueReturn(userid,'change password ok')
     return Common.falseReturn(None,"change password error")
Exemplo n.º 22
0
def get_userinfo():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'user not find'))
    return jsonify(UserApi.getUserInfoByUserid(userid))
Exemplo n.º 23
0
def get_selfId():
    userid = IdentifyUtil.get_user_id()
    if not userid:
        return jsonify(Common.falseReturn(None, 'user not find'))
    return jsonify(Common.trueReturn(userid, 'query ok'))