mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 15:31:12 -05:00
Fix: Remove SECURITY DEFINER views
This commit is contained in:
@@ -46,6 +46,28 @@ const designerSchema = z.object({
|
|||||||
|
|
||||||
type DesignerFormData = z.infer<typeof designerSchema>;
|
type DesignerFormData = z.infer<typeof designerSchema>;
|
||||||
|
|
||||||
|
// Input type for the form (before transformation)
|
||||||
|
type DesignerFormInput = {
|
||||||
|
name: string;
|
||||||
|
slug: string;
|
||||||
|
description?: string;
|
||||||
|
person_type: 'company' | 'individual' | 'firm' | 'organization';
|
||||||
|
website_url?: string;
|
||||||
|
founded_year?: string;
|
||||||
|
headquarters_location?: string;
|
||||||
|
images?: {
|
||||||
|
uploaded: Array<{
|
||||||
|
url: string;
|
||||||
|
cloudflare_id?: string;
|
||||||
|
file?: any;
|
||||||
|
isLocal?: boolean;
|
||||||
|
caption?: string;
|
||||||
|
}>;
|
||||||
|
banner_assignment?: number | null;
|
||||||
|
card_assignment?: number | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
interface DesignerFormProps {
|
interface DesignerFormProps {
|
||||||
onSubmit: (data: DesignerFormData) => void;
|
onSubmit: (data: DesignerFormData) => void;
|
||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
@@ -66,7 +88,7 @@ export function DesignerForm({ onSubmit, onCancel, initialData }: DesignerFormPr
|
|||||||
setValue,
|
setValue,
|
||||||
watch,
|
watch,
|
||||||
formState: { errors }
|
formState: { errors }
|
||||||
} = useForm<DesignerFormData>({
|
} = useForm<DesignerFormInput>({
|
||||||
resolver: zodResolver(designerSchema),
|
resolver: zodResolver(designerSchema),
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
name: initialData?.name || '',
|
name: initialData?.name || '',
|
||||||
@@ -77,7 +99,7 @@ export function DesignerForm({ onSubmit, onCancel, initialData }: DesignerFormPr
|
|||||||
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
||||||
headquarters_location: initialData?.headquarters_location || '',
|
headquarters_location: initialData?.headquarters_location || '',
|
||||||
images: initialData?.images || { uploaded: [] }
|
images: initialData?.images || { uploaded: [] }
|
||||||
} as Partial<DesignerFormData>
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +112,7 @@ export function DesignerForm({ onSubmit, onCancel, initialData }: DesignerFormPr
|
|||||||
</CardTitle>
|
</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-6">
|
<form onSubmit={handleSubmit((data) => onSubmit(data as unknown as DesignerFormData))} className="space-y-6">
|
||||||
{/* Basic Information */}
|
{/* Basic Information */}
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
|
|||||||
@@ -46,6 +46,28 @@ const manufacturerSchema = z.object({
|
|||||||
|
|
||||||
type ManufacturerFormData = z.infer<typeof manufacturerSchema>;
|
type ManufacturerFormData = z.infer<typeof manufacturerSchema>;
|
||||||
|
|
||||||
|
// Input type for the form (before transformation)
|
||||||
|
type ManufacturerFormInput = {
|
||||||
|
name: string;
|
||||||
|
slug: string;
|
||||||
|
description?: string;
|
||||||
|
person_type: 'company' | 'individual' | 'firm' | 'organization';
|
||||||
|
website_url?: string;
|
||||||
|
founded_year?: string;
|
||||||
|
headquarters_location?: string;
|
||||||
|
images?: {
|
||||||
|
uploaded: Array<{
|
||||||
|
url: string;
|
||||||
|
cloudflare_id?: string;
|
||||||
|
file?: any;
|
||||||
|
isLocal?: boolean;
|
||||||
|
caption?: string;
|
||||||
|
}>;
|
||||||
|
banner_assignment?: number | null;
|
||||||
|
card_assignment?: number | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
interface ManufacturerFormProps {
|
interface ManufacturerFormProps {
|
||||||
onSubmit: (data: ManufacturerFormData) => void;
|
onSubmit: (data: ManufacturerFormData) => void;
|
||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
@@ -66,7 +88,7 @@ export function ManufacturerForm({ onSubmit, onCancel, initialData }: Manufactur
|
|||||||
setValue,
|
setValue,
|
||||||
watch,
|
watch,
|
||||||
formState: { errors }
|
formState: { errors }
|
||||||
} = useForm<ManufacturerFormData>({
|
} = useForm<ManufacturerFormInput>({
|
||||||
resolver: zodResolver(manufacturerSchema),
|
resolver: zodResolver(manufacturerSchema),
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
name: initialData?.name || '',
|
name: initialData?.name || '',
|
||||||
@@ -77,7 +99,7 @@ export function ManufacturerForm({ onSubmit, onCancel, initialData }: Manufactur
|
|||||||
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
||||||
headquarters_location: initialData?.headquarters_location || '',
|
headquarters_location: initialData?.headquarters_location || '',
|
||||||
images: initialData?.images || { uploaded: [] }
|
images: initialData?.images || { uploaded: [] }
|
||||||
} as Partial<ManufacturerFormData>
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +112,7 @@ export function ManufacturerForm({ onSubmit, onCancel, initialData }: Manufactur
|
|||||||
</CardTitle>
|
</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-6">
|
<form onSubmit={handleSubmit((data) => onSubmit(data as unknown as ManufacturerFormData))} className="space-y-6">
|
||||||
{/* Basic Information */}
|
{/* Basic Information */}
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
|
|||||||
@@ -46,6 +46,28 @@ const operatorSchema = z.object({
|
|||||||
|
|
||||||
type OperatorFormData = z.infer<typeof operatorSchema>;
|
type OperatorFormData = z.infer<typeof operatorSchema>;
|
||||||
|
|
||||||
|
// Input type for the form (before transformation)
|
||||||
|
type OperatorFormInput = {
|
||||||
|
name: string;
|
||||||
|
slug: string;
|
||||||
|
description?: string;
|
||||||
|
person_type: 'company' | 'individual' | 'firm' | 'organization';
|
||||||
|
website_url?: string;
|
||||||
|
founded_year?: string;
|
||||||
|
headquarters_location?: string;
|
||||||
|
images?: {
|
||||||
|
uploaded: Array<{
|
||||||
|
url: string;
|
||||||
|
cloudflare_id?: string;
|
||||||
|
file?: any;
|
||||||
|
isLocal?: boolean;
|
||||||
|
caption?: string;
|
||||||
|
}>;
|
||||||
|
banner_assignment?: number | null;
|
||||||
|
card_assignment?: number | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
interface OperatorFormProps {
|
interface OperatorFormProps {
|
||||||
onSubmit: (data: OperatorFormData) => void;
|
onSubmit: (data: OperatorFormData) => void;
|
||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
@@ -66,7 +88,7 @@ export function OperatorForm({ onSubmit, onCancel, initialData }: OperatorFormPr
|
|||||||
setValue,
|
setValue,
|
||||||
watch,
|
watch,
|
||||||
formState: { errors }
|
formState: { errors }
|
||||||
} = useForm<OperatorFormData>({
|
} = useForm<OperatorFormInput>({
|
||||||
resolver: zodResolver(operatorSchema),
|
resolver: zodResolver(operatorSchema),
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
name: initialData?.name || '',
|
name: initialData?.name || '',
|
||||||
@@ -77,7 +99,7 @@ export function OperatorForm({ onSubmit, onCancel, initialData }: OperatorFormPr
|
|||||||
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
||||||
headquarters_location: initialData?.headquarters_location || '',
|
headquarters_location: initialData?.headquarters_location || '',
|
||||||
images: initialData?.images || { uploaded: [] }
|
images: initialData?.images || { uploaded: [] }
|
||||||
} as Partial<OperatorFormData>
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +112,7 @@ export function OperatorForm({ onSubmit, onCancel, initialData }: OperatorFormPr
|
|||||||
</CardTitle>
|
</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-6">
|
<form onSubmit={handleSubmit((data) => onSubmit(data as unknown as OperatorFormData))} className="space-y-6">
|
||||||
{/* Basic Information */}
|
{/* Basic Information */}
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
|
|||||||
@@ -46,6 +46,28 @@ const propertyOwnerSchema = z.object({
|
|||||||
|
|
||||||
type PropertyOwnerFormData = z.infer<typeof propertyOwnerSchema>;
|
type PropertyOwnerFormData = z.infer<typeof propertyOwnerSchema>;
|
||||||
|
|
||||||
|
// Input type for the form (before transformation)
|
||||||
|
type PropertyOwnerFormInput = {
|
||||||
|
name: string;
|
||||||
|
slug: string;
|
||||||
|
description?: string;
|
||||||
|
person_type: 'company' | 'individual' | 'firm' | 'organization';
|
||||||
|
website_url?: string;
|
||||||
|
founded_year?: string;
|
||||||
|
headquarters_location?: string;
|
||||||
|
images?: {
|
||||||
|
uploaded: Array<{
|
||||||
|
url: string;
|
||||||
|
cloudflare_id?: string;
|
||||||
|
file?: any;
|
||||||
|
isLocal?: boolean;
|
||||||
|
caption?: string;
|
||||||
|
}>;
|
||||||
|
banner_assignment?: number | null;
|
||||||
|
card_assignment?: number | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
interface PropertyOwnerFormProps {
|
interface PropertyOwnerFormProps {
|
||||||
onSubmit: (data: PropertyOwnerFormData) => void;
|
onSubmit: (data: PropertyOwnerFormData) => void;
|
||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
@@ -66,7 +88,7 @@ export function PropertyOwnerForm({ onSubmit, onCancel, initialData }: PropertyO
|
|||||||
setValue,
|
setValue,
|
||||||
watch,
|
watch,
|
||||||
formState: { errors }
|
formState: { errors }
|
||||||
} = useForm<PropertyOwnerFormData>({
|
} = useForm<PropertyOwnerFormInput>({
|
||||||
resolver: zodResolver(propertyOwnerSchema),
|
resolver: zodResolver(propertyOwnerSchema),
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
name: initialData?.name || '',
|
name: initialData?.name || '',
|
||||||
@@ -77,7 +99,7 @@ export function PropertyOwnerForm({ onSubmit, onCancel, initialData }: PropertyO
|
|||||||
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
founded_year: initialData?.founded_year ? String(initialData.founded_year) : '',
|
||||||
headquarters_location: initialData?.headquarters_location || '',
|
headquarters_location: initialData?.headquarters_location || '',
|
||||||
images: initialData?.images || { uploaded: [] }
|
images: initialData?.images || { uploaded: [] }
|
||||||
} as Partial<PropertyOwnerFormData>
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +112,7 @@ export function PropertyOwnerForm({ onSubmit, onCancel, initialData }: PropertyO
|
|||||||
</CardTitle>
|
</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-6">
|
<form onSubmit={handleSubmit((data) => onSubmit(data as unknown as PropertyOwnerFormData))} className="space-y-6">
|
||||||
{/* Basic Information */}
|
{/* Basic Information */}
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
|
|||||||
Reference in New Issue
Block a user