//
//  Generated code. Do not modify.
//  source: view.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'shared.pb.dart' as $3;

export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;

class FieldView extends $pb.GeneratedMessage {
  factory FieldView({
    $core.String? name,
    $core.bool? isMetadata,
    $core.String? path,
    $core.String? displayPath,
    $core.String? pathKey,
    $core.String? keyValue,
    $core.bool? isSegmentationKey,
    $core.String? enumValues,
    $core.Iterable<$core.String>? enumList,
    $core.String? contentType,
    $core.Iterable<$core.String>? kpiMetricGroups,
    $core.Iterable<$core.String>? kpiDimensionGroups,
    $core.Iterable<$core.String>? kpiDateGroups,
    $core.String? kpiName,
    $core.Iterable<$core.String>? queryableKpiGroups,
    $core.String? entity,
    $core.String? entityPath,
    $core.String? entityPathKey,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (isMetadata != null) {
      $result.isMetadata = isMetadata;
    }
    if (path != null) {
      $result.path = path;
    }
    if (displayPath != null) {
      $result.displayPath = displayPath;
    }
    if (pathKey != null) {
      $result.pathKey = pathKey;
    }
    if (keyValue != null) {
      $result.keyValue = keyValue;
    }
    if (isSegmentationKey != null) {
      $result.isSegmentationKey = isSegmentationKey;
    }
    if (enumValues != null) {
      $result.enumValues = enumValues;
    }
    if (enumList != null) {
      $result.enumList.addAll(enumList);
    }
    if (contentType != null) {
      $result.contentType = contentType;
    }
    if (kpiMetricGroups != null) {
      $result.kpiMetricGroups.addAll(kpiMetricGroups);
    }
    if (kpiDimensionGroups != null) {
      $result.kpiDimensionGroups.addAll(kpiDimensionGroups);
    }
    if (kpiDateGroups != null) {
      $result.kpiDateGroups.addAll(kpiDateGroups);
    }
    if (kpiName != null) {
      $result.kpiName = kpiName;
    }
    if (queryableKpiGroups != null) {
      $result.queryableKpiGroups.addAll(queryableKpiGroups);
    }
    if (entity != null) {
      $result.entity = entity;
    }
    if (entityPath != null) {
      $result.entityPath = entityPath;
    }
    if (entityPathKey != null) {
      $result.entityPathKey = entityPathKey;
    }
    return $result;
  }
  FieldView._() : super();
  factory FieldView.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory FieldView.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FieldView', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOB(2, _omitFieldNames ? '' : 'IsMetadata', protoName: 'IsMetadata')
    ..aOS(4, _omitFieldNames ? '' : 'Path', protoName: 'Path')
    ..aOS(5, _omitFieldNames ? '' : 'DisplayPath', protoName: 'DisplayPath')
    ..aOS(6, _omitFieldNames ? '' : 'PathKey', protoName: 'PathKey')
    ..aOS(7, _omitFieldNames ? '' : 'KeyValue', protoName: 'KeyValue')
    ..aOB(8, _omitFieldNames ? '' : 'IsSegmentationKey', protoName: 'IsSegmentationKey')
    ..aOS(9, _omitFieldNames ? '' : 'EnumValues', protoName: 'EnumValues')
    ..pPS(10, _omitFieldNames ? '' : 'EnumList', protoName: 'EnumList')
    ..aOS(11, _omitFieldNames ? '' : 'ContentType', protoName: 'ContentType')
    ..pPS(12, _omitFieldNames ? '' : 'KpiMetricGroups', protoName: 'KpiMetricGroups')
    ..pPS(13, _omitFieldNames ? '' : 'KpiDimensionGroups', protoName: 'KpiDimensionGroups')
    ..pPS(14, _omitFieldNames ? '' : 'KpiDateGroups', protoName: 'KpiDateGroups')
    ..aOS(15, _omitFieldNames ? '' : 'KpiName', protoName: 'KpiName')
    ..pPS(16, _omitFieldNames ? '' : 'QueryableKpiGroups', protoName: 'QueryableKpiGroups')
    ..aOS(17, _omitFieldNames ? '' : 'Entity', protoName: 'Entity')
    ..aOS(18, _omitFieldNames ? '' : 'EntityPath', protoName: 'EntityPath')
    ..aOS(19, _omitFieldNames ? '' : 'EntityPathKey', protoName: 'EntityPathKey')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  FieldView clone() => FieldView()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  FieldView copyWith(void Function(FieldView) updates) => super.copyWith((message) => updates(message as FieldView)) as FieldView;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static FieldView create() => FieldView._();
  FieldView createEmptyInstance() => create();
  static $pb.PbList<FieldView> createRepeated() => $pb.PbList<FieldView>();
  @$core.pragma('dart2js:noInline')
  static FieldView getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<FieldView>(create);
  static FieldView? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.bool get isMetadata => $_getBF(1);
  @$pb.TagNumber(2)
  set isMetadata($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasIsMetadata() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsMetadata() => $_clearField(2);

  /// string Type = 3;
  @$pb.TagNumber(4)
  $core.String get path => $_getSZ(2);
  @$pb.TagNumber(4)
  set path($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasPath() => $_has(2);
  @$pb.TagNumber(4)
  void clearPath() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get displayPath => $_getSZ(3);
  @$pb.TagNumber(5)
  set displayPath($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasDisplayPath() => $_has(3);
  @$pb.TagNumber(5)
  void clearDisplayPath() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get pathKey => $_getSZ(4);
  @$pb.TagNumber(6)
  set pathKey($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(6)
  $core.bool hasPathKey() => $_has(4);
  @$pb.TagNumber(6)
  void clearPathKey() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get keyValue => $_getSZ(5);
  @$pb.TagNumber(7)
  set keyValue($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(7)
  $core.bool hasKeyValue() => $_has(5);
  @$pb.TagNumber(7)
  void clearKeyValue() => $_clearField(7);

  /// The segmentation keys are used to complete the segmentation criteria of the project stock. They also apply to order lines and stock movements
  @$pb.TagNumber(8)
  $core.bool get isSegmentationKey => $_getBF(6);
  @$pb.TagNumber(8)
  set isSegmentationKey($core.bool v) { $_setBool(6, v); }
  @$pb.TagNumber(8)
  $core.bool hasIsSegmentationKey() => $_has(6);
  @$pb.TagNumber(8)
  void clearIsSegmentationKey() => $_clearField(8);

  @$pb.TagNumber(9)
  $core.String get enumValues => $_getSZ(7);
  @$pb.TagNumber(9)
  set enumValues($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(9)
  $core.bool hasEnumValues() => $_has(7);
  @$pb.TagNumber(9)
  void clearEnumValues() => $_clearField(9);

  @$pb.TagNumber(10)
  $pb.PbList<$core.String> get enumList => $_getList(8);

  @$pb.TagNumber(11)
  $core.String get contentType => $_getSZ(9);
  @$pb.TagNumber(11)
  set contentType($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(11)
  $core.bool hasContentType() => $_has(9);
  @$pb.TagNumber(11)
  void clearContentType() => $_clearField(11);

  @$pb.TagNumber(12)
  $pb.PbList<$core.String> get kpiMetricGroups => $_getList(10);

  @$pb.TagNumber(13)
  $pb.PbList<$core.String> get kpiDimensionGroups => $_getList(11);

  @$pb.TagNumber(14)
  $pb.PbList<$core.String> get kpiDateGroups => $_getList(12);

  @$pb.TagNumber(15)
  $core.String get kpiName => $_getSZ(13);
  @$pb.TagNumber(15)
  set kpiName($core.String v) { $_setString(13, v); }
  @$pb.TagNumber(15)
  $core.bool hasKpiName() => $_has(13);
  @$pb.TagNumber(15)
  void clearKpiName() => $_clearField(15);

  @$pb.TagNumber(16)
  $pb.PbList<$core.String> get queryableKpiGroups => $_getList(14);

  @$pb.TagNumber(17)
  $core.String get entity => $_getSZ(15);
  @$pb.TagNumber(17)
  set entity($core.String v) { $_setString(15, v); }
  @$pb.TagNumber(17)
  $core.bool hasEntity() => $_has(15);
  @$pb.TagNumber(17)
  void clearEntity() => $_clearField(17);

  @$pb.TagNumber(18)
  $core.String get entityPath => $_getSZ(16);
  @$pb.TagNumber(18)
  set entityPath($core.String v) { $_setString(16, v); }
  @$pb.TagNumber(18)
  $core.bool hasEntityPath() => $_has(16);
  @$pb.TagNumber(18)
  void clearEntityPath() => $_clearField(18);

  @$pb.TagNumber(19)
  $core.String get entityPathKey => $_getSZ(17);
  @$pb.TagNumber(19)
  set entityPathKey($core.String v) { $_setString(17, v); }
  @$pb.TagNumber(19)
  $core.bool hasEntityPathKey() => $_has(17);
  @$pb.TagNumber(19)
  void clearEntityPathKey() => $_clearField(19);
}

class GetViewFieldsRequest extends $pb.GeneratedMessage {
  factory GetViewFieldsRequest({
    $3.RequestProjectHeader? header,
    $core.String? domain,
    $core.String? entity,
    $core.Iterable<$core.String>? ommittedList,
    $core.String? startingPath,
    $core.bool? onlySegmentationKeys,
    $core.String? kpiGroupFilter,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (domain != null) {
      $result.domain = domain;
    }
    if (entity != null) {
      $result.entity = entity;
    }
    if (ommittedList != null) {
      $result.ommittedList.addAll(ommittedList);
    }
    if (startingPath != null) {
      $result.startingPath = startingPath;
    }
    if (onlySegmentationKeys != null) {
      $result.onlySegmentationKeys = onlySegmentationKeys;
    }
    if (kpiGroupFilter != null) {
      $result.kpiGroupFilter = kpiGroupFilter;
    }
    return $result;
  }
  GetViewFieldsRequest._() : super();
  factory GetViewFieldsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetViewFieldsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetViewFieldsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Domain', protoName: 'Domain')
    ..aOS(3, _omitFieldNames ? '' : 'Entity', protoName: 'Entity')
    ..pPS(4, _omitFieldNames ? '' : 'OmmittedList', protoName: 'OmmittedList')
    ..aOS(5, _omitFieldNames ? '' : 'StartingPath', protoName: 'StartingPath')
    ..aOB(6, _omitFieldNames ? '' : 'OnlySegmentationKeys', protoName: 'OnlySegmentationKeys')
    ..aOS(7, _omitFieldNames ? '' : 'KpiGroupFilter', protoName: 'KpiGroupFilter')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetViewFieldsRequest clone() => GetViewFieldsRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetViewFieldsRequest copyWith(void Function(GetViewFieldsRequest) updates) => super.copyWith((message) => updates(message as GetViewFieldsRequest)) as GetViewFieldsRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetViewFieldsRequest create() => GetViewFieldsRequest._();
  GetViewFieldsRequest createEmptyInstance() => create();
  static $pb.PbList<GetViewFieldsRequest> createRepeated() => $pb.PbList<GetViewFieldsRequest>();
  @$core.pragma('dart2js:noInline')
  static GetViewFieldsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetViewFieldsRequest>(create);
  static GetViewFieldsRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $3.RequestProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($3.RequestProjectHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.RequestProjectHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get domain => $_getSZ(1);
  @$pb.TagNumber(2)
  set domain($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDomain() => $_has(1);
  @$pb.TagNumber(2)
  void clearDomain() => $_clearField(2);

  /// Entity where the metadata will be created. It can be \"executionflow\", \"handlingunit\", \"item\", \"order\", \"stock\"
  @$pb.TagNumber(3)
  $core.String get entity => $_getSZ(2);
  @$pb.TagNumber(3)
  set entity($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasEntity() => $_has(2);
  @$pb.TagNumber(3)
  void clearEntity() => $_clearField(3);

  /// Fields that are not used in this entity
  @$pb.TagNumber(4)
  $pb.PbList<$core.String> get ommittedList => $_getList(3);

  @$pb.TagNumber(5)
  $core.String get startingPath => $_getSZ(4);
  @$pb.TagNumber(5)
  set startingPath($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasStartingPath() => $_has(4);
  @$pb.TagNumber(5)
  void clearStartingPath() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.bool get onlySegmentationKeys => $_getBF(5);
  @$pb.TagNumber(6)
  set onlySegmentationKeys($core.bool v) { $_setBool(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasOnlySegmentationKeys() => $_has(5);
  @$pb.TagNumber(6)
  void clearOnlySegmentationKeys() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get kpiGroupFilter => $_getSZ(6);
  @$pb.TagNumber(7)
  set kpiGroupFilter($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasKpiGroupFilter() => $_has(6);
  @$pb.TagNumber(7)
  void clearKpiGroupFilter() => $_clearField(7);
}

class GetViewFieldsResult extends $pb.GeneratedMessage {
  factory GetViewFieldsResult({
    $core.Iterable<FieldView>? fields,
  }) {
    final $result = create();
    if (fields != null) {
      $result.fields.addAll(fields);
    }
    return $result;
  }
  GetViewFieldsResult._() : super();
  factory GetViewFieldsResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetViewFieldsResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetViewFieldsResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<FieldView>(1, _omitFieldNames ? '' : 'Fields', $pb.PbFieldType.PM, protoName: 'Fields', subBuilder: FieldView.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetViewFieldsResult clone() => GetViewFieldsResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetViewFieldsResult copyWith(void Function(GetViewFieldsResult) updates) => super.copyWith((message) => updates(message as GetViewFieldsResult)) as GetViewFieldsResult;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetViewFieldsResult create() => GetViewFieldsResult._();
  GetViewFieldsResult createEmptyInstance() => create();
  static $pb.PbList<GetViewFieldsResult> createRepeated() => $pb.PbList<GetViewFieldsResult>();
  @$core.pragma('dart2js:noInline')
  static GetViewFieldsResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetViewFieldsResult>(create);
  static GetViewFieldsResult? _defaultInstance;

  @$pb.TagNumber(1)
  $pb.PbList<FieldView> get fields => $_getList(0);
}


const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
