コード例 #1
0
ファイル: app.py プロジェクト: 064xp/basin
def deleter(id):
    try:
        db = DataBase(settings.dbFile)
        db.deleteTransactions(id, str(current_identity))
        return 'Successful', 200
    except:
        return 'Unsuccessful', 500
コード例 #2
0
ファイル: app.py プロジェクト: 064xp/basin
def signUp():
    db = DataBase(settings.dbFile)
    try:
        json = request.get_json()
        username = json['username']
        password = json['password']
    except:
        return jsonify({'status': 'error', 'error': 'Invalid JSON'}), 400

    if not username or not password:
        return jsonify({
            'status': 'error',
            'error': 'Username or password cannot be empty'
        }), 400

    try:
        db.insertUser(username, password)
    except Error as e:
        return jsonify({
            'status': 'error',
            'error': 'Internal datbase error'
        }), 500
    except ValueError:
        return jsonify({
            'status': 'error',
            'error': 'Username already in use'
        }), 409
    return jsonify({'status': 'success'}), 200
コード例 #3
0
ファイル: app.py プロジェクト: 064xp/basin
def earnings(timeframe):
    try:
        db = DataBase(settings.dbFile)
        total = db.getEarnings(timeframe, str(current_identity))
        return jsonify(total)
    except:
        return 'Unsuccessful', 500
コード例 #4
0
ファイル: app.py プロジェクト: 064xp/basin
def addTransaction():
    db = DataBase(settings.dbFile)
    try:
        json = request.get_json()
        name = json['name']
        client = json['client']
        paid = json['paid']
        pending = json['pending']
        ammount = json['ammount']
        cost = json['cost']
        individualPrice = json['individualPrice']
    except:
        return jsonify({'status': 'error', 'error': request}), 400

    try:
        newId = db.insertTransaction(name, client, paid, ammount, cost,
                                     pending, individualPrice,
                                     str(current_identity))
    except Error as e:
        print(e)
        return jsonify({
            'status': 'error',
            'error': 'Internal datbase error'
        }), 500

    return jsonify({'id': newId}), 200
コード例 #5
0
ファイル: app.py プロジェクト: 064xp/basin
def getTransactions():
    db = DataBase(settings.dbFile)
    orderByValues = ('newest', 'oldest')
    ammount = request.args.get('ammount', default=50, type=int)
    orderBy = request.args.get('orderBy', default='newest', type=str)
    orderBy = orderBy if orderBy in orderByValues else 'newest'
    offset = request.args.get('offset', default=0, type=int)
    date = request.args.get('date', default=datetime.now(), type=hf.JSONtoDate)

    transactions = db.getTransactions(ammount, orderBy, offset,
                                      str(current_identity))
    return jsonify({'transactions': transactions}), 200
コード例 #6
0
ファイル: app.py プロジェクト: 064xp/basin
def paid():
    try:
        json = request.get_json()
        id = json['id']
        paid = json['paid']
        userId = str(current_identity)
    except:
        return 'Bad request', 400

    try:
        db = DataBase(settings.dbFile)
        db.updatePaidStatus(id, paid, userId)
        return 'Succesful', 200
    except:
        return 'Unsuccessful', 500
コード例 #7
0
ファイル: jwt.py プロジェクト: 064xp/basin
 def authenticate(username, password):
     db = DataBase(settings.dbFile)
     user = db.getUser(username)
     if user and check_password_hash(user.password, password):
         return user
コード例 #8
0
ファイル: jwt.py プロジェクト: 064xp/basin
 def identity(payload):
     userId = payload['identity']
     db = DataBase(settings.dbFile)
     user = db.getUser(id=userId)
     return user.id
コード例 #9
0
ファイル: app.py プロジェクト: 064xp/basin
        return jsonify({
            'status': 'error',
            'error': 'Internal datbase error'
        }), 500

    return jsonify({'id': newId}), 200


@app.route('/transactions')
@jwt_required()
def getTransactions():
    db = DataBase(settings.dbFile)
    orderByValues = ('newest', 'oldest')
    ammount = request.args.get('ammount', default=50, type=int)
    orderBy = request.args.get('orderBy', default='newest', type=str)
    orderBy = orderBy if orderBy in orderByValues else 'newest'
    offset = request.args.get('offset', default=0, type=int)
    date = request.args.get('date', default=datetime.now(), type=hf.JSONtoDate)

    transactions = db.getTransactions(ammount, orderBy, offset,
                                      str(current_identity))
    return jsonify({'transactions': transactions}), 200


if __name__ == "__main__":
    app.secret_key = os.urandom(15)
    app.config['JWT_SECRET_KEY'] = os.urandom(15)
    app.config['JWT_EXPIRATION_DELTA'] = timedelta(weeks=4)
    db = DataBase(settings.dbFile).createTables()
    app.run(port='3001', debug=True)