Skip to content

Commit 1c7ee78

Browse files
authored
Merge pull request #348 from avored/346-backend-use-proper-locale
346 backend use proper locale
2 parents 8776337 + 92d82e9 commit 1c7ee78

22 files changed

Lines changed: 84 additions & 66 deletions

resources/locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
"validation_required": "%{attribute} is a required field.",
2121
"validation_count": "The given %{attribute} has to be unique.",
2222
"email_password_not_matched": "Email and Password did not match.",
23+
"validation_invalid_local": "The given %{provided_locale} is not valid locale. System is not supported for this locale.",
2324
"admin_user_forbidden": "You are not allowed to perform this request. Please check with your administrator."
2425
}

resources/locales/fr.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"name": "french"
2+
"name": "french",
3+
"email_address_not_valid": "french Email address is not valid",
4+
"validation_required": "french %{attribute} is a required field."
35
}

src/api/admin_user_api.rs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,9 @@ impl AdminUser for AdminUserApi {
9494
)
9595
.await?;
9696

97+
let user_locale = logged_in_user.locale.clone();
9798
let request_data = request.into_inner();
98-
request_data.validate(&self.state).await?;
99+
request_data.validate(&self.state, user_locale).await?;
99100

100101

101102
match self
@@ -178,8 +179,9 @@ impl AdminUser for AdminUserApi {
178179
)
179180
.await?;
180181

182+
let user_locale = logged_in_user.locale.clone();
181183
let req = request.into_inner();
182-
req.validate().await?;
184+
req.validate(user_locale).await?;
183185

184186
match self
185187
.state
@@ -282,8 +284,9 @@ impl AdminUser for AdminUserApi {
282284
)
283285
.await?;
284286

287+
let user_locale = logged_in_user.locale.clone();
285288
let req = request.into_inner();
286-
req.validate(&self.state).await?;
289+
req.validate(&self.state, user_locale).await?;
287290

288291
let created_role_request = CreatableRole {
289292
name: req.name,
@@ -355,8 +358,9 @@ impl AdminUser for AdminUserApi {
355358
)
356359
.await?;
357360

361+
let user_locale = logged_in_user.locale.clone();
358362
let req = request.into_inner();
359-
req.validate()?;
363+
req.validate(user_locale)?;
360364

361365
match self
362366
.state
@@ -394,8 +398,9 @@ impl AdminUser for AdminUserApi {
394398
)
395399
.await?;
396400

401+
let user_locale = logged_in_user.locale.clone();
397402
let req = request.into_inner();
398-
req.validate(&self.state).await?;
403+
req.validate(&self.state, user_locale).await?;
399404

400405
match self
401406
.state
@@ -430,8 +435,9 @@ impl AdminUser for AdminUserApi {
430435
)
431436
.await?;
432437

438+
let user_locale = logged_in_user.locale.clone();
433439
let req = request.into_inner();
434-
req.validate()?;
440+
req.validate(user_locale)?;
435441

436442
match self
437443
.state
@@ -469,8 +475,9 @@ impl AdminUser for AdminUserApi {
469475
)
470476
.await?;
471477

478+
let user_locale = logged_in_user.locale.clone();
472479
let req = request.into_inner();
473-
req.validate()?;
480+
req.validate(user_locale)?;
474481

475482
match self
476483
.state
@@ -508,8 +515,9 @@ impl AdminUser for AdminUserApi {
508515
)
509516
.await?;
510517

518+
let user_locale = logged_in_user.locale.clone();
511519
let req = request.into_inner();
512-
req.validate()?;
520+
req.validate(user_locale)?;
513521

514522
match self
515523
.state

src/api/content_api.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,9 @@ impl Content for ContentApi {
104104
)
105105
.await?;
106106

107+
let user_locale = logged_in_user.locale.clone();
107108
let req = request.into_inner();
108-
req.validate(&self.state).await?;
109+
req.validate(&self.state, user_locale).await?;
109110

110111
match self
111112
.state
@@ -174,8 +175,9 @@ impl Content for ContentApi {
174175
)
175176
.await?;
176177

178+
let user_locale = logged_in_user.locale.clone();
177179
let req = request.into_inner();
178-
req.validate().await?;
180+
req.validate(user_locale).await?;
179181

180182
match self
181183
.state
@@ -213,8 +215,9 @@ impl Content for ContentApi {
213215
)
214216
.await?;
215217

218+
let user_locale = logged_in_user.locale.clone();
216219
let req = request.into_inner();
217-
req.validate(&self.state).await?;
220+
req.validate(&self.state, user_locale).await?;
218221

219222
match self
220223
.state
@@ -282,8 +285,9 @@ impl Content for ContentApi {
282285
)
283286
.await?;
284287

288+
let user_locale = logged_in_user.locale.clone();
285289
let req = request.into_inner();
286-
req.validate(&self.state).await?;
290+
req.validate(&self.state, user_locale).await?;
287291

288292
match self
289293
.state
@@ -318,8 +322,9 @@ impl Content for ContentApi {
318322
)
319323
.await?;
320324

325+
let user_locale = logged_in_user.locale.clone();
321326
let req = request.into_inner();
322-
req.validate()?;
327+
req.validate(user_locale)?;
323328

324329
match self
325330
.state
@@ -354,8 +359,9 @@ impl Content for ContentApi {
354359
)
355360
.await?;
356361

362+
let user_locale = logged_in_user.locale.clone();
357363
let req = request.into_inner();
358-
req.validate()?;
364+
req.validate(user_locale)?;
359365

360366
match self
361367
.state

src/repositories/security_alert_repository.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ impl SecurityAlertRepository {
3232
createable_security_alert_model: CreateSecurityAlertModel,
3333
) -> Result<SecurityAlertModel> {
3434
// Validate the input
35+
3536
createable_security_alert_model.validate()?;
3637

3738
let sql = r"

src/requests/admin_user_request/change_admin_user_password_request.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ use rust_i18n::t;
66

77
impl ChangeAdminUserPasswordRequest {
88
/// validate
9-
pub fn validate(&self) -> crate::error::Result<()> {
9+
pub fn validate(&self, locale: String) -> crate::error::Result<()> {
1010
let mut errors: Vec<ErrorMessage> = vec![];
1111
let mut valid = true;
1212

1313
if !self.password.required()? {
1414
let error_message = ErrorMessage {
1515
key: String::from("password"),
16-
message: t!("validation_required", attribute = t!("password")).to_string(),
16+
message: t!("validation_required", locale = locale, attribute = t!("password", locale = locale)).to_string(),
1717
};
1818
valid = false;
1919
errors.push(error_message);
@@ -22,7 +22,7 @@ impl ChangeAdminUserPasswordRequest {
2222
if !self.new_password.required()? {
2323
let error_message = ErrorMessage {
2424
key: String::from("new_password"),
25-
message: t!("validation_required", attribute = t!("new_password")).to_string(),
25+
message: t!("validation_required", locale = locale, attribute = t!("new_password", locale = locale)).to_string(),
2626
};
2727
valid = false;
2828
errors.push(error_message);
@@ -31,7 +31,7 @@ impl ChangeAdminUserPasswordRequest {
3131
if !self.confirm_password.required()? {
3232
let error_message = ErrorMessage {
3333
key: String::from("confirm_password"),
34-
message: t!("validation_required", attribute = t!("confirm_password")).to_string(),
34+
message: t!("validation_required", locale = locale, attribute = t!("confirm_password", locale = locale)).to_string(),
3535
};
3636
valid = false;
3737
errors.push(error_message);
@@ -40,7 +40,7 @@ impl ChangeAdminUserPasswordRequest {
4040
if self.new_password != self.confirm_password {
4141
let error_message = ErrorMessage {
4242
key: String::from("confirm_password"),
43-
message: t!("validation_confirmed", attribute = t!("confirm_password")).to_string(),
43+
message: t!("validation_confirmed", locale = locale, attribute = t!("confirm_password", locale = locale)).to_string(),
4444
};
4545
valid = false;
4646
errors.push(error_message);

src/requests/admin_user_request/delete_admin_user_request.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ use rust_i18n::t;
66

77
impl DeleteAdminUserRequest {
88
/// validate
9-
pub fn validate(&self) -> crate::error::Result<()> {
9+
pub fn validate(&self, locale: String) -> crate::error::Result<()> {
1010
let mut errors: Vec<ErrorMessage> = vec![];
1111
let mut valid = true;
1212

1313
if !self.admin_user_id.required()? {
1414
let error_message = ErrorMessage {
1515
key: String::from("admin_user"),
16-
message: t!("validation_required", attribute = t!("admin_user")).to_string(),
16+
message: t!("validation_required", locale = locale, attribute = t!("admin_user", locale = locale)).to_string(),
1717
};
1818
valid = false;
1919
errors.push(error_message);

src/requests/auth_request/delete_role_request.rs renamed to src/requests/admin_user_request/delete_role_request.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ use rust_i18n::t;
66

77
impl DeleteRoleRequest {
88
/// validate
9-
pub fn validate(&self) -> crate::error::Result<()> {
9+
pub fn validate(&self, locale: String) -> crate::error::Result<()> {
1010
let mut errors: Vec<ErrorMessage> = vec![];
1111
let mut valid = true;
1212

1313
if !self.role_id.required()? {
1414
let error_message = ErrorMessage {
1515
key: String::from("role_id"),
16-
message: t!("validation_required", attribute = t!("role_id")).to_string(),
16+
message: t!("validation_required", locale = locale, attribute = t!("role_id", locale = locale)).to_string(),
1717
};
1818
valid = false;
1919
errors.push(error_message);

src/requests/admin_user_request/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ pub mod update_admin_user_request;
1212
pub mod update_role_request;
1313
/// change admin user password request
1414
pub mod change_admin_user_password_request;
15+
16+
/// delete role request
17+
pub mod delete_role_request;

src/requests/admin_user_request/put_role_identifier_request.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ use rust_i18n::t;
55

66
impl PutRoleIdentifierRequest {
77
/// validate
8-
pub async fn validate(&self, state: &AvoRedState) -> crate::error::Result<()> {
8+
pub async fn validate(&self, state: &AvoRedState, locale: String) -> crate::error::Result<()> {
99
let mut errors: Vec<ErrorMessage> = vec![];
1010
let mut valid = true;
1111

1212
if self.identifier.is_empty() {
1313
let error_message = ErrorMessage {
1414
key: String::from("identifier"),
15-
message: t!("validation_required", attribute = t!("identifier")).to_string(),
15+
message: t!("validation_required", locale = locale, attribute = t!("identifier", locale = locale)).to_string(),
1616
};
1717

1818
valid = false;
@@ -27,7 +27,7 @@ impl PutRoleIdentifierRequest {
2727
if role_identifier_count.total > 0 {
2828
let error_message = ErrorMessage {
2929
key: String::from("email"),
30-
message: t!("validation_count", attribute = t!("email")).to_string(),
30+
message: t!("validation_count", locale = locale, attribute = t!("email", locale = locale)).to_string(),
3131
};
3232

3333
valid = false;

0 commit comments

Comments
 (0)