25 lines
458 B
TypeScript
25 lines
458 B
TypeScript
export interface Song {
|
|
id: string;
|
|
title: string;
|
|
duration: string;
|
|
previewUrl: string; // URL to 30-second preview
|
|
fullUrl: string; // URL to full song (locked until purchase)
|
|
}
|
|
|
|
export interface Album {
|
|
id: string;
|
|
title: string;
|
|
coverImage: string;
|
|
year: number;
|
|
genre: string;
|
|
price: number;
|
|
description: string;
|
|
songs: Song[];
|
|
}
|
|
|
|
export interface Purchase {
|
|
albumId: string;
|
|
transactionId: string;
|
|
purchaseDate: Date;
|
|
}
|