- Profile photo upload: POST /api/profile/photo for all roles, stores via B2 storage - PDF resume: auto-generated from job seeker portfolio on every profile save (printpdf) - Company applications: enriched with applicant name, avatar, headline, skills, education - AI auto-apply cron: rewrote run_auto_apply with correct schema (job_seeker_profiles, cover_note, ai_auto_apply_settings, ai_auto_apply_logs, credit deduction) - Schema fix: job_seeker_profiles table name (was incorrectly 'job_seekers' in two places) - Migration: add resume_url column to job_seeker_profiles - Migrations: PayU rename, tracecoin hardening, lead reserve linkage, invoice/wallet crates - PayU integration: ai_credits, packages, admin payment handlers - Wallet and invoice crates added Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
923 B
TOML
33 lines
923 B
TOML
[package]
|
|
name = "users"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
axum = { workspace = true, features = ["multipart"] }
|
|
tokio = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
sqlx = { workspace = true }
|
|
uuid = { workspace = true }
|
|
chrono = { workspace = true }
|
|
db = { path = "../../crates/db" }
|
|
auth = { path = "../../crates/auth" }
|
|
email = { path = "../../crates/email" }
|
|
contracts = { path = "../../crates/contracts" }
|
|
cache = { path = "../../crates/cache" }
|
|
storage = { path = "../../crates/storage" }
|
|
bytes = { workspace = true }
|
|
rand = "0.8"
|
|
anyhow = { workspace = true }
|
|
reqwest = { workspace = true, features = ["stream"] }
|
|
regex = { workspace = true }
|
|
redis = { workspace = true }
|
|
futures = "0.3"
|
|
async-stream = "0.3"
|
|
thiserror = { workspace = true }
|
|
jsonwebtoken = "9"
|
|
tower = "0.5"
|
|
|