summaryrefslogtreecommitdiffstats
path: root/api/database/handler.py
blob: f6a22578f8917645140a9249fb33d4cf190538c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# ############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
# ############################################################################
from api.database import db_session
from api.database.models import AsyncTasks


class AsyncTaskHandler(object):
    def insert(self, kwargs):
        task = AsyncTasks(**kwargs)
        db_session.add(task)
        db_session.commit()
        return task

    def update_status(self, task, status):
        task.status = status
        db_session.commit()

    def update_error(self, task, error):
        task.error = error
        db_session.commit()

    def get_task_by_taskid(self, task_id):
        task = AsyncTasks.query.filter_by(task_id=task_id).first()
        return task