@@ -16,13 +16,13 @@ fn has_custom_username(username: &str, address: &str) -> bool {
1616fn validate_username ( username : & str ) -> Result < ( ) , DatabaseError > {
1717 let len = username. len ( ) ;
1818 if len < 4 {
19- return Err ( DatabaseError :: Internal ( "Username must be at least 4 characters" . into ( ) ) ) ;
19+ return Err ( DatabaseError :: Error ( "Username must be at least 4 characters" . into ( ) ) ) ;
2020 }
2121 if len > 16 {
22- return Err ( DatabaseError :: Internal ( "Username must be at most 16 characters" . into ( ) ) ) ;
22+ return Err ( DatabaseError :: Error ( "Username must be at most 16 characters" . into ( ) ) ) ;
2323 }
2424 if !username. chars ( ) . all ( |c| c. is_ascii_alphanumeric ( ) ) {
25- return Err ( DatabaseError :: Internal ( "Username must contain only letters and digits" . into ( ) ) ) ;
25+ return Err ( DatabaseError :: Error ( "Username must contain only letters and digits" . into ( ) ) ) ;
2626 }
2727 Ok ( ( ) )
2828}
@@ -107,17 +107,17 @@ impl RewardsRepository for DatabaseClient {
107107 validate_username ( username) ?;
108108
109109 if UsernamesStore :: username_exists ( self , UsernameLookup :: Username ( username) ) ? {
110- return Err ( DatabaseError :: Internal ( "Username already taken" . into ( ) ) ) ;
110+ return Err ( DatabaseError :: Error ( "Username already taken" . into ( ) ) ) ;
111111 }
112112
113113 if UsernamesStore :: username_exists ( self , UsernameLookup :: Address ( address) ) ? {
114114 let existing = UsernamesStore :: get_username ( self , UsernameLookup :: Address ( address) ) ?;
115115 if has_custom_username ( & existing. username , & existing. address ) {
116- return Err ( DatabaseError :: Internal ( "Address already has a username" . into ( ) ) ) ;
116+ return Err ( DatabaseError :: Error ( "Address already has a username" . into ( ) ) ) ;
117117 }
118118 let existing_rewards = RewardsStore :: get_rewards ( self , & existing. username ) ?;
119119 if !existing_rewards. is_enabled {
120- return Err ( DatabaseError :: Internal ( "Rewards are not enabled for this user" . into ( ) ) ) ;
120+ return Err ( DatabaseError :: Error ( "Rewards are not enabled for this user" . into ( ) ) ) ;
121121 }
122122 UsernamesStore :: update_username ( self , address, username) ?;
123123 } else {
@@ -161,20 +161,20 @@ impl RewardsRepository for DatabaseClient {
161161 let existing = UsernamesStore :: get_username ( self , UsernameLookup :: Address ( address) ) ?;
162162
163163 if !has_custom_username ( & existing. username , & existing. address ) {
164- return Err ( DatabaseError :: Internal ( "No custom username to change" . into ( ) ) ) ;
164+ return Err ( DatabaseError :: Error ( "No custom username to change" . into ( ) ) ) ;
165165 }
166166
167167 if existing. username . eq_ignore_ascii_case ( new_username) {
168- return Err ( DatabaseError :: Internal ( "New username is the same as current" . into ( ) ) ) ;
168+ return Err ( DatabaseError :: Error ( "New username is the same as current" . into ( ) ) ) ;
169169 }
170170
171171 if UsernamesStore :: username_exists ( self , UsernameLookup :: Username ( new_username) ) ? {
172- return Err ( DatabaseError :: Internal ( "Username already taken" . into ( ) ) ) ;
172+ return Err ( DatabaseError :: Error ( "Username already taken" . into ( ) ) ) ;
173173 }
174174
175175 let rewards = RewardsStore :: get_rewards ( self , & existing. username ) ?;
176176 if !rewards. is_enabled {
177- return Err ( DatabaseError :: Internal ( "Rewards are not enabled for this user" . into ( ) ) ) ;
177+ return Err ( DatabaseError :: Error ( "Rewards are not enabled for this user" . into ( ) ) ) ;
178178 }
179179
180180 UsernamesStore :: change_username ( self , & existing. username , new_username) ?;
@@ -191,29 +191,29 @@ impl RewardsRepository for DatabaseClient {
191191 let referrer_rewards = RewardsStore :: get_rewards ( self , & referrer. username ) ?;
192192
193193 if !referrer_rewards. is_enabled {
194- return Err ( DatabaseError :: Internal ( "Rewards are not enabled for this referral code" . into ( ) ) ) ;
194+ return Err ( DatabaseError :: Error ( format ! ( "Rewards are not enabled for referral code: {}" , referral_code ) ) ) ;
195195 }
196196
197197 if UsernamesStore :: username_exists ( self , UsernameLookup :: Address ( address) ) ? {
198198 let username = UsernamesStore :: get_username ( self , UsernameLookup :: Address ( address) ) ?;
199199 let rewards = RewardsStore :: get_rewards ( self , & username. username ) ?;
200200 if !rewards. is_enabled {
201- return Err ( DatabaseError :: Internal ( "Rewards are not enabled for this user" . into ( ) ) ) ;
201+ return Err ( DatabaseError :: Error ( "Rewards are not enabled for this user" . into ( ) ) ) ;
202202 }
203203 if rewards. referrer_username . is_some ( ) {
204- return Err ( DatabaseError :: Internal ( "Already used a referral code" . into ( ) ) ) ;
204+ return Err ( DatabaseError :: Error ( "Already used a referral code" . into ( ) ) ) ;
205205 }
206206 if referrer. username == username. username || referrer. address . eq_ignore_ascii_case ( & username. address ) {
207- return Err ( DatabaseError :: Internal ( "Cannot use your own referral code" . into ( ) ) ) ;
207+ return Err ( DatabaseError :: Error ( "Cannot use your own referral code" . into ( ) ) ) ;
208208 }
209209 }
210210
211211 if SubscriptionsStore :: get_device_subscription_address_exists ( self , device_id, & referrer. address ) ? {
212- return Err ( DatabaseError :: Internal ( "Cannot use your own referral code" . into ( ) ) ) ;
212+ return Err ( DatabaseError :: Error ( "Cannot use your own referral code" . into ( ) ) ) ;
213213 }
214214
215215 if RewardsStore :: get_referral_by_referred_device_id ( self , device_id) ?. is_some ( ) {
216- return Err ( DatabaseError :: Internal ( "Device already used a referral code" . into ( ) ) ) ;
216+ return Err ( DatabaseError :: Error ( "Device already used a referral code" . into ( ) ) ) ;
217217 }
218218
219219 Ok ( ( ) )
0 commit comments