syntax = "proto3";

package armonik.api.grpc.v1.results;

option csharp_namespace = "ArmoniK.Api.gRPC.V1.Results";

/**
 * Represents every available field in a result.
 */
enum ResultRawEnumField {
  RESULT_RAW_ENUM_FIELD_UNSPECIFIED = 0; /** The default value. */
  RESULT_RAW_ENUM_FIELD_SESSION_ID = 1; /** The session ID. */
  RESULT_RAW_ENUM_FIELD_NAME = 2; /** The result name. */
  RESULT_RAW_ENUM_FIELD_OWNER_TASK_ID = 3; /** The owner task ID. */
  RESULT_RAW_ENUM_FIELD_STATUS = 4; /** The result status. */
  RESULT_RAW_ENUM_FIELD_CREATED_AT = 5; /** The result creation date. */
  RESULT_RAW_ENUM_FIELD_COMPLETED_AT = 6; /** The result completion date. */
  RESULT_RAW_ENUM_FIELD_RESULT_ID = 7; /** The result ID. */
  RESULT_RAW_ENUM_FIELD_SIZE = 8; /** The size of the result. */
  RESULT_RAW_ENUM_FIELD_CREATED_BY = 9; /** The size of the result. */
}

/**
 * This message is used to wrap the enum in order to facilitate the 'oneOf' generation.
 */
message ResultRawField {
  ResultRawEnumField field = 1;
}

message ResultField {
  oneof field {
    ResultRawField result_raw_field = 1; /** The field to use to sort results. */
  }
}
