Move user related views to FAB Auth manager:

- List users
- Edit user
- Create user
- View user
"""
        Add the new (action, resource) to assoc_permission_role if it doesn't exist.
        It will add the related entry to ab_permission and ab_resource two meta tables as well.
        :param action_name: Name of the action
        :param resource_name: Name of the resource
        :return:
        """
        action = self.get_action(action_name)
        resource = self.get_resource(resource_name)
        perm = None
        if action and resource:
            perm = (
                self.appbuilder.get_session.query(self.permission_model)
                .filter_by(action=action, resource=resource)
                .first()
            )
        if not perm and action_name and resource_name:
            self.create_permission(action_name, resource_name)
    def add_homepage_access_to_custom_roles(self) -> None:
        """
        Add Website.can_read access to all custom roles.
        :return: None.
        """
        website_permission = self.create_permission(permissions.ACTION_CAN_READ, permissions.RESOURCE_WEBSITE)
        custom_roles = [role for role in self.get_all_roles() if role.name not in EXISTING_ROLES]
        for role in custom_roles:
            self.add_permission_to_role(role, website_permission)
        self.appbuilder.get_session.commit()
    def get_all_permissions(self) -> set[tuple[str, str]]: