Skip to main content

Track

Source: lyda-shared/src/Models/db/lyda/Track.ts

Dependencies

import {TrackLike} from "./TrackLike.js";
import {Album} from "./Album.js";
import {Playlist} from "./Playlist.js";
import {Notification} from "./Notification.js";
import {Comment} from "./Comment.js";
import {TrackCollaborator} from "./TrackCollaborator.js";
import {User} from "./User.js";
import {Repost} from "./Repost.js";
import {InteractionMetadata} from "../../InteractionMetadata.ts";
import {Entity} from "@targoninc/ts-search";

Track

Type: interface

export interface Track extends Entity {
repost_user_id?: number;
repost?: Repost;
user?: User;
playlists?: Playlist[];
albums?: Album[];
notifications?: Notification[];
collaborators?: TrackCollaborator[];
user_id: number;
title: string;
isrc: string;
artistname: string;
upc: string;
visibility: string;
credits: string;
loudness_data: string;
genre: string;
version: string;
versionid: number;
length: number;
description: string;
release_date: Date;
updated_at: Date;
created_at: Date;
plays: number;
secretcode: string;
monetization: boolean;
price: number;
has_cover: boolean;
processed: boolean;
likes?: InteractionMetadata<TrackLike>;
reposts?: InteractionMetadata<Repost>;
comments?: InteractionMetadata<Comment>;
}

Properties

PropertyTypeRequiredDescription
repost_user_idnumberNo-
repostRepostNo-
userUserNo-
playlistsPlaylist[]No-
albumsAlbum[]No-
notificationsNotification[]No-
collaboratorsTrackCollaborator[]No-
user_idnumberYes-
titlestringYes-
isrcstringYes-
artistnamestringYes-
upcstringYes-
visibilitystringYes-
creditsstringYes-
loudness_datastringYes-
genrestringYes-
versionstringYes-
versionidnumberYes-
lengthnumberYes-
descriptionstringYes-
release_dateD​a​t​eYes-
updated_atD​a​t​eYes-
created_atD​a​t​eYes-
playsnumberYes-
secretcodestringYes-
monetizationbooleanYes-
pricenumberYes-
has_coverbooleanYes-
processedbooleanYes-
likesInteractionMetadata<TrackLike>No-
repostsInteractionMetadata<Repost>No-
commentsInteractionMetadata<Comment>No-