import { ResponseApi } from "./response.types"; import { CacheState, ErrorState, SelectState } from "./store.types"; export interface BackboneRepositoryProps { getAll: () => Promise; getBackboneById: (id: string) => Promise; createBackbone: (backbone: BackboneRequest) => Promise, "status">>; updateBackbone: (id: string, backbone: BackboneRequest) => Promise, "status">>; getDeviceSelect: () => Promise; } export interface Backbone { id: string; backbone_code: string; longitude: string | number; latitude: string | number; dev_start_id?: string | number | null; dev_end_id?: string | number | null; core_amount: string | number; created_at: string; updated_at: string; } export interface BackboneRequest extends Omit {} /** * Backbone State * ============= */ export interface BackboneState extends ErrorState, CacheState { data?: BackboneDataTable[]; backbone?: Backbone | null; isLoading: boolean; lastUpdate: number | null; deviceSelect: SelectState[] | null; getDeviceSelect: () => Promise; getAll: () => Promise; find: (id: string) => Promise; create: (backbone: BackboneRequest) => Promise; update: (id: string, backbone: BackboneRequest) => Promise; clearBackbone: () => void; } export interface BackboneDataTable extends Pick { device_start: string; device_end: string; total_fishbone: string | number; } export interface IGetDeviceSelect { id: string; device_code: string; }