82 lines
1.8 KiB
TypeScript
82 lines
1.8 KiB
TypeScript
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();
|
|
}
|