UNPKG

@vepler/area-reference-types

Version:

TypeScript type definitions for Vepler Area Reference API

117 lines (116 loc) 2.42 kB
/** * Areas Children API Types * * /api/areas/children/{parentCode}/{childType?} endpoint */ import { GeographicEntityResponse } from './common'; import { GeographicEntityType } from '../../common'; /** * Children endpoint path parameters */ export interface ChildrenPathParams { /** * Parent entity code */ parentCode: string; /** * Type of child entities to retrieve (optional) */ childType?: GeographicEntityType; } /** * Children endpoint query parameters */ export interface ChildrenQueryParams { /** * Maximum number of results */ limit?: number; /** * Result offset for pagination */ offset?: number; /** * Include intersection relationships */ includeIntersections?: boolean; /** * Include coverage information */ includeCoverage?: boolean; /** * Include hierarchy information */ includeHierarchy?: boolean; /** * Include full geometry in response */ includeGeometry?: boolean; /** * Entity status filter */ status?: string; } /** * Child relationship details */ export interface ChildRelationship { /** * Type of relationship (contains, intersects, etc.) */ relationshipType?: string; /** * Coverage percentage */ coveragePercent?: number; } /** * Children endpoint response */ export interface ChildrenResponse { /** * Success flag */ success: boolean; /** * Children query result */ result: { /** * Parent entity information */ parent: { code: string; name: string; type: string; }; /** * Type of child entities */ childType?: string; /** * Array of child entities with relationship details */ children: Array<GeographicEntityResponse & ChildRelationship>; /** * Total count of children */ total: number; /** * Current limit */ limit?: number; /** * Current offset */ offset?: number; /** * Whether intersections are included */ includeIntersections?: boolean; /** * Whether coverage information is included */ includeCoverage?: boolean; }; }