ci / api / api (push) Successful in 55s
release / release (версия и заметки) (push) Successful in 5s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m21s
ci / ts / ts (packages + web) (push) Successful in 2m19s
release / android (APK в релиз) (push) Successful in 4m45s
release / desktop (Linux и Windows в релиз) (push) Successful in 20m58s
release / prune (старые файлы и прогоны) (push) Successful in 9s
ci / module boundaries / boundaries (push) Successful in 7s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m35s
ci / db / db (push) Successful in 59s
10 lines
470 B
TypeScript
10 lines
470 B
TypeScript
/** Public page URL: never includes playback credentials or stream URLs. */
|
|
export function trackShareUrl(server: string, trackId: string): string {
|
|
return new URL(`/track/${encodeURIComponent(trackId)}`, server).href;
|
|
}
|
|
|
|
/** Revocable read-only playlist page; requires a listener account on this server. */
|
|
export function playlistShareUrl(server: string, shareId: string): string {
|
|
return new URL(`/shared/playlist/${encodeURIComponent(shareId)}`, server).href;
|
|
}
|