feat(provider): publish full unit identity product
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"id": "fleet.units.identity.current.v1",
|
||||
"version": "1.0.0",
|
||||
"ontologyRevision": "ontology.map.moving_object.v3",
|
||||
"deliveryMode": "snapshot+patch",
|
||||
"semanticTypes": [
|
||||
"map.moving_object"
|
||||
],
|
||||
"fields": [
|
||||
"asset_brand",
|
||||
"asset_color",
|
||||
"asset_model",
|
||||
"asset_number_plate",
|
||||
"asset_vin",
|
||||
"asset_year",
|
||||
"assigned_driver_name",
|
||||
"assigned_driver_phone",
|
||||
"available_user_ids",
|
||||
"available_user_logins",
|
||||
"custom_fields",
|
||||
"device_imei",
|
||||
"device_phone_primary",
|
||||
"device_phone_secondary",
|
||||
"display_name",
|
||||
"hardware_manufacturer_id",
|
||||
"hardware_manufacturer_name",
|
||||
"hardware_port",
|
||||
"hardware_type_class",
|
||||
"hardware_type_id",
|
||||
"hardware_type_name",
|
||||
"provider_creator_id",
|
||||
"provider_creator_login",
|
||||
"provider_unit_id",
|
||||
"unit_type_class",
|
||||
"unit_type_id",
|
||||
"unit_type_name"
|
||||
],
|
||||
"fieldContracts": {
|
||||
"asset_brand": { "type": "string", "required": false },
|
||||
"asset_color": { "type": "string", "required": false },
|
||||
"asset_model": { "type": "string", "required": false },
|
||||
"asset_number_plate": { "type": "string", "required": false },
|
||||
"asset_vin": { "type": "string", "required": false },
|
||||
"asset_year": { "type": "number", "required": false, "minimum": 0 },
|
||||
"assigned_driver_name": { "type": "string", "required": false },
|
||||
"assigned_driver_phone": { "type": "string", "required": false },
|
||||
"available_user_ids": { "type": "string_array", "required": false },
|
||||
"available_user_logins": { "type": "string_array", "required": false },
|
||||
"custom_fields": { "type": "string_array", "required": false },
|
||||
"device_imei": { "type": "string", "required": false },
|
||||
"device_phone_primary": { "type": "string", "required": false },
|
||||
"device_phone_secondary": { "type": "string", "required": false },
|
||||
"display_name": { "type": "string", "required": true },
|
||||
"hardware_manufacturer_id": { "type": "string", "required": false },
|
||||
"hardware_manufacturer_name": { "type": "string", "required": false },
|
||||
"hardware_port": { "type": "number", "required": false, "minimum": 0 },
|
||||
"hardware_type_class": { "type": "string", "required": false },
|
||||
"hardware_type_id": { "type": "string", "required": false },
|
||||
"hardware_type_name": { "type": "string", "required": false },
|
||||
"provider_creator_id": { "type": "string", "required": false },
|
||||
"provider_creator_login": { "type": "string", "required": false },
|
||||
"provider_unit_id": { "type": "string", "required": true },
|
||||
"unit_type_class": { "type": "string", "required": false },
|
||||
"unit_type_id": { "type": "string", "required": false },
|
||||
"unit_type_name": { "type": "string", "required": false }
|
||||
},
|
||||
"history": {
|
||||
"mode": "none",
|
||||
"retentionDays": 1
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ assert.deepEqual(bundled.map((definition) => definition.id), [
|
||||
"fleet.positions.current.v4",
|
||||
"fleet.positions.current.v5",
|
||||
"fleet.units.contacts.current.v1",
|
||||
"fleet.units.identity.current.v1",
|
||||
"fleet.units.profile.current.v1",
|
||||
"map.zones.current.v1",
|
||||
"map.zones.current.v2",
|
||||
@@ -62,23 +63,30 @@ assert.equal(bundled[6].version, "1.0.0");
|
||||
assert.equal(bundled[6].ontologyRevision, "ontology.map.moving_object.v3");
|
||||
assert.deepEqual(bundled[6].semanticTypes, ["map.moving_object"]);
|
||||
assert.equal(bundled[6].history.mode, "none");
|
||||
assert.equal(bundled[6].fieldContracts.hardware_port.type, "number");
|
||||
assert.equal(bundled[6].fieldContracts.available_user_logins.type, "string_array");
|
||||
assert.equal(bundled[6].fieldContracts.device_imei.type, "string");
|
||||
assert.equal(bundled[7].version, "1.0.0");
|
||||
assert.equal(bundled[7].ontologyRevision, "ontology.map.zone.v1");
|
||||
assert.deepEqual(bundled[7].semanticTypes, ["map.zone"]);
|
||||
assert.deepEqual(bundled[7].fieldContracts.geometry, { type: "geometry", required: true });
|
||||
assert.equal(bundled[7].fields.includes("dataset_authority"), false);
|
||||
assert.equal(bundled[8].version, "2.0.0");
|
||||
assert.equal(bundled[7].ontologyRevision, "ontology.map.moving_object.v3");
|
||||
assert.deepEqual(bundled[7].semanticTypes, ["map.moving_object"]);
|
||||
assert.equal(bundled[7].history.mode, "none");
|
||||
assert.equal(bundled[7].fieldContracts.hardware_port.type, "number");
|
||||
assert.equal(bundled[8].version, "1.0.0");
|
||||
assert.equal(bundled[8].ontologyRevision, "ontology.map.zone.v1");
|
||||
assert.deepEqual(bundled[8].semanticTypes, ["map.zone"]);
|
||||
assert.deepEqual(bundled[8].fieldContracts.geometry, { type: "geometry", required: true });
|
||||
assert.deepEqual(bundled[8].fieldContracts.dataset_authority.enum, ["moscow-department-of-transport"]);
|
||||
assert.equal(bundled[8].fields.includes("dataset_authority"), false);
|
||||
assert.equal(bundled[9].version, "2.0.0");
|
||||
assert.equal(bundled[9].ontologyRevision, "ontology.map.zone.v1");
|
||||
assert.deepEqual(bundled[9].semanticTypes, ["map.zone"]);
|
||||
assert.deepEqual(bundled[9].fieldContracts.geometry, { type: "geometry", required: true });
|
||||
assert.deepEqual(bundled[9].fieldContracts.dataset_authority.enum, ["moscow-department-of-transport"]);
|
||||
assert.equal(Object.keys(bundled[3].fieldContracts).length, bundled[3].fields.length);
|
||||
assert.equal(Object.keys(bundled[4].fieldContracts).length, bundled[4].fields.length);
|
||||
assert.equal(Object.keys(bundled[5].fieldContracts).length, bundled[5].fields.length);
|
||||
assert.equal(Object.keys(bundled[6].fieldContracts).length, bundled[6].fields.length);
|
||||
assert.equal(Object.keys(bundled[7].fieldContracts).length, bundled[7].fields.length);
|
||||
assert.equal(Object.keys(bundled[8].fieldContracts).length, bundled[8].fields.length);
|
||||
assert.equal(Object.keys(bundled[9].fieldContracts).length, bundled[9].fields.length);
|
||||
|
||||
const directory = await mkdtemp(join(tmpdir(), "nodedc-edp-definitions-"));
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user