UNPKG

@fin.cx/opendata

Version:

A comprehensive TypeScript library for accessing business data and real-time financial information. Features include German company data management with MongoDB integration, JSONL bulk processing, automated Handelsregister interactions, and real-time stoc

47 lines 4.52 kB
import { BusinessRecord } from './classes.businessrecord.js'; import { HandelsRegister } from './classes.handelsregister.js'; import { JsonlDataProcessor } from './classes.jsonldata.js'; import * as paths from './paths.js'; import * as plugins from './plugins.js'; export class OpenData { constructor() { this.serviceQenv = new plugins.qenv.Qenv(paths.packageDir, paths.nogitDir); this.CBusinessRecord = plugins.smartdata.setDefaultManagerForDoc(this, BusinessRecord); } async start() { this.db = new plugins.smartdata.SmartdataDb({ mongoDbUrl: await this.serviceQenv.getEnvVarOnDemand('MONGODB_URL'), mongoDbName: await this.serviceQenv.getEnvVarOnDemand('MONGODB_NAME'), mongoDbUser: await this.serviceQenv.getEnvVarOnDemand('MONGODB_USER'), mongoDbPass: await this.serviceQenv.getEnvVarOnDemand('MONGODB_PASS'), }); await this.db.init(); this.jsonLDataProcessor = new JsonlDataProcessor(async (entryArg) => { const businessRecord = new this.CBusinessRecord(); businessRecord.id = await this.CBusinessRecord.getNewId(); businessRecord.data.name = entryArg.name; businessRecord.data.germanParsedRegistration = { court: entryArg.all_attributes.registered_office, number: entryArg.all_attributes._registerNummer, type: entryArg.all_attributes._registerArt, }; await businessRecord.save(); }); this.handelsregister = new HandelsRegister(this); await this.handelsregister.start(); } async buildInitialDb() { await this.jsonLDataProcessor.processDataFromUrl(); } async slowValidateDb() { } async validateSearchByName() { } async searchDbByBusinessNameAndPostalCode(businessNameArg, postalCodeArg) { } async stop() { await this.db.close(); await this.handelsregister.stop(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5tYWluLm9wZW5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5tYWluLm9wZW5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBRVUsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBS3ZFLG9CQUFlLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUErQzNGLENBQUM7SUE3Q1EsS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1lBQzFDLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO1lBQ25FLFdBQVcsRUFBRSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDO1lBQ3JFLFdBQVcsRUFBRSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDO1lBQ3JFLFdBQVcsRUFBRSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDO1NBQ3RFLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDbEUsTUFBTSxjQUFjLEdBQUcsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbEQsY0FBYyxDQUFDLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUQsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLHdCQUF3QixHQUFHO2dCQUM3QyxLQUFLLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUI7Z0JBQ2hELE1BQU0sRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWU7Z0JBQy9DLElBQUksRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQTZCO2FBQzVELENBQUM7WUFDRixNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztJQUUzQixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtJQUVqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLG1DQUFtQyxDQUFDLGVBQXVCLEVBQUUsYUFBcUI7SUFFL0YsQ0FBQztJQUlNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0YifQ==