-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprocedures.py
More file actions
97 lines (84 loc) · 3.56 KB
/
procedures.py
File metadata and controls
97 lines (84 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
from typing import Union
from pydantic import HttpUrl
from consys4py.con_sys_api import ConnectedSystemsRequestBuilder
from consys4py.constants import APITerms
def list_all_procedures(server_addr: HttpUrl, api_root: str = APITerms.API.value, headers: dict = None):
"""
Lists all procedures in the server at the default API endpoint
:return:
"""
builder = ConnectedSystemsRequestBuilder()
api_request = (builder.with_server_url(server_addr)
.with_api_root(api_root)
.for_resource_type(APITerms.PROCEDURES.value)
.build_url_from_base()
.with_headers(headers)
.with_request_method('GET')
.build())
return api_request.make_request()
def create_new_procedures(server_addr: HttpUrl, request_body: Union[str, dict], api_root: str = APITerms.API.value,
headers: dict = None):
"""
Create a new procedure as defined by the request body
:return:
"""
builder = ConnectedSystemsRequestBuilder()
api_request = (builder.with_server_url(server_addr)
.with_api_root(api_root)
.for_resource_type(APITerms.PROCEDURES.value)
.with_request_body(request_body)
.build_url_from_base()
.with_headers(headers)
.with_request_method('POST')
.build())
print(api_request)
return api_request.make_request()
def retrieve_procedure_by_id(server_addr: HttpUrl, procedure_id: str, api_root: str = APITerms.API.value,
headers: dict = None):
"""
Retrieve a procedure by its ID
:return:
"""
builder = ConnectedSystemsRequestBuilder()
api_request = (builder.with_server_url(server_addr)
.with_api_root(api_root)
.for_resource_type(APITerms.PROCEDURES.value)
.with_resource_id(procedure_id)
.build_url_from_base()
.with_headers(headers)
.with_request_method('GET')
.build())
return api_request.make_request()
def update_procedure_by_id(server_addr: HttpUrl, procedure_id: str, request_body: Union[str, dict],
api_root: str = APITerms.API.value, headers: dict = None):
"""
Update a procedure by its ID
:return:
"""
builder = ConnectedSystemsRequestBuilder()
api_request = (builder.with_server_url(server_addr)
.with_api_root(api_root)
.for_resource_type(APITerms.PROCEDURES.value)
.with_resource_id(procedure_id)
.with_request_body(request_body)
.build_url_from_base()
.with_headers(headers)
.with_request_method('PUT')
.build())
return api_request.make_request()
def delete_procedure_by_id(server_addr: HttpUrl, procedure_id: str, api_root: str = APITerms.API.value,
headers: dict = None):
"""
Delete a procedure by its ID
:return:
"""
builder = ConnectedSystemsRequestBuilder()
api_request = (builder.with_server_url(server_addr)
.with_api_root(api_root)
.for_resource_type(APITerms.PROCEDURES.value)
.with_resource_id(procedure_id)
.build_url_from_base()
.with_headers(headers)
.with_request_method('DELETE')
.build())
return api_request.make_request()