File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed
services/web/server/src/simcore_service_webserver/invitations Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change 1111from pydantic import Field
1212from servicelib .aiohttp .requests_validation import parse_request_body_as
1313from servicelib .request_keys import RQT_USERID_KEY
14- from yarl import URL
1514
1615from .._meta import API_VTAG as VTAG
1716from ..constants import RQ_PRODUCT_KEY
@@ -53,21 +52,19 @@ async def generate_invitation(request: web.Request):
5352 extra_credits_in_usd = body .extra_credits_in_usd ,
5453 product = req_ctx .product_name ,
5554 ),
55+ request .url ,
5656 )
5757 assert request .url .host # nosec
5858 assert generated .product == req_ctx .product_name # nosec
5959 assert generated .guest == body .guest # nosec
6060
61- url = URL (f"{ generated .invitation_url } " )
62- invitation_link = request .url .with_path (url .path ).with_fragment (url .raw_fragment )
63-
6461 invitation = InvitationGenerated (
6562 product_name = generated .product ,
6663 issuer = generated .issuer ,
6764 guest = generated .guest ,
6865 trial_account_days = generated .trial_account_days ,
6966 extra_credits_in_usd = generated .extra_credits_in_usd ,
7067 created = generated .created ,
71- invitation_link = f" { invitation_link } " , # type: ignore[arg-type]
68+ invitation_link = generated . invitation_url ,
7269 )
7370 return envelope_json_response (invitation .model_dump (exclude_none = True ))
Original file line number Diff line number Diff line change 88 ApiInvitationInputs ,
99)
1010from models_library .emails import LowerCaseEmailStr
11- from pydantic import AnyHttpUrl , TypeAdapter , ValidationError
11+ from pydantic import AnyHttpUrl , HttpUrl , TypeAdapter , ValidationError
12+ from yarl import URL
1213
1314from ..groups .api import is_user_by_email_in_group
1415from ..products .models import Product
@@ -134,7 +135,9 @@ async def extract_invitation(
134135
135136
136137async def generate_invitation (
137- app : web .Application , params : ApiInvitationInputs
138+ app : web .Application ,
139+ params : ApiInvitationInputs ,
140+ product_origin_url : URL ,
138141) -> ApiInvitationContentAndLink :
139142 """
140143 Raises:
@@ -145,4 +148,10 @@ async def generate_invitation(
145148 invitation : ApiInvitationContentAndLink = await get_invitations_service_api (
146149 app = app
147150 ).generate_invitation (params )
151+
152+ _tmp_url = URL (f"{ invitation .invitation_url } " )
153+ invitation .invitation_url = HttpUrl (
154+ f"{ product_origin_url .with_path (_tmp_url .path ).with_fragment (_tmp_url .raw_fragment )} "
155+ )
156+
148157 return invitation
You can’t perform that action at this time.
0 commit comments