|
1 | 1 | from typing import List, Optional
|
2 | 2 |
|
3 | 3 | from ariadne import ObjectType
|
4 |
| -from shared.plan.constants import PlanData |
5 | 4 | from shared.plan.service import PlanService
|
6 | 5 |
|
7 | 6 | from codecov.db import sync_to_async
|
| 7 | +from codecov_auth.models import Plan |
8 | 8 | from graphql_api.helpers.ariadne import ariadne_load_local_graphql
|
9 | 9 |
|
10 | 10 | plan_representation = ariadne_load_local_graphql(
|
|
14 | 14 |
|
15 | 15 |
|
16 | 16 | @plan_representation_bindable.field("marketingName")
|
17 |
| -def resolve_marketing_name(plan_data: PlanData, info) -> str: |
18 |
| - return plan_data["marketing_name"] |
| 17 | +def resolve_marketing_name(plan_data: Plan, info) -> str: |
| 18 | + return plan_data.marketing_name |
19 | 19 |
|
20 | 20 |
|
21 | 21 | @plan_representation_bindable.field("value")
|
22 |
| -def resolve_plan_value(plan_data: PlanData, info) -> str: |
23 |
| - return plan_data["value"] |
| 22 | +def resolve_plan_value(plan_data: Plan, info) -> str: |
| 23 | + return plan_data.name |
24 | 24 |
|
25 | 25 |
|
26 | 26 | @plan_representation_bindable.field("billingRate")
|
27 |
| -def resolve_billing_rate(plan_data: PlanData, info) -> Optional[str]: |
28 |
| - return plan_data["billing_rate"] |
| 27 | +def resolve_billing_rate(plan_data: Plan, info) -> Optional[str]: |
| 28 | + return plan_data.billing_rate |
29 | 29 |
|
30 | 30 |
|
31 | 31 | @plan_representation_bindable.field("baseUnitPrice")
|
32 |
| -def resolve_base_unit_price(plan_data: PlanData, info) -> int: |
33 |
| - return plan_data["base_unit_price"] |
| 32 | +def resolve_base_unit_price(plan_data: Plan, info) -> int: |
| 33 | + return plan_data.base_unit_price |
34 | 34 |
|
35 | 35 |
|
36 | 36 | @plan_representation_bindable.field("benefits")
|
37 | 37 | @sync_to_async
|
38 |
| -def resolve_benefits(plan_data: PlanData, info) -> List[str]: |
| 38 | +def resolve_benefits(plan_data: Plan, info) -> List[str]: |
39 | 39 | plan_service: PlanService = info.context["plan_service"]
|
40 | 40 | if plan_service.is_org_trialing:
|
41 | 41 | benefits_with_pretrial_users = [
|
42 | 42 | benefit.replace(
|
43 | 43 | "Up to 1 user", f"Up to {plan_service.pretrial_users_count} users"
|
44 | 44 | )
|
45 |
| - for benefit in plan_data["benefits"] |
| 45 | + for benefit in plan_data.benefits |
46 | 46 | ]
|
47 | 47 | return benefits_with_pretrial_users
|
48 |
| - return plan_data["benefits"] |
| 48 | + return plan_data.benefits |
49 | 49 |
|
50 | 50 |
|
51 | 51 | @plan_representation_bindable.field("monthlyUploadLimit")
|
52 |
| -def resolve_monthly_uploads_limit(plan_data: PlanData, info) -> Optional[int]: |
53 |
| - return plan_data["monthly_uploads_limit"] |
| 52 | +def resolve_monthly_uploads_limit(plan_data: Plan, info) -> Optional[int]: |
| 53 | + return plan_data.monthly_uploads_limit |
54 | 54 |
|
55 | 55 |
|
56 | 56 | @plan_representation_bindable.field("isEnterprisePlan")
|
57 |
| -def resolve_is_enterprise(plan_data: PlanData, info) -> bool: |
58 |
| - return plan_data["is_enterprise_plan"] |
| 57 | +def resolve_is_enterprise(plan_data: Plan, info) -> bool: |
| 58 | + return plan_data.is_enterprise_plan |
59 | 59 |
|
60 | 60 |
|
61 | 61 | @plan_representation_bindable.field("isFreePlan")
|
62 |
| -def resolve_is_free(plan_data: PlanData, info) -> bool: |
63 |
| - return plan_data["is_free_plan"] |
| 62 | +def resolve_is_free(plan_data: Plan, info) -> bool: |
| 63 | + return plan_data.is_free_plan |
64 | 64 |
|
65 | 65 |
|
66 | 66 | @plan_representation_bindable.field("isProPlan")
|
67 |
| -def resolve_is_pro(plan_data: PlanData, info) -> bool: |
68 |
| - return plan_data["is_pro_plan"] |
| 67 | +def resolve_is_pro(plan_data: Plan, info) -> bool: |
| 68 | + return plan_data.is_pro_plan |
69 | 69 |
|
70 | 70 |
|
71 | 71 | @plan_representation_bindable.field("isTeamPlan")
|
72 |
| -def resolve_is_team(plan_data: PlanData, info) -> bool: |
73 |
| - return plan_data["is_team_plan"] |
| 72 | +def resolve_is_team(plan_data: Plan, info) -> bool: |
| 73 | + return plan_data.is_team_plan |
74 | 74 |
|
75 | 75 |
|
76 | 76 | @plan_representation_bindable.field("isSentryPlan")
|
77 |
| -def resolve_is_sentry(plan_data: PlanData, info) -> bool: |
78 |
| - return plan_data["is_sentry_plan"] |
| 77 | +def resolve_is_sentry(plan_data: Plan, info) -> bool: |
| 78 | + return plan_data.is_sentry_plan |
79 | 79 |
|
80 | 80 |
|
81 | 81 | @plan_representation_bindable.field("isTrialPlan")
|
82 |
| -def resolve_is_trial(plan_data: PlanData, info) -> bool: |
83 |
| - return plan_data["is_trial_plan"] |
| 82 | +def resolve_is_trial(plan_data: Plan, info) -> bool: |
| 83 | + return plan_data.is_trial_plan |
0 commit comments