feat(feedback): allow team members to view feedback by user id#3677
Conversation
|
🍹 The Update (preview) for dailydotdev/api/prod (at 6d0de62) was successful. ✨ Neo ExplanationThis is a standard full-stack application deployment rolling out a new build to all 7 services and 33 scheduled jobs on the production GKE cluster, with accompanying database and ClickHouse migration jobs being swapped in for the new release.Root Cause AnalysisA new version of the application has been built and is being deployed across the entire production cluster. Every workload is being updated from the previous image version to the new one, with migration jobs for both the primary database and ClickHouse being rotated to match the new release. Dependency ChainThe new container image version cascades uniformly to all 7 long-running service Deployments (main API, background workers, WebSocket server, private API, Temporal workers, personalized digest, and worker jobs) and all 33 CronJobs — updating both the container image tag and the version label/env var on each. Additionally, the two one-off database migration Jobs (PostgreSQL and ClickHouse) are replaced: the old migration jobs from the previous release are deleted, and new migration jobs tied to the new release are created to apply any schema changes before (or alongside) the rolling update. Risk analysisNo stateful resources (databases, storage buckets, persistent volumes) are being modified or deleted. The migration jobs run against live databases, but this is the standard deployment pattern — they're scoped, single-run jobs ( Resource Changes Name Type Operation
~ vpc-native-agents-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-generate-search-invites-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-achievement-rarity-cron kubernetes:batch/v1:CronJob update
~ vpc-native-hourly-notification-cron kubernetes:batch/v1:CronJob update
~ vpc-native-check-analytics-report-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-tag-recommendations-cron kubernetes:batch/v1:CronJob update
~ vpc-native-private-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-post-analytics-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-analytics-history-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-current-streak-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-source-public-threshold-cron kubernetes:batch/v1:CronJob update
~ vpc-native-squad-posts-analytics-refresh-cron kubernetes:batch/v1:CronJob update
+ vpc-native-api-clickhouse-migration-36ecc4d4 kubernetes:batch/v1:Job create
~ vpc-native-update-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-trending-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-users-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-gifted-plus-cron kubernetes:batch/v1:CronJob update
~ vpc-native-expire-super-agent-trial-cron kubernetes:batch/v1:CronJob update
~ vpc-native-personalized-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-images-cron kubernetes:batch/v1:CronJob update
~ vpc-native-generic-referral-reminder-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-analytics-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-calculate-top-readers-cron kubernetes:batch/v1:CronJob update
~ vpc-native-worker-job-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-bg-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-clean-stale-user-transactions-cron kubernetes:batch/v1:CronJob update
~ vpc-native-post-analytics-history-day-clickhouse-cron kubernetes:batch/v1:CronJob update
~ vpc-native-temporal-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-daily-digest-cron kubernetes:batch/v1:CronJob update
~ vpc-native-clean-zombie-opportunities-cron kubernetes:batch/v1:CronJob update
~ vpc-native-sync-subscription-with-cio-cron kubernetes:batch/v1:CronJob update
~ vpc-native-user-profile-updated-sync-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-source-tag-view-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-highlighted-views-cron kubernetes:batch/v1:CronJob update
~ vpc-native-ws-deployment kubernetes:apps/v1:Deployment update
~ vpc-native-clean-zombie-user-companies-cron kubernetes:batch/v1:CronJob update
~ vpc-native-update-tags-str-cron kubernetes:batch/v1:CronJob update
+ vpc-native-api-db-migration-36ecc4d4 kubernetes:batch/v1:Job create
- vpc-native-api-clickhouse-migration-7a3f0d59 kubernetes:batch/v1:Job delete
~ vpc-native-validate-active-users-cron kubernetes:batch/v1:CronJob update
~ vpc-native-personalized-digest-deployment kubernetes:apps/v1:Deployment update
... and 5 other changes |
Summary
userFeedbackByUserId(userId: ID!, first, after)GraphQL query for team-member support workflowsctx.isTeamMemberand returnForbiddenErrorfor non-team callersKey Decisions
userFeedbackto keep authorization boundaries explicitisTeamMember(not moderator role) because this is internal support tooling rather than moderationqueryReadReplicaand current connection helpersValidation
__tests__/schema/feedback.tsIssue: ENG-1000
Closes ENG-1000
Created by Huginn 🐦⬛