ServiceAccount.fromJson constructor

ServiceAccount.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory ServiceAccount.fromJson(Map<String, dynamic> json) {
  final metadata = (json['metadata'] as Map?)?.cast<String, dynamic>() ?? const <String, dynamic>{};
  return ServiceAccount(
    id: json['id'] as String,
    projectId: json['project_id'] as String,
    key: json['key'] as String? ?? json['name'] as String,
    name: json['name'] as String,
    displayName: _jsonString(metadata['display_name']) ?? _jsonString(metadata['name']) ?? json['display_name'] as String?,
    email: json['email'] as String?,
    description: json['description'] as String? ?? '',
    metadata: metadata,
    annotations: (json['annotations'] as Map?)?.cast<String, String>() ?? const {},
    createdAt: json['created_at'] is String ? DateTime.tryParse(json['created_at'] as String) : null,
    updatedAt: json['updated_at'] is String ? DateTime.tryParse(json['updated_at'] as String) : null,
    createdByUserId: json['created_by_user_id'] as String?,
  );
}