syntax = "proto3";
package ar.v1;

import "ar/v1/permissions.proto";
import "ar/v1/property.proto";
import "buf/validate/validate.proto";
import "validation/v1/predefined_string_rules.proto";

option csharp_namespace = "Messages.AR.V1";
option go_package = "github.com/cobotar/protocol/messages/ar/v1";

enum WorkerType {
  WORKER_TYPE_UNSPECIFIED = 0;
  WORKER_TYPE_NOVICE = 1;
  WORKER_TYPE_INTERMEDIATE = 2;
  WORKER_TYPE_EXPERT = 3;
}

// TODO: Add worker (including skill-matrix)?
message WorkerMessage {
  string id = 1;
  string name = 2 [(buf.validate.field).string.(validation.v1.name_component) = true];
  string icon = 3;
  string description = 4;
  WorkerType type = 5;
  WorkerPermission permission = 6;
  repeated ar.v1.Property properties = 7;
  bool disabled = 8; // If disabled, the worker can't be selected
}

message WorkerMessages {
  repeated WorkerMessage workers = 1;
}
