prismcast 1.10.2 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.d.ts +6 -3
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +140 -86
- package/dist/app.js.map +1 -1
- package/dist/browser/blockedPage.d.ts +80 -0
- package/dist/browser/blockedPage.d.ts.map +1 -0
- package/dist/browser/blockedPage.js +209 -0
- package/dist/browser/blockedPage.js.map +1 -0
- package/dist/browser/browserSupervisor.d.ts +80 -0
- package/dist/browser/browserSupervisor.d.ts.map +1 -0
- package/dist/browser/browserSupervisor.js +186 -0
- package/dist/browser/browserSupervisor.js.map +1 -0
- package/dist/browser/cdp.d.ts +1 -0
- package/dist/browser/cdp.d.ts.map +1 -0
- package/dist/browser/cdp.js +6 -5
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +45 -14
- package/dist/browser/channelSelection.d.ts.map +1 -0
- package/dist/browser/channelSelection.js +81 -18
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/consent.d.ts +152 -0
- package/dist/browser/consent.d.ts.map +1 -0
- package/dist/browser/consent.js +418 -0
- package/dist/browser/consent.js.map +1 -0
- package/dist/browser/display.d.ts +1 -0
- package/dist/browser/display.d.ts.map +1 -0
- package/dist/browser/hlsPlaylistObserver.d.ts +55 -0
- package/dist/browser/hlsPlaylistObserver.d.ts.map +1 -0
- package/dist/browser/hlsPlaylistObserver.js +132 -0
- package/dist/browser/hlsPlaylistObserver.js.map +1 -0
- package/dist/browser/index.d.ts +67 -40
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +508 -300
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/launchGovernor.d.ts +89 -0
- package/dist/browser/launchGovernor.d.ts.map +1 -0
- package/dist/browser/launchGovernor.js +96 -0
- package/dist/browser/launchGovernor.js.map +1 -0
- package/dist/browser/login.d.ts +10 -2
- package/dist/browser/login.d.ts.map +1 -0
- package/dist/browser/login.js +36 -5
- package/dist/browser/login.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +102 -49
- package/dist/browser/manifestInterceptor.d.ts.map +1 -0
- package/dist/browser/manifestInterceptor.js +219 -237
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/pageStaleness.d.ts +30 -0
- package/dist/browser/pageStaleness.d.ts.map +1 -0
- package/dist/browser/pageStaleness.js +76 -0
- package/dist/browser/pageStaleness.js.map +1 -0
- package/dist/browser/precaching.d.ts +95 -3
- package/dist/browser/precaching.d.ts.map +1 -0
- package/dist/browser/precaching.js +499 -65
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tabNetworkObserver.d.ts +49 -0
- package/dist/browser/tabNetworkObserver.d.ts.map +1 -0
- package/dist/browser/tabNetworkObserver.js +144 -0
- package/dist/browser/tabNetworkObserver.js.map +1 -0
- package/dist/browser/tuning/cache.d.ts +61 -0
- package/dist/browser/tuning/cache.d.ts.map +1 -0
- package/dist/browser/tuning/cache.js +62 -0
- package/dist/browser/tuning/cache.js.map +1 -0
- package/dist/browser/tuning/comcastPolymer.d.ts +3 -2
- package/dist/browser/tuning/comcastPolymer.d.ts.map +1 -0
- package/dist/browser/tuning/comcastPolymer.js +79 -102
- package/dist/browser/tuning/comcastPolymer.js.map +1 -1
- package/dist/browser/tuning/cox.d.ts +1 -0
- package/dist/browser/tuning/cox.d.ts.map +1 -0
- package/dist/browser/tuning/directv.d.ts +1 -0
- package/dist/browser/tuning/directv.d.ts.map +1 -0
- package/dist/browser/tuning/directv.js +52 -46
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +1 -0
- package/dist/browser/tuning/fox.d.ts.map +1 -0
- package/dist/browser/tuning/fox.js +13 -12
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/gridSearch.d.ts +68 -0
- package/dist/browser/tuning/gridSearch.d.ts.map +1 -0
- package/dist/browser/tuning/gridSearch.js +85 -0
- package/dist/browser/tuning/gridSearch.js.map +1 -0
- package/dist/browser/tuning/hbo.d.ts +1 -0
- package/dist/browser/tuning/hbo.d.ts.map +1 -0
- package/dist/browser/tuning/hbo.js +73 -45
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +1 -0
- package/dist/browser/tuning/hulu.d.ts.map +1 -0
- package/dist/browser/tuning/hulu.js +128 -173
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +75 -5
- package/dist/browser/tuning/shared.d.ts.map +1 -0
- package/dist/browser/tuning/shared.js +216 -6
- package/dist/browser/tuning/shared.js.map +1 -1
- package/dist/browser/tuning/sling.d.ts +1 -0
- package/dist/browser/tuning/sling.d.ts.map +1 -0
- package/dist/browser/tuning/sling.js +105 -126
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +1 -0
- package/dist/browser/tuning/spectrum.d.ts.map +1 -0
- package/dist/browser/tuning/spectrum.js +80 -125
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +1 -0
- package/dist/browser/tuning/thumbnailRow.d.ts.map +1 -0
- package/dist/browser/tuning/thumbnailRow.js +8 -2
- package/dist/browser/tuning/thumbnailRow.js.map +1 -1
- package/dist/browser/tuning/tileClick.d.ts +1 -0
- package/dist/browser/tuning/tileClick.d.ts.map +1 -0
- package/dist/browser/tuning/tileClick.js +3 -2
- package/dist/browser/tuning/tileClick.js.map +1 -1
- package/dist/browser/tuning/xfinity.d.ts +1 -0
- package/dist/browser/tuning/xfinity.d.ts.map +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts.map +1 -0
- package/dist/browser/tuning/youtubeTv.js +74 -127
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +54 -14
- package/dist/browser/video.d.ts.map +1 -0
- package/dist/browser/video.js +296 -138
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +1 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +12 -9
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +15 -1
- package/dist/config/channelForm.d.ts.map +1 -0
- package/dist/config/channelForm.js +28 -12
- package/dist/config/channelForm.js.map +1 -1
- package/dist/config/consistencyProbe.d.ts +1 -0
- package/dist/config/consistencyProbe.d.ts.map +1 -0
- package/dist/config/consistencyProbe.js +27 -21
- package/dist/config/consistencyProbe.js.map +1 -1
- package/dist/config/health.d.ts +41 -8
- package/dist/config/health.d.ts.map +1 -0
- package/dist/config/health.js +189 -38
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +55 -3
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +320 -69
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +10 -9
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +11 -11
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +1 -0
- package/dist/config/persistence.context.d.ts.map +1 -0
- package/dist/config/persistence.d.ts +13 -10
- package/dist/config/persistence.d.ts.map +1 -0
- package/dist/config/persistence.js +40 -21
- package/dist/config/persistence.js.map +1 -1
- package/dist/config/presets.d.ts +1 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/profiles.d.ts +22 -15
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +81 -47
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerLineups.d.ts +47 -0
- package/dist/config/providerLineups.d.ts.map +1 -0
- package/dist/config/providerLineups.js +137 -0
- package/dist/config/providerLineups.js.map +1 -0
- package/dist/config/reactivity.d.ts +84 -0
- package/dist/config/reactivity.d.ts.map +1 -0
- package/dist/config/reactivity.js +226 -0
- package/dist/config/reactivity.js.map +1 -0
- package/dist/config/servicePacks.d.ts +18 -2
- package/dist/config/servicePacks.d.ts.map +1 -0
- package/dist/config/servicePacks.js +53 -11
- package/dist/config/servicePacks.js.map +1 -1
- package/dist/config/services.d.ts +21 -15
- package/dist/config/services.d.ts.map +1 -0
- package/dist/config/services.js +35 -24
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +6 -4
- package/dist/config/sites.d.ts.map +1 -0
- package/dist/config/sites.js +15 -11
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +129 -30
- package/dist/config/userChannels.d.ts.map +1 -0
- package/dist/config/userChannels.js +333 -68
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +14 -9
- package/dist/config/userConfig.d.ts.map +1 -0
- package/dist/config/userConfig.js +87 -25
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +10 -6
- package/dist/config/userProfiles.d.ts.map +1 -0
- package/dist/config/userProfiles.js +64 -39
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -0
- package/dist/hdhr/channelMap.d.ts.map +1 -0
- package/dist/hdhr/deviceId.d.ts +1 -0
- package/dist/hdhr/deviceId.d.ts.map +1 -0
- package/dist/hdhr/discover.d.ts +1 -0
- package/dist/hdhr/discover.d.ts.map +1 -0
- package/dist/hdhr/discover.js +48 -47
- package/dist/hdhr/discover.js.map +1 -1
- package/dist/hdhr/getHandlers.d.ts +29 -0
- package/dist/hdhr/getHandlers.d.ts.map +1 -0
- package/dist/hdhr/getHandlers.js +196 -0
- package/dist/hdhr/getHandlers.js.map +1 -0
- package/dist/hdhr/identity.d.ts +36 -0
- package/dist/hdhr/identity.d.ts.map +1 -0
- package/dist/hdhr/identity.js +51 -0
- package/dist/hdhr/identity.js.map +1 -0
- package/dist/hdhr/index.d.ts +22 -4
- package/dist/hdhr/index.d.ts.map +1 -0
- package/dist/hdhr/index.js +229 -54
- package/dist/hdhr/index.js.map +1 -1
- package/dist/hdhr/protocol.d.ts +75 -0
- package/dist/hdhr/protocol.d.ts.map +1 -0
- package/dist/hdhr/protocol.js +264 -0
- package/dist/hdhr/protocol.js.map +1 -0
- package/dist/hdhr/tunerState.d.ts +24 -0
- package/dist/hdhr/tunerState.d.ts.map +1 -0
- package/dist/hdhr/tunerState.js +67 -0
- package/dist/hdhr/tunerState.js.map +1 -0
- package/dist/hdhr/udp.d.ts +43 -0
- package/dist/hdhr/udp.d.ts.map +1 -0
- package/dist/hdhr/udp.js +277 -0
- package/dist/hdhr/udp.js.map +1 -0
- package/dist/identity.d.ts +1 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +13 -11
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -12
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +1 -0
- package/dist/native/codecInference.d.ts.map +1 -0
- package/dist/native/codecInference.js +50 -5
- package/dist/native/codecInference.js.map +1 -1
- package/dist/native/decrypt.d.ts +6 -2
- package/dist/native/decrypt.d.ts.map +1 -0
- package/dist/native/decrypt.js +15 -8
- package/dist/native/decrypt.js.map +1 -1
- package/dist/native/index.d.ts +40 -17
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +281 -120
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +114 -18
- package/dist/native/probe.d.ts.map +1 -0
- package/dist/native/probe.js +452 -115
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +57 -5
- package/dist/native/proxy.d.ts.map +1 -0
- package/dist/native/proxy.js +604 -170
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +1 -0
- package/dist/native/tokenExpiry.d.ts.map +1 -0
- package/dist/native/tokenExpiry.js +1 -1
- package/dist/routes/assets.d.ts +1 -0
- package/dist/routes/assets.d.ts.map +1 -0
- package/dist/routes/assets.js +4 -2
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/auth.d.ts +1 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +0 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/cdp.d.ts +5 -5
- package/dist/routes/cdp.d.ts.map +1 -0
- package/dist/routes/cdp.js +59 -20
- package/dist/routes/cdp.js.map +1 -1
- package/dist/routes/channels.d.ts +1 -0
- package/dist/routes/channels.d.ts.map +1 -0
- package/dist/routes/channels.js +2 -1
- package/dist/routes/channels.js.map +1 -1
- package/dist/routes/clientActions.d.ts +98 -0
- package/dist/routes/clientActions.d.ts.map +1 -0
- package/dist/routes/clientActions.js +113 -0
- package/dist/routes/clientActions.js.map +1 -0
- package/dist/routes/components.d.ts +5 -3
- package/dist/routes/components.d.ts.map +1 -0
- package/dist/routes/components.js +36 -39
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/browse.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/browse.js +23 -10
- package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/bulk.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/bulk.js +5 -3
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/crud.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/crud.js +85 -93
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/importExport.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/importExport.js +6 -3
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/predefined.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.js +2 -1
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
- package/dist/routes/config/channels/endpoints/service.d.ts +2 -1
- package/dist/routes/config/channels/endpoints/service.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/service.js +3 -1
- package/dist/routes/config/channels/endpoints/service.js.map +1 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/tags.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/tags.js +13 -7
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
- package/dist/routes/config/channels/healthBridge.d.ts +24 -0
- package/dist/routes/config/channels/healthBridge.d.ts.map +1 -0
- package/dist/routes/config/channels/healthBridge.js +71 -0
- package/dist/routes/config/channels/healthBridge.js.map +1 -0
- package/dist/routes/config/channels/http/handler.d.ts +1 -0
- package/dist/routes/config/channels/http/handler.d.ts.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.d.ts +2 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.js +16 -2
- package/dist/routes/config/channels/http/playlistHint.js.map +1 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts +4 -2
- package/dist/routes/config/channels/http/serviceWarning.d.ts.map +1 -0
- package/dist/routes/config/channels/http/serviceWarning.js +3 -2
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +1 -0
- package/dist/routes/config/channels/index.d.ts.map +1 -0
- package/dist/routes/config/channels/setup.d.ts +1 -0
- package/dist/routes/config/channels/setup.d.ts.map +1 -0
- package/dist/routes/config/channels/table.d.ts +3 -3
- package/dist/routes/config/channels/table.d.ts.map +1 -0
- package/dist/routes/config/channels/table.js +148 -107
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +1 -0
- package/dist/routes/config/http/envelope.d.ts.map +1 -0
- package/dist/routes/config/index.d.ts +35 -3
- package/dist/routes/config/index.d.ts.map +1 -0
- package/dist/routes/config/index.js +51 -2
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.d.ts +5 -4
- package/dist/routes/config/services.d.ts.map +1 -0
- package/dist/routes/config/services.js +57 -43
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +1 -0
- package/dist/routes/config/settings.d.ts.map +1 -0
- package/dist/routes/config/settings.js +98 -49
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.d.ts +1 -0
- package/dist/routes/debug.d.ts.map +1 -0
- package/dist/routes/debug.js +277 -139
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/health.d.ts +39 -1
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +33 -27
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/hls.d.ts +1 -0
- package/dist/routes/hls.d.ts.map +1 -0
- package/dist/routes/icons.d.ts +1 -0
- package/dist/routes/icons.d.ts.map +1 -0
- package/dist/routes/icons.js +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/logs.d.ts +1 -0
- package/dist/routes/logs.d.ts.map +1 -0
- package/dist/routes/logs.js +14 -4
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.d.ts +1 -0
- package/dist/routes/mpegts.d.ts.map +1 -0
- package/dist/routes/play.d.ts +1 -0
- package/dist/routes/play.d.ts.map +1 -0
- package/dist/routes/playlist.d.ts +1 -0
- package/dist/routes/playlist.d.ts.map +1 -0
- package/dist/routes/playlist.js +7 -2
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.d.ts +8 -5
- package/dist/routes/root/content.d.ts.map +1 -0
- package/dist/routes/root/content.js +29 -26
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.d.ts +2 -1
- package/dist/routes/root/index.d.ts.map +1 -0
- package/dist/routes/root/index.js +26 -21
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.d.ts +6 -0
- package/dist/routes/root/scripts/channels.d.ts.map +1 -0
- package/dist/routes/root/scripts/channels.js +197 -118
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/clientEscape.d.ts +22 -0
- package/dist/routes/root/scripts/clientEscape.d.ts.map +1 -0
- package/dist/routes/root/scripts/clientEscape.js +41 -0
- package/dist/routes/root/scripts/clientEscape.js.map +1 -0
- package/dist/routes/root/scripts/clientUrl.d.ts +23 -0
- package/dist/routes/root/scripts/clientUrl.d.ts.map +1 -0
- package/dist/routes/root/scripts/clientUrl.js +44 -0
- package/dist/routes/root/scripts/clientUrl.js.map +1 -0
- package/dist/routes/root/scripts/config.d.ts +6 -0
- package/dist/routes/root/scripts/config.d.ts.map +1 -0
- package/dist/routes/root/scripts/config.js +110 -24
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +1 -0
- package/dist/routes/root/scripts/index.d.ts.map +1 -0
- package/dist/routes/root/scripts/shared.d.ts +1 -0
- package/dist/routes/root/scripts/shared.d.ts.map +1 -0
- package/dist/routes/root/scripts/shared.js +112 -26
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +1 -0
- package/dist/routes/root/scripts/status.d.ts.map +1 -0
- package/dist/routes/root/scripts/status.handlers.d.ts +23 -33
- package/dist/routes/root/scripts/status.handlers.d.ts.map +1 -0
- package/dist/routes/root/scripts/status.handlers.js +46 -92
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/scripts/status.js +21 -8
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.d.ts +1 -0
- package/dist/routes/root/styles.d.ts.map +1 -0
- package/dist/routes/root/styles.js +7 -4
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/routes/services.d.ts +13 -1
- package/dist/routes/services.d.ts.map +1 -0
- package/dist/routes/services.js +81 -68
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +1 -0
- package/dist/routes/sse.d.ts.map +1 -0
- package/dist/routes/sse.js +1 -1
- package/dist/routes/sse.js.map +1 -1
- package/dist/routes/streams.d.ts +2 -1
- package/dist/routes/streams.d.ts.map +1 -0
- package/dist/routes/streams.js +6 -4
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/theme.d.ts +3 -2
- package/dist/routes/theme.d.ts.map +1 -0
- package/dist/routes/theme.js +6 -5
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.d.ts +3 -1
- package/dist/routes/ui.d.ts.map +1 -0
- package/dist/routes/ui.js +16 -4
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.d.ts +1 -0
- package/dist/routes/upgrade.d.ts.map +1 -0
- package/dist/routes/upgrade.js +6 -2
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +1 -0
- package/dist/service/commands.context.d.ts.map +1 -0
- package/dist/service/commands.context.js +4 -3
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/commands.d.ts +1 -0
- package/dist/service/commands.d.ts.map +1 -0
- package/dist/service/commands.js +10 -13
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.context.d.ts +1 -0
- package/dist/service/generators.context.d.ts.map +1 -0
- package/dist/service/generators.context.js +1 -1
- package/dist/service/generators.context.js.map +1 -1
- package/dist/service/generators.d.ts +4 -3
- package/dist/service/generators.d.ts.map +1 -0
- package/dist/service/generators.js +111 -31
- package/dist/service/generators.js.map +1 -1
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/streaming/captureLock.d.ts +44 -0
- package/dist/streaming/captureLock.d.ts.map +1 -0
- package/dist/streaming/captureLock.js +95 -0
- package/dist/streaming/captureLock.js.map +1 -0
- package/dist/streaming/captureSession.d.ts +31 -0
- package/dist/streaming/captureSession.d.ts.map +1 -0
- package/dist/streaming/captureSession.js +54 -0
- package/dist/streaming/captureSession.js.map +1 -0
- package/dist/streaming/clients.d.ts +1 -0
- package/dist/streaming/clients.d.ts.map +1 -0
- package/dist/streaming/codec.d.ts +1 -0
- package/dist/streaming/codec.d.ts.map +1 -0
- package/dist/streaming/fmp4Segmenter.d.ts +29 -2
- package/dist/streaming/fmp4Segmenter.d.ts.map +1 -0
- package/dist/streaming/fmp4Segmenter.js +79 -26
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +18 -7
- package/dist/streaming/hls.d.ts.map +1 -0
- package/dist/streaming/hls.js +220 -120
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +1 -0
- package/dist/streaming/hlsResume.d.ts.map +1 -0
- package/dist/streaming/hlsResume.js +1 -1
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +59 -2
- package/dist/streaming/hlsSegments.d.ts.map +1 -0
- package/dist/streaming/hlsSegments.js +147 -17
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.d.ts +4 -1
- package/dist/streaming/lifecycle.d.ts.map +1 -0
- package/dist/streaming/lifecycle.js +65 -85
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +6 -4
- package/dist/streaming/monitor.d.ts.map +1 -0
- package/dist/streaming/monitor.js +343 -145
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +5 -4
- package/dist/streaming/mp4Parser.d.ts.map +1 -0
- package/dist/streaming/mp4Parser.js +36 -13
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +16 -0
- package/dist/streaming/mpegts.d.ts.map +1 -0
- package/dist/streaming/mpegts.js +61 -17
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +1 -0
- package/dist/streaming/playlistBuilder.d.ts.map +1 -0
- package/dist/streaming/preroll.d.ts +32 -5
- package/dist/streaming/preroll.d.ts.map +1 -0
- package/dist/streaming/preroll.js +70 -32
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.d.ts +26 -1
- package/dist/streaming/pretune.d.ts.map +1 -0
- package/dist/streaming/pretune.js +22 -24
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/pretuneTimers.d.ts +24 -0
- package/dist/streaming/pretuneTimers.d.ts.map +1 -0
- package/dist/streaming/pretuneTimers.js +56 -0
- package/dist/streaming/pretuneTimers.js.map +1 -0
- package/dist/streaming/recovery.d.ts +139 -5
- package/dist/streaming/recovery.d.ts.map +1 -0
- package/dist/streaming/recovery.js +160 -16
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +27 -9
- package/dist/streaming/registry.d.ts.map +1 -0
- package/dist/streaming/registry.js +21 -3
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +157 -29
- package/dist/streaming/setup.d.ts.map +1 -0
- package/dist/streaming/setup.js +1034 -458
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +21 -1
- package/dist/streaming/showInfo.d.ts.map +1 -0
- package/dist/streaming/showInfo.js +31 -16
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +10 -10
- package/dist/streaming/statusEmitter.d.ts.map +1 -0
- package/dist/streaming/statusEmitter.js +5 -8
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +16 -4
- package/dist/types/channels.d.ts.map +1 -0
- package/dist/types/channels.js +4 -2
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +16 -5
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/profiles.d.ts +6 -4
- package/dist/types/profiles.d.ts.map +1 -0
- package/dist/types/selection.d.ts +31 -3
- package/dist/types/selection.d.ts.map +1 -0
- package/dist/types/selection.js +4 -2
- package/dist/types/selection.js.map +1 -1
- package/dist/types/shared.d.ts +1 -0
- package/dist/types/shared.d.ts.map +1 -0
- package/dist/types/streaming.d.ts +8 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/upgrade/commands.context.d.ts +1 -0
- package/dist/upgrade/commands.context.d.ts.map +1 -0
- package/dist/upgrade/commands.context.js +14 -10
- package/dist/upgrade/commands.context.js.map +1 -1
- package/dist/upgrade/commands.d.ts +8 -15
- package/dist/upgrade/commands.d.ts.map +1 -0
- package/dist/upgrade/commands.js +27 -28
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +1 -0
- package/dist/upgrade/detection.context.d.ts.map +1 -0
- package/dist/upgrade/detection.context.js +4 -1
- package/dist/upgrade/detection.context.js.map +1 -1
- package/dist/upgrade/detection.d.ts +9 -7
- package/dist/upgrade/detection.d.ts.map +1 -0
- package/dist/upgrade/detection.js +23 -54
- package/dist/upgrade/detection.js.map +1 -1
- package/dist/upgrade/index.d.ts +2 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +1 -0
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/lifecycle.context.d.ts +20 -0
- package/dist/upgrade/lifecycle.context.d.ts.map +1 -0
- package/dist/upgrade/lifecycle.context.js +47 -0
- package/dist/upgrade/lifecycle.context.js.map +1 -0
- package/dist/upgrade/lifecycle.d.ts +72 -0
- package/dist/upgrade/lifecycle.d.ts.map +1 -0
- package/dist/upgrade/lifecycle.js +175 -0
- package/dist/upgrade/lifecycle.js.map +1 -0
- package/dist/upgrade/pathHandle.d.ts +30 -0
- package/dist/upgrade/pathHandle.d.ts.map +1 -0
- package/dist/upgrade/pathHandle.js +102 -0
- package/dist/upgrade/pathHandle.js.map +1 -0
- package/dist/utils/bootSession.context.d.ts +16 -0
- package/dist/utils/bootSession.context.d.ts.map +1 -0
- package/dist/utils/bootSession.context.js +60 -0
- package/dist/utils/bootSession.context.js.map +1 -0
- package/dist/utils/bootSession.d.ts +17 -0
- package/dist/utils/bootSession.d.ts.map +1 -0
- package/dist/utils/bootSession.js +20 -0
- package/dist/utils/bootSession.js.map +1 -0
- package/dist/utils/chromeFetch.d.ts +1 -0
- package/dist/utils/chromeFetch.d.ts.map +1 -0
- package/dist/utils/cliOutput.d.ts +1 -0
- package/dist/utils/cliOutput.d.ts.map +1 -0
- package/dist/utils/clock.d.ts +5 -4
- package/dist/utils/clock.d.ts.map +1 -0
- package/dist/utils/clock.js +19 -16
- package/dist/utils/clock.js.map +1 -1
- package/dist/utils/debugFilter.d.ts +9 -1
- package/dist/utils/debugFilter.d.ts.map +1 -0
- package/dist/utils/debugFilter.js +60 -33
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +48 -15
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/delay.js +73 -20
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/errors.d.ts +32 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +45 -4
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/evaluate.d.ts +1 -0
- package/dist/utils/evaluate.d.ts.map +1 -0
- package/dist/utils/evaluate.js +29 -23
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +1 -0
- package/dist/utils/ffmpeg.context.d.ts.map +1 -0
- package/dist/utils/ffmpeg.context.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +29 -7
- package/dist/utils/ffmpeg.d.ts.map +1 -0
- package/dist/utils/ffmpeg.js +32 -14
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +3 -1
- package/dist/utils/fileLogger.d.ts.map +1 -0
- package/dist/utils/fileLogger.js +64 -29
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +14 -1
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +19 -5
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +1 -0
- package/dist/utils/logEmitter.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +10 -6
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/m3u.d.ts +3 -2
- package/dist/utils/m3u.d.ts.map +1 -0
- package/dist/utils/m3u.js +4 -3
- package/dist/utils/m3u.js.map +1 -1
- package/dist/utils/markup.d.ts +13 -1
- package/dist/utils/markup.d.ts.map +1 -0
- package/dist/utils/markup.js +28 -4
- package/dist/utils/markup.js.map +1 -1
- package/dist/utils/memo.d.ts +3 -2
- package/dist/utils/memo.d.ts.map +1 -0
- package/dist/utils/memo.js +3 -3
- package/dist/utils/morganStream.d.ts +1 -0
- package/dist/utils/morganStream.d.ts.map +1 -0
- package/dist/utils/network.d.ts +1 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +2 -2
- package/dist/utils/pid.d.ts +3 -25
- package/dist/utils/pid.d.ts.map +1 -0
- package/dist/utils/pid.js +10 -49
- package/dist/utils/pid.js.map +1 -1
- package/dist/utils/platform.d.ts +3 -1
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +2 -1
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/processInspector.context.d.ts +8 -0
- package/dist/utils/processInspector.context.d.ts.map +1 -0
- package/dist/utils/processInspector.context.js +106 -0
- package/dist/utils/processInspector.context.js.map +1 -0
- package/dist/utils/processInspector.d.ts +55 -0
- package/dist/utils/processInspector.d.ts.map +1 -0
- package/dist/utils/processInspector.js +127 -0
- package/dist/utils/processInspector.js.map +1 -0
- package/dist/utils/retry.d.ts +25 -2
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +33 -6
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +7 -0
- package/dist/utils/runtimeIdentity.context.d.ts.map +1 -0
- package/dist/utils/runtimeIdentity.context.js +43 -0
- package/dist/utils/runtimeIdentity.context.js.map +1 -0
- package/dist/utils/runtimeIdentity.d.ts +98 -0
- package/dist/utils/runtimeIdentity.d.ts.map +1 -0
- package/dist/utils/runtimeIdentity.js +181 -0
- package/dist/utils/runtimeIdentity.js.map +1 -0
- package/dist/utils/sanitize.d.ts +1 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/streamContext.d.ts +2 -1
- package/dist/utils/streamContext.d.ts.map +1 -0
- package/dist/utils/streamContext.js +1 -1
- package/dist/utils/timing.d.ts +2 -1
- package/dist/utils/timing.d.ts.map +1 -0
- package/dist/utils/timing.js +0 -5
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +47 -13
- package/dist/utils/version.js.map +1 -1
- package/package.json +26 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/bulk.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAClI,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAE7C,yJAAyJ;IACzJ,yEAAyE;IACzE,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3G,MAAM,IAAI,GAAG,GAAG,CAAC,IAAsE,CAAC;QACxF,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QAChC,MAAM,SAAS,GAAsB,IAAI,CAAC,SAA0C,IAAI,MAAM,CAAC;QAC/F,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAEjE,IAAG,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAElD,mBAAmB,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;YAEzE,OAAO;QACT,CAAC;QAED,IAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAErC,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;YAEhD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAErC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAEnG,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;YAE5B,wJAAwJ;YACxJ,yJAAyJ;YACzJ,uGAAuG;YACvG,IAAG,SAAS,EAAE,CAAC;gBAEb,qIAAqI;gBACrI,KAAI,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAE3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;gBAED,OAAO;YACT,CAAC;YAED,iHAAiH;YACjH,KAAI,MAAM,CAAE,CAAC,EAAE,KAAK,CAAE,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAE5C,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;gBAEtB,IAAG,GAAG,GAAG,KAAK,EAAE,CAAC;oBAEf,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/F,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAElD,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC;YACzB,CAAC,+BAA+B,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YAChF,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC;QAE7D,WAAW,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/bulk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/crud.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAmY1D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAiVrD"}
|
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
/* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
2
|
-
*
|
|
3
|
-
* crud.ts: RESTful CRUD endpoints for individual channel records.
|
|
4
|
-
*
|
|
5
|
-
* Each handler is a thin adapter: parse the typed body, delegate decisions to the channelForm domain helpers, write through mutateChannels, respond with an
|
|
6
|
-
* envelope patch.
|
|
7
|
-
*
|
|
8
|
-
* Endpoints:
|
|
9
|
-
* POST /config/channels - Create a new user channel.
|
|
10
|
-
* PUT /config/channels/:key - Full replace/edit. Decides between revert, variant revert, or delta override based on submitted values.
|
|
11
|
-
* DELETE /config/channels/:key - Delete a user channel.
|
|
12
|
-
* POST /config/channels/:key/revert - Revert a predefined channel override to defaults.
|
|
13
|
-
* PATCH /config/channels/:key - Partial update (inline cell edits: channelNumber, stationId, hdhrEnabled, tags).
|
|
14
|
-
*/
|
|
15
|
-
import { CHANNEL_BINDING_KEYS, CHANNEL_IDENTITY_KEYS } from "../../../../types/index.js";
|
|
16
1
|
import { LOG, sanitizeString } from "../../../../utils/index.js";
|
|
17
|
-
import {
|
|
2
|
+
import { M3U_FIELDS, playlistHintForChange, playlistHintForDelta, playlistHintForStored } from "../http/playlistHint.js";
|
|
18
3
|
import { channelMatches, computePredefinedDelta, findMatchingVariant } from "../../../../config/channelForm.js";
|
|
4
|
+
import { clearChannelOverrides, getPredefinedChannel, inferTargetVariant, intersectBindingDeltas, isPredefinedChannel, isUserChannel, mutateChannels, parseTagInput, pickBindingFields, pickIdentityFields, replaceVariantBinding, sortTags, validateChannelKey, validateChannelName, validateChannelNumber, validateChannelProfile, validateChannelUrl } from "../../../../config/userChannels.js";
|
|
19
5
|
import { getResolvedChannel, resolveServiceKey } from "../../../../config/services.js";
|
|
20
|
-
import { playlistHintForChange, playlistHintForDelta, playlistHintForStored } from "../http/playlistHint.js";
|
|
21
6
|
import { sendFormErrors, sendSuccess, sendValidationError } from "../../http/envelope.js";
|
|
22
7
|
import { PREDEFINED_CHANNELS } from "../../../../channels/index.js";
|
|
23
8
|
import { buildServiceFilterWarning } from "../http/serviceWarning.js";
|
|
24
|
-
import {
|
|
9
|
+
import { getBuiltinProfile } from "../../../../config/profiles.js";
|
|
10
|
+
import { getUserProfiles } from "../../../../config/userProfiles.js";
|
|
25
11
|
import { route } from "../http/handler.js";
|
|
26
12
|
import { updateChannelLogo } from "../../../../streaming/showInfo.js";
|
|
27
13
|
/* Single source of truth for fields that PATCH /config/channels/:key accepts. The tuple is the one place an inline-editable field is declared; the InlineEditBody
|
|
@@ -47,6 +33,9 @@ function parseFormBody(body) {
|
|
|
47
33
|
const formValues = {
|
|
48
34
|
channelNumber: channelNumberStr ? parseInt(channelNumberStr, 10) : undefined,
|
|
49
35
|
channelSelector: sanitizeString(body["channelSelector"] ?? ""),
|
|
36
|
+
// The force-capture checkbox carries value="true" and has no hidden-input partner, so an unchecked box posts nothing at all. Testing for the exact "true"
|
|
37
|
+
// the markup emits keeps the parse and the markup a single contract - a value-less checkbox would post "on" and silently read as unchecked here.
|
|
38
|
+
forceCapture: body["forceCapture"] === "true",
|
|
50
39
|
guideTitle: sanitizeString(body["guideTitle"] ?? ""),
|
|
51
40
|
hdhrEnabled: body["hdhrEnabled"] !== "false",
|
|
52
41
|
logoUrl: sanitizeString(body["logoUrl"] ?? ""),
|
|
@@ -58,15 +47,24 @@ function parseFormBody(body) {
|
|
|
58
47
|
const tags = parseTagInput(sanitizeString(body["tags"] ?? ""));
|
|
59
48
|
return { formValues, tags };
|
|
60
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Answers whether a profile name exists, consulting the single builtin lookup and the user's own profiles. Profile existence questions go through that lookup
|
|
52
|
+
* rather than the UI profile catalog, which omits the provider profiles a channel may legitimately reference.
|
|
53
|
+
* @param name - The profile name to test.
|
|
54
|
+
* @returns True when the name resolves to a builtin or a user-defined profile.
|
|
55
|
+
*/
|
|
56
|
+
function isKnownProfile(name) {
|
|
57
|
+
return Boolean(getBuiltinProfile(name)) || (name in getUserProfiles());
|
|
58
|
+
}
|
|
61
59
|
/**
|
|
62
60
|
* Validates submitted form values and returns a map of field errors. An empty map means validation passed.
|
|
63
61
|
* @param formValues - The normalized form values.
|
|
64
62
|
* @param key - The channel key being created or edited.
|
|
65
63
|
* @param isCreate - True for create (validate key), false for edit (key already exists).
|
|
66
|
-
* @param
|
|
64
|
+
* @param isKnownProfile - Predicate answering whether the submitted profile name exists.
|
|
67
65
|
* @returns Map of field name to error message. Empty when valid.
|
|
68
66
|
*/
|
|
69
|
-
function validateFormValues(formValues, key, isCreate,
|
|
67
|
+
function validateFormValues(formValues, key, isCreate, isKnownProfile) {
|
|
70
68
|
const errors = {};
|
|
71
69
|
// Channel number: re-derive the string representation since validateChannelNumber expects a string (it parses and range-checks internally).
|
|
72
70
|
const channelNumberStr = (formValues.channelNumber !== undefined) ? String(formValues.channelNumber) : "";
|
|
@@ -88,7 +86,7 @@ function validateFormValues(formValues, key, isCreate, validProfiles) {
|
|
|
88
86
|
if (urlError) {
|
|
89
87
|
errors["url"] = urlError;
|
|
90
88
|
}
|
|
91
|
-
const profileError = validateChannelProfile(formValues.profile,
|
|
89
|
+
const profileError = validateChannelProfile(formValues.profile, isKnownProfile);
|
|
92
90
|
if (profileError) {
|
|
93
91
|
errors["profile"] = profileError;
|
|
94
92
|
}
|
|
@@ -130,42 +128,12 @@ function buildUserChannelFromForm(formValues, tags) {
|
|
|
130
128
|
if (!formValues.hdhrEnabled) {
|
|
131
129
|
channel.hdhrEnabled = false;
|
|
132
130
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
* type-system source of truth so renaming or adding a field surfaces here at compile time via the as-const tuples in types/channels.ts.
|
|
138
|
-
*/
|
|
139
|
-
const IDENTITY_FIELD_SET = new Set(CHANNEL_IDENTITY_KEYS);
|
|
140
|
-
const BINDING_FIELD_SET = new Set(CHANNEL_BINDING_KEYS);
|
|
141
|
-
/**
|
|
142
|
-
* Filters a delta to only the fields in the allowlist. Used to split a full delta into identity-only and binding-only halves so the routed save can write
|
|
143
|
-
* each half to the correct stored entry.
|
|
144
|
-
*/
|
|
145
|
-
function filterDeltaFields(delta, allowlist) {
|
|
146
|
-
const filtered = {};
|
|
147
|
-
for (const [field, value] of Object.entries(delta)) {
|
|
148
|
-
if (allowlist.has(field)) {
|
|
149
|
-
filtered[field] = value;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return filtered;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Applies the new variant-binding delta to an existing variant stored entry while preserving any non-binding fields the entry already carries (notably
|
|
156
|
-
* canonicalKey). Removes any prior binding-field overrides that the new delta does not include - the new delta is the complete declaration of binding-field
|
|
157
|
-
* customization for this save. Returns null when the resulting entry would be empty (no binding overrides, no preserved non-binding fields), signalling the
|
|
158
|
-
* caller to delete the entry entirely.
|
|
159
|
-
*/
|
|
160
|
-
function applyVariantDelta(existing, delta) {
|
|
161
|
-
const next = { ...existing };
|
|
162
|
-
// Strip prior binding-field overrides; the new delta is authoritative for this category.
|
|
163
|
-
for (const field of CHANNEL_BINDING_KEYS) {
|
|
164
|
-
Reflect.deleteProperty(next, field);
|
|
131
|
+
// Absent forceCapture means native extraction where eligible - the inverse polarity of hdhrEnabled above. Only persist when explicitly enabled. This builder
|
|
132
|
+
// backs both the create and the standalone-channel replace, and both write the record wholesale, so omitting the field is what clears a prior override.
|
|
133
|
+
if (formValues.forceCapture) {
|
|
134
|
+
channel.forceCapture = true;
|
|
165
135
|
}
|
|
166
|
-
|
|
167
|
-
Object.assign(next, delta);
|
|
168
|
-
return (Object.keys(next).length > 0) ? next : null;
|
|
136
|
+
return channel;
|
|
169
137
|
}
|
|
170
138
|
/**
|
|
171
139
|
* Handles PUT /config/channels/:key for a channel that has a predefined base. Routes the submitted form values to the correct stored entry per field category:
|
|
@@ -194,7 +162,6 @@ async function handlePredefinedEdit(key, predefinedBase, formValues, tags, res)
|
|
|
194
162
|
}
|
|
195
163
|
// Determine the active variant. Undefined when the canonical service is active (no override needed); otherwise the variant key the canonical resolves to.
|
|
196
164
|
const activeVariantKey = (resolvedKey === key) ? undefined : resolvedKey;
|
|
197
|
-
const predefinedVariant = activeVariantKey ? PREDEFINED_CHANNELS[activeVariantKey] : undefined;
|
|
198
165
|
// Compute the canonical-relative delta. This determines the no-op-vs-canonical case (revert path) and supplies identity-field values for the canonical
|
|
199
166
|
// entry. With a variant active, binding-field values in this delta are computed against canonical's binding (e.g., Cox URL) - those values are not what we
|
|
200
167
|
// want to store; the variant-relative delta below has the correct binding-field comparisons.
|
|
@@ -217,15 +184,22 @@ async function handlePredefinedEdit(key, predefinedBase, formValues, tags, res)
|
|
|
217
184
|
sendSuccess(res, { data: { key }, message: "No changes to save." });
|
|
218
185
|
return;
|
|
219
186
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
187
|
+
/* Sibling variant match: the submitted values match a different variant's predefined definition exactly. That is an implicit revert to that variant - switch
|
|
188
|
+
* the service selection to it and clear every stored override that could still shadow it, so the resolved channel equals exactly what the user just saved:
|
|
189
|
+
* the canonical override, the matched variant's own override, and (when it differs) the previously-active variant's override.
|
|
190
|
+
*
|
|
191
|
+
* The check runs unconditionally because findMatchingVariant self-guards - it returns undefined when the key has no service group - and because full-value
|
|
192
|
+
* matching is strictly the better answer than the URL-domain inference further below: it compares every submitted field against the variant's pure predefined
|
|
193
|
+
* data, so it picks the right sibling even when several siblings share a domain, which domain inference cannot tell apart.
|
|
194
|
+
*/
|
|
195
|
+
const matchedVariantKey = findMatchingVariant(key, formValues, tags);
|
|
224
196
|
if (matchedVariantKey) {
|
|
225
197
|
let variantRevertHint = "";
|
|
226
198
|
await mutateChannels((data) => {
|
|
227
199
|
variantRevertHint = playlistHintForStored(data.channels[key]);
|
|
228
200
|
Reflect.deleteProperty(data.channels, key);
|
|
201
|
+
// The matched variant presents its pure predefined data after the revert, so any override stored on it would resurface values the user just cleared.
|
|
202
|
+
Reflect.deleteProperty(data.channels, matchedVariantKey);
|
|
229
203
|
// Clear any stored override on the previously-active variant since the user is switching away from it.
|
|
230
204
|
if (activeVariantKey && (activeVariantKey !== matchedVariantKey)) {
|
|
231
205
|
Reflect.deleteProperty(data.channels, activeVariantKey);
|
|
@@ -236,14 +210,27 @@ async function handlePredefinedEdit(key, predefinedBase, formValues, tags, res)
|
|
|
236
210
|
sendSuccess(res, { affectedKeys: [key], data: { key }, message: "Channel '" + key + "' reverted to defaults." + variantRevertHint });
|
|
237
211
|
return;
|
|
238
212
|
}
|
|
239
|
-
// Real edit.
|
|
240
|
-
//
|
|
241
|
-
//
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
const
|
|
245
|
-
const
|
|
246
|
-
|
|
213
|
+
// Real edit. Resolve the target service variant for binding-field routing: an explicitly-selected variant takes precedence; otherwise infer from the
|
|
214
|
+
// submitted URL's domain via inferTargetVariant (the SSOT helper used by both the producer here and the storage normalizer). When a target resolves, route
|
|
215
|
+
// per-field - identity to canonical, binding to target variant - so the canonical never carries wholesale duplication of a sibling's binding. When no
|
|
216
|
+
// sibling matches, the URL is genuinely custom and the full delta lands on the canonical (the existing Custom-URL path).
|
|
217
|
+
await mutateChannels((data) => {
|
|
218
|
+
const targetVariantKey = activeVariantKey ?? inferTargetVariant(key, formValues.url, data.channels);
|
|
219
|
+
const targetPredefinedVariant = targetVariantKey ? PREDEFINED_CHANNELS[targetVariantKey] : undefined;
|
|
220
|
+
if (targetVariantKey && targetPredefinedVariant) {
|
|
221
|
+
const { delta: variantRelativeDelta } = computePredefinedDelta(targetPredefinedVariant, formValues, tags);
|
|
222
|
+
const canonicalEntryDelta = pickIdentityFields(canonicalRelativeDelta);
|
|
223
|
+
/* Variant-binding delta semantics depend on how the target variant was resolved:
|
|
224
|
+
* - Explicit (activeVariantKey set): the form was pre-populated with the variant's data, so any binding-field value the user submits is authoritative
|
|
225
|
+
* (including explicit clears). Take all binding fields from variantRelativeDelta directly via pickBindingFields.
|
|
226
|
+
* - URL-inferred (no activeVariantKey): the form was pre-populated with the canonical's data (which has different binding values from the inferred
|
|
227
|
+
* variant). Binding fields the user did NOT explicitly change relative to the canonical must NOT be propagated to the variant - otherwise an unset
|
|
228
|
+
* form field becomes an unintended "clear" against the variant's predefined defaults, silently destroying tuning data. intersectBindingDeltas
|
|
229
|
+
* restricts to binding fields that the user actually changed (present in canonicalRelativeDelta) using the variant-relative values.
|
|
230
|
+
*/
|
|
231
|
+
const variantEntryDelta = (targetVariantKey === activeVariantKey) ?
|
|
232
|
+
pickBindingFields(variantRelativeDelta) :
|
|
233
|
+
intersectBindingDeltas(variantRelativeDelta, canonicalRelativeDelta);
|
|
247
234
|
// Canonical entry: replace with identity-only delta. Empty delta -> remove the entry.
|
|
248
235
|
if (Object.keys(canonicalEntryDelta).length > 0) {
|
|
249
236
|
data.channels[key] = canonicalEntryDelta;
|
|
@@ -251,24 +238,27 @@ async function handlePredefinedEdit(key, predefinedBase, formValues, tags, res)
|
|
|
251
238
|
else {
|
|
252
239
|
Reflect.deleteProperty(data.channels, key);
|
|
253
240
|
}
|
|
254
|
-
// Variant entry:
|
|
255
|
-
|
|
241
|
+
// Variant entry: replaceVariantBinding (authoritative-replace semantic) wipes any prior binding fields on the variant entry and applies the new delta -
|
|
242
|
+
// the user's submission is authoritative for the variant's binding state. Non-binding fields (notably canonicalKey) on the existing entry are preserved.
|
|
243
|
+
// Returns null when the result would be empty, signalling deletion.
|
|
244
|
+
const next = replaceVariantBinding(data.channels[targetVariantKey], variantEntryDelta);
|
|
256
245
|
if (next) {
|
|
257
|
-
data.channels[
|
|
246
|
+
data.channels[targetVariantKey] = next;
|
|
258
247
|
}
|
|
259
248
|
else {
|
|
260
|
-
Reflect.deleteProperty(data.channels,
|
|
249
|
+
Reflect.deleteProperty(data.channels, targetVariantKey);
|
|
261
250
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
251
|
+
// Record the redirect when the target was inferred from URL. When it was the explicitly-active variant, serviceSelections already points at it.
|
|
252
|
+
if (targetVariantKey !== activeVariantKey) {
|
|
253
|
+
data.serviceSelections[key] = targetVariantKey;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
// Truly custom URL - no sibling matches. Full delta lands on the canonical and serviceSelections is cleared so the dropdown reflects "Custom".
|
|
268
258
|
data.channels[key] = canonicalRelativeDelta;
|
|
269
259
|
Reflect.deleteProperty(data.serviceSelections, key);
|
|
270
|
-
}
|
|
271
|
-
}
|
|
260
|
+
}
|
|
261
|
+
});
|
|
272
262
|
LOG.info("User channel '%s' updated.", key);
|
|
273
263
|
if (formValues.stationId) {
|
|
274
264
|
updateChannelLogo(formValues.name || key, formValues.stationId);
|
|
@@ -293,8 +283,7 @@ export function registerCrudRoutes(app) {
|
|
|
293
283
|
return;
|
|
294
284
|
}
|
|
295
285
|
const { formValues, tags } = parseFormBody(body);
|
|
296
|
-
const
|
|
297
|
-
const errors = validateFormValues(formValues, key, true, profiles.map((p) => p.name));
|
|
286
|
+
const errors = validateFormValues(formValues, key, true, isKnownProfile);
|
|
298
287
|
if (Object.keys(errors).length > 0) {
|
|
299
288
|
sendFormErrors(res, errors);
|
|
300
289
|
return;
|
|
@@ -325,8 +314,7 @@ export function registerCrudRoutes(app) {
|
|
|
325
314
|
}
|
|
326
315
|
const body = req.body;
|
|
327
316
|
const { formValues, tags } = parseFormBody(body);
|
|
328
|
-
const
|
|
329
|
-
const errors = validateFormValues(formValues, key, false, profiles.map((p) => p.name));
|
|
317
|
+
const errors = validateFormValues(formValues, key, false, isKnownProfile);
|
|
330
318
|
if (Object.keys(errors).length > 0) {
|
|
331
319
|
sendFormErrors(res, errors);
|
|
332
320
|
return;
|
|
@@ -413,8 +401,8 @@ export function registerCrudRoutes(app) {
|
|
|
413
401
|
message: "Channel '" + key + "' reverted to defaults." + playlistHintForStored(clearedEntry)
|
|
414
402
|
});
|
|
415
403
|
}));
|
|
416
|
-
// PATCH /config/channels/:key - Partial update from inline cell edits. Accepts
|
|
417
|
-
// a typed value to set, null to clear.
|
|
404
|
+
// PATCH /config/channels/:key - Partial update from inline cell edits. Accepts exactly one of { channelNumber, hdhrEnabled, stationId, tags }, since the inline
|
|
405
|
+
// editors update one cell at a time. Each field is typed: a typed value to set, null to clear.
|
|
418
406
|
app.patch("/config/channels/:key", route("save channel", async (req, res) => {
|
|
419
407
|
const key = req.params.key?.trim();
|
|
420
408
|
if (!key) {
|
|
@@ -450,10 +438,12 @@ export function registerCrudRoutes(app) {
|
|
|
450
438
|
}
|
|
451
439
|
}
|
|
452
440
|
await mutateChannels((data) => {
|
|
453
|
-
// The inline-edit endpoint writes
|
|
454
|
-
// existing fields survive, otherwise start from an empty delta. mutateChannels() persists the resulting record either way.
|
|
441
|
+
// The inline-edit endpoint writes override fields drawn from INLINE_EDIT_FIELDS that all align with ChannelDelta's nullable shape. Reuse the stored entry
|
|
442
|
+
// when present so existing fields survive, otherwise start from an empty delta. mutateChannels() persists the resulting record either way.
|
|
455
443
|
const stored = data.channels[key] ?? {};
|
|
456
444
|
const delta = stored;
|
|
445
|
+
// Each case below casts value to the ChannelDelta type of the field it assigns. The cast is safe because the switch discriminates on the same field
|
|
446
|
+
// that determined body[field]'s actual runtime type, mirroring the presentFields narrowing that established field itself above.
|
|
457
447
|
switch (field) {
|
|
458
448
|
case "channelNumber": {
|
|
459
449
|
delta.channelNumber = (value === null) ? null : value;
|
|
@@ -470,7 +460,7 @@ export function registerCrudRoutes(app) {
|
|
|
470
460
|
}
|
|
471
461
|
case "tags": {
|
|
472
462
|
const nextTags = (value === null) ? [] : value;
|
|
473
|
-
// Sort before storing so the normalizer's
|
|
463
|
+
// Sort before storing so the normalizer's isDeepStrictEqual comparison (used to collapse redundant deltas) sees a canonical order regardless of the
|
|
474
464
|
// order the client submitted the array in.
|
|
475
465
|
delta.tags = (nextTags.length > 0) ? sortTags(nextTags) : null;
|
|
476
466
|
break;
|
|
@@ -479,7 +469,8 @@ export function registerCrudRoutes(app) {
|
|
|
479
469
|
data.channels[key] = stored;
|
|
480
470
|
});
|
|
481
471
|
const fieldLabel = INLINE_EDIT_LABELS[field];
|
|
482
|
-
//
|
|
472
|
+
// hdhrEnabled gets its own branch below because its cleared value (null) displays the same as its explicit true ("included"); it never falls into the
|
|
473
|
+
// generic null/empty-string/empty-array "(cleared)" case that the other fields share.
|
|
483
474
|
let displayValue;
|
|
484
475
|
if (field === "hdhrEnabled") {
|
|
485
476
|
displayValue = (value === false) ? "excluded" : "included";
|
|
@@ -491,8 +482,9 @@ export function registerCrudRoutes(app) {
|
|
|
491
482
|
displayValue = String(value);
|
|
492
483
|
}
|
|
493
484
|
LOG.info("Inline edit: %s for '%s' set to '%s'.", fieldLabel, key, displayValue);
|
|
494
|
-
//
|
|
495
|
-
|
|
485
|
+
// Membership in the playlist field list decides the hint: hdhrEnabled is the one inline-editable field outside it, since HDHomeRun is a separate discovery
|
|
486
|
+
// path. .some() rather than .includes() because the tuple's element union does not admit "hdhrEnabled", which .includes() would reject without a cast.
|
|
487
|
+
const applyPlaylistHint = M3U_FIELDS.some((f) => f === field);
|
|
496
488
|
sendSuccess(res, {
|
|
497
489
|
affectedKeys: [key],
|
|
498
490
|
data: { key },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/crud.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importExport.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/importExport.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAa1D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA2L7D"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { LOG, generateChannelKey, parseM3U, sanitizeString, stringifySorted } from "../../../../utils/index.js";
|
|
2
|
+
import { getBuiltinProfile, getProfiles } from "../../../../config/profiles.js";
|
|
2
3
|
import { getChannelListing, getUserChannels, mutateChannels, resolveStoredChannel, validateChannelName, validateChannelUrl, validateImportedChannels } from "../../../../config/userChannels.js";
|
|
3
4
|
import { sendSuccess, sendValidationError } from "../../http/envelope.js";
|
|
4
5
|
import { buildChannelTablePatch } from "../table.js";
|
|
5
|
-
import {
|
|
6
|
+
import { getUserProfiles } from "../../../../config/userProfiles.js";
|
|
6
7
|
import { route } from "../http/handler.js";
|
|
7
8
|
/**
|
|
8
9
|
* Registers the import/export endpoints on the Express application.
|
|
@@ -24,8 +25,10 @@ export function registerImportExportRoutes(app) {
|
|
|
24
25
|
// POST /config/channels/import - Import channels from JSON, replacing all existing user channels.
|
|
25
26
|
app.post("/config/channels/import", route("import channels", async (req, res) => {
|
|
26
27
|
const rawData = req.body;
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
// A channel may name any profile that exists: a builtin from any source through the single lookup, or one of the user's own. Profile existence questions go
|
|
29
|
+
// through that lookup rather than the UI profile catalog, which omits the provider profiles a channel may legitimately reference.
|
|
30
|
+
const isKnownProfile = (name) => Boolean(getBuiltinProfile(name)) || (name in getUserProfiles());
|
|
31
|
+
const validationResult = validateImportedChannels(rawData, isKnownProfile);
|
|
29
32
|
if (!validationResult.valid) {
|
|
30
33
|
sendValidationError(res, "Validation errors:\n" + validationResult.errors.join("\n"));
|
|
31
34
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importExport.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/importExport.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChH,OAAO,
|
|
1
|
+
{"version":3,"file":"importExport.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/importExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predefined.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/predefined.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAS1D;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA2G3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefs.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/prefs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAQ1D;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA6EtD"}
|
|
@@ -48,7 +48,8 @@ export function registerPrefsRoutes(app) {
|
|
|
48
48
|
sendSuccess(res);
|
|
49
49
|
}));
|
|
50
50
|
// POST /config/channels/setup-completed - Mark the Service Setup flow as completed. Called when the wizard finishes or the user explicitly skips. Returns a
|
|
51
|
-
// counts-only patch so the client can refresh summary counters after the wizard's
|
|
51
|
+
// counts-only patch so the client can refresh summary counters after the wizard's service-selection step changed the service filter (selecting new services
|
|
52
|
+
// may reveal previously-filtered channels).
|
|
52
53
|
app.post("/config/channels/setup-completed", route("save setup state", async (_req, res) => {
|
|
53
54
|
await markSetupCompleted();
|
|
54
55
|
const { counts, scopeCounts } = buildChannelTableState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefs.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/prefs.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAE9C,yJAAyJ;IACzJ,mIAAmI;IACnI,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAEnH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAiF,CAAC;QAEnG,IAAG,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAErC,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBAEvC,mBAAmB,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;gBAE7D,OAAO;YACT,CAAC;YAED,KAAI,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAErC,IAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAEpC,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,GAAG,GAAG,CAAC,CAAC;oBAEnD,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAA6B,CAAC,EAAE,CAAC;YAEhG,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAElE,OAAO;QACT,CAAC;QAED,IAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,CAAC;YAE3G,mBAAmB,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;YAEvE,OAAO;QACT,CAAC;QAED,0JAA0J;QAC1J,yEAAyE;QACzE,MAAM,MAAM,GAAoD,EAAE,CAAC;QAEnE,IAAG,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAEpC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;QACnD,CAAC;QAED,IAAG,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAEhC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAA6B,CAAC;QAC/D,CAAC;QAED,IAAG,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAErC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9C,CAAC;QAED,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAExC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,CAAC;IAEJ,4JAA4J;IAC5J,
|
|
1
|
+
{"version":3,"file":"prefs.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/prefs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Express } from "express";
|
|
2
2
|
/**
|
|
3
|
-
* Registers the service-selection and service-
|
|
3
|
+
* Registers the service-selection, service-filter, and bulk service-assignment endpoints on the Express application.
|
|
4
4
|
* @param app - The Express application.
|
|
5
5
|
*/
|
|
6
6
|
export declare function registerServiceRoutes(app: Express): void;
|
|
7
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAU1D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAyNxD"}
|
|
@@ -5,7 +5,7 @@ import { buildChannelTableState } from "../table.js";
|
|
|
5
5
|
import { getChannelListing } from "../../../../config/userChannels.js";
|
|
6
6
|
import { route } from "../http/handler.js";
|
|
7
7
|
/**
|
|
8
|
-
* Registers the service-selection and service-
|
|
8
|
+
* Registers the service-selection, service-filter, and bulk service-assignment endpoints on the Express application.
|
|
9
9
|
* @param app - The Express application.
|
|
10
10
|
*/
|
|
11
11
|
export function registerServiceRoutes(app) {
|
|
@@ -116,6 +116,8 @@ export function registerServiceRoutes(app) {
|
|
|
116
116
|
const updates = {};
|
|
117
117
|
for (const [key, variantKey] of Object.entries(previousSelections)) {
|
|
118
118
|
const group = getServiceGroup(key);
|
|
119
|
+
// The channel may have been removed or its service group may have collapsed since the bulk-assign snapshot was taken (e.g., the channel was deleted or
|
|
120
|
+
// its variants were edited down to a single service). Skip it rather than error, since the rest of the restore should still proceed.
|
|
119
121
|
if (!group) {
|
|
120
122
|
continue;
|
|
121
123
|
}
|