refactor: migrate src/mcp/auth.ts from Bun.file()/Bun.write() to Filesystem module (#14125)
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import path from "path"
|
import path from "path"
|
||||||
import z from "zod"
|
import z from "zod"
|
||||||
import { Global } from "../global"
|
import { Global } from "../global"
|
||||||
|
import { Filesystem } from "../util/filesystem"
|
||||||
|
|
||||||
export namespace McpAuth {
|
export namespace McpAuth {
|
||||||
export const Tokens = z.object({
|
export const Tokens = z.object({
|
||||||
@@ -53,25 +54,22 @@ export namespace McpAuth {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function all(): Promise<Record<string, Entry>> {
|
export async function all(): Promise<Record<string, Entry>> {
|
||||||
const file = Bun.file(filepath)
|
return Filesystem.readJson<Record<string, Entry>>(filepath).catch(() => ({}))
|
||||||
return file.json().catch(() => ({}))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function set(mcpName: string, entry: Entry, serverUrl?: string): Promise<void> {
|
export async function set(mcpName: string, entry: Entry, serverUrl?: string): Promise<void> {
|
||||||
const file = Bun.file(filepath)
|
|
||||||
const data = await all()
|
const data = await all()
|
||||||
// Always update serverUrl if provided
|
// Always update serverUrl if provided
|
||||||
if (serverUrl) {
|
if (serverUrl) {
|
||||||
entry.serverUrl = serverUrl
|
entry.serverUrl = serverUrl
|
||||||
}
|
}
|
||||||
await Bun.write(file, JSON.stringify({ ...data, [mcpName]: entry }, null, 2), { mode: 0o600 })
|
await Filesystem.writeJson(filepath, { ...data, [mcpName]: entry }, 0o600)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function remove(mcpName: string): Promise<void> {
|
export async function remove(mcpName: string): Promise<void> {
|
||||||
const file = Bun.file(filepath)
|
|
||||||
const data = await all()
|
const data = await all()
|
||||||
delete data[mcpName]
|
delete data[mcpName]
|
||||||
await Bun.write(file, JSON.stringify(data, null, 2), { mode: 0o600 })
|
await Filesystem.writeJson(filepath, data, 0o600)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updateTokens(mcpName: string, tokens: Tokens, serverUrl?: string): Promise<void> {
|
export async function updateTokens(mcpName: string, tokens: Tokens, serverUrl?: string): Promise<void> {
|
||||||
|
|||||||
Reference in New Issue
Block a user