add time-based access restrictions

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
Nicola Murino
2024-03-17 11:30:03 +01:00
parent 74dd2a3b9a
commit cc9a0d4dc2
17 changed files with 417 additions and 15 deletions

View File

@@ -2516,6 +2516,9 @@ func compareUserFilters(expected sdk.BaseUserFilters, actual sdk.BaseUserFilters
if err := compareUserBandwidthLimitFilters(expected, actual); err != nil {
return err
}
if err := compareAccessTimeFilters(expected, actual); err != nil {
return err
}
return compareUserFilePatternsFilters(expected, actual)
}
@@ -2531,6 +2534,26 @@ func checkFilterMatch(expected []string, actual []string) bool {
return true
}
func compareAccessTimeFilters(expected sdk.BaseUserFilters, actual sdk.BaseUserFilters) error {
if len(expected.AccessTime) != len(actual.AccessTime) {
return errors.New("access time filters mismatch")
}
for idx, p := range expected.AccessTime {
if actual.AccessTime[idx].DayOfWeek != p.DayOfWeek {
return errors.New("access time day of week mismatch")
}
if actual.AccessTime[idx].From != p.From {
return errors.New("access time from mismatch")
}
if actual.AccessTime[idx].To != p.To {
return errors.New("access time to mismatch")
}
}
return nil
}
func compareUserBandwidthLimitFilters(expected sdk.BaseUserFilters, actual sdk.BaseUserFilters) error {
if len(expected.BandwidthLimits) != len(actual.BandwidthLimits) {
return errors.New("bandwidth limits filters mismatch")