CockpitResourceDescriptor.fromJson constructor

CockpitResourceDescriptor.fromJson(
  1. Object? value, {
  2. String path = r'$',
  3. CockpitDecodePolicy decodePolicy = CockpitDecodePolicy.requests,
})

Decodes a CockpitResourceDescriptor from a JSON object.

Implementation

factory CockpitResourceDescriptor.fromJson(
  Object? value, {
  String path = r'$',
  CockpitDecodePolicy decodePolicy = CockpitDecodePolicy.requests,
}) {
  final json = CockpitFoundationValueReader.object(value, path);
  const fields = <String>{
    'kind',
    'scope',
    'uriTemplate',
    'mediaType',
    'requiredFeatures',
  };
  CockpitFoundationValueReader.keys(
    json,
    fields,
    path,
    required: fields,
    policy: decodePolicy,
  );
  return CockpitResourceDescriptor(
    kind: CockpitFoundationValueReader.kind(json['kind'], '$path.kind'),
    scope: CockpitEnumValue<CockpitOperationScope>.parse(
      json['scope'],
      CockpitOperationScope.values,
      '$path.scope',
      policy: CockpitDecodePolicy.requests,
    ).requireKnown(),
    uriTemplate: CockpitFoundationValueReader.apiTemplate(
      json['uriTemplate'],
      '$path.uriTemplate',
    ),
    mediaType: CockpitFoundationValueReader.mediaType(
      json['mediaType'],
      '$path.mediaType',
    ),
    requiredFeatures: CockpitFoundationValueReader.ids(
      json['requiredFeatures'],
      '$path.requiredFeatures',
    ),
  );
}