import fs from 'node:fs/promises'; import assert from 'node:assert/strict'; const source = await fs.readFile('scripts/supplier-evaluation-check.mjs', 'utf8'); const common = source.slice(source.indexOf('const base ='), source.indexOf('const author =')); await new Function('fs', 'assert', 'return (async()=>{' + common + ` const viewer = client(); await viewer.enter('admin'); const response = await viewer.request('/administracao/parametrizacao'); assert.equal(response.status, 200); const props = response.page.props; const preview = props.activationPreview; assert.equal(preview.ready, true); assert.equal(preview.version, props.version); assert.equal(preview.active, props.active); assert.equal(preview.users.length, props.users.length); const proof = { checked_at: new Date().toISOString(), environment: base, result: 'passed', version: props.version, active: props.active, users: preview.users.length, losing_access: preview.losing_access, permanent_administrators: preview.permanent_administrators, can_activate: preview.can_activate, provisional_rules: preview.provisional_rules, existing_account_used: true, business_commands: false, accounts_or_grants_changed: false, sgf_installation_changed: false, visual_review: false }; await fs.writeFile('docs/proofs/organization-activation-preview-http.json', JSON.stringify(proof, null, 2)); const snapshot = { captured_at: proof.checked_at, environment: base, version: props.version, active: props.active, company_rules: props.companyRules, enabled_contexts: props.enabledWorkContexts, users: preview.users.map(person => ({ ...person, department_id: props.users.find(user => user.id === person.id)?.department_id ?? null })), profiles: props.profiles, memberships: props.memberships, departments: props.departments, cost_centers: props.costCenters }; await fs.writeFile('storage/app/pilot-access-source.json', JSON.stringify(snapshot, null, 2)); console.log(JSON.stringify({ ...proof, current_rules: props.companyRules, registered: snapshot.users.map(person => ({ id: person.id, name: person.name, department_id: person.department_id, functions: person.current_permissions, contexts: person.current_contexts })) }, null, 2)); ` + '})()')(fs, assert);