Commit Graph

18 Commits (4b84ae4a307c93def3272799b8f6b3b7268ba622)

Author SHA1 Message Date
ahmed.mujtaba 4b84ae4a30 recruiterhub activity improvement 2026-08-30 23:24:00 +05:00
ahmed.mujtaba fd53730efe add hiring manager added 2026-08-30 21:49:08 +05:00
ahmed.mujtaba db176cf672 is approved and file uplaod done 2026-08-28 20:02:38 +05:00
ahmed.mujtaba 12fa4f87fc Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into RELIMIt 2026-08-28 16:28:55 +05:00
ahmed.mujtaba 7e07df18ca s3 configured pending testing 2026-08-28 13:32:25 +05:00
Talha Ahmed ccec7d48db Job cover images: move storage from disk into the database
Deploy to S3 / deploy (push) Successful in 31s Details
Production containers have ephemeral filesystems, so the disk-backed
image from the previous commit would vanish on redeploy. New
job_post_images table (bytea, PK = job_posts FK so re-upload replaces),
created everywhere by manual migration 009 which run_manual_sql applies
automatically at startup — prod boots with DB_AUTOGENERATE=false and
never autogenerates tables. Upload/fetch endpoints unchanged for the
frontend; fetch now serves bytes from the row. The one locally stored
disk image was imported into the table and backend/uploads removed.

E2E re-verified: create-with-image 200, fetch 200, cover renders.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 16:34:04 +05:00
Talha Ahmed e6a82aaa23 Job posts: persist and display the cover image
Deploy to S3 / deploy (push) Successful in 32s Details
The create modal collected an image but dropped it. Now POST
/job/image/upload stores it on disk keyed by the post id (uuid-validated,
5 MB / png-jpg-webp-gif, replace-on-reupload; no DB migration) and GET
/job/image/fetch serves it. The create flow uploads right after the row
exists, image failure downgrades to a toast instead of failing the create,
and Job Details renders the cover via an authorized blob fetch.

E2E-verified: upload 200, fetch 200, cover renders in Job Details.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 16:17:55 +05:00
ahmed.mujtaba cd35af8161 Enhance interview and job functionalities
- Updated the interview model to include `graph_event_id` and `web_link` for calendar integration.
- Added methods for setting calendar events and retrieving job titles associated with interviews.
- Modified serializers to include new fields in the interview response.
- Enhanced the job post model to include applicant counts.
- Updated frontend components to handle new fields and improve user experience with calendar event management.
- Introduced image upload functionality in job forms with validation for file types and sizes.
- Improved dashboard and calendar UI for better data presentation.

This commit streamlines interview scheduling and job management processes, enhancing overall application functionality.
2026-08-20 16:41:21 +05:00
Talha Ahmed 84f2918e43 AI field assist on job forms + channel-free internal job creation
Deploy to S3 / deploy (push) Successful in 33s Details
- New POST /job/assist-field (job_board.create OR jobs.edit): per-field
  AI fix/suggest via backend/job_assist package on the shared llm_call.
  Suggest is gated on title + experience anchors; decisive typo repair;
  provider failures return a generic 503.
- AiFieldAssist component: sparkle button per field with fix/suggest,
  loading, preview-before-apply, abort on close; wired into JobForm and
  EditJobForm with per-field suggest hints.
- Create Job no longer requires a Buffer channel: without channel_id or
  platform the backend saves an internal-only requisition (platform
  internal) and never calls Buffer; publishing stays on the Job Board.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-19 18:51:56 +05:00
ahmed.mujtaba 64eae32259 . 2026-08-17 20:37:30 +05:00
ahmed.mujtaba 4f9b03bd4f pipeline done 2026-08-13 13:29:02 +05:00
ahmed.mujtaba 6463b7f377 add job create 2026-08-12 20:04:45 +05:00
ahmed.mujtaba 7ded865ceb /jobs page done 2026-08-12 19:47:03 +05:00
ahmed.mujtaba 38249cc6f2 job_matching assignment by recruiter added 2026-08-11 19:01:24 +05:00
ahmed.mujtaba 07a75e2ee6 customScheduled 2026-08-06 13:57:50 +05:00
ahmed.mujtaba f884ae1d1d Api for @router.post("/job/post-job")
done
2026-08-05 20:41:39 +05:00
ahmed.mujtaba c79024160c LINKEDIN POST CONFIG DONE AND TESTED 2026-08-05 20:09:34 +05:00
ahmed.mujtaba 3991bd60a3 Candidate 2026-08-05 18:25:34 +05:00