5
5
6
6
import ieee_2030_5 .hrefs as hrefs
7
7
import ieee_2030_5 .models as m
8
+ from ieee_2030_5 .adapters import Adapter
8
9
from ieee_2030_5 .adapters .der import DERProgramAdapter
9
10
from ieee_2030_5 .adapters .enddevices import EndDeviceAdapter
10
11
from ieee_2030_5 .adapters .fsa import FSAAdapter
@@ -33,6 +34,8 @@ def __init__(self, app: Flask, tls_repo: TLSRepository, config: ServerConfigurat
33
34
app .add_url_rule ("/admin/edev/<int:edevid>/fsa/<int:fsaid>" , view_func = self ._admin_edev_fsa )
34
35
app .add_url_rule ("/admin/edev/<int:edevid>/fsa" , view_func = self ._admin_edev_fsa )
35
36
app .add_url_rule ("/admin/edev/<int:edevid>/der" , view_func = self ._admin_edev_ders )
37
+ app .add_url_rule ("/admin/edev/<int:edevid>/der/<int:derid>/current_derp" , view_func = self ._admin_edev_ders )
38
+ app .add_url_rule ("/admin/edev/<int:edevid>/der/<int:derid>" , view_func = self ._admin_edev_ders )
36
39
app .add_url_rule ("/admin/edev" , view_func = self ._admin_edev )
37
40
# END COMPLETE
38
41
@@ -55,11 +58,19 @@ def __init__(self, app: Flask, tls_repo: TLSRepository, config: ServerConfigurat
55
58
def _admin_edev (self ) -> Response :
56
59
return Response (dataclass_to_xml (EndDeviceAdapter .fetch_all (m .EndDeviceList ())))
57
60
58
- def _admin_edev_ders (self , edevid : int ) -> Response :
61
+ def _admin_edev_ders (self , edevid : int , derid : int = None ) -> Response :
59
62
ed = EndDeviceAdapter .fetch (edevid )
60
- deradpter = EndDeviceAdapter .fetch_child (ed , hrefs .DER )
63
+ deradpter : Adapter [m .DER ] = EndDeviceAdapter .fetch_child (ed , hrefs .DER )
64
+ if derid :
65
+ retval : m .DER = deradpter .fetch (derid )
66
+ if request .path .endswith ('current_derp' ):
67
+ derp_href = hrefs .DERProgramHref .parse (retval .CurrentDERProgramLink )
68
+ retval = DERProgramAdapter .fetch (derp_href .index )
69
+ else :
70
+ retval = deradpter .fetch_all (m .DERList ())
71
+
61
72
62
- return Response (dataclass_to_xml (deradpter . fetch_all ( m . DERList ()) ))
73
+ return Response (dataclass_to_xml (retval ))
63
74
64
75
def _admin_edev_fsa (self , edevid : int , fsaid : int = - 1 ) -> Response :
65
76
if edevid > - 1 and fsaid > - 1 :
@@ -99,7 +110,7 @@ def _admin_der_update_current_derp(self, edev_index: int, der_index: int):
99
110
else :
100
111
program = DERProgramAdapter .create (data ).data
101
112
response_status = 201
102
-
113
+ print ( EndDeviceAdapter . fetch_child_names ())
103
114
der = DERAdapter .fetch_at (edev_index , der_index )
104
115
der .CurrentDERProgramLink = m .CurrentDERProgramLink (program .href )
105
116
return Response (dataclass_to_xml (program ), status = response_status )
@@ -210,7 +221,7 @@ def _admin(self) -> Response:
210
221
211
222
def _admin_enddevices (self , index :int = None ) -> Response :
212
223
213
- return Response (dataclass_to_xml (EndDeviceAdapter .fetch_list ( )))
224
+ return Response (dataclass_to_xml (EndDeviceAdapter .fetch_all ( m . EndDeviceList () )))
214
225
215
226
def _lfdi_lists (self ) -> Response :
216
227
items = []
0 commit comments