swagger-ize testcase-apis of testAPI
[releng.git] / utils / test / result_collection_api / resources / project_models.py
1 from tornado_swagger_ui.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         @ptype projects: C{list} of L{Project}
75     """
76     def __init__(self, projects=list()):
77         self.projects = projects
78
79     @staticmethod
80     def from_dict(res_dict):
81         if res_dict is None:
82             return None
83
84         res = Projects()
85         for project in res_dict.get('projects'):
86             res.projects.append(Project.from_dict(project))
87         return res