Compare commits

...
1 Commits
Author SHA1 Message Date
Brandon Thomas 6c14f35c9f new endpoint with build info 2025-05-25 11:04:08 -04:00
8 changed files with 44 additions and 2 deletions
Generated
+1
View File
@@ -809,6 +809,7 @@ dependencies = [
"anyhow",
"assertor",
"base64 0.22.1",
"build_metadata",
"bytes 1.10.0",
"chrono",
"const_format",
+1
View File
@@ -186,6 +186,7 @@ toml = "0.8.22"
url = { version = "2.5.4", features = ["serde"] }
# Internal libs
build_metadata = { path = "crates/lib/build_metadata" }
crockford = { path = "crates/lib/data/crockford" }
enums = { path = "crates/_types/enums" }
enums_public = { path = "crates/_types/enums_public" }
+1
View File
@@ -23,6 +23,7 @@ tauri-build = { version = "2.1.1", features = [] }
workspace-build-acceleration = { workspace = true }
# Internal
build_metadata = { workspace = true }
crockford = { workspace = true }
errors = { workspace = true }
fal_client = { workspace = true }
@@ -0,0 +1,35 @@
use crate::core::state::os_platform::OsPlatform;
use base64::prelude::BASE64_STANDARD;
use base64::Engine;
use image::codecs::png::{CompressionType, FilterType, PngEncoder};
use image::ImageReader;
use log::info;
use serde_derive::Serialize;
use std::io::Cursor;
use chrono::{DateTime, Utc};
#[derive(Debug, Serialize)]
pub struct BuildInfoResponse {
pub build_timestamp: DateTime<Utc>,
pub git_commit_id: Option<String>,
pub git_commit_short_id: Option<String>,
pub git_commit_short_timestamp: Option<DateTime<Utc>>,
}
#[tauri::command]
pub fn get_build_info_command() -> Result<BuildInfoResponse, String> {
info!("get_build_info_command called...");
let build_timestamp = build_metadata::build_timestamp();
let git_commit_id = build_metadata::git_commit_id();
let git_commit_short_id = build_metadata::git_commit_short_id();
let git_commit_short_timestamp = build_metadata::git_commit_timestamp();
Ok(BuildInfoResponse {
build_timestamp,
git_commit_id: git_commit_id.map(|s| s.to_string()),
git_commit_short_id: git_commit_short_id.map(|s| s.to_string()),
git_commit_short_timestamp,
})
}
@@ -1,4 +1,5 @@
pub mod app_preferences;
pub mod command_response_wrapper;
pub mod flip_image;
pub mod get_build_info_command;
pub mod platform_info_command;
+2
View File
@@ -6,6 +6,7 @@ use tauri::Manager;
use crate::core::commands::app_preferences::get_app_preferences_command::get_app_preferences_command;
use crate::core::commands::app_preferences::update_app_preference_command::update_app_preferences_command;
use crate::core::commands::flip_image::flip_image;
use crate::core::commands::get_build_info_command::get_build_info_command;
use crate::core::commands::platform_info_command::platform_info_command;
use crate::core::state::app_preferences::app_preferences_manager::load_app_preferences_or_default;
use crate::core::state::data_dir::app_data_root::AppDataRoot;
@@ -164,6 +165,7 @@ pub fn run() {
fal_kling_image_to_video_command,
flip_image,
get_app_preferences_command,
get_build_info_command,
get_fal_api_key_command,
open_sora_login_command,
platform_info_command,
+2 -1
View File
@@ -1,7 +1,8 @@
fn main() {
// Tell Cargo that if the given file changes, to rerun this build script.
println!("cargo::rerun-if-changed=Cargo.toml");
// TODO: Use this to test the GIT_SHA, etc. files that CI dumps into the working directory
// println!("cargo::rerun-if-changed=Cargo.toml");
// Make build info available in the main crate sources.
build_info_build::build_script();
+1 -1
View File
@@ -3,7 +3,7 @@ use build_info::chrono::{DateTime, Utc};
build_info::build_info!(fn version);
pub fn build_timestamp() -> DateTime<Utc>{
pub fn build_timestamp() -> DateTime<Utc> {
version().timestamp
}