#!/usr/bin/env python

# 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

"""
Define tables for tasks
"""

from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import Text

from functest.api.database.db import BASE


class Tasks(BASE):  # pylint: disable=too-few-public-methods, no-init
    """ Create a table for tasks"""

    __tablename__ = 'tasks'
    id = Column(Integer, primary_key=True)  # pylint: disable=invalid-name
    task_id = Column(String(50))
    status = Column(Integer)
    error = Column(String(120))
    result = Column(Text)

    def __repr__(self):
        return '<Task %r>' % Tasks.task_id