42 lines
1.7 KiB
TypeScript
42 lines
1.7 KiB
TypeScript
import { inflateSync } from 'node:zlib';
|
|
import payload1 from './authoritative-inventory-model.payload-1';
|
|
import payload2 from './authoritative-inventory-model.payload-2';
|
|
import payload3 from './authoritative-inventory-model.payload-3';
|
|
import payload4 from './authoritative-inventory-model.payload-4';
|
|
import payload5 from './authoritative-inventory-model.payload-5';
|
|
|
|
export const AUTHORITATIVE_INVENTORY_MODEL_SOURCES = {
|
|
territory: {
|
|
file: 'modelo_yacimientos.sql',
|
|
sha256: '6a1d96bc8af7e755dd0e2fd9faf08335625b9c76865208c3b8413d868aa5eb1a',
|
|
},
|
|
inventory: {
|
|
file: 'modelo_relacional instalaciones y sub.sql',
|
|
sha256: 'fb513f3909e78db298361a8a6998ca77026748f9b03cbab44c77b884ca862b49',
|
|
},
|
|
} as const;
|
|
|
|
export type AuthoritativeInventoryModel = {
|
|
departments: Array<{ id: number; nombre: string }>;
|
|
companies: Array<{ id: number; nombre: string }>;
|
|
concessionTypes: Array<{ id: number; nombre: string }>;
|
|
areas: Array<{ id: number; departamento_id: number; nombre: string }>;
|
|
fields: Array<{
|
|
id: number;
|
|
nombre: string;
|
|
area_id: number;
|
|
empresa_id: number;
|
|
tipo_concesion_id: number;
|
|
}>;
|
|
installationFamilies: Array<{ id: number; nombre: string }>;
|
|
subinstallationFamilies: Array<{ id: number; instalacion_id: number; nombre: string }>;
|
|
findings: Array<{ id: number; nombre: string }>;
|
|
subinstallationFindings: Array<{ subinstalacion_id: number; hallazgo_id: number }>;
|
|
installationFindings: Array<{ instalacion_id: number; hallazgo_id: number }>;
|
|
};
|
|
|
|
const payload = payload1 + payload2 + payload3 + payload4 + payload5;
|
|
|
|
export const AUTHORITATIVE_INVENTORY_MODEL: AuthoritativeInventoryModel =
|
|
JSON.parse(inflateSync(Buffer.from(payload, 'base64')).toString('utf8')) as AuthoritativeInventoryModel;
|