Unified Account and Workspace drop-downs; Layout updates, now header lives within the PageBody component; Sidebars now use floating variant
37 lines
720 B
TypeScript
37 lines
720 B
TypeScript
'use server';
|
|
|
|
import { revalidatePath } from 'next/cache';
|
|
|
|
import * as z from 'zod';
|
|
|
|
import {
|
|
createKitEnvDeps,
|
|
createKitEnvService,
|
|
findWorkspaceRoot,
|
|
} from '@kit/mcp-server/env';
|
|
|
|
const Schema = z.object({
|
|
name: z.string().min(1),
|
|
value: z.string(),
|
|
mode: z.enum(['development', 'production']),
|
|
});
|
|
|
|
export async function updateEnvironmentVariableAction(
|
|
props: z.infer<typeof Schema>,
|
|
) {
|
|
const { name, mode, value } = Schema.parse(props);
|
|
|
|
const rootPath = findWorkspaceRoot(process.cwd());
|
|
const service = createKitEnvService(createKitEnvDeps(rootPath));
|
|
|
|
const result = await service.update({
|
|
key: name,
|
|
value,
|
|
mode,
|
|
});
|
|
|
|
revalidatePath('/variables');
|
|
|
|
return result;
|
|
}
|