Source code for pydelfini.delfini_core.models.user_stats

from typing import Any
from typing import Dict
from typing import Type
from typing import TypeVar

from attrs import define as _attrs_define

from ..models.user_stats_sign_in_methods import UserStatsSignInMethods


T = TypeVar("T", bound="UserStats")


[docs] @_attrs_define class UserStats: """User counts for the admin console Attributes: created_last_30_days (int): created_last_7_days (int): disabled (int): sign_in_methods (UserStatsSignInMethods): Users per sign-in method: "password" plus each external sign-in provider total (int): """ created_last_30_days: int created_last_7_days: int disabled: int sign_in_methods: "UserStatsSignInMethods" total: int
[docs] def to_dict(self) -> Dict[str, Any]: """Convert to a dict""" created_last_30_days = self.created_last_30_days created_last_7_days = self.created_last_7_days disabled = self.disabled sign_in_methods = self.sign_in_methods.to_dict() total = self.total field_dict: Dict[str, Any] = {} field_dict.update( { "created_last_30_days": created_last_30_days, "created_last_7_days": created_last_7_days, "disabled": disabled, "sign_in_methods": sign_in_methods, "total": total, } ) return field_dict
[docs] @classmethod def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: """Create an instance of :py:class:`UserStats` from a dict""" d = src_dict.copy() created_last_30_days = d.pop("created_last_30_days") created_last_7_days = d.pop("created_last_7_days") disabled = d.pop("disabled") sign_in_methods = UserStatsSignInMethods.from_dict(d.pop("sign_in_methods")) total = d.pop("total") user_stats = cls( created_last_30_days=created_last_30_days, created_last_7_days=created_last_7_days, disabled=disabled, sign_in_methods=sign_in_methods, total=total, ) return user_stats