-
Notifications
You must be signed in to change notification settings - Fork 113
feat: opportunity rematch #3540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@claude review |
|
Claude finished @capJavert's task in 1m 41s —— View job Code Review Complete ✓Todo List
SummaryThis PR implements an "opportunity rematch" feature that allows candidates who previously rejected a job opportunity to be re-matched when the job requirements change. The implementation adds history tracking to OpportunityMatch entities, introduces a new notification worker, and includes comprehensive test coverage. Overall Assessment: The implementation is solid with good test coverage and proper use of transactions. I found a few issues that should be addressed: Issues Found1. 🔴 Missing Notification Settings for ReMatchedOpportunityFile: The new Fix: Add the notification type to [NotificationType.NewOpportunityMatch]: {
email: NotificationPreferenceStatus.Subscribed,
inApp: NotificationPreferenceStatus.Subscribed,
},
[NotificationType.ReMatchedOpportunity]: {
email: NotificationPreferenceStatus.Subscribed,
inApp: NotificationPreferenceStatus.Subscribed,
},2. 🟡 TODO Comment for Email Template IDFile: rematched_opportunity: '', // TODO opportunity-rematchThe email template ID is empty with a TODO comment. This should be tracked to ensure the email template is implemented. Action: Ensure this is tracked in your project management system (ENG-579) and will be completed before release. 3. 🟡 Redundant User Query in reMatchedOpportunityNotificationFile: const user = await con.getRepository(User).findOneBy({ id: userId });
if (!user) {
return;
}This user query is unnecessary because:
Recommendation: Remove this user check to simplify the code and reduce database queries. 4. 🟢 Consider Adding Migration to /format-migration SkillFile: The migration is well-formed and follows best practices. However, according to CLAUDE.md:
Recommendation: Run Positive Observations ✅
Minor Observations
RecommendationsBefore merging:
Optional improvements:
Files Reviewed
|
|
🍹 The Update (preview) for dailydotdev/api/prod (at af2e654) was successful. Resource Changes Name Type Operation
+ vpc-native-api-db-migration-a33c273d kubernetes:batch/v1:Job create
~ vpc-native-sync-subscription-with-cio-cron kubernetes:batch/v1:CronJob update
- vpc-native-api-clickhouse-migration-be566344 kubernetes:batch/v1:Job delete
~ vpc-native-generate-search-invites-cron kubernetes:batch/v1:CronJob update
~ vpc-native-temporal-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-clean-zombie-images-cron kubernetes:batch/v1:CronJob update
~ vpc-native-private-deployment kubernetes:apps/v1:Deployment update
+ vpc-native-api-clickhouse-migration-a33c273d kubernetes:batch/v1:Job create
~ vpc-native-ws-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-update-tag-recommendations-cron kubernetes:batch/v1:CronJob update
~ vpc-native-validate-active-users-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-user-companies-cron kubernetes:batch/v1:CronJob update
~ vpc-native-personalized-digest-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-clean-stale-user-transactions-cron kubernetes:batch/v1:CronJob update
~ vpc-native-hourly-notification-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-opportunities-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-source-public-threshold-cron kubernetes:batch/v1:CronJob update
~ vpc-native-personalized-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-updated-sync-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-trending-cron kubernetes:batch/v1:CronJob update
~ vpc-native-calculate-top-readers-cron kubernetes:batch/v1:CronJob update
~ vpc-native-bg-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-update-highlighted-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-analytics-history-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-daily-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-gifted-plus-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-current-streak-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-users-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-analytics-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-generic-referral-reminder-cron kubernetes:batch/v1:CronJob update
- vpc-native-api-db-migration-be566344 kubernetes:batch/v1:Job delete
~ vpc-native-update-source-tag-view-cron kubernetes:batch/v1:CronJob update
~ vpc-native-expire-super-agent-trial-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-history-day-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-deployment kubernetes:apps/v1:Deployment update
+ api-sub-api.rematched-opportunity-notification gcp:pubsub/subscription:Subscription create
~ vpc-native-update-tags-str-cron kubernetes:batch/v1:CronJob update
~ vpc-native-check-analytics-report-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-posts-analytics-refresh-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-clickhouse-cron kubernetes:batch/v1:CronJob update
... and 2 other changes |
rebelchris
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we not only do this if you rejected for the reason if change?
I think its mote important to rematch on gondul with people it skipped?
|
@rebelchris for now only rejected, we will expand it further later |
4f5ef90 to
7ce564f
Compare
ENG-579