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

82 lines (61 loc) 1.84 kB
import * as plugins from '../plugins.js'; import type { TJurisdiction, TLawSource, TRawLawFormat } from './interfaces.law.js'; @plugins.smartdata.Manager() export class LawRecord extends plugins.smartdata.SmartDataDbDoc<LawRecord, LawRecord> { public static getByLookupKey = async (lookupKeyArg: string) => { const lawRecords = await LawRecord.getInstances({ lookupKey: lookupKeyArg, }); return lawRecords[0]; }; @plugins.smartdata.unI() id!: string; @plugins.smartdata.unI() @plugins.smartdata.svDb() lookupKey!: string; @plugins.smartdata.index() @plugins.smartdata.svDb() jurisdiction!: TJurisdiction; @plugins.smartdata.index() @plugins.smartdata.svDb() source!: TLawSource; @plugins.smartdata.searchable() @plugins.smartdata.svDb() identifier!: string; @plugins.smartdata.searchable() @plugins.smartdata.svDb() title!: string; @plugins.smartdata.searchable() @plugins.smartdata.svDb() shortTitle: string = ''; @plugins.smartdata.searchable() @plugins.smartdata.svDb() citation: string = ''; @plugins.smartdata.index() @plugins.smartdata.svDb() type: string = ''; @plugins.smartdata.index() @plugins.smartdata.svDb() language: string = ''; @plugins.smartdata.svDb() sourceUrl!: string; @plugins.smartdata.svDb() rawFormat!: TRawLawFormat; @plugins.smartdata.svDb() rawBody!: string; @plugins.smartdata.searchable() @plugins.smartdata.svDb() text!: string; @plugins.smartdata.index() @plugins.smartdata.svDb() dateIssued: string = ''; @plugins.smartdata.index() @plugins.smartdata.svDb() lastModified: string = ''; @plugins.smartdata.svDb() sourceMeta: Record<string, string> = {}; @plugins.smartdata.svDb() fetchedAt: Date = new Date(); @plugins.smartdata.svDb() syncedAt: Date = new Date(); }