• wanli's avatar
    update · d327191f
    wanli authored
    d327191f
api_manager.py 1.24 KB
#!/usr/bin/env python
# -*- coding: utf_8 -*-

import time
import json
import logging
import traceback
import uuid
from datetime import datetime

from pony.orm import *
from flask import request
from model import fullStackDB
from model.user import User
from utils import md5_salt

logger = logging.getLogger("ApiManager")

class ApiManager(object):
    def __init__(self):
        super(ApiManager, self).__init__()

    def update_user_password(self, data):
        with db_session:
            editor = User.get(id=request.current_user.get("id"))
            if not editor:
                return False, "current user is not exists"

            result = User.get(uuid=data.get("uuid"), password=md5_salt(data['password']))

            if not result:
                return None, "user does not exists"

            data.pop("uuid")
            data['password'] = md5_salt(data['newPassword'])
            data.pop('newPassword')
            data.update({
                "create_by": editor.id,
                "create_at": datetime.now(),
                "update_by": editor.id,
                "update_at": datetime.now()
            })

            result = result.set(**data)
            commit()

            return True, "success"

apiManager = ApiManager()