2026-03-17 20:42:51 +01:00
|
|
|
[package]
|
|
|
|
|
name = "social_media_managers"
|
|
|
|
|
version = "0.1.0"
|
|
|
|
|
edition = "2021"
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
axum = { workspace = true }
|
|
|
|
|
tokio = { workspace = true }
|
|
|
|
|
serde = { workspace = true }
|
|
|
|
|
sqlx = { workspace = true }
|
|
|
|
|
tracing = { workspace = true }
|
|
|
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
|
uuid = { workspace = true }
|
|
|
|
|
chrono = { workspace = true }
|
|
|
|
|
db = { path = "../../crates/db" }
|
|
|
|
|
auth = { path = "../../crates/auth" }
|
|
|
|
|
contracts = { path = "../../crates/contracts" }
|
feat: add Redis for OTP, auth tokens, rate limiting, lead dedup and marketplace cache
- Add crates/cache with client, otp, rate_limit, token, lead, jobs modules
- OTP tokens stored in Redis (15-min TTL, single-use GETDEL on verify)
- Refresh tokens stored in Redis (30-day TTL) — removed DB storage
- Password reset tokens stored in Redis (1-hour TTL, single-use)
- Rate limiting: register (10/hr), login (10/15min), OTP resend (3/hr), lead (5/hr), job post (20/hr)
- Lead request deduplication: 24-hour Redis lock per professional+requirement pair
- Marketplace listings cached in Redis (5-min TTL per profession+page+limit)
- Add ProfessionState{pool, redis} to contracts crate, replacing bare PgPool in all 9 profession apps
- All profession handlers and main.rs updated to use ProfessionState
- REDIS_URL env var (default: redis://127.0.0.1:6379) used across all services
- Fix profession model struct name mangling in 6 handlers (MakeupArtistRepository etc.)
- Add custom_data JSONB migration for all 9 profession profile tables
- Add onboarding_state model and repository (save_progress, complete, is_complete)
- Add onboarding handler accepting roleKey:String (not role_id:UUID) for frontend compat
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 22:58:42 +01:00
|
|
|
cache = { path = "../../crates/cache" }
|
Update backend services: catering_services, companies, developers, gateway, job_seekers, photographers, social_media_managers, tutors, ugc_content_creators, users; update cache (otp, token), contracts (profession_shared, profession_state), db (job_seeker, verification), email; add revision-requested email template; update init-db.sql and start-services.sh
2026-05-08 15:34:29 +02:00
|
|
|
storage = { path = "../../crates/storage" }
|
2026-03-17 20:42:51 +01:00
|
|
|
|