Skip to content

Commit e585bec

Browse files
✨ fix user name in invoice (#5464)
1 parent 717b61a commit e585bec

File tree

5 files changed

+22
-13
lines changed

5 files changed

+22
-13
lines changed

packages/models-library/src/models_library/payments.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from decimal import Decimal
22
from typing import Any, ClassVar
33

4+
from models_library.emails import LowerCaseEmailStr
45
from pydantic import BaseModel, Field, validator
56

67
from .products import StripePriceID, StripeTaxRateID
@@ -42,6 +43,8 @@ class InvoiceDataGet(BaseModel):
4243
stripe_price_id: StripePriceID
4344
stripe_tax_rate_id: StripeTaxRateID
4445
user_invoice_address: UserInvoiceAddress
46+
user_name: str
47+
user_email: LowerCaseEmailStr
4548

4649
class Config:
4750
schema_extra: ClassVar[dict[str, Any]] = {
@@ -53,6 +56,8 @@ class Config:
5356
"user_invoice_address": UserInvoiceAddress.Config.schema_extra[
5457
"examples"
5558
][0],
59+
"user_name": "My Name",
60+
"user_email": LowerCaseEmailStr("[email protected]"),
5661
},
5762
]
5863
}

services/payments/src/simcore_service_payments/services/auto_recharge_process_message.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from models_library.rabbitmq_basic_types import RPCMethodName
1515
from models_library.rabbitmq_messages import WalletCreditsMessage
1616
from models_library.wallets import WalletID
17-
from pydantic import EmailStr, parse_obj_as, parse_raw_as
17+
from pydantic import parse_obj_as, parse_raw_as
1818
from simcore_service_payments.db.auto_recharge_repo import AutoRechargeRepo
1919
from simcore_service_payments.db.payments_methods_repo import PaymentsMethodsRepo
2020
from simcore_service_payments.db.payments_transactions_repo import (
@@ -166,8 +166,8 @@ async def _perform_auto_recharge(
166166
wallet_id=rabbit_message.wallet_id,
167167
wallet_name=f"id={rabbit_message.wallet_id}",
168168
user_id=payment_method_db.user_id,
169-
user_name=f"id={payment_method_db.user_id}",
170-
user_email=EmailStr(f"placeholder_{payment_method_db.user_id}@example.itis"),
169+
user_name=invoice_data_get.user_name,
170+
user_email=invoice_data_get.user_email,
171171
user_address=invoice_data_get.user_invoice_address,
172172
stripe_price_id=invoice_data_get.stripe_price_id,
173173
stripe_tax_rate_id=invoice_data_get.stripe_tax_rate_id,

services/web/server/src/simcore_service_webserver/payments/_methods_api.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from simcore_postgres_database.models.payments_methods import InitPromptAckFlowState
2121
from yarl import URL
2222

23-
from ..users.api import get_user_name_and_email
23+
from ..users.api import get_user_display_and_id_names
2424
from ..wallets.api import get_wallet_by_user
2525
from . import _rpc
2626
from ._autorecharge_db import get_wallet_autorecharge
@@ -278,13 +278,13 @@ async def init_creation_of_wallet_payment_method(
278278
)
279279
assert user_wallet.wallet_id == wallet_id # nosec
280280

281-
user = await get_user_name_and_email(app, user_id=user_id)
281+
user = await get_user_display_and_id_names(app, user_id=user_id)
282282
return await _rpc.init_creation_of_payment_method(
283283
app,
284284
wallet_id=wallet_id,
285285
wallet_name=user_wallet.name,
286286
user_id=user_id,
287-
user_name=user.name,
287+
user_name=user.full_name,
288288
user_email=user.email,
289289
)
290290

services/web/server/src/simcore_service_webserver/payments/_onetime_api.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from ..db.plugin import get_database_engine
2626
from ..products.api import get_product_stripe_info
2727
from ..resource_usage.api import add_credits_to_wallet
28-
from ..users.api import get_user_invoice_address, get_user_name_and_email
28+
from ..users.api import get_user_display_and_id_names, get_user_invoice_address
2929
from ..wallets.api import get_wallet_by_user, get_wallet_with_permissions_by_user
3030
from ..wallets.errors import WalletAccessForbiddenError
3131
from . import _onetime_db, _rpc
@@ -274,7 +274,7 @@ async def init_creation_of_wallet_payment(
274274
assert user_wallet.wallet_id == wallet_id # nosec
275275

276276
# user info
277-
user = await get_user_name_and_email(app, user_id=user_id)
277+
user = await get_user_display_and_id_names(app, user_id=user_id)
278278
user_invoice_address = await get_user_invoice_address(app, user_id=user_id)
279279
# stripe info
280280
product_stripe_info = await get_product_stripe_info(app, product_name=product_name)
@@ -303,7 +303,7 @@ async def init_creation_of_wallet_payment(
303303
wallet_id=wallet_id,
304304
wallet_name=user_wallet.name,
305305
user_id=user_id,
306-
user_name=user.name,
306+
user_name=user.full_name,
307307
user_email=user.email,
308308
user_address=user_invoice_address,
309309
stripe_price_id=product_stripe_info.stripe_price_id,
@@ -362,7 +362,7 @@ async def pay_with_payment_method(
362362
product_stripe_info = await get_product_stripe_info(app, product_name=product_name)
363363

364364
# user info
365-
user = await get_user_name_and_email(app, user_id=user_id)
365+
user = await get_user_display_and_id_names(app, user_id=user_id)
366366
user_invoice_address = await get_user_invoice_address(app, user_id=user_id)
367367

368368
settings: PaymentsSettings = get_plugin_settings(app)
@@ -376,7 +376,7 @@ async def pay_with_payment_method(
376376
wallet_id=wallet_id,
377377
wallet_name=user_wallet.name,
378378
user_id=user_id,
379-
user_name=user.name,
379+
user_name=user.full_name,
380380
user_email=user.email,
381381
comment=comment,
382382
)
@@ -392,7 +392,7 @@ async def pay_with_payment_method(
392392
wallet_id=wallet_id,
393393
wallet_name=user_wallet.name,
394394
user_id=user_id,
395-
user_name=user.name,
395+
user_name=user.full_name,
396396
user_email=user.email,
397397
user_address=user_invoice_address,
398398
stripe_price_id=product_stripe_info.stripe_price_id,

services/web/server/src/simcore_service_webserver/payments/_rpc_invoice.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
from aiohttp import web
44
from models_library.api_schemas_webserver import WEBSERVER_RPC_NAMESPACE
5+
from models_library.emails import LowerCaseEmailStr
56
from models_library.payments import InvoiceDataGet, UserInvoiceAddress
67
from models_library.products import CreditResultGet, ProductName, ProductStripeInfoGet
78
from models_library.users import UserID
89
from servicelib.rabbitmq import RPCRouter
910

1011
from ..products.api import get_credit_amount, get_product_stripe_info
1112
from ..rabbitmq import get_rabbitmq_rpc_server
12-
from ..users.api import get_user_invoice_address
13+
from ..users.api import get_user_display_and_id_names, get_user_invoice_address
1314

1415
router = RPCRouter()
1516

@@ -31,12 +32,15 @@ async def get_invoice_data(
3132
user_invoice_address: UserInvoiceAddress = await get_user_invoice_address(
3233
app, user_id=user_id
3334
)
35+
user_info = await get_user_display_and_id_names(app, user_id=user_id)
3436

3537
return InvoiceDataGet(
3638
credit_amount=credit_result_get.credit_amount,
3739
stripe_price_id=product_stripe_info_get.stripe_price_id,
3840
stripe_tax_rate_id=product_stripe_info_get.stripe_tax_rate_id,
3941
user_invoice_address=user_invoice_address,
42+
user_name=user_info.full_name,
43+
user_email=LowerCaseEmailStr(user_info.email),
4044
)
4145

4246

0 commit comments

Comments
 (0)