#!/usr/bin/env node /** * One-shot cleanup for store users: normalize licensing and pin the default * meeting site. Replaces the legacy phoneFix.js. */ import { getAllUsers, setDefaultMeetingSite } from '../src/webex/users.js'; import { normalizeStoreUserLicenses } from '../src/webex/licensing.js'; import { DEFAULT_DEFAULT_MEETING_SITE } from '../src/constants.js'; import { logger } from '../src/logger.js'; async function main() { logger.info('Fetching all Webex users...'); const users = await getAllUsers(); const storeUsers = users.filter((u) => u.firstName === 'Store'); logger.info(`Found ${storeUsers.length} store users to normalize.`); for (const user of storeUsers) { try { await normalizeStoreUserLicenses(user); logger.info(`${user.displayName} license normalized.`); } catch (error) { logger.error(`Error updating license for ${user.displayName}:`, error); } try { await setDefaultMeetingSite(user.emails[0], DEFAULT_DEFAULT_MEETING_SITE); logger.info(`${user.displayName} default site updated.`); } catch (error) { logger.error(`Error updating default site for ${user.displayName}:`, error); } } } main().catch((error) => { logger.error('fixStorePhones failed:', error); process.exit(1); });