Initial commit: Memind H5 portal with MindSpace, Plaza, and agent jobs.
Track application source and tests; exclude local env, user workspaces, and runtime data via .gitignore. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env node
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { createDbPool } from '../db.mjs';
|
||||
|
||||
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '..');
|
||||
|
||||
function loadEnvFile(filePath) {
|
||||
if (!fs.existsSync(filePath)) return;
|
||||
for (const line of fs.readFileSync(filePath, 'utf8').split('\n')) {
|
||||
const trimmed = line.trim();
|
||||
if (!trimmed || trimmed.startsWith('#')) continue;
|
||||
const eq = trimmed.indexOf('=');
|
||||
if (eq < 0) continue;
|
||||
const key = trimmed.slice(0, eq).trim();
|
||||
const value = trimmed.slice(eq + 1).trim();
|
||||
if (!process.env[key]) process.env[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
loadEnvFile(path.join(root, '../../.env.local'));
|
||||
loadEnvFile(path.join(root, '.env'));
|
||||
|
||||
const username = process.argv[2] ?? 'admin';
|
||||
const role = process.argv[3] ?? 'ops_admin';
|
||||
const allowed = new Set(['none', 'reviewer', 'editor', 'ops_admin']);
|
||||
|
||||
if (!allowed.has(role)) {
|
||||
console.error(`无效角色: ${role},可选: ${[...allowed].join(', ')}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const pool = createDbPool();
|
||||
const [rows] = await pool.query(
|
||||
`SELECT id, username, ops_role FROM h5_users WHERE username = ? LIMIT 1`,
|
||||
[username],
|
||||
);
|
||||
const user = rows[0];
|
||||
if (!user) {
|
||||
console.error(`用户不存在: ${username}`);
|
||||
await pool.end();
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
await pool.query(`UPDATE h5_users SET ops_role = ?, updated_at = ? WHERE id = ?`, [
|
||||
role,
|
||||
Date.now(),
|
||||
user.id,
|
||||
]);
|
||||
await pool.end();
|
||||
|
||||
console.log(`已为 ${user.username} 设置 ops_role=${role}(原值: ${user.ops_role ?? 'none'})`);
|
||||
Reference in New Issue
Block a user