1+ import requests
2+ from pydantic import HttpUrl
3+
4+ from conSys .con_sys_api import ConnectedSystemsRequestBuilder
5+ from conSys .constants import APITerms
6+
7+
8+ def list_system_events (server_addr : HttpUrl , api_root : str = APITerms .API .value ):
9+ """
10+ Lists all system events
11+ :return:
12+ """
13+ builder = ConnectedSystemsRequestBuilder ()
14+ api_request = (builder .with_server_url (server_addr )
15+ .with_api_root (api_root )
16+ .for_resource_type (APITerms .SYSTEM_EVENTS .value )
17+ .build_url_from_base ()
18+ .build ())
19+ resp = requests .get (api_request .url , params = api_request .body , headers = api_request .headers )
20+ return resp .json ()
21+
22+
23+ def list_events_by_system_id (server_addr : HttpUrl , system_id : str , api_root : str = APITerms .API .value ):
24+ """
25+ Lists all events of a system
26+ :return:
27+ """
28+ builder = ConnectedSystemsRequestBuilder ()
29+ api_request = (builder .with_server_url (server_addr )
30+ .with_api_root (api_root )
31+ .for_resource_type (APITerms .SYSTEMS .value )
32+ .with_resource_id (system_id )
33+ .for_resource_type (APITerms .EVENTS .value )
34+ .build_url_from_base ()
35+ .build ())
36+ resp = requests .get (api_request .url , params = api_request .body , headers = api_request .headers )
37+ return resp .json ()
38+
39+ def add_new_system_events (server_addr : HttpUrl , system_id : str , request_body : dict ,
40+ api_root : str = APITerms .API .value ):
41+ """
42+ Adds a new system event to a system by its id
43+ :return:
44+ """
45+ builder = ConnectedSystemsRequestBuilder ()
46+ api_request = (builder .with_server_url (server_addr )
47+ .with_api_root (api_root )
48+ .for_resource_type (APITerms .SYSTEMS .value )
49+ .with_resource_id (system_id )
50+ .for_resource_type (APITerms .EVENTS .value )
51+ .with_request_body (request_body )
52+ .build_url_from_base ()
53+ .build ())
54+ resp = requests .post (api_request .url , params = api_request .body , headers = api_request .headers )
55+ return resp .json ()
56+
57+ def retrieve_system_event_by_id (server_addr : HttpUrl , system_id : str , event_id : str , api_root : str = APITerms .API .value ):
58+ """
59+ Retrieves a system event by its id
60+ :return:
61+ """
62+ builder = ConnectedSystemsRequestBuilder ()
63+ api_request = (builder .with_server_url (server_addr )
64+ .with_api_root (api_root )
65+ .for_resource_type (APITerms .SYSTEMS .value )
66+ .with_resource_id (system_id )
67+ .for_resource_type (APITerms .EVENTS .value )
68+ .with_resource_id (event_id )
69+ .build_url_from_base ()
70+ .build ())
71+ resp = requests .get (api_request .url , params = api_request .body , headers = api_request .headers )
72+ return resp .json ()
73+
74+ def update_system_event_by_id (server_addr : HttpUrl , system_id : str , event_id : str , request_body : dict ,
75+ api_root : str = APITerms .API .value ):
76+ """
77+ Updates a system event by its id
78+ :return:
79+ """
80+ builder = ConnectedSystemsRequestBuilder ()
81+ api_request = (builder .with_server_url (server_addr )
82+ .with_api_root (api_root )
83+ .for_resource_type (APITerms .SYSTEMS .value )
84+ .with_resource_id (system_id )
85+ .for_resource_type (APITerms .EVENTS .value )
86+ .with_resource_id (event_id )
87+ .with_request_body (request_body )
88+ .build_url_from_base ()
89+ .build ())
90+ resp = requests .put (api_request .url , params = api_request .body , headers = api_request .headers )
91+ return resp .json ()
92+
93+ def delete_system_event_by_id (server_addr : HttpUrl , system_id : str , event_id : str , api_root : str = APITerms .API .value ):
94+ """
95+ Deletes a system event by its id
96+ :return:
97+ """
98+ builder = ConnectedSystemsRequestBuilder ()
99+ api_request = (builder .with_server_url (server_addr )
100+ .with_api_root (api_root )
101+ .for_resource_type (APITerms .SYSTEMS .value )
102+ .with_resource_id (system_id )
103+ .for_resource_type (APITerms .EVENTS .value )
104+ .with_resource_id (event_id )
105+ .build_url_from_base ()
106+ .build ())
107+ resp = requests .delete (api_request .url , params = api_request .body , headers = api_request .headers )
108+ return resp .json ()
0 commit comments