Skip to content

Commit

Permalink
support update chat engine
Browse files Browse the repository at this point in the history
  • Loading branch information
634750802 committed Apr 16, 2024
1 parent bb6e464 commit 0fad67d
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/app/(main)/(admin)/settings/chat-engines/page.client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { metadataCell } from '@/components/cells/metadata';
import { DataTableHeading } from '@/components/data-table-heading';
import { DataTableRemote } from '@/components/data-table-remote';
import { CreateChatEngineDialog } from '@/components/dialogs/create-chat-engine-dialog';
import { UpdateChatEngineDialog } from '@/components/dialogs/update-chat-engine-dialog';
import type { ChatEngine } from '@/core/repositories/chat_engine';
import type { Document } from '@/core/repositories/document';
import type { CellContext, ColumnDef } from '@tanstack/react-table';
Expand All @@ -21,6 +22,14 @@ const columns = [
helper.accessor('engine', { cell: mono }),
helper.accessor('engine_options', { cell: metadataCell }),
helper.accessor('is_default', { cell: (ctx) => ctx.getValue() ? 'Yes' : '' }),
helper.display({
header: 'Operations',
cell: (ctx) => (
<>
<UpdateChatEngineDialog id={ctx.row.original.id} defaultValues={ctx.row.original} />
</>
),
}),
] as ColumnDef<Document>[];

export default function PageClient ({ ...props }: ComponentProps<typeof CreateChatEngineDialog>) {
Expand Down
10 changes: 10 additions & 0 deletions src/client/operations/chat_engines.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,13 @@ export const createChatEngine = withToast(
}).then(handleErrors);
},
);

export const updateChatEngine = withToast(
async (id: number, data: CreateChatEngineFormValues) => {
await fetch(`/api/v1/chat_engines/${id}`, {
method: 'put',
body: JSON.stringify(data),
headers: {},
}).then(handleErrors);
},
);
24 changes: 24 additions & 0 deletions src/components/dialogs/update-chat-engine-dialog.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { type CreateChatEngineFormValues, updateChatEngine } from '@/client/operations/chat_engines';
import { ChatEngineFields } from '@/components/dialogs/create-chat-engine-dialog';
import { ImportDialog } from '@/components/dialogs/import-dialog';
import { Button } from '@/components/ui/button';

export function UpdateChatEngineDialog ({
id,
defaultValues,
}: {
id: number,
defaultValues: CreateChatEngineFormValues
}) {
return (
<ImportDialog
trigger={<Button className="gap-1" size="sm" variant="secondary">Update</Button>}
title="Update Chat Engine Options"
submitTitle="Update"
onSubmit={data => updateChatEngine(id, data)}
defaultValues={defaultValues}
>
<ChatEngineFields />
</ImportDialog>
);
}

0 comments on commit 0fad67d

Please sign in to comment.