grt
Version:
grt command-line interface ā test, diff, preview APIs
34 lines (27 loc) ⢠1.06 kB
JavaScript
// schemaUpdate.js
import axios from 'axios';
import { getToken, getProjectConfig } from './config.js';
import chalk from 'chalk';
export async function runSchemaUpdate() {
const token = getToken();
const { owner, repo } = getProjectConfig();
console.log(chalk.blue(`š Syncing schema refs for ${owner}/${repo}...`));
try {
const res = await axios.post(
`http://localhost:3000/internal/sync-schema-refs/${owner}/${repo}`,
{},
{ headers: { Authorization: `Bearer ${token}` } }
);
const { liveRefs, staleRemoved } = res.data;
console.log(chalk.green(`\nā
Live refs:`));
liveRefs.forEach(ref => console.log(` ⢠${ref}`));
if (staleRemoved.length > 0) {
console.log(chalk.yellow(`\nšļø Removed stale refs:`));
staleRemoved.forEach(ref => console.log(` ⢠${ref}`));
} else {
console.log(chalk.gray(`\nā
No stale refs to remove.`));
}
} catch (err) {
console.error(chalk.red('ā Failed to update schema refs:'), err.message);
}
}