@tmlmobilidade/interfaces
Version:
This package provides SDK-style connectors for interacting with databases (e.g., stops, plans, rides, alerts) and external providers (e.g., authentication, storage). It simplifies data access and integration across projects.
44 lines (43 loc) • 2.6 kB
TypeScript
import { type CensusFeature, type District, type Locality, type Location, type Municipality, type Parish } from '@tmlmobilidade/types';
import { Filter, FindOptions, WithId } from 'mongodb';
declare class LocationsClass {
private static _instance;
private collections;
private mongoConnector;
private constructor();
static getInstance(): Promise<LocationsClass>;
countCensus: (filter?: Filter<CensusFeature>) => Promise<number>;
countDistricts: (filter?: Filter<District>) => Promise<number>;
countLocalities: (filter?: Filter<Locality>) => Promise<number>;
countMunicipalities: (filter?: Filter<Municipality>) => Promise<number>;
countParishes: (filter?: Filter<Parish>) => Promise<number>;
findCensus: (filter?: Filter<CensusFeature>, options?: FindOptions) => Promise<WithId<CensusFeature>[]>;
findDistricts: (filter?: Filter<District>, options?: FindOptions) => Promise<District[]>;
findLocalities: (filter?: Filter<Locality>, options?: FindOptions) => Promise<Locality[]>;
findMunicipalities: (filter?: Filter<Municipality>, options?: FindOptions) => Promise<Municipality[]>;
findParishes: (filter?: Filter<Parish>, options?: FindOptions) => Promise<Parish[]>;
findCensusById: (id: string, options?: FindOptions) => Promise<null | WithId<CensusFeature>>;
findDistrictById: (id: string, options?: FindOptions) => Promise<District | null>;
findLocalityById: (id: string, options?: FindOptions) => Promise<Locality | null>;
findMunicipalityById: (id: string, options?: FindOptions) => Promise<Municipality | null>;
findParishById: (id: string, options?: FindOptions) => Promise<null | Parish>;
findMunicipalitiesByGeo: (lat: number, lon: number, options?: FindOptions) => Promise<Municipality | null>;
findParishesByGeo: (lat: number, lon: number, options?: FindOptions) => Promise<null | Parish>;
findDistrictsByGeo: (lat: number, lon: number, options?: FindOptions) => Promise<District | null>;
findLocalitiesByGeo: (lat: number, lon: number, options?: FindOptions) => Promise<Locality | null>;
findCensusByGeo: (lat: number, lon: number, options?: FindOptions) => Promise<null | WithId<CensusFeature>>;
findLocationByGeo(lat: number, lon: number, { census }?: {
census?: boolean;
}): Promise<Location>;
private connect;
private findById;
private findMany;
private findOne;
private count;
private geoFilter;
private transformDocument;
private convertFilterField;
private convertFilter;
}
export declare const locations: LocationsClass;
export {};