<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_serializer_class(self):
 """Augment base serializer class. Include permissions information with objects. """

        base_class = super().get_serializer_class()

        class SerializerWithPermissions(base_class):
            """Augment serializer class."""

            def get_fields(serializer_self):  # pylint: disable=no-self-argument
                """Return serializer's fields."""
                fields = super().get_fields()
                fields['current_user_permissions'] = CurrentUserPermissionsSerializer(read_only=True)
                return fields

            def to_representation(serializer_self, instance):  # pylint: disable=no-self-argument
                """Object serializer."""
                data = super().to_representation(instance)

                if ('fields' not in self.request.query_params
                        or 'current_user_permissions' in self.request.query_params['fields']):
                    data['current_user_permissions'] = get_object_perms(instance, self.request.user)

                return data

        return SerializerWithPermissions