|
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