mirror of
https://github.com/zadam/trilium.git
synced 2025-10-08 14:42:29 +08:00
feat(scripts): add script to port discussions
This commit is contained in:
parent
f0f79b65e2
commit
1ff7228ca5
2 changed files with 301 additions and 0 deletions
191
port-discussions.log
Normal file
191
port-discussions.log
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
Transferred discussion 2089 to https://github.com/orgs/TriliumNext/discussions/5889
|
||||||
|
Transferred discussion 2096 to https://github.com/orgs/TriliumNext/discussions/5890
|
||||||
|
Transferred discussion 2109 to https://github.com/orgs/TriliumNext/discussions/5891
|
||||||
|
Transferred discussion 2091 to https://github.com/orgs/TriliumNext/discussions/5892
|
||||||
|
Transferred discussion 2087 to https://github.com/orgs/TriliumNext/discussions/5893
|
||||||
|
Transferred discussion 2074 to https://github.com/orgs/TriliumNext/discussions/5894
|
||||||
|
Transferred discussion 2062 to https://github.com/orgs/TriliumNext/discussions/5895
|
||||||
|
Transferred discussion 2071 to https://github.com/orgs/TriliumNext/discussions/5896
|
||||||
|
Transferred discussion 2063 to https://github.com/orgs/TriliumNext/discussions/5897
|
||||||
|
Transferred discussion 2054 to https://github.com/orgs/TriliumNext/discussions/5898
|
||||||
|
Transferred discussion 8 to https://github.com/orgs/TriliumNext/discussions/5899
|
||||||
|
Transferred discussion 2028 to https://github.com/orgs/TriliumNext/discussions/5900
|
||||||
|
Transferred discussion 1793 to https://github.com/orgs/TriliumNext/discussions/5901
|
||||||
|
Transferred discussion 2022 to https://github.com/orgs/TriliumNext/discussions/5902
|
||||||
|
Transferred discussion 1731 to https://github.com/orgs/TriliumNext/discussions/5903
|
||||||
|
Transferred discussion 1981 to https://github.com/orgs/TriliumNext/discussions/5904
|
||||||
|
Transferred discussion 2015 to https://github.com/orgs/TriliumNext/discussions/5905
|
||||||
|
Transferred discussion 1972 to https://github.com/orgs/TriliumNext/discussions/5906
|
||||||
|
Transferred discussion 24 to https://github.com/orgs/TriliumNext/discussions/5907
|
||||||
|
Transferred discussion 1967 to https://github.com/orgs/TriliumNext/discussions/5908
|
||||||
|
Transferred discussion 1947 to https://github.com/orgs/TriliumNext/discussions/5909
|
||||||
|
Transferred discussion 444 to https://github.com/orgs/TriliumNext/discussions/5910
|
||||||
|
Transferred discussion 1904 to https://github.com/orgs/TriliumNext/discussions/5911
|
||||||
|
Transferred discussion 1907 to https://github.com/orgs/TriliumNext/discussions/5912
|
||||||
|
Transferred discussion 1860 to https://github.com/orgs/TriliumNext/discussions/5913
|
||||||
|
Transferred discussion 1859 to https://github.com/orgs/TriliumNext/discussions/5914
|
||||||
|
Transferred discussion 1814 to https://github.com/orgs/TriliumNext/discussions/5915
|
||||||
|
Transferred discussion 1823 to https://github.com/orgs/TriliumNext/discussions/5916
|
||||||
|
Transferred discussion 1699 to https://github.com/orgs/TriliumNext/discussions/5917
|
||||||
|
Transferred discussion 1760 to https://github.com/orgs/TriliumNext/discussions/5918
|
||||||
|
Transferred discussion 1807 to https://github.com/orgs/TriliumNext/discussions/5919
|
||||||
|
Transferred discussion 1806 to https://github.com/orgs/TriliumNext/discussions/5920
|
||||||
|
Transferred discussion 1800 to https://github.com/orgs/TriliumNext/discussions/5921
|
||||||
|
Transferred discussion 1797 to https://github.com/orgs/TriliumNext/discussions/5922
|
||||||
|
Transferred discussion 1791 to https://github.com/orgs/TriliumNext/discussions/5923
|
||||||
|
Transferred discussion 1774 to https://github.com/orgs/TriliumNext/discussions/5924
|
||||||
|
Transferred discussion 1771 to https://github.com/orgs/TriliumNext/discussions/5925
|
||||||
|
Transferred discussion 1696 to https://github.com/orgs/TriliumNext/discussions/5926
|
||||||
|
Transferred discussion 1736 to https://github.com/orgs/TriliumNext/discussions/5927
|
||||||
|
Transferred discussion 1733 to https://github.com/orgs/TriliumNext/discussions/5928
|
||||||
|
Transferred discussion 1682 to https://github.com/orgs/TriliumNext/discussions/5929
|
||||||
|
Transferred discussion 867 to https://github.com/orgs/TriliumNext/discussions/5930
|
||||||
|
Transferred discussion 1593 to https://github.com/orgs/TriliumNext/discussions/5931
|
||||||
|
Transferred discussion 1671 to https://github.com/orgs/TriliumNext/discussions/5932
|
||||||
|
Transferred discussion 1669 to https://github.com/orgs/TriliumNext/discussions/5933
|
||||||
|
Transferred discussion 1654 to https://github.com/orgs/TriliumNext/discussions/5934
|
||||||
|
Transferred discussion 1653 to https://github.com/orgs/TriliumNext/discussions/5935
|
||||||
|
Transferred discussion 1642 to https://github.com/orgs/TriliumNext/discussions/5936
|
||||||
|
Transferred discussion 1638 to https://github.com/orgs/TriliumNext/discussions/5937
|
||||||
|
Transferred discussion 1629 to https://github.com/orgs/TriliumNext/discussions/5938
|
||||||
|
Transferred discussion 1621 to https://github.com/orgs/TriliumNext/discussions/5939
|
||||||
|
Transferred discussion 1565 to https://github.com/orgs/TriliumNext/discussions/5940
|
||||||
|
Transferred discussion 1573 to https://github.com/orgs/TriliumNext/discussions/5941
|
||||||
|
Transferred discussion 1387 to https://github.com/orgs/TriliumNext/discussions/5942
|
||||||
|
Transferred discussion 1548 to https://github.com/orgs/TriliumNext/discussions/5943
|
||||||
|
Transferred discussion 1576 to https://github.com/orgs/TriliumNext/discussions/5944
|
||||||
|
Transferred discussion 1568 to https://github.com/orgs/TriliumNext/discussions/5945
|
||||||
|
Transferred discussion 904 to https://github.com/orgs/TriliumNext/discussions/5946
|
||||||
|
Transferred discussion 1386 to https://github.com/orgs/TriliumNext/discussions/5947
|
||||||
|
Transferred discussion 1526 to https://github.com/orgs/TriliumNext/discussions/5948
|
||||||
|
Transferred discussion 1443 to https://github.com/orgs/TriliumNext/discussions/5949
|
||||||
|
Transferred discussion 1529 to https://github.com/orgs/TriliumNext/discussions/5950
|
||||||
|
Transferred discussion 1461 to https://github.com/orgs/TriliumNext/discussions/5951
|
||||||
|
Transferred discussion 1490 to https://github.com/orgs/TriliumNext/discussions/5952
|
||||||
|
Transferred discussion 1497 to https://github.com/orgs/TriliumNext/discussions/5953
|
||||||
|
Transferred discussion 1444 to https://github.com/orgs/TriliumNext/discussions/5954
|
||||||
|
Transferred discussion 1522 to https://github.com/orgs/TriliumNext/discussions/5955
|
||||||
|
Transferred discussion 1385 to https://github.com/orgs/TriliumNext/discussions/5956
|
||||||
|
Transferred discussion 1504 to https://github.com/orgs/TriliumNext/discussions/5957
|
||||||
|
Transferred discussion 1448 to https://github.com/orgs/TriliumNext/discussions/5958
|
||||||
|
Transferred discussion 1491 to https://github.com/orgs/TriliumNext/discussions/5959
|
||||||
|
Transferred discussion 1463 to https://github.com/orgs/TriliumNext/discussions/5960
|
||||||
|
Transferred discussion 1460 to https://github.com/orgs/TriliumNext/discussions/5961
|
||||||
|
Transferred discussion 1449 to https://github.com/orgs/TriliumNext/discussions/5962
|
||||||
|
Transferred discussion 1441 to https://github.com/orgs/TriliumNext/discussions/5963
|
||||||
|
Transferred discussion 1403 to https://github.com/orgs/TriliumNext/discussions/5964
|
||||||
|
Transferred discussion 1426 to https://github.com/orgs/TriliumNext/discussions/5965
|
||||||
|
Transferred discussion 1420 to https://github.com/orgs/TriliumNext/discussions/5966
|
||||||
|
Transferred discussion 1414 to https://github.com/orgs/TriliumNext/discussions/5967
|
||||||
|
Transferred discussion 1417 to https://github.com/orgs/TriliumNext/discussions/5968
|
||||||
|
Transferred discussion 1416 to https://github.com/orgs/TriliumNext/discussions/5969
|
||||||
|
Transferred discussion 1442 to https://github.com/orgs/TriliumNext/discussions/5970
|
||||||
|
Transferred discussion 1334 to https://github.com/orgs/TriliumNext/discussions/5971
|
||||||
|
Transferred discussion 1052 to https://github.com/orgs/TriliumNext/discussions/5972
|
||||||
|
Transferred discussion 1265 to https://github.com/orgs/TriliumNext/discussions/5973
|
||||||
|
Transferred discussion 1318 to https://github.com/orgs/TriliumNext/discussions/5974
|
||||||
|
Transferred discussion 1346 to https://github.com/orgs/TriliumNext/discussions/5975
|
||||||
|
Transferred discussion 793 to https://github.com/orgs/TriliumNext/discussions/5976
|
||||||
|
Transferred discussion 1356 to https://github.com/orgs/TriliumNext/discussions/5977
|
||||||
|
Transferred discussion 1290 to https://github.com/orgs/TriliumNext/discussions/5978
|
||||||
|
Transferred discussion 1111 to https://github.com/orgs/TriliumNext/discussions/5979
|
||||||
|
Transferred discussion 1311 to https://github.com/orgs/TriliumNext/discussions/5980
|
||||||
|
Transferred discussion 1317 to https://github.com/orgs/TriliumNext/discussions/5981
|
||||||
|
Transferred discussion 1287 to https://github.com/orgs/TriliumNext/discussions/5982
|
||||||
|
Transferred discussion 1282 to https://github.com/orgs/TriliumNext/discussions/5983
|
||||||
|
Transferred discussion 1279 to https://github.com/orgs/TriliumNext/discussions/5984
|
||||||
|
Transferred discussion 1271 to https://github.com/orgs/TriliumNext/discussions/5985
|
||||||
|
Transferred discussion 356 to https://github.com/orgs/TriliumNext/discussions/5986
|
||||||
|
Transferred discussion 1255 to https://github.com/orgs/TriliumNext/discussions/5987
|
||||||
|
Transferred discussion 1210 to https://github.com/orgs/TriliumNext/discussions/5988
|
||||||
|
Transferred discussion 1249 to https://github.com/orgs/TriliumNext/discussions/5989
|
||||||
|
Transferred discussion 1203 to https://github.com/orgs/TriliumNext/discussions/5990
|
||||||
|
Transferred discussion 1116 to https://github.com/orgs/TriliumNext/discussions/5991
|
||||||
|
Transferred discussion 827 to https://github.com/orgs/TriliumNext/discussions/5992
|
||||||
|
Transferred discussion 1176 to https://github.com/orgs/TriliumNext/discussions/5993
|
||||||
|
Transferred discussion 1166 to https://github.com/orgs/TriliumNext/discussions/5994
|
||||||
|
Transferred discussion 1079 to https://github.com/orgs/TriliumNext/discussions/5995
|
||||||
|
Transferred discussion 1082 to https://github.com/orgs/TriliumNext/discussions/5996
|
||||||
|
Transferred discussion 1060 to https://github.com/orgs/TriliumNext/discussions/5997
|
||||||
|
Transferred discussion 1085 to https://github.com/orgs/TriliumNext/discussions/5998
|
||||||
|
Transferred discussion 360 to https://github.com/orgs/TriliumNext/discussions/5999
|
||||||
|
Transferred discussion 442 to https://github.com/orgs/TriliumNext/discussions/6000
|
||||||
|
Transferred discussion 981 to https://github.com/orgs/TriliumNext/discussions/6001
|
||||||
|
Transferred discussion 975 to https://github.com/orgs/TriliumNext/discussions/6002
|
||||||
|
Transferred discussion 1007 to https://github.com/orgs/TriliumNext/discussions/6003
|
||||||
|
Transferred discussion 968 to https://github.com/orgs/TriliumNext/discussions/6004
|
||||||
|
Transferred discussion 957 to https://github.com/orgs/TriliumNext/discussions/6005
|
||||||
|
Transferred discussion 939 to https://github.com/orgs/TriliumNext/discussions/6006
|
||||||
|
Transferred discussion 775 to https://github.com/orgs/TriliumNext/discussions/6007
|
||||||
|
Transferred discussion 944 to https://github.com/orgs/TriliumNext/discussions/6008
|
||||||
|
Transferred discussion 934 to https://github.com/orgs/TriliumNext/discussions/6009
|
||||||
|
Transferred discussion 907 to https://github.com/orgs/TriliumNext/discussions/6010
|
||||||
|
Transferred discussion 898 to https://github.com/orgs/TriliumNext/discussions/6011
|
||||||
|
Transferred discussion 846 to https://github.com/orgs/TriliumNext/discussions/6012
|
||||||
|
Transferred discussion 851 to https://github.com/orgs/TriliumNext/discussions/6013
|
||||||
|
Transferred discussion 836 to https://github.com/orgs/TriliumNext/discussions/6014
|
||||||
|
Transferred discussion 833 to https://github.com/orgs/TriliumNext/discussions/6015
|
||||||
|
Transferred discussion 828 to https://github.com/orgs/TriliumNext/discussions/6016
|
||||||
|
Transferred discussion 527 to https://github.com/orgs/TriliumNext/discussions/6017
|
||||||
|
Transferred discussion 824 to https://github.com/orgs/TriliumNext/discussions/6018
|
||||||
|
Transferred discussion 770 to https://github.com/orgs/TriliumNext/discussions/6019
|
||||||
|
Transferred discussion 774 to https://github.com/orgs/TriliumNext/discussions/6020
|
||||||
|
Transferred discussion 716 to https://github.com/orgs/TriliumNext/discussions/6021
|
||||||
|
Transferred discussion 731 to https://github.com/orgs/TriliumNext/discussions/6022
|
||||||
|
Transferred discussion 519 to https://github.com/orgs/TriliumNext/discussions/6023
|
||||||
|
Transferred discussion 704 to https://github.com/orgs/TriliumNext/discussions/6024
|
||||||
|
Transferred discussion 665 to https://github.com/orgs/TriliumNext/discussions/6025
|
||||||
|
Transferred discussion 610 to https://github.com/orgs/TriliumNext/discussions/6026
|
||||||
|
Transferred discussion 662 to https://github.com/orgs/TriliumNext/discussions/6027
|
||||||
|
Transferred discussion 596 to https://github.com/orgs/TriliumNext/discussions/6028
|
||||||
|
Transferred discussion 621 to https://github.com/orgs/TriliumNext/discussions/6029
|
||||||
|
Transferred discussion 611 to https://github.com/orgs/TriliumNext/discussions/6030
|
||||||
|
Transferred discussion 566 to https://github.com/orgs/TriliumNext/discussions/6031
|
||||||
|
Transferred discussion 591 to https://github.com/orgs/TriliumNext/discussions/6032
|
||||||
|
Transferred discussion 590 to https://github.com/orgs/TriliumNext/discussions/6033
|
||||||
|
Transferred discussion 578 to https://github.com/orgs/TriliumNext/discussions/6034
|
||||||
|
Transferred discussion 575 to https://github.com/orgs/TriliumNext/discussions/6035
|
||||||
|
Transferred discussion 564 to https://github.com/orgs/TriliumNext/discussions/6036
|
||||||
|
Transferred discussion 563 to https://github.com/orgs/TriliumNext/discussions/6037
|
||||||
|
Transferred discussion 557 to https://github.com/orgs/TriliumNext/discussions/6038
|
||||||
|
Transferred discussion 551 to https://github.com/orgs/TriliumNext/discussions/6039
|
||||||
|
Transferred discussion 540 to https://github.com/orgs/TriliumNext/discussions/6040
|
||||||
|
Transferred discussion 523 to https://github.com/orgs/TriliumNext/discussions/6041
|
||||||
|
Transferred discussion 512 to https://github.com/orgs/TriliumNext/discussions/6042
|
||||||
|
Transferred discussion 515 to https://github.com/orgs/TriliumNext/discussions/6043
|
||||||
|
Transferred discussion 510 to https://github.com/orgs/TriliumNext/discussions/6044
|
||||||
|
Transferred discussion 509 to https://github.com/orgs/TriliumNext/discussions/6045
|
||||||
|
Transferred discussion 482 to https://github.com/orgs/TriliumNext/discussions/6046
|
||||||
|
Transferred discussion 494 to https://github.com/orgs/TriliumNext/discussions/6047
|
||||||
|
Transferred discussion 478 to https://github.com/orgs/TriliumNext/discussions/6048
|
||||||
|
Transferred discussion 461 to https://github.com/orgs/TriliumNext/discussions/6049
|
||||||
|
Transferred discussion 476 to https://github.com/orgs/TriliumNext/discussions/6050
|
||||||
|
Transferred discussion 471 to https://github.com/orgs/TriliumNext/discussions/6051
|
||||||
|
Transferred discussion 445 to https://github.com/orgs/TriliumNext/discussions/6052
|
||||||
|
Transferred discussion 393 to https://github.com/orgs/TriliumNext/discussions/6053
|
||||||
|
Transferred discussion 435 to https://github.com/orgs/TriliumNext/discussions/6054
|
||||||
|
Transferred discussion 440 to https://github.com/orgs/TriliumNext/discussions/6055
|
||||||
|
Transferred discussion 369 to https://github.com/orgs/TriliumNext/discussions/6056
|
||||||
|
Transferred discussion 398 to https://github.com/orgs/TriliumNext/discussions/6057
|
||||||
|
Transferred discussion 370 to https://github.com/orgs/TriliumNext/discussions/6058
|
||||||
|
Transferred discussion 367 to https://github.com/orgs/TriliumNext/discussions/6059
|
||||||
|
Transferred discussion 169 to https://github.com/orgs/TriliumNext/discussions/6060
|
||||||
|
Transferred discussion 260 to https://github.com/orgs/TriliumNext/discussions/6061
|
||||||
|
Transferred discussion 235 to https://github.com/orgs/TriliumNext/discussions/6062
|
||||||
|
Transferred discussion 26 to https://github.com/orgs/TriliumNext/discussions/6063
|
||||||
|
Transferred discussion 188 to https://github.com/orgs/TriliumNext/discussions/6064
|
||||||
|
Transferred discussion 189 to https://github.com/orgs/TriliumNext/discussions/6065
|
||||||
|
Transferred discussion 2 to https://github.com/orgs/TriliumNext/discussions/6066
|
||||||
|
Transferred discussion 182 to https://github.com/orgs/TriliumNext/discussions/6067
|
||||||
|
Transferred discussion 172 to https://github.com/orgs/TriliumNext/discussions/6068
|
||||||
|
Transferred discussion 178 to https://github.com/orgs/TriliumNext/discussions/6069
|
||||||
|
Transferred discussion 168 to https://github.com/orgs/TriliumNext/discussions/6070
|
||||||
|
Transferred discussion 164 to https://github.com/orgs/TriliumNext/discussions/6071
|
||||||
|
Transferred discussion 158 to https://github.com/orgs/TriliumNext/discussions/6072
|
||||||
|
Transferred discussion 53 to https://github.com/orgs/TriliumNext/discussions/6073
|
||||||
|
Transferred discussion 10 to https://github.com/orgs/TriliumNext/discussions/6074
|
||||||
|
Transferred discussion 5 to https://github.com/orgs/TriliumNext/discussions/6075
|
||||||
|
Transferred discussion 30 to https://github.com/orgs/TriliumNext/discussions/6076
|
||||||
|
Transferred discussion 11 to https://github.com/orgs/TriliumNext/discussions/6077
|
||||||
|
Transferred discussion 29 to https://github.com/orgs/TriliumNext/discussions/6078
|
||||||
|
Transferred discussion 31 to https://github.com/orgs/TriliumNext/discussions/6079
|
110
scripts/port-discussions.ts
Normal file
110
scripts/port-discussions.ts
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
/**
|
||||||
|
* @module
|
||||||
|
*
|
||||||
|
* Goes through all discussions in the source repository and transfers them to the target repository.
|
||||||
|
*
|
||||||
|
* Limitations:
|
||||||
|
* - Upon encountering a locked discussion, the script will fail. Make sure to unlock discussions before running the script.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { type BrowserContext, chromium } from 'playwright';
|
||||||
|
import { createWriteStream, existsSync, readFileSync, writeFileSync } from 'fs';
|
||||||
|
|
||||||
|
const SOURCE_URL = "https://github.com/TriliumNext/Notes";
|
||||||
|
const TARGET_REPOSITORY_ID = 92111509;
|
||||||
|
|
||||||
|
const fsLog = createWriteStream('port-discussions.log', { flags: 'a' });
|
||||||
|
|
||||||
|
async function login(context: BrowserContext) {
|
||||||
|
const page = await context.newPage();
|
||||||
|
await page.goto('https://github.com/login');
|
||||||
|
|
||||||
|
console.log("👤 Please log in manually in the opened browser...");
|
||||||
|
await page.waitForNavigation({ url: 'https://github.com/' }); // Wait for login
|
||||||
|
|
||||||
|
// Save storage state (cookies, localStorage, etc.)
|
||||||
|
const storage = await context.storageState();
|
||||||
|
writeFileSync('auth.json', JSON.stringify(storage))
|
||||||
|
await page.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function portIssue(issue: string, context: BrowserContext) {
|
||||||
|
const page = await context.newPage();
|
||||||
|
await page.goto(`${SOURCE_URL}/discussions/${issue}`);
|
||||||
|
|
||||||
|
const button = page.locator("#dialog-show-discussion-transfer-conversation");
|
||||||
|
await button.click();
|
||||||
|
|
||||||
|
const modal = page.locator("#discussion-transfer-conversation");
|
||||||
|
const modalContent = page.locator("#transfer-candidate-repos");
|
||||||
|
await modalContent.waitFor({ state: 'visible' });
|
||||||
|
|
||||||
|
modalContent.locator(`#transfer_repository_${TARGET_REPOSITORY_ID}`).click();
|
||||||
|
const navigationPromise = page.waitForNavigation({
|
||||||
|
waitUntil: "domcontentloaded"
|
||||||
|
});
|
||||||
|
|
||||||
|
const submitButton = modal.locator(`button[type="submit"]`);
|
||||||
|
await submitButton.waitFor({ state: 'attached' });
|
||||||
|
await submitButton.click();
|
||||||
|
|
||||||
|
await navigationPromise;
|
||||||
|
console.log(`✅ Discussion ${issue} has been transferred to the target repository.`);
|
||||||
|
fsLog.write(`Transferred discussion ${issue} to ${page.url()}\n`);
|
||||||
|
await page.waitForTimeout(2000); // Wait for a second to ensure the transfer is complete
|
||||||
|
await page.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getFirstPageResults(context: BrowserContext) {
|
||||||
|
const page = await context.newPage();
|
||||||
|
await page.goto(SOURCE_URL + "/discussions");
|
||||||
|
|
||||||
|
// Wait for the discussions to load
|
||||||
|
const allDiscussionLinks = (await (page.locator(`a[data-hovercard-type="discussion"]`).all()));
|
||||||
|
let ids: string[] = [];
|
||||||
|
for (const link of allDiscussionLinks) {
|
||||||
|
const url = await link.getAttribute('href');
|
||||||
|
const number = url?.match(/\/discussions\/(\d+)/)?.[1];
|
||||||
|
ids.push(number);
|
||||||
|
}
|
||||||
|
console.log(`Found ${ids.length} discussions.`);
|
||||||
|
await page.close();
|
||||||
|
return ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
const browser = await chromium.launch({ headless: false }); // show browser
|
||||||
|
let storageState = undefined;
|
||||||
|
if (existsSync('auth.json')) {
|
||||||
|
console.log("🔑 Using existing authentication state...");
|
||||||
|
storageState = JSON.parse(readFileSync('auth.json', 'utf-8'));
|
||||||
|
}
|
||||||
|
|
||||||
|
const context = await browser.newContext({ storageState });
|
||||||
|
if (!storageState) {
|
||||||
|
await login(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
const travelledIds: string[] = [];
|
||||||
|
let ids = await getFirstPageResults(context);
|
||||||
|
|
||||||
|
while (ids.length > 0) {
|
||||||
|
for (const id of ids) {
|
||||||
|
try {
|
||||||
|
if (travelledIds.includes(id)) {
|
||||||
|
console.log(`Discussion ${id} has already been transferred.`);
|
||||||
|
process.exit(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
await portIssue(id, context);
|
||||||
|
travelledIds.push(id);
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`❌ Error transferring discussion ${id}:`, error);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ids = await getFirstPageResults(context);
|
||||||
|
}
|
||||||
|
await browser.close();
|
||||||
|
})();
|
Loading…
Add table
Reference in a new issue