Compare commits

..
Author SHA1 Message Date
phoenix 9dbd6ef7b0 bump: textsender_models
textsender_models PR / Rustfmt (pull_request) Successful in 4m49s
textsender_models PR / Clippy (pull_request) Successful in 5m24s
Release Tagging / release (pull_request) Successful in 41s
textsender_models PR / Check (pull_request) Successful in 5m37s
2026-07-05 16:40:17 -04:00
phoenix 9a1ce36cd8 cargo update 2026-07-05 16:39:15 -04:00
phoenix b54b0cab05 bump: rust ci 2026-07-05 16:37:15 -04:00
phoenix c980c73501 bump: rust 2026-07-05 16:37:04 -04:00
phoenix 137398405f Code refactoring (#32)
Release Tagging / release (push) Successful in 52s
Rust Build / Check (push) Successful in 1m9s
Rust Build / Rustfmt (push) Successful in 30s
Rust Build / Test Suite (push) Successful in 1m29s
Rust Build / Clippy (push) Successful in 1m2s
Rust Build / build (push) Successful in 57s
Reviewed-on: phoenix/textsender_models#32
2026-07-02 13:18:41 -04:00
8 changed files with 175 additions and 457 deletions
+3 -3
View File
@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: cargo check
@@ -28,7 +28,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check
@@ -40,7 +40,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: rustup component add clippy
- run: cargo clippy -- -D warnings
+2 -2
View File
@@ -13,14 +13,14 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0 # Important for git describe --tags
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
components: cargo
- name: Extract Version from Cargo.toml
+5 -5
View File
@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: cargo check
@@ -28,7 +28,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: cargo test
@@ -39,7 +39,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check
@@ -51,7 +51,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: rustup component add clippy
- run: cargo clippy -- -D warnings
@@ -63,6 +63,6 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.96
toolchain: 1.96.1
- uses: Swatinem/rust-cache@v2
- run: cargo build
Generated
+154 -429
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,15 +1,15 @@
[package]
name = "textsender_models"
version = "0.4.11"
version = "0.5.1"
edition = "2024"
rust-version = "1.96"
rust-version = "1.96.1"
description = "Models used for the textsender project"
[dependencies]
serde = { version = "1.0.228", features = ["derive"] }
serde_json = { version = "1.0.150" }
time = { version = "0.3.49", features = ["formatting", "macros", "parsing", "serde"] }
sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio-native-tls", "time", "uuid"] }
sqlx = { version = "0.9.0", features = ["runtime-tokio", "tls-native-tls", "postgres", "time", "uuid"] }
uuid = { version = "1.23.3", features = ["v4", "serde"] }
dotenvy = { version = "0.15.7" }
const_format = { version = "0.2.36" }
-3
View File
@@ -4,13 +4,10 @@
pub struct Contact {
#[serde(skip_serializing_if = "crate::init::is_uuid_nil")]
pub id: Option<uuid::Uuid>,
// empty?
#[serde(skip_serializing_if = "Option::is_none")]
pub firstname: Option<String>,
// empty?
#[serde(skip_serializing_if = "Option::is_none")]
pub lastname: Option<String>,
// empty?
#[serde(skip_serializing_if = "Option::is_none")]
pub nickname: Option<String>,
pub phone_number: String,
+8 -8
View File
@@ -78,8 +78,8 @@ pub struct CreateTokenResult {
}
pub fn create_token(
key: &String,
token_resource: &TokenResource,
key: &str,
token_resource: TokenResource,
duration: time::Duration,
) -> Result<CreateTokenResult, josekit::JoseError> {
let mut header = josekit::jws::JwsHeader::new();
@@ -103,7 +103,7 @@ pub fn create_token(
};
Ok(CreateTokenResult {
access_token: access_token,
access_token,
issued: issued.unix_timestamp(),
expires_in: expire.unix_timestamp(),
token_issued: issued,
@@ -114,7 +114,7 @@ pub fn create_token(
}
fn init_payload(
token_resource: &TokenResource,
token_resource: TokenResource,
duration: time::Duration,
) -> Result<
(
@@ -125,9 +125,9 @@ fn init_payload(
josekit::JoseError,
> {
let mut payload = josekit::jwt::JwtPayload::new();
payload.set_subject(&token_resource.message);
payload.set_issuer(&token_resource.issuer);
payload.set_audience(token_resource.audiences.clone());
payload.set_subject(token_resource.message);
payload.set_issuer(token_resource.issuer);
payload.set_audience(token_resource.audiences);
if !token_resource.user_id.is_nil() {
match payload.set_claim("user_id", Some(serde_json::json!(token_resource.user_id))) {
@@ -192,7 +192,7 @@ mod tests {
let token_duration = time::Duration::minutes(30);
let key = String::from(TEST_KEY);
match super::create_token(&key, &token_resource, token_duration) {
match super::create_token(&key, token_resource, token_duration) {
Ok(cst) => match time::OffsetDateTime::from_unix_timestamp(cst.issued) {
Ok(d_result) => {
let they_match = {
-4
View File
@@ -6,9 +6,7 @@ pub struct User {
pub phone_number: String,
pub username: String,
pub password: String,
// Firstname is a pointer
pub firstname: String,
// Lastname is a pointer
pub lastname: String,
#[serde(with = "time::serde::rfc3339::option")]
pub created: Option<time::OffsetDateTime>,
@@ -27,7 +25,6 @@ pub struct ServiceUser {
pub passphrase: String,
#[serde(with = "time::serde::rfc3339::option")]
pub created: Option<time::OffsetDateTime>,
// When serializing to json, if empty do not populate
#[serde(with = "time::serde::rfc3339::option")]
pub last_login: Option<time::OffsetDateTime>,
#[serde(skip)]
@@ -81,7 +78,6 @@ pub struct UserProfile {
#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow)]
pub struct Salt {
// #[serde(skip_serializing_if = "crate::init::is_uuid_nil")]
pub id: uuid::Uuid,
#[serde(skip_serializing_if = "String::is_empty")]
pub salt: String,