@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.
89 lines (88 loc) • 4.09 kB
TypeScript
import { MongoCollectionClass } from '../../common/mongo-collection.js';
import { type Agency, type CreateAgencyDto, type UpdateAgencyDto } from '@tmlmobilidade/types';
import { IndexDescription } from 'mongodb';
import { z } from 'zod';
declare class AgenciesClass extends MongoCollectionClass<Agency, CreateAgencyDto, UpdateAgencyDto> {
private static _instance;
protected createSchema: z.ZodSchema;
protected updateSchema: z.ZodSchema;
private constructor();
static getInstance(): Promise<AgenciesClass>;
findByCode(code: string): Promise<import("mongodb").WithId<{
_id: string;
created_at: number & {
__brand: "UnixTimestamp";
};
created_by: string | null;
is_locked: boolean;
updated_at: number & {
__brand: "UnixTimestamp";
};
code: string;
name: string;
alerts_map: Partial<Record<"ACCIDENT" | "CONSTRUCTION" | "DEMONSTRATION" | "MEDICAL_EMERGENCY" | "POLICE_ACTIVITY" | "STRIKE" | "TECHNICAL_ISSUE" | "WEATHER" | "ABUSIVE_PARKING" | "DRIVER_ABSENCE" | "DRIVER_ISSUE" | "HIGH_PASSENGER_LOAD" | "NETWORK_UPDATE" | "ROAD_ISSUE" | "TRAFFIC_JAM" | "PUBLIC_DISORDER" | "VEHICLE_ISSUE", Partial<Record<"ACCESSIBILITY_ISSUE" | "ADDITIONAL_SERVICE" | "DETOUR" | "MODIFIED_SERVICE" | "NO_SERVICE" | "REDUCED_SERVICE" | "SIGNIFICANT_DELAYS" | "STOP_MOVED" | "REALTIME_INFO_ISSUE" | "ON_BOARD_SALE_ISSUE", Partial<Record<"agency" | "lines" | "stops" | "rides", boolean>>>>>>;
apex: {
contact_emails: string[];
};
contact_emails_pta: string[];
contact_emails_pto: string[];
fare_url: string;
financials: {
price_per_km: number;
vkm_per_month: number[];
};
operation_start_date: import("@tmlmobilidade/types").OperationalDate | null;
phone: string;
pta_name: string;
public_email: string;
public_name: string;
short_name: string;
timezone: string;
website_url: string;
updated_by?: string | undefined;
validation_rules?: any;
}>>;
updateByCode(code: string, fields: Partial<Agency>): Promise<import("mongodb").UpdateResult<{
_id: string;
created_at: number & {
__brand: "UnixTimestamp";
};
created_by: string | null;
is_locked: boolean;
updated_at: number & {
__brand: "UnixTimestamp";
};
code: string;
name: string;
alerts_map: Partial<Record<"ACCIDENT" | "CONSTRUCTION" | "DEMONSTRATION" | "MEDICAL_EMERGENCY" | "POLICE_ACTIVITY" | "STRIKE" | "TECHNICAL_ISSUE" | "WEATHER" | "ABUSIVE_PARKING" | "DRIVER_ABSENCE" | "DRIVER_ISSUE" | "HIGH_PASSENGER_LOAD" | "NETWORK_UPDATE" | "ROAD_ISSUE" | "TRAFFIC_JAM" | "PUBLIC_DISORDER" | "VEHICLE_ISSUE", Partial<Record<"ACCESSIBILITY_ISSUE" | "ADDITIONAL_SERVICE" | "DETOUR" | "MODIFIED_SERVICE" | "NO_SERVICE" | "REDUCED_SERVICE" | "SIGNIFICANT_DELAYS" | "STOP_MOVED" | "REALTIME_INFO_ISSUE" | "ON_BOARD_SALE_ISSUE", Partial<Record<"agency" | "lines" | "stops" | "rides", boolean>>>>>>;
apex: {
contact_emails: string[];
};
contact_emails_pta: string[];
contact_emails_pto: string[];
fare_url: string;
financials: {
price_per_km: number;
vkm_per_month: number[];
};
operation_start_date: import("@tmlmobilidade/types").OperationalDate | null;
phone: string;
pta_name: string;
public_email: string;
public_name: string;
short_name: string;
timezone: string;
website_url: string;
updated_by?: string | undefined;
validation_rules?: any;
}>>;
protected getCollectionIndexes(): IndexDescription[];
protected getCollectionName(): string;
protected getEnvName(): string;
}
/**
* @deprecated This class is deprecated and will be removed in the future.
* Use `@tmlmobilidade/go-interfaces-go-db` instead.
*/
export declare const agencies: AgenciesClass;
export {};