23 lines
998 B
JavaScript
23 lines
998 B
JavaScript
import 'dotenv/config';
|
|
import { loadConfig } from '../src/config.js';
|
|
import { AccessStore } from '../src/store.js';
|
|
|
|
const [platform, userId] = process.argv.slice(2);
|
|
if (!['telegram', 'discord'].includes(platform) || !/^\d+$/.test(userId || '')) {
|
|
console.error('Stop the gateway first, then run: npm run sessions:revoke -- telegram|discord USER_ID');
|
|
process.exitCode = 1;
|
|
} else {
|
|
let store;
|
|
try {
|
|
store = new AccessStore(loadConfig());
|
|
store.change(state => {
|
|
state.sessions = state.sessions.filter(s => s.platform !== platform || s.userId !== userId);
|
|
for (const request of state.requests) {
|
|
if (request.platform === platform && request.user_id === userId) { request.status = 'revoked'; delete request.codeHash; }
|
|
}
|
|
});
|
|
console.log('Access numbers, pending requests and sessions revoked for the specified user. Restart the gateway.');
|
|
} catch (error) { console.error(error.message); process.exitCode = 1; }
|
|
finally { store?.close(); }
|
|
}
|