WIP. A little custom music server
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: update getalbumid request to return correct status. + use yaak

+97 -1
+8 -1
backend/src/api.ts
··· 286 286 }), 287 287 }) {} 288 288 289 + class GetAlbumVariantError extends Error { 290 + status = StatusMap["Bad Request"]; 291 + constructor(public message: string) { 292 + super(message); 293 + } 294 + } 295 + 289 296 export function startApi() { 290 297 const app = new Elysia() 291 298 .use(openapi()) ··· 296 303 "/album/:id", 297 304 ({ params: { id }, query: { include } }) => { 298 305 if (include?.some((x) => (getAlbumVariants as readonly string[]).includes(x) === false)) { 299 - throw new Error("Unsupported get album variant"); 306 + throw new GetAlbumVariantError("Unsupported get album variant"); 300 307 } 301 308 302 309 const realInclude = include as GetAlbumVariant[] | undefined;
+1
bun.lock
··· 1 1 { 2 2 "lockfileVersion": 1, 3 + "configVersion": 0, 3 4 "workspaces": { 4 5 "": { 5 6 "name": "boombox",
+26
yaak/yaak.rq_KZgY7fLeqp.yaml
··· 1 + type: http_request 2 + model: http_request 3 + id: rq_KZgY7fLeqp 4 + createdAt: 2025-12-21T07:49:27.879149 5 + updatedAt: 2025-12-21T07:59:27.020106 6 + workspaceId: wk_ojuTjFeKu7 7 + folderId: null 8 + authentication: {} 9 + authenticationType: null 10 + body: {} 11 + bodyType: null 12 + description: '' 13 + headers: [] 14 + method: GET 15 + name: get-album-by-id 16 + sortPriority: -1766303145229.0 17 + url: localhost:3003/album/:id?include=song,album-artist,song-artist 18 + urlParameters: 19 + - enabled: true 20 + name: :id 21 + value: album_01KCZY1PBC5GPS1W8GKCBYV17Q 22 + id: U3siCTcZtm 23 + - enabled: true 24 + name: '' 25 + value: '' 26 + id: SUhtSbPSQf
+30
yaak/yaak.rq_XUJj2whDrq.yaml
··· 1 + type: http_request 2 + model: http_request 3 + id: rq_XUJj2whDrq 4 + createdAt: 2025-12-21T07:45:45.236100 5 + updatedAt: 2025-12-21T07:49:19.777973 6 + workspaceId: wk_ojuTjFeKu7 7 + folderId: null 8 + authentication: {} 9 + authenticationType: null 10 + body: {} 11 + bodyType: null 12 + description: '' 13 + headers: [] 14 + method: GET 15 + name: get-albums 16 + sortPriority: -1766303145229.0 17 + url: localhost:3003/albums 18 + urlParameters: 19 + - enabled: false 20 + name: '' 21 + value: '' 22 + id: DgDC6mcg4I 23 + - enabled: false 24 + name: '' 25 + value: '' 26 + id: n6CT0hy72W 27 + - enabled: true 28 + name: '' 29 + value: '' 30 + id: EdXe4wqxxH
+18
yaak/yaak.rq_wsSFF3NLgp.yaml
··· 1 + type: http_request 2 + model: http_request 3 + id: rq_wsSFF3NLgp 4 + createdAt: 2025-12-21T07:59:57.151979 5 + updatedAt: 2025-12-21T08:00:12.477936 6 + workspaceId: wk_ojuTjFeKu7 7 + folderId: null 8 + authentication: {} 9 + authenticationType: null 10 + body: {} 11 + bodyType: null 12 + description: '' 13 + headers: [] 14 + method: GET 15 + name: get-songs 16 + sortPriority: -1766303145229.0 17 + url: localhost:3003/songs 18 + urlParameters: []
+14
yaak/yaak.wk_ojuTjFeKu7.yaml
··· 1 + type: workspace 2 + model: workspace 3 + id: wk_ojuTjFeKu7 4 + createdAt: 2025-11-01T18:48:10.595315 5 + updatedAt: 2025-12-21T08:01:38.270396 6 + authentication: {} 7 + authenticationType: null 8 + description: '' 9 + headers: [] 10 + name: Yaak 11 + encryptionKeyChallenge: eUE0azNuQwFkd9+3KfH5f+JchNqILXZeXnwyRPCsJSS+eVnF3Ho5y0EWfacRiQyu1z1rdxsc1PRf7DUzFKkswpMJW5uTE1Jc1Sb6eTGRU6nYvA7FBohArL1EK1HPkTCVMrw= 12 + settingValidateCertificates: true 13 + settingFollowRedirects: true 14 + settingRequestTimeout: 0