Skip to content

Commit f41e98c

Browse files
committed
Add function to convert OGD request result to HTTP response code.
1 parent b73a4d0 commit f41e98c

2 files changed

Lines changed: 17 additions & 8 deletions

File tree

src/ogd/apis/models/APIResponse.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,7 @@ def FromRequestResult(result:RequestResult.RequestResult, req_type:RESTType) ->
6060
:return: An `APIResponse` corresponding to the result of the export request
6161
:rtype: APIResponse
6262
"""
63-
_status : ResponseStatus
64-
match result.Status:
65-
case RequestResult.ResultStatus.SUCCESS:
66-
_status = ResponseStatus.OK
67-
case RequestResult.ResultStatus.FAILURE:
68-
_status = ResponseStatus.BAD_REQUEST
69-
case _:
70-
_status = ResponseStatus.INTERNAL_ERR
63+
_status = ResponseStatus.FromOGDResult(result.Status)
7164
ret_val = APIResponse(req_type=req_type, val={"session_count":result.SessionCount, "duration":str(result.Duration)}, msg=result.Message, status=_status)
7265
return ret_val
7366

src/ogd/apis/models/enums/ResponseStatus.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from enum import IntEnum
22
from typing import Set
33

4+
import ogd.core.requests.RequestResult as RequestResult
5+
46
class ResponseStatus(IntEnum):
57
"""Enumerated type to track the status of an API request result.
68
"""
@@ -89,6 +91,20 @@ def ClientErrors() -> Set["ResponseStatus"]:
8991
def ServerErrors() -> Set["ResponseStatus"]:
9092
return {status for status in set(ResponseStatus) if status in range(500, 599)}
9193

94+
@staticmethod
95+
def FromOGDResult(result_status:RequestResult.ResultStatus) -> "ResponseStatus":
96+
ret_val : ResponseStatus
97+
98+
match result_status:
99+
case RequestResult.ResultStatus.SUCCESS:
100+
ret_val = ResponseStatus.OK
101+
case RequestResult.ResultStatus.FAILURE:
102+
ret_val = ResponseStatus.BAD_REQUEST
103+
case _:
104+
ret_val = ResponseStatus.INTERNAL_ERR
105+
106+
return ret_val
107+
92108
def __str__(self):
93109
"""Stringify function for ResponseStatus objects.
94110

0 commit comments

Comments
 (0)