CockpitRootResource.fromJson constructor

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

Decodes a CockpitRootResource from a JSON object.

Implementation

factory CockpitRootResource.fromJson(
  Object? value, {
  String path = r'$',
  CockpitDecodePolicy decodePolicy = CockpitDecodePolicy.requests,
}) {
  final json = CockpitFoundationValueReader.object(value, path);
  CockpitFoundationValueReader.keys(
    json,
    const <String>{
      'rootId',
      'canonicalPath',
      'filesystemIdentity',
      'state',
      'registeredAt',
      'updatedAt',
      'retiredAt',
    },
    path,
    required: const <String>{
      'rootId',
      'canonicalPath',
      'filesystemIdentity',
      'state',
      'registeredAt',
      'updatedAt',
    },
    policy: decodePolicy,
  );
  return CockpitRootResource(
    rootId: CockpitFoundationValueReader.id(json['rootId'], '$path.rootId'),
    canonicalPath: CockpitFoundationValueReader.absolutePath(
      json['canonicalPath'],
      '$path.canonicalPath',
    ),
    filesystemIdentity: CockpitFoundationValueReader.string(
      json['filesystemIdentity'],
      '$path.filesystemIdentity',
      maximum: 512,
    ),
    state: _rootState(json['state'], '$path.state'),
    registeredAt: CockpitFoundationValueReader.dateTime(
      json['registeredAt'],
      '$path.registeredAt',
    ),
    updatedAt: CockpitFoundationValueReader.dateTime(
      json['updatedAt'],
      '$path.updatedAt',
    ),
    retiredAt: json['retiredAt'] == null
        ? null
        : CockpitFoundationValueReader.dateTime(
            json['retiredAt'],
            '$path.retiredAt',
          ),
  );
}