prismcast 1.9.0 → 1.10.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 +1 -1
- package/dist/app.js +27 -9
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.js +7 -7
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +41 -11
- package/dist/browser/channelSelection.js +75 -24
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/display.d.ts +1 -1
- package/dist/browser/index.d.ts +8 -8
- package/dist/browser/index.js +42 -43
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/login.d.ts +2 -2
- package/dist/browser/login.js +1 -1
- package/dist/browser/manifestInterceptor.d.ts +77 -0
- package/dist/browser/manifestInterceptor.js +323 -0
- package/dist/browser/manifestInterceptor.js.map +1 -0
- package/dist/browser/precaching.js +4 -4
- package/dist/browser/tuning/comcastPolymer.d.ts +1 -1
- package/dist/browser/tuning/cox.d.ts +1 -1
- package/dist/browser/tuning/directv.d.ts +1 -1
- package/dist/browser/tuning/directv.js +61 -62
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +1 -1
- package/dist/browser/tuning/fox.js +171 -14
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/hbo.d.ts +1 -1
- package/dist/browser/tuning/hbo.js +6 -6
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +1 -1
- package/dist/browser/tuning/hulu.js +117 -110
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +3 -3
- package/dist/browser/tuning/shared.js +5 -5
- package/dist/browser/tuning/sling.d.ts +1 -1
- package/dist/browser/tuning/sling.js +28 -28
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +1 -1
- package/dist/browser/tuning/spectrum.js +21 -22
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +1 -1
- package/dist/browser/tuning/thumbnailRow.js +1 -1
- package/dist/browser/tuning/tileClick.d.ts +1 -1
- package/dist/browser/tuning/tileClick.js +5 -5
- package/dist/browser/tuning/xfinity.d.ts +1 -1
- package/dist/browser/tuning/youtubeTv.d.ts +1 -1
- package/dist/browser/tuning/youtubeTv.js +17 -18
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +20 -6
- package/dist/browser/video.js +30 -38
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +1 -2
- package/dist/channels/index.js +73 -40
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +58 -0
- package/dist/config/channelForm.js +129 -0
- package/dist/config/channelForm.js.map +1 -0
- package/dist/config/consistencyProbe.d.ts +7 -0
- package/dist/config/consistencyProbe.js +143 -0
- package/dist/config/consistencyProbe.js.map +1 -0
- package/dist/config/health.d.ts +4 -3
- package/dist/config/health.js +75 -62
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +19 -12
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +9 -3
- package/dist/config/paths.js +12 -4
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +8 -0
- package/dist/config/persistence.context.js +30 -0
- package/dist/config/persistence.context.js.map +1 -0
- package/dist/config/persistence.d.ts +110 -12
- package/dist/config/persistence.js +351 -32
- package/dist/config/persistence.js.map +1 -1
- package/dist/config/presets.d.ts +14 -4
- package/dist/config/presets.js +84 -75
- package/dist/config/presets.js.map +1 -1
- package/dist/config/profiles.d.ts +2 -2
- package/dist/config/profiles.js +7 -9
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/servicePacks.d.ts +2 -2
- package/dist/config/servicePacks.js +28 -28
- package/dist/config/servicePacks.js.map +1 -1
- package/dist/config/services.d.ts +62 -36
- package/dist/config/services.js +150 -136
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +3 -3
- package/dist/config/sites.js +16 -16
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +500 -41
- package/dist/config/userChannels.js +1201 -312
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +103 -10
- package/dist/config/userConfig.js +277 -117
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +4 -2
- package/dist/config/userProfiles.js +72 -26
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.js +8 -11
- package/dist/hdhr/channelMap.js.map +1 -1
- package/dist/hdhr/deviceId.js +10 -9
- package/dist/hdhr/deviceId.js.map +1 -1
- package/dist/hdhr/discover.js +4 -5
- package/dist/hdhr/discover.js.map +1 -1
- package/dist/hdhr/index.js +6 -10
- package/dist/hdhr/index.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +44 -0
- package/dist/native/codecInference.js +327 -0
- package/dist/native/codecInference.js.map +1 -0
- package/dist/native/decrypt.d.ts +1 -1
- package/dist/native/index.d.ts +5 -5
- package/dist/native/index.js +42 -64
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +27 -9
- package/dist/native/probe.js +158 -67
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +4 -2
- package/dist/native/proxy.js +52 -49
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +22 -0
- package/dist/native/tokenExpiry.js +153 -0
- package/dist/native/tokenExpiry.js.map +1 -0
- package/dist/routes/auth.js +6 -10
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/components.js +2 -2
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/browse.js +195 -0
- package/dist/routes/config/channels/endpoints/browse.js.map +1 -0
- package/dist/routes/config/channels/endpoints/bulk.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/bulk.js +128 -0
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -0
- package/dist/routes/config/channels/endpoints/crud.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/crud.js +504 -0
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -0
- package/dist/routes/config/channels/endpoints/importExport.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/importExport.js +131 -0
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -0
- package/dist/routes/config/channels/endpoints/predefined.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/predefined.js +78 -0
- package/dist/routes/config/channels/endpoints/predefined.js.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/prefs.js +58 -0
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -0
- package/dist/routes/config/channels/endpoints/service.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/service.js +149 -0
- package/dist/routes/config/channels/endpoints/service.js.map +1 -0
- package/dist/routes/config/channels/endpoints/tags.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/tags.js +185 -0
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -0
- package/dist/routes/config/channels/http/handler.d.ts +10 -0
- package/dist/routes/config/channels/http/handler.js +20 -0
- package/dist/routes/config/channels/http/handler.js.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.d.ts +25 -0
- package/dist/routes/config/channels/http/playlistHint.js +40 -0
- package/dist/routes/config/channels/http/playlistHint.js.map +1 -0
- package/dist/routes/config/channels/http/serviceWarning.d.ts +10 -0
- package/dist/routes/config/channels/http/serviceWarning.js +28 -0
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -0
- package/dist/routes/config/channels/index.d.ts +3 -3
- package/dist/routes/config/channels/index.js +1 -1
- package/dist/routes/config/channels/index.js.map +1 -1
- package/dist/routes/config/channels/{routes.d.ts → setup.d.ts} +1 -1
- package/dist/routes/config/channels/setup.js +23 -0
- package/dist/routes/config/channels/setup.js.map +1 -0
- package/dist/routes/config/channels/table.d.ts +9 -9
- package/dist/routes/config/channels/table.js +124 -76
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +111 -0
- package/dist/routes/config/http/envelope.js +103 -0
- package/dist/routes/config/http/envelope.js.map +1 -0
- package/dist/routes/config/index.d.ts +9 -9
- package/dist/routes/config/index.js +2 -2
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.js +69 -68
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +1 -1
- package/dist/routes/config/settings.js +45 -38
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.js +12 -11
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/icons.js +2 -2
- package/dist/routes/icons.js.map +1 -1
- package/dist/routes/logs.js +19 -30
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.js +1 -1
- package/dist/routes/playlist.d.ts +1 -1
- package/dist/routes/playlist.js +37 -26
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.js +27 -6
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.js +2 -5
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.js +16 -16
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/config.js +59 -59
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +4 -4
- package/dist/routes/root/scripts/shared.js +24 -10
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +4 -0
- package/dist/routes/root/scripts/status.handlers.d.ts +182 -0
- package/dist/routes/root/scripts/status.handlers.js +713 -0
- package/dist/routes/root/scripts/status.handlers.js.map +1 -0
- package/dist/routes/root/scripts/status.js +86 -488
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.js +5 -5
- package/dist/routes/services.js +18 -15
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +16 -0
- package/dist/routes/sse.js +29 -0
- package/dist/routes/sse.js.map +1 -0
- package/dist/routes/streams.js +10 -23
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/ui.d.ts +2 -2
- package/dist/routes/upgrade.js +6 -7
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +6 -0
- package/dist/service/commands.context.js +47 -0
- package/dist/service/commands.context.js.map +1 -0
- package/dist/service/commands.d.ts +53 -8
- package/dist/service/commands.js +171 -188
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.context.d.ts +6 -0
- package/dist/service/generators.context.js +45 -0
- package/dist/service/generators.context.js.map +1 -0
- package/dist/service/generators.d.ts +56 -16
- package/dist/service/generators.js +499 -383
- package/dist/service/generators.js.map +1 -1
- package/dist/service/index.d.ts +2 -2
- package/dist/streaming/clients.d.ts +2 -2
- package/dist/streaming/clients.js +2 -2
- package/dist/streaming/codec.d.ts +2 -2
- package/dist/streaming/codec.js +0 -1
- package/dist/streaming/codec.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +2 -2
- package/dist/streaming/fmp4Segmenter.js +12 -12
- package/dist/streaming/hls.d.ts +3 -3
- package/dist/streaming/hls.js +81 -70
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +3 -3
- package/dist/streaming/hlsResume.js +5 -5
- package/dist/streaming/hlsSegments.d.ts +5 -2
- package/dist/streaming/hlsSegments.js +14 -9
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/monitor.d.ts +12 -12
- package/dist/streaming/monitor.js +80 -54
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +34 -4
- package/dist/streaming/mp4Parser.js +111 -29
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +1 -1
- package/dist/streaming/mpegts.js +13 -10
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +1 -1
- package/dist/streaming/playlistBuilder.js +2 -2
- package/dist/streaming/preroll.d.ts +9 -9
- package/dist/streaming/preroll.js +39 -41
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.js +4 -4
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/recovery.d.ts +3 -3
- package/dist/streaming/recovery.js +4 -4
- package/dist/streaming/registry.d.ts +6 -6
- package/dist/streaming/setup.d.ts +9 -8
- package/dist/streaming/setup.js +97 -49
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +9 -3
- package/dist/streaming/showInfo.js +26 -18
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +4 -4
- package/dist/streaming/statusEmitter.js +2 -2
- package/dist/types/channels.d.ts +133 -34
- package/dist/types/channels.js +39 -1
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +20 -1
- package/dist/types/index.d.ts +9 -8
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +5 -4
- package/dist/types/selection.d.ts +48 -4
- package/dist/types/streaming.d.ts +1 -1
- package/dist/upgrade/commands.context.d.ts +6 -0
- package/dist/upgrade/commands.context.js +29 -0
- package/dist/upgrade/commands.context.js.map +1 -0
- package/dist/upgrade/commands.d.ts +29 -2
- package/dist/upgrade/commands.js +87 -134
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +6 -0
- package/dist/upgrade/detection.context.js +24 -0
- package/dist/upgrade/detection.context.js.map +1 -0
- package/dist/upgrade/detection.d.ts +140 -10
- package/dist/upgrade/detection.js +153 -66
- package/dist/upgrade/detection.js.map +1 -1
- package/dist/upgrade/index.d.ts +2 -2
- package/dist/utils/chromeFetch.d.ts +1 -1
- package/dist/utils/chromeFetch.js +1 -1
- package/dist/utils/clock.d.ts +14 -0
- package/dist/utils/clock.js +28 -0
- package/dist/utils/clock.js.map +1 -0
- package/dist/utils/debugFilter.d.ts +1 -1
- package/dist/utils/debugFilter.js +6 -4
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +2 -3
- package/dist/utils/delay.js +10 -16
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/evaluate.js +12 -14
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +6 -0
- package/dist/utils/ffmpeg.context.js +31 -0
- package/dist/utils/ffmpeg.context.js.map +1 -0
- package/dist/utils/ffmpeg.d.ts +85 -29
- package/dist/utils/ffmpeg.js +126 -129
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +18 -2
- package/dist/utils/fileLogger.js +58 -30
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +1 -1
- package/dist/utils/format.js +2 -2
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/html.js +1 -3
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/index.d.ts +21 -20
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js +16 -20
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/m3u.d.ts +18 -3
- package/dist/utils/m3u.js +28 -14
- package/dist/utils/m3u.js.map +1 -1
- package/dist/utils/memo.d.ts +19 -0
- package/dist/utils/memo.js +53 -0
- package/dist/utils/memo.js.map +1 -0
- package/dist/utils/morganStream.js +2 -2
- package/dist/utils/morganStream.js.map +1 -1
- package/dist/utils/pid.d.ts +2 -2
- package/dist/utils/pid.js +2 -2
- package/dist/utils/platform.d.ts +1 -1
- package/dist/utils/platform.js +3 -3
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/retry.d.ts +2 -0
- package/dist/utils/retry.js +9 -7
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/sanitize.d.ts +2 -2
- package/dist/utils/sanitize.js +4 -4
- package/dist/utils/timing.d.ts +6 -3
- package/dist/utils/timing.js +10 -6
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +3 -2
- package/dist/utils/version.js +14 -27
- package/dist/utils/version.js.map +1 -1
- package/package.json +13 -7
- package/dist/native/intercept.d.ts +0 -35
- package/dist/native/intercept.js +0 -181
- package/dist/native/intercept.js.map +0 -1
- package/dist/routes/config/channels/routes.js +0 -1505
- package/dist/routes/config/channels/routes.js.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ICON_ADD, ICON_DELETE, ICON_EDIT, ICON_EXPORT, ICON_IMPORT } from "../icons.js";
|
|
2
|
-
import { LOG, escapeHtml,
|
|
2
|
+
import { LOG, escapeHtml, sanitizeString, stringifySorted } from "../../utils/index.js";
|
|
3
3
|
import { deleteUserProfile, getUserDomains, getUserProfiles, mutateProfiles, validateDomain, validateProfile, validateProfileKey } from "../../config/userProfiles.js";
|
|
4
4
|
import { endLoginMode, getLoginPage, startLoginMode } from "../../browser/index.js";
|
|
5
5
|
import { exportServicePack, importServicePack, parseServicePack } from "../../config/servicePacks.js";
|
|
6
6
|
import { getChannelListing, validateChannelUrl } from "../../config/userChannels.js";
|
|
7
|
+
import { sendErrorResponse, sendNotFoundError, sendSuccess, sendValidationError } from "./http/envelope.js";
|
|
7
8
|
import { categorizeProfiles } from "./index.js";
|
|
8
9
|
import { generateWizardModal } from "../components.js";
|
|
9
10
|
import { getProfiles } from "../../config/profiles.js";
|
|
@@ -76,15 +77,14 @@ export function generateCustomProfilesPanel() {
|
|
|
76
77
|
lines.push("</div>");
|
|
77
78
|
return lines.join("\n");
|
|
78
79
|
}
|
|
79
|
-
// Build a reverse lookup: profile key
|
|
80
|
+
// Build a reverse lookup: profile key -> list of domains mapped to it.
|
|
80
81
|
const profileDomains = {};
|
|
81
82
|
for (const key of profileKeys) {
|
|
82
83
|
profileDomains[key] = [];
|
|
83
84
|
}
|
|
84
85
|
for (const [domain, config] of Object.entries(userDomains)) {
|
|
85
86
|
if (config.profile && (config.profile in userProfiles)) {
|
|
86
|
-
profileDomains[config.profile] ??= [];
|
|
87
|
-
profileDomains[config.profile].push({ domain, service: config.service, serviceTag: config.serviceTag });
|
|
87
|
+
(profileDomains[config.profile] ??= []).push({ domain, service: config.service, serviceTag: config.serviceTag });
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
// Compute channel counts per profile key.
|
|
@@ -103,6 +103,9 @@ export function generateCustomProfilesPanel() {
|
|
|
103
103
|
lines.push("<tbody>");
|
|
104
104
|
for (const key of profileKeys) {
|
|
105
105
|
const profile = userProfiles[key];
|
|
106
|
+
if (!profile) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
106
109
|
const domains = profileDomains[key] ?? [];
|
|
107
110
|
const strategy = profile.channelSelection?.strategy ?? "inherited";
|
|
108
111
|
const count = channelCounts[key] ?? 0;
|
|
@@ -256,7 +259,7 @@ export function setupProfileRoutes(app) {
|
|
|
256
259
|
// Compute channel counts per profile key.
|
|
257
260
|
const profileChannelCounts = countChannelsByProfile(new Set(Object.keys(profiles)));
|
|
258
261
|
// Build a summary for each profile including its domain mappings and channel count.
|
|
259
|
-
const profileList = Object.entries(profiles).
|
|
262
|
+
const profileList = Object.entries(profiles).toSorted(([a], [b]) => a.localeCompare(b)).map(([key, profile]) => {
|
|
260
263
|
// Find domains that reference this profile.
|
|
261
264
|
const profileDomains = Object.entries(domains).filter(([, config]) => (config.profile === key)).map(([domain, config]) => ({
|
|
262
265
|
domain,
|
|
@@ -272,11 +275,10 @@ export function setupProfileRoutes(app) {
|
|
|
272
275
|
strategy: profile.channelSelection?.strategy ?? "inherited"
|
|
273
276
|
};
|
|
274
277
|
});
|
|
275
|
-
res
|
|
278
|
+
sendSuccess(res, { data: { domains, profiles: profileList } });
|
|
276
279
|
}
|
|
277
280
|
catch (error) {
|
|
278
|
-
|
|
279
|
-
res.status(500).json({ error: "Failed to list profiles: " + formatError(error), success: false });
|
|
281
|
+
sendErrorResponse(res, error, "list profiles");
|
|
280
282
|
}
|
|
281
283
|
});
|
|
282
284
|
// POST /config/profiles - Create or update a user-defined profile with domain mappings.
|
|
@@ -288,12 +290,12 @@ export function setupProfileRoutes(app) {
|
|
|
288
290
|
const domainMappings = body.domains;
|
|
289
291
|
// Validate key.
|
|
290
292
|
if (!key) {
|
|
291
|
-
res
|
|
293
|
+
sendValidationError(res, "Profile key is required.");
|
|
292
294
|
return;
|
|
293
295
|
}
|
|
294
296
|
// Validate profile object.
|
|
295
297
|
if (!profile || (typeof profile !== "object")) {
|
|
296
|
-
res
|
|
298
|
+
sendValidationError(res, "Profile definition is required.");
|
|
297
299
|
return;
|
|
298
300
|
}
|
|
299
301
|
// Sanitize string fields in the profile object, including nested channelSelection strings.
|
|
@@ -327,13 +329,13 @@ export function setupProfileRoutes(app) {
|
|
|
327
329
|
// Validate the key format and built-in conflict.
|
|
328
330
|
const keyError = validateProfileKey(key, isNew);
|
|
329
331
|
if (keyError) {
|
|
330
|
-
res
|
|
332
|
+
sendValidationError(res, keyError);
|
|
331
333
|
return;
|
|
332
334
|
}
|
|
333
335
|
// Validate the profile content: extends must reference a built-in profile, strategy must be recognized and generic, all flags must be valid SiteProfile fields.
|
|
334
336
|
const profileErrors = validateProfile(key, profile);
|
|
335
337
|
if (profileErrors.length > 0) {
|
|
336
|
-
res
|
|
338
|
+
sendValidationError(res, profileErrors.join(" "));
|
|
337
339
|
return;
|
|
338
340
|
}
|
|
339
341
|
// Validate domain mappings if provided. Build the available profiles set from built-in + existing user profiles + the profile being saved.
|
|
@@ -345,72 +347,74 @@ export function setupProfileRoutes(app) {
|
|
|
345
347
|
domainErrors.push(...validateDomain(domain, config, availableProfiles));
|
|
346
348
|
}
|
|
347
349
|
if (domainErrors.length > 0) {
|
|
348
|
-
res
|
|
350
|
+
sendValidationError(res, domainErrors.join(" "));
|
|
349
351
|
return;
|
|
350
352
|
}
|
|
351
353
|
}
|
|
352
|
-
// Save the profile and domain mappings.
|
|
353
|
-
//
|
|
354
|
-
|
|
355
|
-
const mergedProfiles = { ...existingProfiles, [key]: profile };
|
|
356
|
-
const cleanedDomains = {};
|
|
357
|
-
for (const [domain, config] of Object.entries(existingDomains)) {
|
|
358
|
-
if (config.profile !== key) {
|
|
359
|
-
cleanedDomains[domain] = config;
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
const mergedDomains = { ...cleanedDomains, ...(domainMappings ?? {}) };
|
|
354
|
+
// Save the profile and domain mappings. The read-modify-write happens inside the mutator callback so the merge applies against the latest serialized
|
|
355
|
+
// state under the per-store queue's lock - concurrent POSTs to different keys each see the other's writes and both land on disk. When updating an existing
|
|
356
|
+
// profile, stale domain mappings that pointed to it are stripped first so the new mappings replace them cleanly rather than coexisting.
|
|
363
357
|
await mutateProfiles((data) => {
|
|
364
|
-
data.
|
|
365
|
-
|
|
358
|
+
for (const [domain, config] of Object.entries(data.domains)) {
|
|
359
|
+
if (config.profile === key) {
|
|
360
|
+
Reflect.deleteProperty(data.domains, domain);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
data.profiles[key] = profile;
|
|
364
|
+
if (domainMappings) {
|
|
365
|
+
Object.assign(data.domains, domainMappings);
|
|
366
|
+
}
|
|
366
367
|
});
|
|
367
368
|
const actionLabel = isNew ? "created" : "updated";
|
|
368
369
|
LOG.info("User profile '%s' %s.", key, actionLabel);
|
|
369
|
-
res
|
|
370
|
-
|
|
370
|
+
sendSuccess(res, {
|
|
371
|
+
data: { key, panelHtml: generateCustomProfilesPanel() },
|
|
372
|
+
message: "Profile '" + key + "' " + actionLabel + " successfully."
|
|
373
|
+
});
|
|
371
374
|
}
|
|
372
375
|
catch (error) {
|
|
373
|
-
|
|
374
|
-
res.status(500).json({ error: "Failed to save profile: " + formatError(error), success: false });
|
|
376
|
+
sendErrorResponse(res, error, "save profile");
|
|
375
377
|
}
|
|
376
378
|
});
|
|
377
379
|
// DELETE /config/profiles/:key - Delete a user-defined profile and its domain mappings.
|
|
378
380
|
app.delete("/config/profiles/:key", async (req, res) => {
|
|
379
381
|
try {
|
|
380
|
-
const key = req.params
|
|
382
|
+
const key = req.params["key"];
|
|
381
383
|
if (!key) {
|
|
382
|
-
res
|
|
384
|
+
sendValidationError(res, "Profile key is required.");
|
|
383
385
|
return;
|
|
384
386
|
}
|
|
385
387
|
// Verify the profile exists as a user profile.
|
|
386
388
|
const userProfiles = getUserProfiles();
|
|
387
389
|
if (!(key in userProfiles)) {
|
|
388
|
-
res
|
|
390
|
+
sendNotFoundError(res, "Profile '" + key + "' not found.");
|
|
389
391
|
return;
|
|
390
392
|
}
|
|
391
393
|
await deleteUserProfile(key);
|
|
392
|
-
res
|
|
394
|
+
sendSuccess(res, {
|
|
395
|
+
data: { key, panelHtml: generateCustomProfilesPanel() },
|
|
396
|
+
message: "Profile '" + key + "' deleted successfully."
|
|
397
|
+
});
|
|
393
398
|
}
|
|
394
399
|
catch (error) {
|
|
395
|
-
|
|
396
|
-
res.status(500).json({ error: "Failed to delete profile: " + formatError(error), success: false });
|
|
400
|
+
sendErrorResponse(res, error, "delete profile");
|
|
397
401
|
}
|
|
398
402
|
});
|
|
399
403
|
// POST /config/profiles/import - Import a service pack. Accepts optional skipChannels flag in the request body.
|
|
400
404
|
app.post("/config/profiles/import", async (req, res) => {
|
|
401
405
|
try {
|
|
402
406
|
const rawData = req.body;
|
|
403
|
-
const skipChannels = rawData
|
|
407
|
+
const skipChannels = rawData["skipChannels"] === true;
|
|
404
408
|
// Parse and validate the service pack. The parseServicePack function ignores unknown keys like skipChannels.
|
|
405
409
|
const parseResult = parseServicePack(rawData);
|
|
406
410
|
if (!parseResult.pack) {
|
|
407
|
-
res
|
|
411
|
+
sendValidationError(res, "Validation errors:\n" + parseResult.errors.join("\n"));
|
|
408
412
|
return;
|
|
409
413
|
}
|
|
410
414
|
// Import the validated pack. Profile/domain save failures are fatal; channel import failures are non-fatal warnings included in the response.
|
|
411
415
|
const importResult = await importServicePack(parseResult.pack, { skipChannels });
|
|
412
416
|
if (!importResult.success) {
|
|
413
|
-
res
|
|
417
|
+
sendValidationError(res, "Import failed:\n" + importResult.errors.join("\n"));
|
|
414
418
|
return;
|
|
415
419
|
}
|
|
416
420
|
const parts = [];
|
|
@@ -431,45 +435,45 @@ export function setupProfileRoutes(app) {
|
|
|
431
435
|
LOG.warn("Import warning: %s", warning);
|
|
432
436
|
}
|
|
433
437
|
}
|
|
434
|
-
res
|
|
435
|
-
warnings: importResult.errors }
|
|
438
|
+
sendSuccess(res, {
|
|
439
|
+
data: { panelHtml: generateCustomProfilesPanel(), summary: importResult, warnings: importResult.errors },
|
|
440
|
+
message: summary
|
|
441
|
+
});
|
|
436
442
|
}
|
|
437
443
|
catch (error) {
|
|
438
|
-
|
|
439
|
-
res.status(500).json({ error: "Failed to import service pack: " + formatError(error), success: false });
|
|
444
|
+
sendErrorResponse(res, error, "import service pack");
|
|
440
445
|
}
|
|
441
446
|
});
|
|
442
447
|
// GET /config/profiles/export - Export one or more user profiles as a service pack. Accepts comma-separated profile keys.
|
|
443
448
|
app.get("/config/profiles/export", (req, res) => {
|
|
444
449
|
try {
|
|
445
|
-
const profileParam = req.query
|
|
446
|
-
const includeDomains = req.query
|
|
447
|
-
const includeChannels = req.query
|
|
448
|
-
const name = req.query
|
|
450
|
+
const profileParam = req.query["profile"];
|
|
451
|
+
const includeDomains = req.query["domains"] !== "0";
|
|
452
|
+
const includeChannels = req.query["channels"] === "1";
|
|
453
|
+
const name = req.query["name"];
|
|
449
454
|
if (!profileParam) {
|
|
450
|
-
res
|
|
455
|
+
sendValidationError(res, "Profile key is required (use ?profile=key).");
|
|
451
456
|
return;
|
|
452
457
|
}
|
|
453
458
|
// Split comma-separated keys and trim whitespace.
|
|
454
459
|
const profileKeys = profileParam.split(",").map((k) => k.trim()).filter(Boolean);
|
|
455
460
|
if (profileKeys.length === 0) {
|
|
456
|
-
res
|
|
461
|
+
sendValidationError(res, "No valid profile keys provided.");
|
|
457
462
|
return;
|
|
458
463
|
}
|
|
459
464
|
const pack = exportServicePack(profileKeys, { includeChannels, includeDomains, name: name ?? profileKeys.join(", ") });
|
|
460
465
|
if (!pack) {
|
|
461
|
-
res
|
|
466
|
+
sendNotFoundError(res, "None of the requested profiles were found.");
|
|
462
467
|
return;
|
|
463
468
|
}
|
|
464
|
-
// Use the first profile key for the filename when exporting
|
|
465
|
-
const filename = (profileKeys.length === 1) ? profileKeys[0] : "prismcast";
|
|
469
|
+
// Use the first profile key for the filename when exporting a single profile; fall back to a generic name for multi-profile packs or empty lists.
|
|
470
|
+
const filename = ((profileKeys.length === 1) ? profileKeys[0] : undefined) ?? "prismcast";
|
|
466
471
|
res.setHeader("Content-Type", "application/json");
|
|
467
472
|
res.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "-service-pack.json\"");
|
|
468
473
|
res.send(stringifySorted(pack) + "\n");
|
|
469
474
|
}
|
|
470
475
|
catch (error) {
|
|
471
|
-
|
|
472
|
-
res.status(500).json({ error: "Failed to export service pack: " + formatError(error), success: false });
|
|
476
|
+
sendErrorResponse(res, error, "export service pack");
|
|
473
477
|
}
|
|
474
478
|
});
|
|
475
479
|
// POST /config/profiles/test - Start a test flow by opening a URL with the user's profile applied.
|
|
@@ -478,25 +482,24 @@ export function setupProfileRoutes(app) {
|
|
|
478
482
|
const body = req.body;
|
|
479
483
|
const url = body.url?.trim();
|
|
480
484
|
if (!url) {
|
|
481
|
-
res
|
|
485
|
+
sendValidationError(res, "URL is required.");
|
|
482
486
|
return;
|
|
483
487
|
}
|
|
484
488
|
// Validate URL format before opening the browser.
|
|
485
489
|
const urlError = validateChannelUrl(url);
|
|
486
490
|
if (urlError) {
|
|
487
|
-
res
|
|
491
|
+
sendValidationError(res, urlError);
|
|
488
492
|
return;
|
|
489
493
|
}
|
|
490
494
|
const result = await startLoginMode(url);
|
|
491
495
|
if (!result.success) {
|
|
492
|
-
res
|
|
496
|
+
sendValidationError(res, result.error ?? "Failed to start test.");
|
|
493
497
|
return;
|
|
494
498
|
}
|
|
495
|
-
res
|
|
499
|
+
sendSuccess(res, { message: "Test page opened. The browser window should be visible." });
|
|
496
500
|
}
|
|
497
501
|
catch (error) {
|
|
498
|
-
|
|
499
|
-
res.status(500).json({ error: "Failed to start test: " + formatError(error), success: false });
|
|
502
|
+
sendErrorResponse(res, error, "start test");
|
|
500
503
|
}
|
|
501
504
|
});
|
|
502
505
|
// POST /config/profiles/test/check - Check CSS selectors against the live test page.
|
|
@@ -505,12 +508,12 @@ export function setupProfileRoutes(app) {
|
|
|
505
508
|
const body = req.body;
|
|
506
509
|
const selectors = body.selectors;
|
|
507
510
|
if (!selectors || (typeof selectors !== "object")) {
|
|
508
|
-
res
|
|
511
|
+
sendValidationError(res, "Selectors object is required.");
|
|
509
512
|
return;
|
|
510
513
|
}
|
|
511
514
|
const page = getLoginPage();
|
|
512
515
|
if (!page) {
|
|
513
|
-
res
|
|
516
|
+
sendValidationError(res, "No active test page. Start a test first.");
|
|
514
517
|
return;
|
|
515
518
|
}
|
|
516
519
|
// Evaluate all selectors in a single page.evaluate call to avoid await-in-loop.
|
|
@@ -530,22 +533,20 @@ export function setupProfileRoutes(app) {
|
|
|
530
533
|
for (const [name, count] of Object.entries(counts)) {
|
|
531
534
|
results[name] = { count: Math.max(count, 0), valid: count >= 0 };
|
|
532
535
|
}
|
|
533
|
-
res
|
|
536
|
+
sendSuccess(res, { data: { results } });
|
|
534
537
|
}
|
|
535
538
|
catch (error) {
|
|
536
|
-
|
|
537
|
-
res.status(500).json({ error: "Failed to check selectors: " + formatError(error), success: false });
|
|
539
|
+
sendErrorResponse(res, error, "check selectors");
|
|
538
540
|
}
|
|
539
541
|
});
|
|
540
542
|
// POST /config/profiles/test/done - End an active test flow.
|
|
541
543
|
app.post("/config/profiles/test/done", async (_req, res) => {
|
|
542
544
|
try {
|
|
543
545
|
await endLoginMode();
|
|
544
|
-
res
|
|
546
|
+
sendSuccess(res, { data: { panelHtml: generateCustomProfilesPanel() }, message: "Test flow ended." });
|
|
545
547
|
}
|
|
546
548
|
catch (error) {
|
|
547
|
-
|
|
548
|
-
res.status(500).json({ error: "Failed to end test: " + formatError(error), success: false });
|
|
549
|
+
sendErrorResponse(res, error, "end test");
|
|
549
550
|
}
|
|
550
551
|
});
|
|
551
552
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/routes/config/services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/routes/config/services.ts"],"names":[],"mappings":"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"}
|