simoncck commited on
Commit
44cec99
·
verified ·
1 Parent(s): 47faa40

Update login.js

Browse files
Files changed (1) hide show
  1. login.js +14 -17
login.js CHANGED
@@ -2,6 +2,9 @@ import { chromium } from 'playwright';
2
  import fs from 'fs';
3
  import path from 'path';
4
 
 
 
 
5
  /**
6
  * Launch Playwright, sign in to n8n if needed, refresh cookie,
7
  * save a screenshot, return status object.
@@ -12,9 +15,9 @@ export async function runLogin() {
12
  browser = await chromium.launch({ args: ['--no-sandbox'] });
13
 
14
  /* ---------- reuse cookie ---------- */
15
- const hasState = fs.existsSync('/opt/state.json');
16
- const context = hasState
17
- ? await browser.newContext({ storageState: '/opt/state.json' })
18
  : await browser.newContext();
19
 
20
  await context.tracing.start({ screenshots: true, snapshots: true });
@@ -59,21 +62,15 @@ export async function runLogin() {
59
  await overviewTab.waitFor({ state: 'visible', timeout: 60000 });
60
  }
61
 
62
- /* ---------- save cookie & screenshot ---------- */
63
- await context.storageState({ path: '/opt/state.json' });
64
- try {
65
- const dir = '/opt/log';
66
- fs.mkdirSync(dir, { recursive: true });
67
- const ts = new Date().toISOString().replace(/[:T]/g, '-').split('.')[0];
68
- const file = path.join(dir, `overview-${ts}.png`);
69
- await page.screenshot({ path: file, fullPage: true });
70
- console.log('📸 Screenshot saved ->', file);
71
- } catch (e) {
72
- console.warn('⚠️ Could not save screenshot:', e.message);
73
- }
74
 
75
- await context.tracing.stop({ path: '/opt/trace.zip' });
76
- return { ok: true, loggedIn: needSignIn ? 'fresh' : 'cookie' };
77
  } catch (err) {
78
  console.error('❌ runLogin error:', err);
79
  return { ok: false, error: err.message };
 
2
  import fs from 'fs';
3
  import path from 'path';
4
 
5
+ const DIR = process.env.STATE_DIR || '/data';
6
+ const COOKIE_FILE = path.join(DIR, 'state.json');
7
+ const LOG_DIR = path.join(DIR, 'log');
8
  /**
9
  * Launch Playwright, sign in to n8n if needed, refresh cookie,
10
  * save a screenshot, return status object.
 
15
  browser = await chromium.launch({ args: ['--no-sandbox'] });
16
 
17
  /* ---------- reuse cookie ---------- */
18
+ const hasCookie = fs.existsSync(COOKIE_FILE);
19
+ const context = hasCookie
20
+ ? await browser.newContext({ storageState: COOKIE_FILE })
21
  : await browser.newContext();
22
 
23
  await context.tracing.start({ screenshots: true, snapshots: true });
 
62
  await overviewTab.waitFor({ state: 'visible', timeout: 60000 });
63
  }
64
 
65
+ /* save cookie */
66
+ await context.storageState({ path: COOKIE_FILE });
67
+ /* save screenshot */
68
+ fs.mkdirSync(LOG_DIR, { recursive: true });
69
+ const ts = new Date().toISOString().replace(/[:T]/g, '-').split('.')[0];
70
+ await page.screenshot({ path: path.join(LOG_DIR, `overview-${ts}.png`), fullPage: true });
 
 
 
 
 
 
71
 
72
+ /* */
73
+ return { ok: true };
74
  } catch (err) {
75
  console.error('❌ runLogin error:', err);
76
  return { ok: false, error: err.message };