ParticipantToken.fromJson constructor

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

Implementation

factory ParticipantToken.fromJson(Map<String, dynamic> json) {
  final knownKeys = {'name', 'sub', 'grants', 'kid', 'version'};
  final extra = <String, dynamic>{};
  json.forEach((k, v) {
    if (!knownKeys.contains(k)) extra[k] = v;
  });

  final version = json['version'] as String? ?? '0.5.3'; // Python default

  return ParticipantToken(
    name: json['name'] as String,
    projectId: json['sub'] as String?,
    apiKeyId: json['kid'] as String?,
    version: version,
    grants: (json['grants'] as List<dynamic>).map((g) => ParticipantGrant.fromJson(g as Map<String, dynamic>)).toList(),
    extra: extra.isEmpty ? null : extra,
  );
}