-
Notifications
You must be signed in to change notification settings - Fork 113
feat: add upvote support for hot takes #3487
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add UserHotTakeUpvote entity to track user upvotes - Add upvotes column to UserHotTake entity - Extend vote mutation to support hot_take entity - Add upvotes and upvoted fields to GraphQL schema - Implement voteHotTake function with upvote/remove support - Add GraphORM mappings for upvoted field - Add comprehensive test coverage for upvote functionality - Hot takes only support upvotes, not downvotes Closes #3485 Co-authored-by: Chris Bongers <rebelchris@users.noreply.github.com>
…ssue-3485-20260122-1858 # Conflicts: # src/graphorm/index.ts
The upvotes column on UserHotTake was not being updated when users voted. Now uses a transaction to atomically: - Check if upvote already exists - Insert/delete the upvote record - Increment/decrement the upvotes count Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4 tasks
|
🍹 The Update (preview) for dailydotdev/api/prod (at 003f966) was successful. Resource Changes Name Type Operation
~ vpc-native-personalized-digest-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-hourly-notification-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-images-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-history-day-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-expire-super-agent-trial-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-highlighted-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-validate-active-users-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-trending-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-tags-str-cron kubernetes:batch/v1:CronJob update
~ vpc-native-sync-subscription-with-cio-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-daily-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-updated-sync-cron kubernetes:batch/v1:CronJob update
~ vpc-native-bg-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-update-source-public-threshold-cron kubernetes:batch/v1:CronJob update
- vpc-native-api-clickhouse-migration-047e18bf kubernetes:batch/v1:Job delete
~ vpc-native-clean-zombie-user-companies-cron kubernetes:batch/v1:CronJob update
~ vpc-native-generic-referral-reminder-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-opportunities-cron kubernetes:batch/v1:CronJob update
+ vpc-native-api-clickhouse-migration-36e02f3a kubernetes:batch/v1:Job create
~ vpc-native-personalized-digest-cron kubernetes:batch/v1:CronJob update
- vpc-native-api-db-migration-047e18bf kubernetes:batch/v1:Job delete
+ vpc-native-api-db-migration-36e02f3a kubernetes:batch/v1:Job create
~ vpc-native-clean-zombie-users-cron kubernetes:batch/v1:CronJob update
~ vpc-native-calculate-top-readers-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-tag-recommendations-cron kubernetes:batch/v1:CronJob update
~ vpc-native-generate-search-invites-cron kubernetes:batch/v1:CronJob update
~ vpc-native-private-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-update-current-streak-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-gifted-plus-cron kubernetes:batch/v1:CronJob update
~ vpc-native-check-analytics-report-cron kubernetes:batch/v1:CronJob update
~ vpc-native-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-update-source-tag-view-cron kubernetes:batch/v1:CronJob update
~ vpc-native-temporal-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-ws-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-clean-stale-user-transactions-cron kubernetes:batch/v1:CronJob update
|
… into claude/issue-3485-20260122-1858
Rename UserHotTake entity to HotTake for content, create new UserHotTake join table with vote column (like UserPost). Add postgres triggers for automatic upvote count maintenance. Rename GraphQL types and resolvers from UserHotTake to HotTake for consistency. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update test queries/mutations to use new names (hotTakes, addHotTake, etc.) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
UserHotTakeUpvoteentity and migration for tracking upvotesupvotescolumn toUserHotTakeentity with proper increment/decrementvoteHotTakefunction with transaction supportupvotedfield resolutionHotTaketoUserVoteEntityenumTest plan
pnpm run db:migrate:latestNODE_ENV=test npx jest __tests__/userHotTake.ts --testEnvironment=node --runInBand🤖 Generated with Claude Code