{
  "contract": "wifiscope-profile",
  "generatedBy": "core/ruleset — ProfileContractTest",
  "writeSchemaVersion": 3,
  "supportedSchemaVersions": [
    1,
    2,
    3
  ],
  "limits": {
    "maxSsidBytes": 32,
    "maxLogoDecodedBytes": 262144,
    "maxLogoEncodedLength": 349780
  },
  "enums": {
    "profileType": [
      {
        "value": "home",
        "label": "Domicile"
      },
      {
        "value": "client",
        "label": "Client"
      },
      {
        "value": "location",
        "label": "Lieu"
      },
      {
        "value": "project",
        "label": "Projet"
      },
      {
        "value": "test",
        "label": "Recette"
      },
      {
        "value": "other",
        "label": "Autre"
      }
    ],
    "monitoringContext": [
      "station",
      "depot",
      "tram",
      "bus"
    ],
    "locationMode": [
      "free_text",
      "vehicle"
    ],
    "ssidMode": [
      "fixed",
      "prefix"
    ],
    "identifierInputType": [
      "numeric",
      "text"
    ],
    "logoMimeTypes": [
      "image/jpeg",
      "image/png",
      "image/webp"
    ]
  },
  "defaults": {
    "identifierRequired": true,
    "identifierInputType": "text"
  },
  "fields": {
    "envelope": [
      "schema_version",
      "profile"
    ],
    "profile": [
      "id",
      "name",
      "type",
      "description",
      "design",
      "ruleset"
    ],
    "profileRuleset": [
      "ruleset_version",
      "description",
      "rules"
    ],
    "legacyRuleset": [
      "schema_version",
      "ruleset_version",
      "description",
      "rules",
      "design"
    ],
    "design": [
      "instance_name",
      "logo",
      "primary_color",
      "accent_color",
      "series_palette"
    ],
    "rule": [
      "id",
      "context",
      "label",
      "ssid",
      "identifier",
      "location_mode"
    ],
    "ssid": [
      "mode",
      "value",
      "prefix"
    ],
    "identifier": [
      "name",
      "label",
      "required",
      "pattern",
      "input_type",
      "example"
    ]
  },
  "validationErrors": [
    {
      "code": "blank_profile_id",
      "blocking": true
    },
    {
      "code": "duplicate_rule_id",
      "blocking": true
    },
    {
      "code": "fixed_ssid_without_value",
      "blocking": true
    },
    {
      "code": "identifier_not_required_on_prefix_rule",
      "blocking": true
    },
    {
      "code": "identifier_without_label",
      "blocking": true
    },
    {
      "code": "identifier_without_name",
      "blocking": true
    },
    {
      "code": "invalid_design_color",
      "blocking": false
    },
    {
      "code": "invalid_design_logo",
      "blocking": false
    },
    {
      "code": "invalid_identifier_pattern",
      "blocking": true
    },
    {
      "code": "malformed_json",
      "blocking": true
    },
    {
      "code": "missing_context",
      "blocking": true
    },
    {
      "code": "missing_label",
      "blocking": true
    },
    {
      "code": "missing_location_mode",
      "blocking": true
    },
    {
      "code": "missing_profile_block",
      "blocking": true
    },
    {
      "code": "missing_profile_name",
      "blocking": true
    },
    {
      "code": "missing_profile_ruleset",
      "blocking": true
    },
    {
      "code": "missing_rule_id",
      "blocking": true
    },
    {
      "code": "missing_rules_array",
      "blocking": true
    },
    {
      "code": "missing_ruleset_version",
      "blocking": true
    },
    {
      "code": "missing_schema_version",
      "blocking": true
    },
    {
      "code": "missing_ssid_mode",
      "blocking": true
    },
    {
      "code": "missing_ssid_spec",
      "blocking": true
    },
    {
      "code": "prefix_leaves_no_room",
      "blocking": true
    },
    {
      "code": "prefix_rule_without_identifier",
      "blocking": true
    },
    {
      "code": "prefix_ssid_without_prefix",
      "blocking": true
    },
    {
      "code": "ssid_too_long",
      "blocking": true
    },
    {
      "code": "unknown_context",
      "blocking": true
    },
    {
      "code": "unknown_identifier_input_type",
      "blocking": true
    },
    {
      "code": "unknown_location_mode",
      "blocking": true
    },
    {
      "code": "unknown_profile_type",
      "blocking": false
    },
    {
      "code": "unknown_ssid_mode",
      "blocking": true
    },
    {
      "code": "unsupported_schema_version",
      "blocking": true
    },
    {
      "code": "vehicle_location_without_identifier",
      "blocking": true
    }
  ]
}
