Compare commits
8 Commits
v0.3.0-v0.
...
v0.4.1-dev
Author | SHA1 | Date | |
---|---|---|---|
6467521a02 | |||
6411133c95 | |||
8a08672423 | |||
c555110367 | |||
4b6f6cb67d | |||
e9d73c391e | |||
d476b128cb | |||
255aff414a |
@@ -3,9 +3,8 @@ name: Release Tagging
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- devel
|
||||
tags:
|
||||
- 'v*' # Trigger on tags matching v*
|
||||
|
||||
jobs:
|
||||
release:
|
||||
@@ -19,7 +18,7 @@ jobs:
|
||||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: 1.85.0
|
||||
toolchain: 1.86.0
|
||||
components: cargo
|
||||
|
||||
- name: Extract Version from Cargo.toml
|
||||
|
@@ -18,7 +18,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.85.0
|
||||
toolchain: 1.86.0
|
||||
- run: cargo check
|
||||
|
||||
test:
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.85.0
|
||||
toolchain: 1.86.0
|
||||
- run: cargo test
|
||||
|
||||
fmt:
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.85.0
|
||||
toolchain: 1.86.0
|
||||
- run: rustup component add rustfmt
|
||||
- run: cargo fmt --all -- --check
|
||||
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.85.0
|
||||
toolchain: 1.86.0
|
||||
- run: rustup component add clippy
|
||||
- run: cargo clippy -- -D warnings
|
||||
|
||||
@@ -60,7 +60,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.85.0
|
||||
toolchain: 1.86.0
|
||||
- run: cargo build
|
||||
|
||||
|
||||
|
@@ -1,7 +1,8 @@
|
||||
[package]
|
||||
name = "icarus_models"
|
||||
version = "0.3.0"
|
||||
version = "0.4.1"
|
||||
edition = "2024"
|
||||
rust-version = "1.86"
|
||||
description = "models used for the icarus project"
|
||||
license = "MIT"
|
||||
|
||||
@@ -9,6 +10,8 @@ license = "MIT"
|
||||
serde = { version = "1.0.218", features = ["derive"] }
|
||||
serde_json = { version = "1.0.139" }
|
||||
rand = { version = "0.9" }
|
||||
time = { version = "0.3.41", features = ["formatting", "macros", "parsing", "serde"] }
|
||||
uuid = { version = "1.16.0", features = ["v4", "serde"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = { version = "3.19.1" }
|
||||
|
@@ -9,7 +9,7 @@ pub struct LoginResult {
|
||||
pub token: String,
|
||||
#[serde(alias = "token_type")]
|
||||
pub token_type: String,
|
||||
pub expiration: i32,
|
||||
pub expiration: i64,
|
||||
}
|
||||
|
||||
impl Default for LoginResult {
|
||||
|
41
src/user.rs
41
src/user.rs
@@ -21,12 +21,14 @@ pub struct User {
|
||||
#[serde(skip_serializing_if = "String::is_empty")]
|
||||
pub lastname: String,
|
||||
pub email_verified: bool,
|
||||
#[serde(skip_serializing_if = "String::is_empty")]
|
||||
pub date_created: String,
|
||||
#[serde(with = "time::serde::rfc3339::option")]
|
||||
pub date_created: Option<time::OffsetDateTime>,
|
||||
#[serde(skip_serializing_if = "String::is_empty")]
|
||||
pub status: String,
|
||||
#[serde(skip_serializing_if = "String::is_empty")]
|
||||
pub last_login: String,
|
||||
#[serde(with = "time::serde::rfc3339::option")]
|
||||
pub last_login: Option<time::OffsetDateTime>,
|
||||
#[serde(skip_serializing_if = "init::is_uuid_nil")]
|
||||
pub salt_id: uuid::Uuid,
|
||||
}
|
||||
|
||||
impl Default for User {
|
||||
@@ -40,9 +42,10 @@ impl Default for User {
|
||||
firstname: String::new(),
|
||||
lastname: String::new(),
|
||||
email_verified: false,
|
||||
date_created: String::new(),
|
||||
date_created: None,
|
||||
status: String::new(),
|
||||
last_login: String::new(),
|
||||
last_login: None,
|
||||
salt_id: uuid::Uuid::nil(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,3 +59,29 @@ impl User {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub mod salt {
|
||||
use std::default::Default;
|
||||
|
||||
use crate::init;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||
pub struct Salt {
|
||||
#[serde(skip_serializing_if = "init::is_uuid_nil")]
|
||||
pub id: uuid::Uuid,
|
||||
#[serde(skip_serializing_if = "String::is_empty")]
|
||||
pub salt: String,
|
||||
}
|
||||
|
||||
impl Salt {
|
||||
pub fn to_json(&self, output_pretty: bool) -> Result<String, serde_json::Error> {
|
||||
if output_pretty {
|
||||
serde_json::to_string_pretty(&self)
|
||||
} else {
|
||||
serde_json::to_string(&self)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user