From e08e2328417672f30c5a27466e3b1191c30e7ff4 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Fri, 18 Aug 2017 16:17:10 +0800 Subject: Add activiti workflow logic Change-Id: I4cb4dfe6c32de60e84d38c2cf61e1059f914e967 Issue-Id: VFC-111 Signed-off-by: fujinhua --- lcm/pub/msapi/activiti.py | 78 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 lcm/pub/msapi/activiti.py diff --git a/lcm/pub/msapi/activiti.py b/lcm/pub/msapi/activiti.py new file mode 100644 index 00000000..69320d1c --- /dev/null +++ b/lcm/pub/msapi/activiti.py @@ -0,0 +1,78 @@ +# Copyright 2017 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import json + +from lcm.pub.exceptions import NSLCMException +from lcm.pub.utils.restcall import req_by_msb + +""" +Input: +file:formdata +filename:formdata +================================= +Output: +{ + "status": "int", + "message": "string", + "deployedId": "string", + "processId": "string" +} +""" +def deploy_workflow(content): + content_str = json.JSONEncoder().encode(content) + ret = req_by_msb("/api/workflow/v1/package", "POST", content_str) + if ret[0] != 0: + raise NSLCMException("Status code is %s, detail is %s.", ret[2], ret[1]) + return json.JSONDecoder().decode(ret[1]) + + +""" +Input: +None +================================= +Output: +{ + "status": "int", + "message": "string", +} +""" +def undeploy_workflow(deploy_id): + uri = "api/workflow/v1/package/{deployId}".format(deployId=deploy_id) + ret = req_by_msb(uri, "DELETE") + if ret[0] != 0: + raise NSLCMException("Status code is %s, detail is %s.", ret[2], ret[1]) + return json.JSONDecoder().decode(ret[1]) + + +""" +Input: +{ + "processId": "string", + "params": "Map" +} +================================= +Output: +{ + "status": "int", + "message": "string", +} +""" +def exec_workflow(content): + content_str = json.JSONEncoder().encode(content) + ret = req_by_msb("api/workflow/v1/process/instance", "POST", content_str) + if ret[0] != 0: + raise NSLCMException("Status code is %s, detail is %s.", ret[2], ret[1]) + return json.JSONDecoder().decode(ret[1]) + + -- cgit 1.2.3-korg