Skip to content

Commit 031d64f

Browse files
committed
Rename DatabaseError::Internal to DatabaseError::Error
Refactors the DatabaseError enum by renaming the Internal variant to Error across storage and API layers. Updates all usages and error handling logic to use the new variant name for consistency and clarity.
1 parent 8855068 commit 031d64f

File tree

5 files changed

+27
-27
lines changed

5 files changed

+27
-27
lines changed

apps/api/src/responders.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl From<DatabaseError> for ApiError {
4848
fn from(error: DatabaseError) -> Self {
4949
match error {
5050
DatabaseError::NotFound => ApiError::NotFound(error.to_string()),
51-
DatabaseError::Internal(msg) => ApiError::InternalServerError(msg),
51+
DatabaseError::Error(msg) => ApiError::InternalServerError(msg),
5252
}
5353
}
5454
}

crates/storage/src/error.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ use std::fmt;
44
#[derive(Debug, Clone)]
55
pub enum DatabaseError {
66
NotFound,
7-
Internal(String),
7+
Error(String),
88
}
99

1010
impl fmt::Display for DatabaseError {
1111
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1212
match self {
1313
DatabaseError::NotFound => write!(f, "Resource not found"),
14-
DatabaseError::Internal(msg) => write!(f, "Internal database error: {}", msg),
14+
DatabaseError::Error(msg) => write!(f, "{}", msg),
1515
}
1616
}
1717
}
@@ -22,7 +22,7 @@ impl From<diesel::result::Error> for DatabaseError {
2222
fn from(error: diesel::result::Error) -> Self {
2323
match error {
2424
diesel::result::Error::NotFound => DatabaseError::NotFound,
25-
e => DatabaseError::Internal(e.to_string()),
25+
e => DatabaseError::Error(e.to_string()),
2626
}
2727
}
2828
}

crates/storage/src/repositories/config_repository.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,29 +26,29 @@ impl ConfigRepository for DatabaseClient {
2626
fn get_config_i64(&mut self, key: ConfigKey) -> Result<i64, DatabaseError> {
2727
self.get_config(key)?
2828
.parse()
29-
.map_err(|e| DatabaseError::Internal(format!("Failed to parse config value: {}", e)))
29+
.map_err(|e| DatabaseError::Error(format!("Failed to parse config value: {}", e)))
3030
}
3131

3232
fn get_config_f64(&mut self, key: ConfigKey) -> Result<f64, DatabaseError> {
3333
self.get_config(key)?
3434
.parse()
35-
.map_err(|e| DatabaseError::Internal(format!("Failed to parse config value: {}", e)))
35+
.map_err(|e| DatabaseError::Error(format!("Failed to parse config value: {}", e)))
3636
}
3737

3838
fn get_config_bool(&mut self, key: ConfigKey) -> Result<bool, DatabaseError> {
3939
self.get_config(key)?
4040
.parse()
41-
.map_err(|e| DatabaseError::Internal(format!("Failed to parse config value: {}", e)))
41+
.map_err(|e| DatabaseError::Error(format!("Failed to parse config value: {}", e)))
4242
}
4343

4444
fn get_config_duration(&mut self, key: ConfigKey) -> Result<Duration, DatabaseError> {
4545
let value = self.get_config(key)?;
46-
parse_duration(&value).ok_or_else(|| DatabaseError::Internal(format!("Failed to parse duration: {}", value)))
46+
parse_duration(&value).ok_or_else(|| DatabaseError::Error(format!("Failed to parse duration: {}", value)))
4747
}
4848

4949
fn get_config_vec_string(&mut self, key: ConfigKey) -> Result<Vec<String>, DatabaseError> {
5050
let value = self.get_config(key)?;
51-
serde_json::from_str(&value).map_err(|e| DatabaseError::Internal(format!("Failed to parse config vec: {}", e)))
51+
serde_json::from_str(&value).map_err(|e| DatabaseError::Error(format!("Failed to parse config vec: {}", e)))
5252
}
5353

5454
fn add_config(&mut self, configs: Vec<ConfigRow>) -> Result<usize, DatabaseError> {

crates/storage/src/repositories/rewards_redemptions_repository.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ impl RewardsRedemptionsRepository for DatabaseClient {
2020
let rewards = RewardsStore::get_rewards(self, username)?;
2121

2222
if rewards.points < redemption_option.option.points {
23-
return Err(DatabaseError::Internal("Not enough points".into()));
23+
return Err(DatabaseError::Error("Not enough points".into()));
2424
}
2525

2626
if redemption_option.option.remaining == Some(0) {
27-
return Err(DatabaseError::Internal("Redemption option is no longer available".into()));
27+
return Err(DatabaseError::Error("Redemption option is no longer available".into()));
2828
}
2929

3030
let redemption_id = RewardsRedemptionsStore::add_redemption(

crates/storage/src/repositories/rewards_repository.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ fn has_custom_username(username: &str, address: &str) -> bool {
1616
fn 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

Comments
 (0)