@@ -297,10 +297,11 @@ class Meta:
297297class UserGroupCheckSerializer (serializers .ModelSerializer ):
298298 result = serializers .SerializerMethodField ()
299299 type = serializers .SerializerMethodField ()
300+ reset = serializers .SerializerMethodField ()
300301
301302 class Meta :
302303 model = RadiusGroupCheck
303- fields = ("attribute" , "op" , "value" , "result" , "type" )
304+ fields = ("attribute" , "op" , "value" , "result" , "type" , "reset" )
304305
305306 def get_result (self , obj ):
306307 try :
@@ -326,6 +327,19 @@ def get_type(self, obj):
326327 else :
327328 return counter .get_attribute_type ()
328329
330+ def get_reset (self , obj ):
331+ try :
332+ Counter = app_settings .CHECK_ATTRIBUTE_COUNTERS_MAP [obj .attribute ]
333+ counter = Counter (
334+ user = self .context ["user" ],
335+ group = self .context ["group" ],
336+ group_check = obj ,
337+ )
338+ start_time , end_time = counter .get_reset_timestamps ()
339+ return end_time
340+ except (SkipCheck , ValueError , KeyError ):
341+ return None
342+
329343
330344class UserRadiusUsageSerializer (serializers .Serializer ):
331345 def to_representation (self , obj ):
0 commit comments