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}"