예제 #1
0
파일: apps.py 프로젝트: monetario/core
def add_app():
    app_schema = App.from_json(json.loads(request.data.decode('utf-8')))

    if app_schema.errors:
        return {'errors': app_schema.errors}, 400

    user = User.query.filter(User.id == app_schema.data['user_id']).first()

    if not user:
        return {'errors': {'user': '******'}}, 400

    app = App(**app_schema.data)
    app.secret = app.generate_auth_token()
    db.session.add(app)
    db.session.commit()

    return app, 201
예제 #2
0
파일: apps.py 프로젝트: monetario/core
def edit_app(app_id):
    app = App.query.get_or_404(app_id)

    app_schema = App.from_json(json.loads(request.data.decode('utf-8')), partial=True)

    if app_schema.errors:
        return {'errors': app_schema.errors}, 400

    if 'user_id' in app_schema.data:
        user = User.query.filter(User.id == app_schema.data['user_id']).first()

        if not user:
            return {'errors': {'user': '******'}}, 400

    for field, value in app_schema.data.items():
        if hasattr(app, field):
            setattr(app, field, value)

    db.session.commit()

    return app, 200