@@ -47,30 +47,6 @@ def __init__(
47
47
MODE_TYPE = Literal ["REQUIRED" , "OPTIONAL" ]
48
48
49
49
50
- class ParentRecipeEmailVerificationConfig :
51
- def __init__ (
52
- self ,
53
- mode : MODE_TYPE ,
54
- email_delivery : Union [EmailDeliveryConfig [EmailTemplateVars ], None ] = None ,
55
- get_email_for_user_id : Optional [TypeGetEmailForUserIdFunction ] = None ,
56
- create_and_send_custom_email : Union [
57
- Callable [[User , str , Dict [str , Any ]], Awaitable [None ]], None
58
- ] = None ,
59
- override : Union [OverrideConfig , None ] = None ,
60
- ):
61
- self .mode : MODE_TYPE = mode
62
- self .email_delivery = email_delivery
63
- self .get_email_for_user_id = get_email_for_user_id
64
- self .create_and_send_custom_email = create_and_send_custom_email
65
- self .override = override
66
-
67
- if create_and_send_custom_email :
68
- # Note: This will appear twice because `InputEmailVerificationConfig` will also produce same warning.
69
- deprecated_warn (
70
- "create_and_send_custom_email is deprecated. Please use email delivery config instead"
71
- )
72
-
73
-
74
50
class EmailVerificationConfig :
75
51
def __init__ (
76
52
self ,
@@ -88,49 +64,49 @@ def __init__(
88
64
89
65
90
66
def validate_and_normalise_user_input (
91
- app_info : AppInfo , config : ParentRecipeEmailVerificationConfig
67
+ app_info : AppInfo ,
68
+ mode : MODE_TYPE ,
69
+ email_delivery : Union [EmailDeliveryConfig [EmailTemplateVars ], None ] = None ,
70
+ get_email_for_user_id : Optional [TypeGetEmailForUserIdFunction ] = None ,
71
+ create_and_send_custom_email : Union [
72
+ Callable [[User , str , Dict [str , Any ]], Awaitable [None ]], None
73
+ ] = None ,
74
+ override : Union [OverrideConfig , None ] = None ,
92
75
) -> EmailVerificationConfig :
93
- if not isinstance ( config , ParentRecipeEmailVerificationConfig ): # type: ignore
94
- raise ValueError (
95
- "config must be an instance of ParentRecipeEmailVerificationConfig "
76
+ if create_and_send_custom_email :
77
+ deprecated_warn (
78
+ "create_and_send_custom_email is deprecated. Please use email delivery config instead "
96
79
)
97
80
98
- if config . mode not in ["REQUIRED" , "OPTIONAL" ]:
81
+ if mode not in ["REQUIRED" , "OPTIONAL" ]:
99
82
raise ValueError (
100
83
"Email Verification recipe mode must be one of 'REQUIRED' or 'OPTIONAL'"
101
84
)
102
85
103
86
def get_email_delivery_config () -> EmailDeliveryConfigWithService [
104
87
VerificationEmailTemplateVars
105
88
]:
106
- email_service = (
107
- config .email_delivery .service if config .email_delivery is not None else None
108
- )
89
+ email_service = email_delivery .service if email_delivery is not None else None
109
90
if email_service is None :
110
91
email_service = BackwardCompatibilityService (
111
- app_info , config . create_and_send_custom_email
92
+ app_info , create_and_send_custom_email
112
93
)
113
94
114
- if (
115
- config .email_delivery is not None
116
- and config .email_delivery .override is not None
117
- ):
118
- override = config .email_delivery .override
95
+ if email_delivery is not None and email_delivery .override is not None :
96
+ override = email_delivery .override
119
97
else :
120
98
override = None
121
99
return EmailDeliveryConfigWithService (email_service , override = override )
122
100
123
- override = config .override
124
-
125
101
if override is not None and not isinstance (override , OverrideConfig ): # type: ignore
126
102
raise ValueError ("override must be of type OverrideConfig or None" )
127
103
128
104
if override is None :
129
105
override = OverrideConfig ()
130
106
131
107
return EmailVerificationConfig (
132
- config . mode ,
108
+ mode ,
133
109
get_email_delivery_config ,
134
- config . get_email_for_user_id ,
110
+ get_email_for_user_id ,
135
111
override ,
136
112
)
0 commit comments