예제 #1
0
def update_operatingexpense(operatingexpense_request, operatingexpense_id):
    operatingexpense = session.query(OperatingExpense).get(operatingexpense_id)
    operatingexpense.name = operatingexpense_request.name
    operatingexpense.description = operatingexpense_request.description
    operatingexpense.value = operatingexpense_request.value
    session.commit()
    return operatingexpense
예제 #2
0
def create_entity(entity_request, user_id):
    entity = Entity(name=entity_request.name,
                    description=entity_request.description,
                    user_id=user_id)
    session.add(entity)
    session.commit()
    return entity
예제 #3
0
def update_cost(cost_request, cost_id):
    cost = session.query(Cost).get(cost_id)
    cost.name = cost_request.name
    cost.description = cost_request.description
    cost.value = cost_request.value
    session.commit()
    return cost
예제 #4
0
 def tearDown(self):
     session.delete(self.user)
     session.delete(self.entity)
     session.delete(self.revenue)
     session.delete(self.cost)
     session.delete(self.opex)
     session.commit()
예제 #5
0
def create_kdbaccounts(id):
    data = request.get_json()
    if not data:
        return bad_request('Need to post data')
    message = ''
    if 'username' not in data or not data.get('username', None):
        message = 'Username invalid'
    if 'password' not in data or not data.get('password', None):
        message = 'Password invalid'
    if message != '':
        return bad_request(message)

    for acc in session.query(KDBAccount).filter(
            KDBAccount.owner_id == id).all():
        print(acc.to_dict())
        if acc.to_dict()['username'] == str(data['username']):
            return jsonify({'message': 'Account exists!', 'code': 70000})
    kdbacc = KDBAccount()
    data['owner_id'] = id
    kdbacc.from_dict(data)
    # kdbacc.user_id += [user]
    session.add(kdbacc)
    session.commit()
    response = jsonify({'data': kdbacc.to_dict(), 'code': 20000})
    response.status_code = 201
    response.headers['Location'] = url_for('api.get_user', id=id)
    return response
예제 #6
0
def update_revenue(revenue_request, revenue_id):
    revenue = session.query(Revenue).get(revenue_id)
    revenue.unit_name = revenue_request.unitName
    revenue.unit_description = revenue_request.unitDescription
    revenue.unit_cost = revenue_request.unitCost
    revenue.unit_count = revenue_request.unitCount
    session.commit()
    return revenue
예제 #7
0
def create_cost(cost_request, entity_id):
    cost = Cost(name=cost_request.name,
                description=cost_request.description,
                value=cost_request.value,
                entity_id=entity_id)
    session.add(cost)
    session.commit()
    return cost
예제 #8
0
def create_operatingexpense(operatingexpense_request, entity_id):
    operatingexpense = OperatingExpense(
        name=operatingexpense_request.name,
        description=operatingexpense_request.description,
        value=operatingexpense_request.value,
        entity_id=entity_id)
    session.add(operatingexpense)
    session.commit()
    return operatingexpense
예제 #9
0
def create_revenue(revenue_request, entity_id):
    revenue = Revenue(unit_name=revenue_request.unitName,
                      unit_description=revenue_request.unitDescription,
                      unit_cost=revenue_request.unitCost,
                      unit_count=revenue_request.unitCount,
                      entity_id=entity_id)
    session.add(revenue)
    session.commit()
    return revenue
예제 #10
0
def create_user(register_request):
    user = User(username=register_request.username,
                first_name=register_request.firstName,
                last_name=register_request.lastName,
                email=register_request.email)
    user.hash_password(register_request.password)

    session.add(user)
    session.commit()
    return user
예제 #11
0
def delete_kdbaccount(id):
    data = request.get_json()
    acc = session.query(KDBAccount).filter(
        KDBAccount.owner_id == id,
        KDBAccount.username == data.get('username', None)).first()
    if not data:
        return bad_request('You must post JSON data')
    session.delete(acc)
    session.commit()
    return jsonify({'code': 20000})
예제 #12
0
def delete_tbaccount(id):
    data = request.get_json()
    acc = session.query(TaobaoAccount).filter(TaobaoAccount.username == data.get('username', None)).first()
    if not data:
        return bad_request('You must post JSON data')
    session.delete(acc)
    session.commit()
    user_data = os.getcwd() + "/app/api/data_getter/userdata/" + str(acc.username)
    try:
        shutil.rmtree(user_data)
    except:
        pass
    return jsonify({'code': 20000})
예제 #13
0
    def setUp(self):
        self.tester = app.test_client()

        self.user = User(first_name='Testy',
                         last_name='McTesterson',
                         username='******',
                         password='******',
                         email='*****@*****.**')
        session.add(self.user)
        session.commit()

        self.entity = Entity(user_id=self.user.id,
                             name='Test Entity 1',
                             description='This is a test entity')
        session.add(self.entity)
        session.commit()
예제 #14
0
def modify_tbaccount(id):
    data = request.get_json()
    acc = session.query(TaobaoAccount).filter(TaobaoAccount.username == data.get('username', None)).first()
    if acc.status:
        return bad_request('Account is running')
    if not data:
        return bad_request('You must post JSON data')
    message = {}
    if 'username' in data and not data.get('username', None):
        message['username'] = '******'
    if 'password' in data and not data.get('password', None):
        message['password'] = '******'
    if message:
        return bad_request(message)

    acc.from_dict(data)
    session.commit()
    return jsonify({'data': acc.to_dict(), 'code': 20000})
예제 #15
0
def modify_kdbaccount(id):
    data = request.get_json()
    acc = session.query(KDBAccount).filter(
        KDBAccount.owner_id == id,
        KDBAccount.username == data.get('username', None)).first()
    if not data:
        return bad_request('You must post JSON data')
    message = {}
    if 'username' in data and not data.get('username', None):
        message['username'] = '******'
    if 'password' in data and not data.get('password', None):
        message['password'] = '******'
    if message:
        return bad_request(message)

    data['owner_id'] = id
    acc.from_dict(data)
    session.commit()
    return jsonify({'data': acc.to_dict(), 'code': 20000})
예제 #16
0
    def setUp(self):
        self.tester = app.test_client()
        self.user = User(first_name='Testy',
                         last_name='McTesterson',
                         username='******',
                         password='******',
                         email='*****@*****.**')
        session.add(self.user)
        session.commit()

        self.entity = Entity(name='My Entity',
                             description='My favorite entity',
                             user_id=self.user.id)
        session.add(self.entity)
        session.commit()

        self.revenue = Revenue(name='Revenue 1',
                               description='My First Revenue',
                               value=1,
                               entity_id=self.entity.id)
        self.cost = Cost(name='Cost 1',
                         description='My First Cost',
                         value=1,
                         entity_id=self.entity.id)
        self.opex = OperatingExpense(name='Opex 1',
                                     description='My First Opex',
                                     value=1,
                                     entity_id=self.entity.id)

        session.add(self.revenue)
        session.add(self.cost)
        session.add(self.opex)
        session.commit()
예제 #17
0
def create_tbaccounts(id):
    data = request.get_json()
    data['owner_id'] = id
    if not data:
        return bad_request('Need to post data')
    message = ''
    if 'username' not in data or not data.get('username', None):
        message = 'Username invalid'
    if 'password' not in data or not data.get('password', None):
        message = 'Password invalid'
    if session.query(TaobaoAccount).filter(TaobaoAccount.username==data.get('username', None)).first():
        message = 'Username exists'
    if message != '':
        return bad_request(message)
    
    tbacc = TaobaoAccount()
    tbacc.from_dict(data)
    session.add(tbacc)
    session.commit()
    response = jsonify({'data':tbacc.to_dict(), 'code': 20000})
    response.status_code = 201
    response.headers['Location'] = url_for('api.get_user', id=tbacc.owner_id)
    return response
예제 #18
0
def get_token():
    token = g.current_user.get_jwt()
    # 每次用户登录(即成功获取 JWT 后),更新 last_seen 时间
    g.current_user.ping()
    session.commit()
    return jsonify({'token': token, 'code': 20000})
예제 #19
0
 def tearDown(self):
     session.delete(self.user)
     session.delete(self.entity)
     session.commit()
예제 #20
0
def verify_token(token):
    g.current_user = User.verify_jwt(token) if token else None
    if g.current_user:
        g.current_user.ping()
        session.commit()
    return g.current_user is not None
예제 #21
0
def delete_cost(cost_id):
    session.query(Cost).filter_by(id=cost_id).delete()
    session.commit()
예제 #22
0
def delete_opex(opex_id):
    session.query(OperatingExpense).filter_by(id=opex_id).delete()
    session.commit()
예제 #23
0
def delete_revenue(revenue_id):
    session.query(Revenue).filter_by(id=revenue_id).delete()
    session.commit()
예제 #24
0
def update_entity(entity_request, entity_id):
    entity = session.query(Entity).get(entity_id)
    entity.name = entity_request.name
    entity.description = entity_request.description
    session.commit()
    return entity