1014254b83e67e74651af464213e18f44d747675
[releng.git] / utils / test / result_collection_api / opnfv_testapi / resources / project_models.py
1 from opnfv_testapi.tornado_swagger import swagger
2
3 __author__ = '__serena__'
4
5
6 @swagger.model()
7 class ProjectCreateRequest(object):
8     def __init__(self, name, description=''):
9         self.name = name
10         self.description = description
11
12     def format(self):
13         return {
14             "name": self.name,
15             "description": self.description,
16         }
17
18
19 @swagger.model()
20 class ProjectUpdateRequest(object):
21     def __init__(self, name='', description=''):
22         self.name = name
23         self.description = description
24
25     def format(self):
26         return {
27             "name": self.name,
28             "description": self.description,
29         }
30
31
32 @swagger.model()
33 class Project(object):
34     def __init__(self,
35                  name=None, _id=None, description=None, create_date=None):
36         self._id = _id
37         self.name = name
38         self.description = description
39         self.creation_date = create_date
40
41     @staticmethod
42     def from_dict(res_dict):
43
44         if res_dict is None:
45             return None
46
47         t = Project()
48         t._id = res_dict.get('_id')
49         t.creation_date = res_dict.get('creation_date')
50         t.name = res_dict.get('name')
51         t.description = res_dict.get('description')
52
53         return t
54
55     def format(self):
56         return {
57             "name": self.name,
58             "description": self.description,
59             "creation_date": str(self.creation_date)
60         }
61
62     def format_http(self):
63         return {
64             "_id": str(self._id),
65             "name": self.name,
66             "description": self.description,
67             "creation_date": str(self.creation_date),
68         }
69
70
71 @swagger.model()
72 class Projects(object):
73     """
74         @property projects:
75         @ptype projects: C{list} of L{Project}
76     """
77     def __init__(self):
78         self.projects = list()
79
80     @staticmethod
81     def from_dict(res_dict):
82         if res_dict is None:
83             return None
84
85         res = Projects()
86         for project in res_dict.get('projects'):
87             res.projects.append(Project.from_dict(project))
88         return res