Commit graph

295 commits

Author SHA1 Message Date
Tracewebstudio Dev
99b8dc929e fix: use GITHUB_TOKEN for git clone 2026-04-14 18:27:56 +02:00
Tracewebstudio Dev
747a4cb108 ci: add gitops update step while keeping original registry config 2026-04-14 14:34:00 +02:00
Tracewebstudio Dev
4d6de951bf fix: use explicit registry.nxtgauge.com:5000 with REGISTRY_* secrets 2026-04-14 14:32:28 +02:00
Tracewebstudio Dev
c5b097d20c ci: update gitops for all services (not just gateway/users) 2026-04-14 14:30:04 +02:00
Tracewebstudio Dev
d3cdd56ba4 ci: simplify GitOps update to use Woodpecker's Git access 2026-04-14 14:28:21 +02:00
Tracewebstudio Dev
0d01e70576 fix: use GHCR_USERNAME/GHCR_TOKEN instead of REGISTRY_* 2026-04-14 14:26:55 +02:00
Tracewebstudio Dev
d4c7fdcddd ci: add GitOps update step to Woodpecker pipeline
- After building gateway/users images, update GitOps with new SHA tag
- Update apps/nxtgauge-backend-rust/overlays/prod/kustomization.yaml
- Requires secrets: GITOPS_REPO_URL, GITOPS_BRANCH, GITOPS_TOKEN
2026-04-14 14:18:00 +02:00
Tracewebstudio Dev
30d8eeb279 ci: force Woodpecker rebuild - signup fix deployment 2026-04-14 12:51:22 +02:00
Tracewebstudio Dev
0b71e39ce0 ci: trigger woodpecker for phone/full_name fix deployment 2026-04-14 10:57:57 +02:00
Tracewebstudio Dev
15100d20f3 ci: trigger woodpecker build 2026-04-13 23:28:23 +02:00
Tracewebstudio Dev
23587cdc63 ci: add concurrency limit to Woodpecker pipeline
Limit concurrent pipeline runs to 4 to control resource usage
while maintaining parallel matrix builds for all 21 services
2026-04-13 20:21:41 +02:00
Tracewebstudio Dev
3432d67cc4 fix(auth): remove phone from INSERT and User struct since column doesn't exist
- Remove phone from INSERT INTO users (users table has no phone column)
- Remove phone from User struct and CreateUserPayload
- Return null for phone in API responses
- Keep phone field in RegisterPayload for backward compat (just not persisted)
2026-04-13 20:15:32 +02:00
Tracewebstudio Dev
1d50d21f00 fix(auth): also accept 'name' field for signup compatibility
Frontend sends 'name' field directly. RegisterPayload now accepts:
- name (direct, used by frontend)
- full_name (legacy)
- first_name + last_name (new format)
2026-04-13 20:13:53 +02:00
Tracewebstudio Dev
63eb27a160 fix(auth): accept both full_name and first_name+last_name for backward compatibility
RegisterPayload now accepts:
- full_name (single field, for old frontend clients)
- first_name + last_name (new format)

Error returned only if none of these are provided.
2026-04-13 19:59:48 +02:00
Tracewebstudio Dev
2861e7a5fe fix: replace u.full_name with u.name in remaining services
- companies: user.name in email and contact queries
- customers: user.name in email
- job_seekers: u.name in company user query
- cron tasks (jobs/leads/requirements): use u.name instead of u.full_name
- contracts/profession_shared: u.name for customer_name fields
2026-04-13 17:12:49 +02:00
Tracewebstudio Dev
231ff9530f fix(auth): use 'name' column instead of 'full_name', combine first_name + last_name
- Replace full_name with name in User struct and all queries
- RegisterPayload now takes first_name + last_name instead of full_name
- Combine first_name and last_name into name before saving to DB
- Update all response structs to use 'name' field instead of 'full_name'
- Fix support and dashboard queries to use u.name instead of u.full_name

Root cause: DB has 'name' column, code was using 'full_name' which doesn't exist.
2026-04-13 16:55:09 +02:00
Tracewebstudio Dev
f5130569e5 fix: migrate route params to Axum 0.7+ syntax ({id} instead of :id)
- apps/jobs/src/main.rs: Update /jobs/:id to /jobs/{id}
- apps/leads/src/main.rs: Update /leads/:id to /leads/{id}
2026-04-13 16:04:55 +02:00
Tracewebstudio Dev
e106dff5c3 chore: retrigger woodpecker 2026-04-13 12:08:47 +02:00
Tracewebstudio Dev
f7e18cd4d6 feat: pricing packages with multi-select roles, lead requests, mock checkout 2026-04-13 01:36:13 +02:00
Tracewebstudio Dev
c433ab5fed feat(db): update service handlers and models for new schema
- Update leads service to use 'leads' table
- Update extension models to use user_role_profile_id
- Update ProfessionalRepository to work with new schema
- Create TracecoinWalletRepository for wallet operations
- Update all handlers to use new model fields
- Rename Application fields (job_seeker_id -> applicant_user_id)
- Update cron tasks for new schema
- Fix compilation errors across all services
2026-04-13 00:29:44 +02:00
Tracewebstudio Dev
2e283e5d67 feat(db): add complete migration and update extension models to use user_role_profile_id
- Add comprehensive migration script for database schema redesign
- Update all extension profile models to reference user_role_profile_id
- Create user_role_profiles as root table for all role profiles
- Remove external portfolio links (github_url, portfolio_url, reel_url)
- Rename applications→job_applications, requirements→leads
- Drop deprecated tables (professionals, onboarding_submissions, etc.)
2026-04-12 23:55:08 +02:00
Tracewebstudio Dev
03376b9567 feat: Add database redesign documentation and Phase 1-2 migrations
- Add schema_audit.md documenting current schema issues
- Add target_schema.md with complete target schema design
- Add old_to_new_mapping.md with table mapping
- Add migration_plan.md with phased migration strategy
- Add Phase 1 migrations (core infrastructure):
  - user_sessions table
  - users missing columns
  - departments updates
  - designations updates
  - employees updates
- Add Phase 2 migrations (profile domain - CRITICAL):
  - create user_role_profiles root table
  - backfill user_role_profiles from existing profiles
  - add user_role_profile_id to extension tables
  - remove forbidden external portfolio links
- Add user_role_profile Rust model
- Update photographer model to use user_role_profile_id
2026-04-12 23:21:11 +02:00
Tracewebstudio Dev
79fbba8107 chore(ci): trigger rebuild for jobs and leads services 2026-04-12 22:04:04 +02:00
Tracewebstudio Dev
1e6abd9397 feat: add separate jobs and leads services
- Create jobs service (port 9103) for job postings management
- Create leads service (port 9118) for lead/requirement management
- Update gateway to route /api/jobs to jobs service
- Update gateway to route /api/leads to leads service
- Add jobs and leads to Woodpecker CI matrix
2026-04-12 22:03:06 +02:00
Tracewebstudio Dev
81c00eca96 feat(db-migrate): add DROP_EXISTING_TABLES support
When DROP_EXISTING_TABLES=true, drop all existing tables before running migrations.
2026-04-12 21:58:57 +02:00
Tracewebstudio Dev
dade35b328 feat: add db-migrate tool for running SQL migrations
- Create db-migrate binary that runs all .up.sql migration files
- Add Dockerfile.migrate for building the migration image
- Add migration job to Woodpecker CI pipeline
- Image will be pushed to registry.nxtgauge.com:5000/nxtgauge-db-migrate
2026-04-12 21:57:28 +02:00
Tracewebstudio Dev
019613aa82 chore(ci): trigger rebuild after registry and backend fixes 2026-04-12 18:08:56 +02:00
Tracewebstudio Dev
8d920c4b34 fix(users): update Axum routes to 0.7 syntax for email templates 2026-04-12 16:58:07 +02:00
Ashwin Kumar
7ee2b21e74 fix(ci): use from_secret for REGISTRY_HOSTPORT in kaniko 2026-04-12 13:44:23 +02:00
Ashwin Kumar
ca9f9acf79 fix(ci): redirect docker-buildx to private registry
- Use REGISTRY_HOSTPORT for registry (not docker.io or ghcr.io)
- Use REGISTRY_USERNAME/REGISTRY_PASSWORD for auth
- Fix repo path to not include full URL or username prefix
2026-04-12 13:39:29 +02:00
Ashwin Kumar
588ddbef7e chore(ci): trigger pipeline with updated registry secrets 2026-04-12 12:40:51 +02:00
Ashwin Kumar
8a25eab1b4 fix(ci): use REGISTRY_HOSTPORT secret for private registry 2026-04-12 12:17:08 +02:00
Ashwin Kumar
614357cfa7 fix(ci): align backend image push target with node-resolvable registry endpoint 2026-04-11 21:59:49 +02:00
Ashwin Kumar
fd5287d95f chore(ci): trigger backend rebuild 2026-04-11 20:54:56 +02:00
Ashwin Kumar
a57e344bc4 fix(email): add lead acceptance/rejection compatibility methods for customers 2026-04-11 15:55:20 +02:00
Ashwin Kumar
1b42cd1f20 chore(ci): trigger woodpecker 2026-04-11 15:04:26 +02:00
Ashwin Kumar
f4515b22a2 fix(ci): standardize backend service/image naming to hyphen format 2026-04-11 15:04:15 +02:00
Ashwin Kumar
00629446a7 chore(ci): trigger woodpecker rebuild 2026-04-11 14:20:32 +02:00
Ashwin Kumar
21b42adeba fix(ci): use repo path only for kaniko destination 2026-04-11 13:58:07 +02:00
Ashwin Kumar
6510e52d46 fix(ci): switch to kaniko for http local registry push 2026-04-11 13:49:48 +02:00
Ashwin Kumar
0135abb3f8 fix(ci): qualify repo target and restore explicit registry push auth 2026-04-11 13:43:33 +02:00
Ashwin Kumar
555ea8ad6d fix(ci): force http local registry endpoint for buildx push 2026-04-11 13:32:34 +02:00
Ashwin Kumar
9f1db8286e fix(ci): restore working buildx settings pattern with registry push creds 2026-04-11 00:38:03 +02:00
Ashwin Kumar
58dc4ad059 fix(ci): fallback to dockerhub secrets and static registry host 2026-04-11 00:07:57 +02:00
Ashwin Kumar
58217222d6 fix(ci): quote secret guard command for valid yaml 2026-04-11 00:01:14 +02:00
Ashwin Kumar
231c2fc4f4 fix(ci): use dedicated REGISTRY_* secrets for docker login 2026-04-10 23:55:54 +02:00
Ashwin Kumar
1514451652 fix(ci): map registry login to dockerhub secrets 2026-04-10 23:30:01 +02:00
Ashwin Kumar
6842d8434e fix(ci): use docker cli build/push instead of buildx 2026-04-10 23:20:24 +02:00
Ashwin Kumar
a04a7e4ed4 fix(ci): normalize registry host and scoped repo settings 2026-04-10 23:13:23 +02:00
Ashwin Kumar
e56c099cae fix(ci): force http registry endpoint for buildx push 2026-04-10 22:43:03 +02:00