Type mutation inputs with shared Zod schemas instead of Record<string, unknown>
Replaced loose Record<string, unknown> types on useCreateTicket, useUpdateTicket, useCreateUser, useUpdateUser, useUpdateWebhook, and useCreateSavedView with their corresponding shared schema types. Fixed three type errors this surfaced at call sites. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -38,9 +38,10 @@ export default function NewTicketModal({ onClose }: NewTicketModalProps) {
|
||||
const onSubmit = async (data: CreateTicketInput) => {
|
||||
setError('');
|
||||
try {
|
||||
const payload: Record<string, unknown> = { ...data };
|
||||
if (!data.assigneeId) delete payload.assigneeId;
|
||||
const created = await createTicket.mutateAsync(payload);
|
||||
const { assigneeId, ...rest } = data;
|
||||
const created = await createTicket.mutateAsync(
|
||||
assigneeId ? { ...rest, assigneeId } : rest,
|
||||
);
|
||||
onClose();
|
||||
navigate(`/${created.displayId}`);
|
||||
} catch {
|
||||
|
||||
@@ -154,7 +154,7 @@ export default function Tickets() {
|
||||
const currentFilters = useMemo(
|
||||
() => ({
|
||||
status: status || undefined,
|
||||
severity: severity || undefined,
|
||||
severity: severity ? Number(severity) : undefined,
|
||||
assigneeId: assigneeId || undefined,
|
||||
categoryId: categoryId || undefined,
|
||||
typeId: typeId || undefined,
|
||||
|
||||
@@ -4,6 +4,7 @@ import { toast } from 'sonner';
|
||||
import Layout from '../../components/Layout';
|
||||
import Modal from '../../components/Modal';
|
||||
import { User, Role } from '../../types';
|
||||
import type { CreateUserInput } from '../../../../shared/schemas/user';
|
||||
import { useAuth } from '../../contexts/AuthContext';
|
||||
import {
|
||||
useUsers,
|
||||
@@ -105,14 +106,13 @@ export default function AdminUsers() {
|
||||
e.preventDefault();
|
||||
setError('');
|
||||
try {
|
||||
const payload: Record<string, string> = {
|
||||
const created = await createUser.mutateAsync({
|
||||
username: form.username,
|
||||
email: form.email,
|
||||
displayName: form.displayName,
|
||||
role: form.role,
|
||||
};
|
||||
if (form.password) payload.password = form.password;
|
||||
const created = await createUser.mutateAsync(payload);
|
||||
role: form.role as CreateUserInput['role'],
|
||||
password: form.password,
|
||||
});
|
||||
if (created.apiKey) setNewApiKey(created.apiKey);
|
||||
else closeModal();
|
||||
} catch (err: unknown) {
|
||||
|
||||
Reference in New Issue
Block a user