Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions src/boats/components/access-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,14 @@ import { useState } from 'react';

import { AddAccess } from './add-access';

interface IAccesses {
id: string;
user_id: string;
}
import type { Access } from '@/shared/types/models';

const AccessList = () => {
const {
data: accesses,
isLoading,
isError,
} = useList<IAccesses, HttpError>({
} = useList<Access, HttpError>({
resource: 'accesses',
});

Expand Down
2 changes: 1 addition & 1 deletion src/equipments/components/equipment-actions-menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Button, Dropdown, type MenuProps, Modal } from 'antd';
import type { FC } from 'react';

import { useCurrentBoat } from '@/boats/hooks/use-current-boat';
import type { Equipment } from '@/models/equipment';
import type { Equipment } from '@/shared/types/models';

interface EquipmentActionsMenuProps {
equipment: Equipment;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,24 @@ import type { FC } from 'react';

import { useCurrentBoat } from '@/boats/hooks/use-current-boat';
import { supabaseClient as supabase } from '@/core/utils/supabaseClient';
import type { EquipmentAttachment } from '@/shared/types/models';

type Attachment = {
id: string;
file_name: string;
file_path: string;
uploaded_at: string;
};

type EquipmentAttachmentProps = {
type EquipmentAttachmentListProps = {
equipmentId?: string;
};

const EquipmentAttachment: FC<EquipmentAttachmentProps> = ({ equipmentId }) => {
const EquipmentAttachmentList: FC<EquipmentAttachmentListProps> = ({
equipmentId,
}) => {
const { translate } = useTranslation();
const { data: boat } = useCurrentBoat();

const { data: attachments } = useList<Attachment>({
const { data: attachments } = useList<EquipmentAttachment>({
resource: 'equipment_attachments',
filters: [{ field: 'equipment_id', operator: 'eq', value: equipmentId }],
});

const { mutate: createAttachment } = useCreate<Attachment>({
const { mutate: createAttachment } = useCreate({
resource: 'equipment_attachments',
});

Expand All @@ -62,7 +58,7 @@ const EquipmentAttachment: FC<EquipmentAttachmentProps> = ({ equipmentId }) => {
});

if (uploadError) {
throw new Error('Error uploading file: ' + uploadError.message);
throw new Error(`Error uploading file: ${uploadError.message}`);
}

createAttachment({
Expand All @@ -80,13 +76,13 @@ const EquipmentAttachment: FC<EquipmentAttachmentProps> = ({ equipmentId }) => {
}
};

const onDownload = async (attachment: Attachment) => {
const onDownload = async (attachment: EquipmentAttachment) => {
const { data, error } = await supabase.storage
.from('boat_attachments')
.createSignedUrl(attachment.file_path, 3600);

if (error) {
console.error('Error creating signed URL:', error.message);
console.error(`Error creating signed URL: ${error.message}`);
return;
}

Expand All @@ -102,7 +98,7 @@ const EquipmentAttachment: FC<EquipmentAttachmentProps> = ({ equipmentId }) => {
}
};

const onDelete = async (attachment: Attachment) => {
const onDelete = async (attachment: EquipmentAttachment) => {
try {
await supabase.storage
.from('boat_attachments')
Expand Down Expand Up @@ -166,4 +162,4 @@ const EquipmentAttachment: FC<EquipmentAttachmentProps> = ({ equipmentId }) => {
);
};

export { EquipmentAttachment };
export { EquipmentAttachmentList };
3 changes: 2 additions & 1 deletion src/equipments/pages/add.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { useGo, useTranslation } from '@refinedev/core';

import { useCurrentBoat } from '@/boats/hooks/use-current-boat';
import { EquipmentForm } from '@/equipments/components/equipment-form';
import type { InsertEquipment } from '@/shared/types/models';

interface EquipmentFormValues {
[key: string]: any;
Expand All @@ -13,7 +14,7 @@ const AddEquipment = () => {
const { translate } = useTranslation();
const go = useGo();

const { formProps, saveButtonProps, onFinish } = useForm({
const { formProps, saveButtonProps, onFinish } = useForm<InsertEquipment>({
resource: 'equipments',
action: 'create',
redirect: false,
Expand Down
9 changes: 2 additions & 7 deletions src/equipments/pages/edit.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,12 @@ import { useTranslation } from '@refinedev/core';
import { useParams } from 'react-router';

import { EquipmentForm } from '@/equipments/components/equipment-form';

interface Equipment {
id: string;
title: string;
description: string;
}
import type { UpdateEquipment } from '@/shared/types/models';

const EditEquipment = () => {
const { equipmentId } = useParams<{ equipmentId: string }>();
const { translate } = useTranslation();
const { formProps, saveButtonProps, onFinish } = useForm<Equipment>({
const { formProps, saveButtonProps, onFinish } = useForm<UpdateEquipment>({
resource: 'equipments',
action: 'edit',
id: equipmentId,
Expand Down
2 changes: 1 addition & 1 deletion src/equipments/pages/list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import { Button, Card, Empty, List } from 'antd';
import { useCurrentBoat } from '@/boats/hooks/use-current-boat';
import { boatSystemList } from '@/boats/utils/boat-system';
import { EquipmentActionsMenu } from '@/equipments/components/equipment-actions-menu';
import type { Equipment } from '@/models/equipment';
import { PageContent } from '@/shared/components/page-content';
import { PageHeader } from '@/shared/components/page-header';
import { SectionHeader } from '@/shared/components/section-header';
import type { Equipment } from '@/shared/types/models';

const getEquipmentSubtitle = (equipment: Equipment) => {
return (
Expand Down
4 changes: 2 additions & 2 deletions src/equipments/pages/show.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import dayjs from 'dayjs';
import { useParams } from 'react-router';

import { useCurrentBoat } from '@/boats/hooks/use-current-boat';
import { EquipmentAttachment } from '@/equipments/components/equipment-attachment';
import { EquipmentAttachmentList } from '@/equipments/components/equipment-attachment-list';
import { PageHeader } from '@/shared/components/page-header';

const ShowEquipment = () => {
Expand Down Expand Up @@ -88,7 +88,7 @@ const ShowEquipment = () => {
</Typography.Paragraph>
) : null}
</Card>
<EquipmentAttachment equipmentId={equipmentId} />
<EquipmentAttachmentList equipmentId={equipmentId} />
</>
);
};
Expand Down
9 changes: 2 additions & 7 deletions src/interventions/pages/edit.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,11 @@ import { Edit, useForm } from '@refinedev/antd';
import { useParams } from 'react-router';

import { InterventionForm } from '@/interventions/components/intervention-form';

interface Intervention {
id: string;
title: string;
description: string;
}
import type { UpdateIntervention } from '@/shared/types/models';

const EditIntervention = () => {
const { interventionId } = useParams<{ interventionId: string }>();
const { formProps, saveButtonProps, onFinish } = useForm<Intervention>({
const { formProps, saveButtonProps, onFinish } = useForm<UpdateIntervention>({
resource: 'interventions',
action: 'edit',
id: interventionId,
Expand Down
10 changes: 0 additions & 10 deletions src/models/equipment.ts

This file was deleted.

15 changes: 15 additions & 0 deletions src/shared/types/models.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type {
Tables,
TablesInsert,
TablesUpdate,
} from '@/shared/types/supabase';

export type Equipment = Tables<'equipments'>;
export type InsertEquipment = TablesInsert<'equipments'>;
export type UpdateEquipment = TablesUpdate<'equipments'>;

export type EquipmentAttachment = Tables<'equipment_attachments'>;

export type Access = Tables<'accesses'>;

export type UpdateIntervention = TablesUpdate<'interventions'>;
Loading