diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-07-19 06:52:52 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-07-19 06:52:52 +0000 |
commit | 7ea08628579d2e8e50e748ae1bf337687235ca62 (patch) | |
tree | 55ef23d804af3468af848fd16ba4e2f37839ff87 /api/resources/v2/projects.py | |
parent | 77ac1aa890964b40aaf12b43301d37575ae753d3 (diff) |
Add API(v2) to create project
JIRA: YARDSTICK-731
API: /api/v2/yardstick/projects/action
METHOD: POST
PARAMS:
{
'action': 'create_project',
'args': {
'name': 'project1'
}
}
Change-Id: I92332dec8dcf3253f0cbf1668332ce5110111d73
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'api/resources/v2/projects.py')
-rw-r--r-- | api/resources/v2/projects.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/api/resources/v2/projects.py b/api/resources/v2/projects.py new file mode 100644 index 000000000..e787cc333 --- /dev/null +++ b/api/resources/v2/projects.py @@ -0,0 +1,33 @@ +import uuid + +from datetime import datetime + +from api import ApiResource +from api.database.v2.handlers import V2ProjectHandler +from yardstick.common.utils import result_handler +from yardstick.common import constants as consts + + +class V2Projects(ApiResource): + + def post(self): + return self._dispatch_post() + + def create_project(self, args): + try: + name = args['name'] + except KeyError: + return result_handler(consts.API_ERROR, 'name must be provided') + + project_id = str(uuid.uuid4()) + create_time = datetime.now() + project_handler = V2ProjectHandler() + + project_init_data = { + 'uuid': project_id, + 'name': name, + 'time': create_time + } + project_handler.insert(project_init_data) + + return result_handler(consts.API_SUCCESS, {'uuid': project_id}) |