@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
JavaScript
/* * */
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);