UNPKG

@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.

41 lines (40 loc) 1.32 kB
/* * */ import { MongoCollectionClass } from '../../common/mongo-collection.js'; import { CreateGtfsValidationSchema, UpdateGtfsValidationSchema } from '@tmlmobilidade/types'; import { asyncSingletonProxy } from '@tmlmobilidade/utils'; /* * */ class GtfValidationsClass extends MongoCollectionClass { static _instance; createSchema = CreateGtfsValidationSchema; updateSchema = UpdateGtfsValidationSchema; constructor() { super(); } static async getInstance() { if (!GtfValidationsClass._instance) { const instance = new GtfValidationsClass(); await instance.connect(); GtfValidationsClass._instance = instance; } return GtfValidationsClass._instance; } /** * Finds GTFS Validation documents by agency ID. * @param agencyId The agency ID to search for. * @returns A promise that resolves to an array of matching documents */ async findByAgencyId(agencyId) { return this.mongoCollection.find({ agency_id: agencyId }).toArray(); } getCollectionIndexes() { return []; } getCollectionName() { return 'gtfs_validations'; } getEnvName() { return 'DATABASE_URI'; } } /* * */ export const gtfsValidations = asyncSingletonProxy(GtfValidationsClass);