CockpitWorkspaceResource.fromJson constructor

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

Implementation

factory CockpitWorkspaceResource.fromJson(
  Object? value, {
  String path = r'$',
  CockpitDecodePolicy decodePolicy = CockpitDecodePolicy.requests,
}) {
  final json = CockpitFoundationValueReader.object(value, path);
  const fields = <String>{
    'workspaceId',
    'projectId',
    'checkoutId',
    'rootId',
    'canonicalPath',
    'filesystemIdentity',
    'state',
    'registeredAt',
    'updatedAt',
  };
  CockpitFoundationValueReader.keys(
    json,
    fields,
    path,
    required: fields,
    policy: decodePolicy,
  );
  return CockpitWorkspaceResource(
    workspaceId: CockpitFoundationValueReader.id(
      json['workspaceId'],
      '$path.workspaceId',
    ),
    projectId: CockpitFoundationValueReader.id(
      json['projectId'],
      '$path.projectId',
    ),
    checkoutId: CockpitFoundationValueReader.id(
      json['checkoutId'],
      '$path.checkoutId',
    ),
    rootId: CockpitFoundationValueReader.id(json['rootId'], '$path.rootId'),
    canonicalPath: CockpitFoundationValueReader.absolutePath(
      json['canonicalPath'],
      '$path.canonicalPath',
    ),
    filesystemIdentity: CockpitFoundationValueReader.string(
      json['filesystemIdentity'],
      '$path.filesystemIdentity',
      maximum: 512,
    ),
    state: CockpitEnumValue<CockpitWorkspaceState>.parse(
      json['state'],
      CockpitWorkspaceState.values,
      '$path.state',
      policy: CockpitDecodePolicy.requests,
    ).requireKnown(),
    registeredAt: CockpitFoundationValueReader.dateTime(
      json['registeredAt'],
      '$path.registeredAt',
    ),
    updatedAt: CockpitFoundationValueReader.dateTime(
      json['updatedAt'],
      '$path.updatedAt',
    ),
  );
}