2022-12-07 10:38:03 +00:00
|
|
|
from rest_framework.request import Request
|
|
|
|
|
|
|
|
from users.models import User
|
2022-12-08 11:30:16 +00:00
|
|
|
from perms.utils.user_permission import UserPermTreeUtil
|
2022-12-07 10:38:03 +00:00
|
|
|
from common.http import is_true
|
|
|
|
|
|
|
|
|
|
|
|
__all__ = ['RebuildTreeMixin']
|
|
|
|
|
|
|
|
|
|
|
|
class RebuildTreeMixin:
|
|
|
|
user: User
|
|
|
|
|
|
|
|
def get(self, request: Request, *args, **kwargs):
|
|
|
|
force = is_true(request.query_params.get('rebuild_tree'))
|
2022-12-08 11:30:16 +00:00
|
|
|
UserPermTreeUtil(self.user).refresh_if_need(force)
|
2022-12-07 10:38:03 +00:00
|
|
|
return super().get(request, *args, **kwargs)
|