import { DATA_PRODUCT_PUBLISH_SCHEMA_VERSION } from "../../../../src/data-product.mjs";

export const geliosUnitsCurrentFixtureV1 = Object.freeze({
  sourceResponse: {
    units: [{
      id: 1001,
      name: "Synthetic unit 1001",
      hw_id: "restricted-fixture-value",
      phone: "restricted-fixture-value",
      lastMsg: {
        time: 1784203200,
        lat: "55.7558",
        lon: "37.6173",
        speed: 24.5,
        course: 91,
        height: 164,
        gps_valid: true,
        sats: 11,
        hdop: 0.8,
        accuracy: 4.2,
        params: "restricted-fixture-value",
      },
    }, {
      id: "001002",
      name: "Synthetic unit 1002",
    }],
  },
  collectionContext: {
    receivedAt: "2026-07-16T12:00:00.000Z",
  },
  expectedPublish: {
    schemaVersion: DATA_PRODUCT_PUBLISH_SCHEMA_VERSION,
    batch: {
      runId: "gelios-fixture-run-20260716",
      sequence: 0,
      idempotencyKey: "gelios-fixture-run-20260716.batch-0",
    },
    facts: [{
      sourceId: "gelios-unit-1001",
      semanticType: "map.moving_object",
      observedAt: "2026-07-16T12:00:00.000Z",
      geometry: {
        type: "Point",
        coordinates: [37.6173, 55.7558],
      },
      attributes: {
        course_degrees: 91,
        display_name: "Synthetic unit 1001",
        elevation_meters: 164,
        hdop: 0.8,
        horizontal_accuracy_meters: 4.2,
        object_kind: "tracked_unit",
        operational_status: "active",
        position_source: "gelios",
        position_valid: true,
        quality_flags: [],
        satellite_count: 11,
        speed_kph: 24.5,
      },
    }, {
      sourceId: "gelios-unit-001002",
      semanticType: "map.moving_object",
      observedAt: "2026-07-16T12:00:00.000Z",
      attributes: {
        display_name: "Synthetic unit 1002",
        object_kind: "tracked_unit",
        operational_status: "no_position",
        position_source: "gelios",
        position_valid: false,
        quality_flags: ["missing_geometry"],
      },
    }],
  },
});
