import * as api from '../../client/src/api'; import asJson from './asJson'; export function toApiTag(dbObj: any): api.TagDetails { return { tagId: dbObj['tags.id'], name: dbObj['tags.name'], parentId: dbObj['tags.parentId'], parent: dbObj.parent ? toApiTag(dbObj.parent) : undefined, }; } export function toApiArtist(dbObj: any) { return { artistId: dbObj['artists.id'], name: dbObj['artists.name'], storeLinks: asJson(dbObj['artists.storeLinks']), }; } export function toApiSong(dbObj: any, artists: any[], tags: any[], albums: any[]) { return { songId: dbObj['songs.id'], title: dbObj['songs.title'], storeLinks: asJson(dbObj['songs.storeLinks']), artists: artists.map((artist: any) => { return toApiArtist(artist); }), tags: tags.map((tag: any) => { return toApiTag(tag); }), albums: albums.map((album: any) => { return toApiAlbum(album); }), } } export function toApiAlbum(dbObj: any) { return { albumId: dbObj['albums.id'], name: dbObj['albums.name'], storeLinks: asJson(dbObj['albums.storeLinks']), }; }