+7
-6
apps/api/src/xrpc/app/rocksky/scrobble/getScrobbles.ts
+7
-6
apps/api/src/xrpc/app/rocksky/scrobble/getScrobbles.ts
···
99
99
100
100
return scrobbles.map((row) => ({
101
101
...row,
102
-
scrobbles: {
103
-
...row.scrobbles,
104
-
likesCount: likesMap.get(row.tracks?.id)?.count ?? 0,
105
-
liked: likesMap.get(row.tracks?.id)?.liked ?? false,
106
-
},
102
+
likesCount: likesMap.get(row.tracks?.id)?.count ?? 0,
103
+
liked: likesMap.get(row.tracks?.id)?.liked ?? false,
107
104
}));
108
105
},
109
106
···
115
112
data: Scrobbles,
116
113
): Effect.Effect<{ scrobbles: ScrobbleViewBasic[] }, never> => {
117
114
return Effect.sync(() => ({
118
-
scrobbles: data.map(({ scrobbles, tracks, users }) => ({
115
+
scrobbles: data.map(({ scrobbles, tracks, users, liked, likesCount }) => ({
119
116
...R.omit(["albumArt", "id", "lyrics"])(tracks),
120
117
cover: tracks.albumArt,
121
118
date: scrobbles.timestamp.toISOString(),
···
126
123
tags: [],
127
124
id: scrobbles.id,
128
125
trackUri: tracks.uri,
126
+
likesCount: likesCount,
127
+
liked: liked,
129
128
})),
130
129
}));
131
130
};
···
134
133
scrobbles: SelectScrobble;
135
134
tracks: SelectTrack;
136
135
users: SelectUser;
136
+
liked: boolean;
137
+
likesCount: number;
137
138
}[];