Commit b3a34d9
feat(api): let invited collaborators see private tracks they're on
A collaborator (pending or accepted) couldn't see an unlisted track they were
invited to outside the single-track endpoint (which sets IncludeUnlisted), so a
private collaboration never showed on their profile/feeds.
- get_tracks.sql: an unlisted track is also visible to a user who is an active
(pending/accepted, not rejected) collaborator on it. Scoped to
collaborator_user_id = @my_id, so it never leaks to other viewers. The EXISTS
only evaluates for unlisted tracks (the OR short-circuits public ones) and
only for the already-bounded @ids set, indexed by the track_collaborators PK.
- v1_users_tracks.go: surface a user's own unlisted accepted collaborations on
their own profile (guarded by @my_id = @user_id); hidden from everyone else.
Tested: collaborator sees the private track, non-collaborator and rejected
collaborator do not.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent c9d95c7 commit b3a34d9
4 files changed
Lines changed: 62 additions & 2 deletions
File tree
- api
- dbv1
- queries
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
229 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
230 | 234 | | |
231 | 235 | | |
232 | 236 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
95 | 101 | | |
96 | 102 | | |
97 | 103 | | |
| |||
0 commit comments