Skip to content

Commit 3ee6b78

Browse files
Shield: Change to date time with fixed offset
1 parent 10f9a10 commit 3ee6b78

File tree

12 files changed

+38
-37
lines changed

12 files changed

+38
-37
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,4 +163,4 @@ target/
163163
book/book/
164164

165165
# SeaORM
166-
packages/storage/shield-seaorm/src/entities_template/
166+
packages/storage/shield-sea-orm/src/entities_template/

packages/core/shield/src/user.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::fmt::Debug;
22

33
use async_trait::async_trait;
4-
use chrono::{DateTime, Utc};
4+
use chrono::{DateTime, FixedOffset};
55
use serde::{Deserialize, Serialize};
66

77
use crate::error::StorageError;
@@ -33,8 +33,8 @@ pub struct EmailAddress {
3333
pub is_primary: bool,
3434
pub is_verified: bool,
3535
pub verification_token: Option<String>,
36-
pub verification_token_expired_at: Option<DateTime<Utc>>,
37-
pub verified_at: Option<DateTime<Utc>>,
36+
pub verification_token_expired_at: Option<DateTime<FixedOffset>>,
37+
pub verified_at: Option<DateTime<FixedOffset>>,
3838
pub user_id: String,
3939
}
4040

@@ -44,8 +44,8 @@ pub struct CreateEmailAddress {
4444
pub is_primary: bool,
4545
pub is_verified: bool,
4646
pub verification_token: Option<String>,
47-
pub verification_token_expired_at: Option<DateTime<Utc>>,
48-
pub verified_at: Option<DateTime<Utc>>,
47+
pub verification_token_expired_at: Option<DateTime<FixedOffset>>,
48+
pub verified_at: Option<DateTime<FixedOffset>>,
4949
}
5050

5151
#[derive(Clone, Debug)]
@@ -54,8 +54,8 @@ pub struct UpdateEmailAddress {
5454
pub is_primary: Option<bool>,
5555
pub is_verified: Option<bool>,
5656
pub verification_token: Option<Option<String>>,
57-
pub verification_token_expired_at: Option<Option<DateTime<Utc>>>,
58-
pub verified_at: Option<Option<DateTime<Utc>>>,
57+
pub verification_token_expired_at: Option<Option<DateTime<FixedOffset>>>,
58+
pub verified_at: Option<Option<DateTime<FixedOffset>>>,
5959
}
6060

6161
#[cfg(test)]

packages/providers/shield-oidc/src/connection.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use chrono::{DateTime, Utc};
1+
use chrono::{DateTime, FixedOffset};
22

33
#[derive(Clone, Debug)]
44
pub struct OidcConnection {
@@ -8,7 +8,7 @@ pub struct OidcConnection {
88
pub access_token: String,
99
pub refresh_token: Option<String>,
1010
pub id_token: Option<String>,
11-
pub expired_at: Option<DateTime<Utc>>,
11+
pub expired_at: Option<DateTime<FixedOffset>>,
1212
pub scopes: Option<Vec<String>>,
1313
pub subprovider_id: String,
1414
pub user_id: String,
@@ -21,7 +21,7 @@ pub struct CreateOidcConnection {
2121
pub access_token: String,
2222
pub refresh_token: Option<String>,
2323
pub id_token: Option<String>,
24-
pub expired_at: Option<DateTime<Utc>>,
24+
pub expired_at: Option<DateTime<FixedOffset>>,
2525
pub scopes: Option<Vec<String>>,
2626
pub subprovider_id: String,
2727
pub user_id: String,
@@ -34,6 +34,6 @@ pub struct UpdateOidcConnection {
3434
pub access_token: Option<String>,
3535
pub refresh_token: Option<Option<String>>,
3636
pub id_token: Option<Option<String>>,
37-
pub expired_at: Option<Option<DateTime<Utc>>>,
37+
pub expired_at: Option<Option<DateTime<FixedOffset>>>,
3838
pub scopes: Option<Option<Vec<String>>>,
3939
}

packages/providers/shield-oidc/src/provider.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use async_trait::async_trait;
2-
use chrono::{DateTime, Duration, Utc};
2+
use chrono::{DateTime, Duration, FixedOffset, Utc};
33
use openidconnect::{
44
core::{CoreAuthenticationFlow, CoreGenderClaim, CoreTokenResponse},
55
reqwest::async_http_client,
@@ -463,7 +463,7 @@ type ParsedTokenResponse = (
463463
String,
464464
Option<String>,
465465
Option<String>,
466-
Option<DateTime<Utc>>,
466+
Option<DateTime<FixedOffset>>,
467467
Option<Vec<String>>,
468468
);
469469

@@ -481,9 +481,10 @@ fn parse_token_response(
481481
.map(|id_token| id_token.to_string()),
482482
match token_response.expires_in() {
483483
Some(expires_in) => Some(
484-
Utc::now()
484+
(Utc::now()
485485
+ Duration::from_std(expires_in)
486-
.map_err(|err| ShieldError::Validation(err.to_string()))?,
486+
.map_err(|err| ShieldError::Validation(err.to_string()))?)
487+
.into(),
487488
),
488489
None => None,
489490
},

packages/storage/shield-sea-orm/src/entities/email_address.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ use serde::{Deserialize, Serialize};
88
pub struct Model {
99
#[sea_orm(primary_key, auto_increment = false)]
1010
pub id: Uuid,
11-
pub created_at: DateTimeUtc,
12-
pub updated_at: DateTimeUtc,
11+
pub created_at: DateTimeWithTimeZone,
12+
pub updated_at: DateTimeWithTimeZone,
1313
#[sea_orm(unique)]
1414
pub email: String,
1515
pub is_primary: bool,
1616
pub is_verified: bool,
1717
pub verification_token: Option<String>,
18-
pub verification_token_expired_at: Option<DateTimeUtc>,
19-
pub verified_at: Option<DateTimeUtc>,
18+
pub verification_token_expired_at: Option<DateTimeWithTimeZone>,
19+
pub verified_at: Option<DateTimeWithTimeZone>,
2020
#[cfg(feature = "entity")]
2121
pub entity_id: Uuid,
2222
#[cfg(not(feature = "entity"))]

packages/storage/shield-sea-orm/src/entities/email_auth_token.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ use serde::{Deserialize, Serialize};
88
pub struct Model {
99
#[sea_orm(primary_key, auto_increment = false)]
1010
pub id: Uuid,
11-
pub created_at: DateTimeUtc,
12-
pub updated_at: DateTimeUtc,
11+
pub created_at: DateTimeWithTimeZone,
12+
pub updated_at: DateTimeWithTimeZone,
1313
pub email: String,
1414
pub token: String,
15-
pub expired_at: DateTimeUtc,
15+
pub expired_at: DateTimeWithTimeZone,
1616
}
1717

1818
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

packages/storage/shield-sea-orm/src/entities/entity.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ use serde::{Deserialize, Serialize};
88
pub struct Model {
99
#[sea_orm(primary_key, auto_increment = false)]
1010
pub id: Uuid,
11-
pub created_at: DateTimeUtc,
12-
pub updated_at: DateTimeUtc,
11+
pub created_at: DateTimeWithTimeZone,
12+
pub updated_at: DateTimeWithTimeZone,
1313
#[sea_orm(column_type = "Text")]
1414
pub name: String,
1515
}

packages/storage/shield-sea-orm/src/entities/oauth_provider.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ pub enum OauthProviderVisibility {
4747
pub struct Model {
4848
#[sea_orm(primary_key, auto_increment = false)]
4949
pub id: Uuid,
50-
pub created_at: DateTimeUtc,
51-
pub updated_at: DateTimeUtc,
50+
pub created_at: DateTimeWithTimeZone,
51+
pub updated_at: DateTimeWithTimeZone,
5252
pub name: String,
5353
pub slug: Option<String>,
5454
pub r#type: OauthProviderType,

packages/storage/shield-sea-orm/src/entities/oauth_provider_connection.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ use serde::{Deserialize, Serialize};
88
pub struct Model {
99
#[sea_orm(primary_key, auto_increment = false)]
1010
pub id: Uuid,
11-
pub created_at: DateTimeUtc,
12-
pub updated_at: DateTimeUtc,
11+
pub created_at: DateTimeWithTimeZone,
12+
pub updated_at: DateTimeWithTimeZone,
1313
pub identifier: String,
1414
#[sea_orm(column_type = "Text")]
1515
pub token_type: String,
1616
#[sea_orm(column_type = "Text")]
1717
pub access_token: String,
1818
#[sea_orm(column_type = "Text", nullable)]
1919
pub refresh_token: Option<String>,
20-
pub expired_at: Option<DateTimeUtc>,
20+
pub expired_at: Option<DateTimeWithTimeZone>,
2121
#[sea_orm(column_type = "Text", nullable)]
2222
pub scopes: Option<String>,
2323
pub provider_id: Uuid,

packages/storage/shield-sea-orm/src/entities/oidc_provider.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ pub enum OidcProviderVisibility {
4343
pub struct Model {
4444
#[sea_orm(primary_key, auto_increment = false)]
4545
pub id: Uuid,
46-
pub created_at: DateTimeUtc,
47-
pub updated_at: DateTimeUtc,
46+
pub created_at: DateTimeWithTimeZone,
47+
pub updated_at: DateTimeWithTimeZone,
4848
pub name: String,
4949
pub slug: Option<String>,
5050
pub r#type: OidcProviderType,

0 commit comments

Comments
 (0)