def _to_string()

in src/Backend/src/api/adapters/google/looker.py [0:0]


    def _to_string(self, src: str) -> str:
        """
        Gets all info and turns it into url
        """
        current_time = json.dumps(int(time.time()))
        nonce = json.dumps(uuid.uuid4().hex)
        path = "/login/embed/" + urllib.parse.quote_plus(src)
        signature = self._sign(current_time, nonce, path)

        params = {
            "nonce": nonce,
            "time": current_time,
            "session_length": self.user.session_length,
            "external_user_id": self.user.external_user_id,
            "permissions": self.user.permissions,
            "models": self.user.models,
            "group_ids": self.user.group_ids,
            "external_group_id": self.user.external_group_id,
            "user_attributes": self.user.user_attributes,
            "access_filters": self.user.access_filters,
            "signature": signature.decode(),
            "first_name": self.user.first_name,
            "last_name": self.user.last_name,
            "force_logout_login": self.user.force_logout_login,
        }
        query_string = "&".join(
            [f"{key}={urllib.parse.quote_plus(val)}" for key, val in params.items()]
        )

        return f"{self.looker_host}{path}?{query_string}"