Nxtgauge Backend Services
customer_profiles already had custom_data but never got a `status` column, so — same root cause already fixed for job_seeker_profiles — the generic profile save/get/submit handlers failed outright for the CUSTOMER role, and the admin final-approval path couldn't write a verified status either. - Migration: add customer_profiles.status (default 'DRAFT'). - Special-case CUSTOMER in the generic profile.rs handlers (get_profile, save_profile, fetch_saved_profile, set_profile_status), mirroring the existing JOB_SEEKER special-case, storing basic-tab fields under custom_data.basic_info. - Re-enable the CUSTOMER branch in activate_profile_after_final_approval now that the status column exists. - Add the missing POST /api/customers/profile/documents upload endpoint — the frontend's document upload (required: Aadhar/Government ID) targets this exact path for CUSTOMER and previously 404'd since no such route was ever registered. Mirrors the B2-upload-only pattern used by the profession apps' shared upload_document handler. Verified separately: requirement posting (POST /api/customers/requirements) and requirement submission-for-verification (POST /api/customers/requirements/:id/submit) already work correctly — both use the `leads` table (an active migration, despite the model's "Requirement" naming) and properly create a verification record (case_type REQUIREMENT_APPROVAL) that lands in admin Verification Management via the existing approve_requirement/reject_requirement handlers. No changes needed there. |
||
|---|---|---|
| .cargo | ||
| .forgejo | ||
| .gitea/workflows | ||
| .github/workflows | ||
| .mavis/plans | ||
| .sqlx | ||
| apps | ||
| crates | ||
| docs | ||
| load-tests | ||
| scripts | ||
| tests | ||
| .env.example | ||
| .env.test111 | ||
| .gitignore | ||
| cargo-deny.toml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| companies.pid | ||
| customers.pid | ||
| DEPLOYMENT_OPTIMIZATION.md | ||
| docker-compose.yml | ||
| Dockerfile.base | ||
| Dockerfile.fast | ||
| Dockerfile.from-binary | ||
| Dockerfile.migrate | ||
| Dockerfile.optimized | ||
| Dockerfile.simple | ||
| Dockerfile.superfast | ||
| Dockerfile.template | ||
| Dockerfile.ultrafast | ||
| Dockerfile.working | ||
| gateway.pid | ||
| job_seekers.pid | ||
| k8s-migration-job.yaml | ||
| README.md | ||
| start-services.pid | ||
| start-services.sh | ||
| TESTING_STRATEGY.md | ||
| users.pid | ||
| wir.md | ||
NXTGAUGE Backend Rust
Rust migration target for nxtgauge-nov-2025-backend, preserving the same microservices and request flow.
Target Service Topology
gateway(HTTP API)users(identity, runtime roles, onboarding, approvals)companiescustomersprofessionalsjobseekers
Migration Policy
- Keep contracts stable (REST + proto semantics).
- Keep runtime-config and onboarding schema behavior unchanged during parity phases.
- Replace service implementations one by one.
See docs/MIGRATION_MASTER_PLAN.md for full staged plan.
CI (Woodpecker)
Required secrets:
REGISTRY_USERNAMEREGISTRY_PASSWORD
See .forgejo/workflows/README.md for details.