pixivflow 2.0.37 → 2.0.39

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.
Files changed (64) hide show
  1. package/dist/commands/DownloadCommand.d.ts.map +1 -1
  2. package/dist/commands/DownloadCommand.js +50 -2
  3. package/dist/commands/DownloadCommand.js.map +1 -1
  4. package/dist/config/validation.d.ts.map +1 -1
  5. package/dist/config/validation.js +14 -8
  6. package/dist/config/validation.js.map +1 -1
  7. package/dist/index.js +37 -14
  8. package/dist/index.js.map +1 -1
  9. package/dist/package.json +1 -1
  10. package/dist/pixiv/AuthClient.d.ts.map +1 -1
  11. package/dist/pixiv/AuthClient.js +56 -7
  12. package/dist/pixiv/AuthClient.js.map +1 -1
  13. package/dist/storage/Database.d.ts +22 -0
  14. package/dist/storage/Database.d.ts.map +1 -1
  15. package/dist/storage/Database.js +19 -0
  16. package/dist/storage/Database.js.map +1 -1
  17. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  18. package/dist/storage/DatabaseMigration.js +29 -0
  19. package/dist/storage/DatabaseMigration.js.map +1 -1
  20. package/dist/storage/repositories/TaskHistoryRepository.d.ts +61 -0
  21. package/dist/storage/repositories/TaskHistoryRepository.d.ts.map +1 -0
  22. package/dist/storage/repositories/TaskHistoryRepository.js +171 -0
  23. package/dist/storage/repositories/TaskHistoryRepository.js.map +1 -0
  24. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  25. package/dist/utils/config-validator-unified.js +3 -9
  26. package/dist/utils/config-validator-unified.js.map +1 -1
  27. package/dist/utils/errors.js +11 -11
  28. package/dist/utils/errors.js.map +1 -1
  29. package/dist/utils/pixiv-url-parser.d.ts +7 -1
  30. package/dist/utils/pixiv-url-parser.d.ts.map +1 -1
  31. package/dist/utils/pixiv-url-parser.js +75 -8
  32. package/dist/utils/pixiv-url-parser.js.map +1 -1
  33. package/dist/utils/token-manager.d.ts.map +1 -1
  34. package/dist/utils/token-manager.js +73 -5
  35. package/dist/utils/token-manager.js.map +1 -1
  36. package/dist/utils/type-guards.d.ts.map +1 -1
  37. package/dist/utils/type-guards.js +6 -2
  38. package/dist/utils/type-guards.js.map +1 -1
  39. package/dist/webui/package.json +1 -1
  40. package/dist/webui/ports.js +1 -1
  41. package/dist/webui/routes/download.d.ts.map +1 -1
  42. package/dist/webui/routes/download.js +7 -0
  43. package/dist/webui/routes/download.js.map +1 -1
  44. package/dist/webui/routes/handlers/auth/auth-status-handler.d.ts.map +1 -1
  45. package/dist/webui/routes/handlers/auth/auth-status-handler.js +11 -3
  46. package/dist/webui/routes/handlers/auth/auth-status-handler.js.map +1 -1
  47. package/dist/webui/routes/handlers/download-basic-handlers.d.ts +11 -0
  48. package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
  49. package/dist/webui/routes/handlers/download-basic-handlers.js +204 -7
  50. package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
  51. package/dist/webui/routes/handlers/download-url-handlers.d.ts +20 -0
  52. package/dist/webui/routes/handlers/download-url-handlers.d.ts.map +1 -0
  53. package/dist/webui/routes/handlers/download-url-handlers.js +288 -0
  54. package/dist/webui/routes/handlers/download-url-handlers.js.map +1 -0
  55. package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
  56. package/dist/webui/services/DownloadTaskManager.js +75 -3
  57. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  58. package/dist/webui/utils/config-validator.js +4 -5
  59. package/dist/webui/utils/config-validator.js.map +1 -1
  60. package/dist/webui/utils/error-codes.d.ts +2 -1
  61. package/dist/webui/utils/error-codes.d.ts.map +1 -1
  62. package/dist/webui/utils/error-codes.js +2 -0
  63. package/dist/webui/utils/error-codes.js.map +1 -1
  64. package/package.json +5 -5
@@ -11,12 +11,18 @@ exports.parsedUrlToTargetConfig = parsedUrlToTargetConfig;
11
11
  *
12
12
  * Supported URL formats:
13
13
  * - https://www.pixiv.net/artworks/{illustId}
14
+ * - https://www.pixiv.net/en/artworks/{illustId} (with language code)
15
+ * - https://www.pixiv.net/member_illust.php?mode=medium&illust_id={illustId} (legacy)
16
+ * - https://www.pixiv.net/i/{illustId} (short format)
14
17
  * - https://www.pixiv.net/novel/show.php?id={novelId}
15
18
  * - https://www.pixiv.net/novel/series/{seriesId}
16
19
  * - https://www.pixiv.net/users/{userId}
20
+ * - https://www.pixiv.net/users/{userId}/artworks/{illustId}
21
+ * - https://www.pixiv.net/users/{userId}/novels/{novelId}
17
22
  * - https://pixiv.net/artworks/{illustId} (without www)
23
+ * - Direct ID: {id} (treated as illustration)
18
24
  *
19
- * @param url Pixiv URL
25
+ * @param url Pixiv URL or direct ID
20
26
  * @returns Parsed URL information or null if URL is invalid
21
27
  */
22
28
  function parsePixivUrl(url) {
@@ -26,23 +32,40 @@ function parsePixivUrl(url) {
26
32
  try {
27
33
  // Normalize URL: remove trailing slashes and whitespace
28
34
  const normalizedUrl = url.trim().replace(/\/+$/, '');
35
+ // Check if it's just a numeric ID (treat as illustration)
36
+ if (/^\d+$/.test(normalizedUrl)) {
37
+ const id = parseInt(normalizedUrl, 10);
38
+ if (!isNaN(id)) {
39
+ return {
40
+ type: 'illustration',
41
+ id: id,
42
+ };
43
+ }
44
+ }
29
45
  // Try to parse as URL
30
46
  let urlObj;
31
47
  try {
32
48
  urlObj = new URL(normalizedUrl);
33
49
  }
34
50
  catch {
35
- // If URL parsing fails, try to extract ID from string directly
36
- return parseIdFromString(normalizedUrl);
51
+ // Try adding https:// prefix
52
+ try {
53
+ urlObj = new URL(`https://${normalizedUrl}`);
54
+ }
55
+ catch {
56
+ // If still fails, try to extract ID from string directly
57
+ return parseIdFromString(normalizedUrl);
58
+ }
37
59
  }
38
60
  const hostname = urlObj.hostname.toLowerCase();
39
61
  const pathname = urlObj.pathname;
40
- // Check if it's a Pixiv domain
41
- if (!hostname.includes('pixiv.net')) {
62
+ const searchParams = urlObj.searchParams;
63
+ // Check if it's a Pixiv domain (support pixiv.net and pixiv.org)
64
+ if (!hostname.includes('pixiv.net') && !hostname.includes('pixiv.org')) {
42
65
  return null;
43
66
  }
44
- // Parse illustration URL: /artworks/{id}
45
- const illustMatch = pathname.match(/^\/artworks\/(\d+)$/);
67
+ // Parse illustration URL: /artworks/{id} or /en/artworks/{id} or /zh-cn/artworks/{id}
68
+ const illustMatch = pathname.match(/\/artworks\/(\d+)/);
46
69
  if (illustMatch) {
47
70
  const illustId = parseInt(illustMatch[1], 10);
48
71
  if (!isNaN(illustId)) {
@@ -52,6 +75,28 @@ function parsePixivUrl(url) {
52
75
  };
53
76
  }
54
77
  }
78
+ // Parse short illustration URL: /i/{id}
79
+ const shortIllustMatch = pathname.match(/^\/i\/(\d+)$/);
80
+ if (shortIllustMatch) {
81
+ const illustId = parseInt(shortIllustMatch[1], 10);
82
+ if (!isNaN(illustId)) {
83
+ return {
84
+ type: 'illustration',
85
+ id: illustId,
86
+ };
87
+ }
88
+ }
89
+ // Parse legacy illustration URL: /member_illust.php?illust_id={id}
90
+ const illustIdParam = searchParams.get('illust_id');
91
+ if (illustIdParam) {
92
+ const illustId = parseInt(illustIdParam, 10);
93
+ if (!isNaN(illustId)) {
94
+ return {
95
+ type: 'illustration',
96
+ id: illustId,
97
+ };
98
+ }
99
+ }
55
100
  // Parse novel URL: /novel/show.php?id={id}
56
101
  const novelMatch = pathname.match(/^\/novel\/show\.php$/);
57
102
  if (novelMatch) {
@@ -77,7 +122,29 @@ function parsePixivUrl(url) {
77
122
  };
78
123
  }
79
124
  }
80
- // Parse user URL: /users/{userId}
125
+ // Parse user's artwork URL: /users/{userId}/artworks/{illustId}
126
+ const userArtworkMatch = pathname.match(/\/users\/(\d+)\/artworks\/(\d+)/);
127
+ if (userArtworkMatch) {
128
+ const illustId = parseInt(userArtworkMatch[2], 10);
129
+ if (!isNaN(illustId)) {
130
+ return {
131
+ type: 'illustration',
132
+ id: illustId,
133
+ };
134
+ }
135
+ }
136
+ // Parse user's novel URL: /users/{userId}/novels/{novelId}
137
+ const userNovelMatch = pathname.match(/\/users\/(\d+)\/novels\/(\d+)/);
138
+ if (userNovelMatch) {
139
+ const novelId = parseInt(userNovelMatch[2], 10);
140
+ if (!isNaN(novelId)) {
141
+ return {
142
+ type: 'novel',
143
+ id: novelId,
144
+ };
145
+ }
146
+ }
147
+ // Parse user URL: /users/{userId} (only user profile, no specific work)
81
148
  const userMatch = pathname.match(/^\/users\/(\d+)$/);
82
149
  if (userMatch) {
83
150
  const userId = userMatch[1];
@@ -1 +1 @@
1
- {"version":3,"file":"pixiv-url-parser.js","sourceRoot":"","sources":["../../src/utils/pixiv-url-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pixiv-url-parser.js","sourceRoot":"","sources":["../../src/utils/pixiv-url-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgCH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAK5E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAwBpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsBzE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQlH"}
1
+ {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAK5E;AA0DD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAwCpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BzE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQlH"}
@@ -16,6 +16,7 @@ const node_fs_1 = require("node:fs");
16
16
  const node_path_1 = require("node:path");
17
17
  const logger_1 = require("../logger");
18
18
  const TOKEN_FILE_NAME = '.pixiv-refresh-token';
19
+ const TOKEN_BACKUP_FILE_NAME = '.pixiv-refresh-token.backup';
19
20
  const PLACEHOLDER_TOKEN = 'YOUR_REFRESH_TOKEN';
20
21
  /**
21
22
  * Get the token storage directory based on database path
@@ -46,6 +47,55 @@ function isPlaceholderToken(token) {
46
47
  }
47
48
  return token.trim() === '' || token === PLACEHOLDER_TOKEN || token.length < 10;
48
49
  }
50
+ /**
51
+ * Create a backup of the current token file
52
+ * @param databasePath Optional database path to determine storage location
53
+ */
54
+ function backupToken(databasePath) {
55
+ try {
56
+ const tokenPath = getTokenFilePath(databasePath);
57
+ if (!(0, node_fs_1.existsSync)(tokenPath)) {
58
+ return; // No token to backup
59
+ }
60
+ const backupPath = (0, node_path_1.join)((0, node_path_1.dirname)(tokenPath), TOKEN_BACKUP_FILE_NAME);
61
+ (0, node_fs_1.copyFileSync)(tokenPath, backupPath);
62
+ logger_1.logger.debug('Token backup created', { backupPath });
63
+ }
64
+ catch (error) {
65
+ logger_1.logger.warn('Failed to create token backup', {
66
+ error: error instanceof Error ? error.message : String(error),
67
+ });
68
+ // Don't throw - backup is optional
69
+ }
70
+ }
71
+ /**
72
+ * Restore token from backup if main token file is missing or corrupted
73
+ * @param databasePath Optional database path to determine storage location
74
+ * @returns The restored token, or null if restoration failed
75
+ */
76
+ function restoreTokenFromBackup(databasePath) {
77
+ try {
78
+ const backupPath = (0, node_path_1.join)(getTokenStorageDir(databasePath), TOKEN_BACKUP_FILE_NAME);
79
+ if (!(0, node_fs_1.existsSync)(backupPath)) {
80
+ return null;
81
+ }
82
+ const token = (0, node_fs_1.readFileSync)(backupPath, 'utf-8').trim();
83
+ if (isPlaceholderToken(token)) {
84
+ return null;
85
+ }
86
+ logger_1.logger.info('Token restored from backup', { backupPath });
87
+ // Restore the main token file
88
+ const tokenPath = getTokenFilePath(databasePath);
89
+ (0, node_fs_1.writeFileSync)(tokenPath, token, 'utf-8');
90
+ return token;
91
+ }
92
+ catch (error) {
93
+ logger_1.logger.warn('Failed to restore token from backup', {
94
+ error: error instanceof Error ? error.message : String(error),
95
+ });
96
+ return null;
97
+ }
98
+ }
49
99
  /**
50
100
  * Save refresh token to unified storage
51
101
  * @param refreshToken The refresh token to save
@@ -63,15 +113,28 @@ function saveTokenToStorage(refreshToken, databasePath) {
63
113
  if (!(0, node_fs_1.existsSync)(storageDir)) {
64
114
  (0, node_fs_1.mkdirSync)(storageDir, { recursive: true });
65
115
  }
116
+ // Create backup of existing token before overwriting
117
+ if ((0, node_fs_1.existsSync)(tokenPath)) {
118
+ backupToken(databasePath);
119
+ }
66
120
  // Save token to file (simple text file, no JSON wrapper needed)
67
121
  (0, node_fs_1.writeFileSync)(tokenPath, refreshToken.trim(), 'utf-8');
68
122
  logger_1.logger.debug('Token saved to unified storage', { tokenPath });
123
+ // Verify the write was successful
124
+ if (!(0, node_fs_1.existsSync)(tokenPath)) {
125
+ throw new Error('Token file was not created successfully');
126
+ }
127
+ // Double-check the content
128
+ const savedToken = (0, node_fs_1.readFileSync)(tokenPath, 'utf-8').trim();
129
+ if (savedToken !== refreshToken.trim()) {
130
+ throw new Error('Saved token does not match input token');
131
+ }
69
132
  }
70
133
  catch (error) {
71
- logger_1.logger.warn('Failed to save token to unified storage', {
134
+ logger_1.logger.error('Failed to save token to unified storage', {
72
135
  error: error instanceof Error ? error.message : String(error),
73
136
  });
74
- // Don't throw - this is a non-critical operation
137
+ // Don't throw - this is a non-critical operation, but log as error
75
138
  }
76
139
  }
77
140
  /**
@@ -83,11 +146,15 @@ function loadTokenFromStorage(databasePath) {
83
146
  try {
84
147
  const tokenPath = getTokenFilePath(databasePath);
85
148
  if (!(0, node_fs_1.existsSync)(tokenPath)) {
86
- return null;
149
+ // Try to restore from backup
150
+ logger_1.logger.debug('Token file not found, attempting to restore from backup');
151
+ return restoreTokenFromBackup(databasePath);
87
152
  }
88
153
  const token = (0, node_fs_1.readFileSync)(tokenPath, 'utf-8').trim();
89
154
  if (isPlaceholderToken(token)) {
90
- return null;
155
+ // Token is invalid, try backup
156
+ logger_1.logger.debug('Token file contains placeholder, attempting to restore from backup');
157
+ return restoreTokenFromBackup(databasePath);
91
158
  }
92
159
  logger_1.logger.debug('Token loaded from unified storage', { tokenPath });
93
160
  return token;
@@ -96,7 +163,8 @@ function loadTokenFromStorage(databasePath) {
96
163
  logger_1.logger.warn('Failed to load token from unified storage', {
97
164
  error: error instanceof Error ? error.message : String(error),
98
165
  });
99
- return null;
166
+ // Try backup as last resort
167
+ return restoreTokenFromBackup(databasePath);
100
168
  }
101
169
  }
102
170
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/utils/token-manager.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoCH,gDAKC;AA+DD,gDAwCC;AAOD,oDA2BC;AAOD,sDAqBC;AASD,sDAQC;AA7ND,qCAAuG;AACvG,yCAAmD;AACnD,sCAAmC;AAEnC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAC/C,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAC7D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,SAAS,kBAAkB,CAAC,YAAqB;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,yCAAyC;QACzC,OAAO,IAAA,mBAAO,EAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,oCAAoC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7E,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,YAAqB;IAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACpD,OAAO,IAAA,gBAAI,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAgC;IACjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,YAAqB;IACxC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,qBAAqB;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACpE,IAAA,sBAAY,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACpC,eAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAC3C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,mCAAmC;IACrC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,YAAqB;IACnD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAElF,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1D,8BAA8B;QAC9B,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACjD,IAAA,uBAAa,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;YACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,YAAoB,EAAE,YAAqB;IAC5E,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,eAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAA,mBAAO,EAAC,SAAS,CAAC,CAAC;QAEtC,0BAA0B;QAC1B,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,IAAA,mBAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,gEAAgE;QAChE,IAAA,uBAAa,EAAC,SAAS,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACvD,eAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAE9D,kCAAkC;QAClC,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAA,sBAAY,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,UAAU,KAAK,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;YACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,YAAqB;IACxD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,6BAA6B;YAC7B,eAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,+BAA+B;YAC/B,eAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACnF,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;YACvD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,4BAA4B;QAC5B,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,YAAqB;IACzD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACjD,eAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;YAC5D,SAAS;YACT,YAAY,EAAE,YAAY,IAAI,8BAA8B;SAC7D,CAAC,CAAC;QAEH,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAA,oBAAU,EAAC,SAAS,CAAC,CAAC;YACtB,eAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CAAC,8EAA8E,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;YACzD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,YAAY,EAAE,YAAY,IAAI,cAAc;SAC7C,CAAC,CAAC;QACH,yFAAyF;IAC3F,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,WAAsC,EAAE,YAAqB;IACjG,0CAA0C;IAC1C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,WAAY,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,eAAe,GAAG;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CA2B/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,GAAG,OAAO,CAEnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAE5F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAQtG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,EACjC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,IAAI,CAAC,CAIpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,GACjC,CAAC,GAAG,SAAS,CASf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACvC,CAAC,GAAG,SAAS,CAYf"}
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,eAAe,GAAG;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAgC/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,GAAG,OAAO,CAEnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAE5F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAQtG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,EACjC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,IAAI,CAAC,CAIpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,GACjC,CAAC,GAAG,SAAS,CASf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACvC,CAAC,GAAG,SAAS,CAYf"}
@@ -36,9 +36,13 @@ function isElectronEnvironment() {
36
36
  if (process.env?.ELECTRON_IS_DEV !== undefined) {
37
37
  return true;
38
38
  }
39
- if (process.env?.ELECTRON_RUN_AS_NODE !== undefined && process.env.ELECTRON_RUN_AS_NODE !== '1') {
40
- return true;
39
+ // ELECTRON_RUN_AS_NODE=1 means Electron is running as Node.js
40
+ // In this case, it's NOT an Electron environment for the script
41
+ if (process.env?.ELECTRON_RUN_AS_NODE === '1') {
42
+ return false; // Running as Node.js, not Electron environment
41
43
  }
44
+ // If ELECTRON_RUN_AS_NODE is set but not '1', it might be Electron
45
+ // But this is less reliable, so we don't use it as a primary check
42
46
  return false;
43
47
  }
44
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "pixivflow-webui-backend",
4
- "version": "2.0.37",
4
+ "version": "2.0.39",
5
5
  "description": "PixivFlow WebUI Backend - CommonJS module"
6
6
  }
@@ -12,7 +12,7 @@ exports.PORTS = {
12
12
  /**
13
13
  * Port for the backend API server in development mode.
14
14
  */
15
- DEV_API: 3001,
15
+ DEV_API: 3000,
16
16
  /**
17
17
  * Port for the frontend Vite development server.
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAoBxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA2BxB,eAAe,MAAM,CAAC"}
@@ -37,6 +37,7 @@ const express_1 = require("express");
37
37
  const basicHandlers = __importStar(require("./handlers/download-basic-handlers"));
38
38
  const incompleteHandlers = __importStar(require("./handlers/download-incomplete-handlers"));
39
39
  const batchHandlers = __importStar(require("./handlers/download-batch-handlers"));
40
+ const urlHandlers = __importStar(require("./handlers/download-url-handlers"));
40
41
  const router = (0, express_1.Router)();
41
42
  // Download task management
42
43
  router.post('/start', basicHandlers.startDownload);
@@ -44,9 +45,15 @@ router.post('/stop', basicHandlers.stopDownload);
44
45
  router.get('/status', basicHandlers.getDownloadStatus);
45
46
  router.get('/logs', basicHandlers.getDownloadLogs);
46
47
  router.get('/history', basicHandlers.getDownloadHistory);
48
+ router.delete('/history/:taskId', basicHandlers.deleteTaskHistory);
49
+ router.delete('/history', basicHandlers.deleteAllTaskHistory);
47
50
  // Batch download operations
48
51
  router.post('/run-all', batchHandlers.runAllDownloads);
49
52
  router.post('/random', batchHandlers.randomDownload);
53
+ // URL download operations
54
+ router.post('/url', urlHandlers.downloadFromUrl);
55
+ router.post('/batch-url', urlHandlers.downloadFromBatchUrls);
56
+ router.post('/parse-url', urlHandlers.parseUrl);
50
57
  // Incomplete tasks management
51
58
  router.get('/incomplete', incompleteHandlers.getIncompleteTasks);
52
59
  router.delete('/incomplete', incompleteHandlers.deleteAllIncompleteTasks);
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAiC;AACjC,kFAAoE;AACpE,4FAA8E;AAC9E,kFAAoE;AAEpE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAEzD,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;AAErD,8BAA8B;AAC9B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AAC1E,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AACvE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAE1D,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/webui/routes/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAiC;AACjC,kFAAoE;AACpE,4FAA8E;AAC9E,kFAAoE;AACpE,8EAAgE;AAEhE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE9D,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;AAErD,0BAA0B;AAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;AACjD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEhD,8BAA8B;AAC9B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AAC1E,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AACvE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAE1D,kBAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-status-handler.d.ts","sourceRoot":"","sources":["../../../../../src/webui/routes/handlers/auth/auth-status-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQ5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG9E"}
1
+ {"version":3,"file":"auth-status-handler.d.ts","sourceRoot":"","sources":["../../../../../src/webui/routes/handlers/auth/auth-status-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQ5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8G9E"}
@@ -25,11 +25,17 @@ async function getAuthStatus(req, res) {
25
25
  if (hasToken && refreshToken) {
26
26
  const validation = await (0, auth_utils_1.validateToken)(refreshToken);
27
27
  tokenValid = validation.valid;
28
- authenticated = validation.valid;
28
+ authenticated = validation.valid; // Only authenticated if token is valid
29
29
  user = validation.user;
30
30
  if (tokenValid) {
31
31
  logger_1.logger.debug('Token validation successful', { hasUser: !!user });
32
32
  }
33
+ else {
34
+ logger_1.logger.debug('Token validation failed - user is not authenticated', { hasToken });
35
+ }
36
+ }
37
+ else {
38
+ logger_1.logger.debug('No valid token found - user is not authenticated', { hasToken, configPath });
33
39
  }
34
40
  logger_1.logger.debug('Auth status check', { authenticated, hasToken, tokenValid, configPath });
35
41
  res.json({
@@ -75,8 +81,10 @@ async function getAuthStatus(req, res) {
75
81
  }
76
82
  }
77
83
  const isTokenError = validationErrors.some(e => e.includes('refreshToken'));
78
- // If the specific error is about the token, force authenticated to false
79
- const finalAuthenticated = isTokenError ? false : authenticated;
84
+ // Final authentication status: must have valid token to be authenticated
85
+ // If token validation failed (tokenValid === false), user is NOT authenticated
86
+ // Also force false if there's a token-related error in config validation
87
+ const finalAuthenticated = (tokenValid && authenticated) && !isTokenError;
80
88
  logger_1.logger.warn('Configuration invalid when checking auth status', {
81
89
  errors: validationErrors,
82
90
  warnings: validationWarnings,
@@ -1 +1 @@
1
- {"version":3,"file":"auth-status-handler.js","sourceRoot":"","sources":["../../../../../src/webui/routes/handlers/auth/auth-status-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-status-handler.js","sourceRoot":"","sources":["../../../../../src/webui/routes/handlers/auth/auth-status-handler.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare function stopDownload(req: Request, res: Response): Promise<void>
13
13
  /**
14
14
  * GET /api/download/status
15
15
  * Get download task status
16
+ * Includes both in-memory tasks and database history
16
17
  */
17
18
  export declare function getDownloadStatus(req: Request, res: Response): Promise<void>;
18
19
  /**
@@ -20,6 +21,16 @@ export declare function getDownloadStatus(req: Request, res: Response): Promise<
20
21
  * Get logs for a specific task
21
22
  */
22
23
  export declare function getDownloadLogs(req: Request, res: Response): Promise<void>;
24
+ /**
25
+ * DELETE /api/download/history/:taskId
26
+ * Delete a task history record by task ID
27
+ */
28
+ export declare function deleteTaskHistory(req: Request, res: Response): Promise<void>;
29
+ /**
30
+ * DELETE /api/download/history
31
+ * Delete all task history records
32
+ */
33
+ export declare function deleteAllTaskHistory(req: Request, res: Response): Promise<void>;
23
34
  /**
24
35
  * GET /api/download/history
25
36
  * Get download history from database
@@ -1 +1 @@
1
- {"version":3,"file":"download-basic-handlers.d.ts","sourceRoot":"","sources":["../../../../src/webui/routes/handlers/download-basic-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BlF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DnF"}
1
+ {"version":3,"file":"download-basic-handlers.d.ts","sourceRoot":"","sources":["../../../../src/webui/routes/handlers/download-basic-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAsBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGlF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DlF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDrF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DnF"}