UNPKG

@vepler/safety-types

Version:

TypeScript type definitions for Vepler Safety Service API

105 lines (104 loc) 2.75 kB
/** * Types for /api/neighborhood-watch/get-scheme-details endpoint */ /** * OurWatch provider metadata */ export interface OurWatchMetadata { /** Scheme status type (e.g., 'active', 'inactive') */ scheme_status_type?: string; } /** * Query parameters for scheme details */ export interface GetSchemeDetailsQueryParams { /** Scheme ID */ schemeId: string; /** Include boundary data */ includeBoundary?: boolean; } /** * Neighborhood Watch Scheme response */ export interface NeighborhoodWatchSchemeResponse { /** Unique identifier */ id: number; /** Provider name (e.g., 'ourwatch') */ provider: string; /** Provider-specific key */ key: string; /** Area ID in format LSOA21::ID */ areaId: string; /** Scheme title */ title: string; /** Record type */ recordType: string; /** Scheme URL */ url: string; /** Country code */ countryCode: string; /** Provider-specific metadata */ metadata: OurWatchMetadata; /** Location coordinates */ latitude: number; longitude: number; /** Distance from query point (only in location queries) */ distance?: number; /** Boundary polygon (only in detailed queries) */ boundary?: any; /** Area in square meters (only when boundary is available) */ area_square_meters?: number; } /** * Neighborhood watch scheme data * @deprecated Use NeighborhoodWatchSchemeResponse instead */ export interface NeighborhoodWatchScheme { /** Scheme ID */ id: number; /** Provider name */ provider: string; /** Provider-specific key */ key: string; /** Area ID */ areaId: string; /** Scheme title */ title: string; /** Record type */ recordType: string; /** Scheme URL */ url: string; /** Latitude coordinate */ latitude: number; /** Longitude coordinate */ longitude: number; /** Distance from search point (when searching by location) */ distance?: number; /** Country code */ countryCode: string; /** Additional metadata */ metadata?: Record<string, any>; /** Boundary polygon (if available) */ boundary?: any; } /** * Neighborhood watch schemes response * @deprecated Use route-specific response types instead */ export interface NeighborhoodWatchResponse { /** Search location (for location queries) */ location?: { /** Longitude */ lng: number; /** Latitude */ lat: number; }; /** Search radius (for location queries) */ radius?: number; /** Area ID (for area queries) */ areaId?: string; /** Total count of schemes found */ count: number; /** List of schemes */ schemes: NeighborhoodWatchScheme[]; }