This commit is contained in:
2025-05-07 14:08:17 +03:00
parent f8c32d609b
commit 4113719334
36 changed files with 10638 additions and 191 deletions

View File

@@ -117,29 +117,29 @@ class DecortUserInfo(DecortController):
start=dict(
type='dict',
options=dict(
unix=dict(
timestamp=dict(
type='int',
),
date_time=dict(
datetime=dict(
type='str',
),
),
mutually_exclusive=[
('unix', 'date_time'),
('timestamp', 'datetime'),
],
),
end=dict(
type='dict',
options=dict(
unix=dict(
timestamp=dict(
type='int',
),
date_time=dict(
datetime=dict(
type='str',
),
),
mutually_exclusive=[
('unix', 'date_time'),
('timestamp', 'datetime'),
],
),
),
@@ -160,6 +160,23 @@ class DecortUserInfo(DecortController):
),
),
),
sorting=dict(
type='dict',
options=dict(
asc=dict(
type='bool',
default=True,
),
field=dict(
type='str',
choices=[
e.value
for e in self.AuditsSortableField
],
required=True,
),
),
),
),
),
objects_search=dict(
@@ -184,7 +201,7 @@ class DecortUserInfo(DecortController):
match self.aparams['audits']:
case {'filter': {'time':
{'start': {'date_time': str() as dt_str}}
{'start': {'datetime': str() as dt_str}}
}
}:
if self.dt_str_to_sec(dt_str=dt_str) is None:
@@ -192,7 +209,7 @@ class DecortUserInfo(DecortController):
check_error = True
match self.aparams['audits']:
case {'filter': {'time':
{'end': {'date_time': str() as dt_str}}
{'end': {'datetime': str() as dt_str}}
}
}:
if self.dt_str_to_sec(dt_str=dt_str) is None:
@@ -283,16 +300,16 @@ class DecortUserInfo(DecortController):
mapped_args['max_status_code'] = max_status_code
match input_args_filter['time']:
case {'start': {'unix': int() as start_unix_time}}:
case {'start': {'timestamp': int() as start_unix_time}}:
mapped_args['start_unix_time'] = start_unix_time
case {'start': {'date_time': str() as start_dt_str}}:
case {'start': {'datetime': str() as start_dt_str}}:
mapped_args['start_unix_time'] = self.dt_str_to_sec(
dt_str=start_dt_str
)
match input_args_filter['time']:
case {'end': {'unix': int() as end_unix_time}}:
case {'end': {'timestamp': int() as end_unix_time}}:
mapped_args['end_unix_time'] = end_unix_time
case {'end': {'date_time': str() as end_dt_str}}:
case {'end': {'datetime': str() as end_dt_str}}:
mapped_args['end_unix_time'] = self.dt_str_to_sec(
dt_str=end_dt_str
)
@@ -302,6 +319,16 @@ class DecortUserInfo(DecortController):
mapped_args['page_number'] = input_args_pagination['number']
mapped_args['page_size'] = input_args_pagination['size']
input_args_sorting = input_args['sorting']
if input_args_sorting:
mapped_args['sort_by_asc'] = input_args_sorting['asc']
input_args_sorting_field = input_args_sorting['field']
if input_args_sorting_field:
mapped_args['sort_by_field'] = (
self.AuditsSortableField(input_args_sorting_field)
)
return mapped_args
def run(self):