hardened API decoding against server fields the models did not expect
The Talk room list crashed for a new account because the server omits
lastMessage for rooms without a visible message and the model required it.
Beyond that single field, a review of the Talk models against the OpenAPI
spec of the installed version (23.0.8) found the same crash class in several
places: closed enums over open server values (inCall bitmask, rich-object
types, actor and message types), a deleted parent sent as {id, deleted},
and the autocomplete status arriving as an object.
- json_serializable `checked: true`: decode errors now name class and field
- lists (rooms, messages, participants, autocomplete) decode per entry;
a malformed entry is skipped and reported via ClientErrorReporter
- unknownEnumValue fallbacks for all response enums of Talk and breakers
- lastMessage nullable; inCall as bitmask; deleted parent placeholder;
autocomplete status object/string; fixed shareWithDisplayNameUnique key
- GetRoomParams no longer sends null query parameters
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HrepDTL4qDe35TuS29sLW3
This commit is contained in:
@@ -6,12 +6,22 @@ part of 'mc_holiday.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
McHoliday _$McHolidayFromJson(Map<String, dynamic> json) => McHoliday(
|
||||
shortName: json['shortName'] as String,
|
||||
longName: json['longName'] as String,
|
||||
startDate: McHoliday._dateFromJson(json['startDate'] as String),
|
||||
endDate: McHoliday._dateFromJson(json['endDate'] as String),
|
||||
);
|
||||
McHoliday _$McHolidayFromJson(Map<String, dynamic> json) =>
|
||||
$checkedCreate('McHoliday', json, ($checkedConvert) {
|
||||
final val = McHoliday(
|
||||
shortName: $checkedConvert('shortName', (v) => v as String),
|
||||
longName: $checkedConvert('longName', (v) => v as String),
|
||||
startDate: $checkedConvert(
|
||||
'startDate',
|
||||
(v) => McHoliday._dateFromJson(v as String),
|
||||
),
|
||||
endDate: $checkedConvert(
|
||||
'endDate',
|
||||
(v) => McHoliday._dateFromJson(v as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McHolidayToJson(McHoliday instance) => <String, dynamic>{
|
||||
'shortName': instance.shortName,
|
||||
|
||||
@@ -8,12 +8,15 @@ part of 'absence_prefill_response.dart';
|
||||
|
||||
AbsencePrefillResponse _$AbsencePrefillResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => AbsencePrefillResponse(
|
||||
firstName: json['firstName'] as String? ?? '',
|
||||
lastName: json['lastName'] as String? ?? '',
|
||||
className: json['className'] as String? ?? '',
|
||||
phone: json['phone'] as String? ?? '',
|
||||
);
|
||||
) => $checkedCreate('AbsencePrefillResponse', json, ($checkedConvert) {
|
||||
final val = AbsencePrefillResponse(
|
||||
firstName: $checkedConvert('firstName', (v) => v as String? ?? ''),
|
||||
lastName: $checkedConvert('lastName', (v) => v as String? ?? ''),
|
||||
className: $checkedConvert('className', (v) => v as String? ?? ''),
|
||||
phone: $checkedConvert('phone', (v) => v as String? ?? ''),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$AbsencePrefillResponseToJson(
|
||||
AbsencePrefillResponse instance,
|
||||
|
||||
@@ -7,14 +7,17 @@ part of 'auth_login_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
AuthLoginUser _$AuthLoginUserFromJson(Map<String, dynamic> json) =>
|
||||
AuthLoginUser(
|
||||
id: json['id'] as String,
|
||||
username: json['username'] as String,
|
||||
firstName: json['firstName'] as String,
|
||||
lastName: json['lastName'] as String,
|
||||
userType: json['userType'] as String?,
|
||||
className: json['className'] as String?,
|
||||
);
|
||||
$checkedCreate('AuthLoginUser', json, ($checkedConvert) {
|
||||
final val = AuthLoginUser(
|
||||
id: $checkedConvert('id', (v) => v as String),
|
||||
username: $checkedConvert('username', (v) => v as String),
|
||||
firstName: $checkedConvert('firstName', (v) => v as String),
|
||||
lastName: $checkedConvert('lastName', (v) => v as String),
|
||||
userType: $checkedConvert('userType', (v) => v as String?),
|
||||
className: $checkedConvert('className', (v) => v as String?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$AuthLoginUserToJson(AuthLoginUser instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -27,12 +30,21 @@ Map<String, dynamic> _$AuthLoginUserToJson(AuthLoginUser instance) =>
|
||||
};
|
||||
|
||||
AuthLoginResponse _$AuthLoginResponseFromJson(Map<String, dynamic> json) =>
|
||||
AuthLoginResponse(
|
||||
token: json['token'] as String,
|
||||
tokenId: json['tokenId'] as String,
|
||||
expiresAt: AuthLoginResponse._expiresFromJson(json['expiresAt']),
|
||||
user: AuthLoginUser.fromJson(json['user'] as Map<String, dynamic>),
|
||||
);
|
||||
$checkedCreate('AuthLoginResponse', json, ($checkedConvert) {
|
||||
final val = AuthLoginResponse(
|
||||
token: $checkedConvert('token', (v) => v as String),
|
||||
tokenId: $checkedConvert('tokenId', (v) => v as String),
|
||||
expiresAt: $checkedConvert(
|
||||
'expiresAt',
|
||||
(v) => AuthLoginResponse._expiresFromJson(v),
|
||||
),
|
||||
user: $checkedConvert(
|
||||
'user',
|
||||
(v) => AuthLoginUser.fromJson(v as Map<String, dynamic>),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$AuthLoginResponseToJson(AuthLoginResponse instance) =>
|
||||
<String, dynamic>{
|
||||
|
||||
@@ -25,6 +25,7 @@ class GetBreakersResponse extends ApiResponse {
|
||||
|
||||
@JsonSerializable()
|
||||
class BreakerRule {
|
||||
@JsonKey(unknownEnumValue: BreakerArea.unknown)
|
||||
List<BreakerArea> areas;
|
||||
String message;
|
||||
|
||||
@@ -69,4 +70,7 @@ enum BreakerArea {
|
||||
feedback,
|
||||
@JsonValue('MORE')
|
||||
more,
|
||||
|
||||
/// An area the backend added after this build; no module maps to it.
|
||||
unknown,
|
||||
}
|
||||
|
||||
@@ -7,15 +7,25 @@ part of 'get_breakers_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
GetBreakersResponse _$GetBreakersResponseFromJson(Map<String, dynamic> json) =>
|
||||
GetBreakersResponse(
|
||||
(json['rules'] as List<dynamic>?)
|
||||
?.map((e) => BreakerRule.fromJson(e as Map<String, dynamic>))
|
||||
.toList() ??
|
||||
[],
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
$checkedCreate('GetBreakersResponse', json, ($checkedConvert) {
|
||||
final val = GetBreakersResponse(
|
||||
$checkedConvert(
|
||||
'rules',
|
||||
(v) =>
|
||||
(v as List<dynamic>?)
|
||||
?.map((e) => BreakerRule.fromJson(e as Map<String, dynamic>))
|
||||
.toList() ??
|
||||
[],
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$GetBreakersResponseToJson(
|
||||
GetBreakersResponse instance,
|
||||
@@ -24,13 +34,26 @@ Map<String, dynamic> _$GetBreakersResponseToJson(
|
||||
'rules': instance.rules.map((e) => e.toJson()).toList(),
|
||||
};
|
||||
|
||||
BreakerRule _$BreakerRuleFromJson(Map<String, dynamic> json) => BreakerRule(
|
||||
(json['areas'] as List<dynamic>)
|
||||
.map((e) => $enumDecode(_$BreakerAreaEnumMap, e))
|
||||
.toList(),
|
||||
json['message'] as String,
|
||||
(json['maxBuild'] as num?)?.toInt(),
|
||||
);
|
||||
BreakerRule _$BreakerRuleFromJson(Map<String, dynamic> json) =>
|
||||
$checkedCreate('BreakerRule', json, ($checkedConvert) {
|
||||
final val = BreakerRule(
|
||||
$checkedConvert(
|
||||
'areas',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map(
|
||||
(e) => $enumDecode(
|
||||
_$BreakerAreaEnumMap,
|
||||
e,
|
||||
unknownValue: BreakerArea.unknown,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
),
|
||||
$checkedConvert('message', (v) => v as String),
|
||||
$checkedConvert('maxBuild', (v) => (v as num?)?.toInt()),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$BreakerRuleToJson(BreakerRule instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -52,4 +75,5 @@ const _$BreakerAreaEnumMap = {
|
||||
BreakerArea.dates: 'DATES',
|
||||
BreakerArea.feedback: 'FEEDBACK',
|
||||
BreakerArea.more: 'MORE',
|
||||
BreakerArea.unknown: 'unknown',
|
||||
};
|
||||
|
||||
@@ -8,13 +8,28 @@ part of 'get_capabilities_response.dart';
|
||||
|
||||
CapabilitiesResponse _$CapabilitiesResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => CapabilitiesResponse(
|
||||
viewForeignTimetables: json['viewForeignTimetables'] as bool? ?? false,
|
||||
pushNotifications: json['pushNotifications'] as bool? ?? false,
|
||||
timetablePastDays: (json['timetablePastDays'] as num?)?.toInt(),
|
||||
timetableFutureDays: (json['timetableFutureDays'] as num?)?.toInt(),
|
||||
userType: json['userType'] as String?,
|
||||
);
|
||||
) => $checkedCreate('CapabilitiesResponse', json, ($checkedConvert) {
|
||||
final val = CapabilitiesResponse(
|
||||
viewForeignTimetables: $checkedConvert(
|
||||
'viewForeignTimetables',
|
||||
(v) => v as bool? ?? false,
|
||||
),
|
||||
pushNotifications: $checkedConvert(
|
||||
'pushNotifications',
|
||||
(v) => v as bool? ?? false,
|
||||
),
|
||||
timetablePastDays: $checkedConvert(
|
||||
'timetablePastDays',
|
||||
(v) => (v as num?)?.toInt(),
|
||||
),
|
||||
timetableFutureDays: $checkedConvert(
|
||||
'timetableFutureDays',
|
||||
(v) => (v as num?)?.toInt(),
|
||||
),
|
||||
userType: $checkedConvert('userType', (v) => v as String?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$CapabilitiesResponseToJson(
|
||||
CapabilitiesResponse instance,
|
||||
|
||||
@@ -7,14 +7,20 @@ part of 'get_ticker_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
TickerResponse _$TickerResponseFromJson(Map<String, dynamic> json) =>
|
||||
TickerResponse(
|
||||
schemaVersion: (json['schemaVersion'] as num?)?.toInt() ?? 1,
|
||||
available: json['available'] as bool? ?? false,
|
||||
hash: json['hash'] as String?,
|
||||
publishedAt: json['publishedAt'] as String?,
|
||||
webUrl: json['webUrl'] as String? ?? '/ticker',
|
||||
content: json['content'] as Map<String, dynamic>?,
|
||||
);
|
||||
$checkedCreate('TickerResponse', json, ($checkedConvert) {
|
||||
final val = TickerResponse(
|
||||
schemaVersion: $checkedConvert(
|
||||
'schemaVersion',
|
||||
(v) => (v as num?)?.toInt() ?? 1,
|
||||
),
|
||||
available: $checkedConvert('available', (v) => v as bool? ?? false),
|
||||
hash: $checkedConvert('hash', (v) => v as String?),
|
||||
publishedAt: $checkedConvert('publishedAt', (v) => v as String?),
|
||||
webUrl: $checkedConvert('webUrl', (v) => v as String? ?? '/ticker'),
|
||||
content: $checkedConvert('content', (v) => v as Map<String, dynamic>?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TickerResponseToJson(TickerResponse instance) =>
|
||||
<String, dynamic>{
|
||||
|
||||
@@ -7,15 +7,26 @@ part of 'get_ticker_nav_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
TickerNavResponse _$TickerNavResponseFromJson(Map<String, dynamic> json) =>
|
||||
TickerNavResponse(
|
||||
schemaVersion: (json['schemaVersion'] as num?)?.toInt() ?? 1,
|
||||
navHash: json['navHash'] as String? ?? '',
|
||||
sections:
|
||||
(json['sections'] as List<dynamic>?)
|
||||
?.map((e) => TickerNavSection.fromJson(e as Map<String, dynamic>))
|
||||
.toList() ??
|
||||
[],
|
||||
);
|
||||
$checkedCreate('TickerNavResponse', json, ($checkedConvert) {
|
||||
final val = TickerNavResponse(
|
||||
schemaVersion: $checkedConvert(
|
||||
'schemaVersion',
|
||||
(v) => (v as num?)?.toInt() ?? 1,
|
||||
),
|
||||
navHash: $checkedConvert('navHash', (v) => v as String? ?? ''),
|
||||
sections: $checkedConvert(
|
||||
'sections',
|
||||
(v) =>
|
||||
(v as List<dynamic>?)
|
||||
?.map(
|
||||
(e) => TickerNavSection.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList() ??
|
||||
[],
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TickerNavResponseToJson(TickerNavResponse instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -25,14 +36,22 @@ Map<String, dynamic> _$TickerNavResponseToJson(TickerNavResponse instance) =>
|
||||
};
|
||||
|
||||
TickerNavSection _$TickerNavSectionFromJson(Map<String, dynamic> json) =>
|
||||
TickerNavSection(
|
||||
title: json['title'] as String? ?? '',
|
||||
pages:
|
||||
(json['pages'] as List<dynamic>?)
|
||||
?.map((e) => TickerNavPage.fromJson(e as Map<String, dynamic>))
|
||||
.toList() ??
|
||||
[],
|
||||
);
|
||||
$checkedCreate('TickerNavSection', json, ($checkedConvert) {
|
||||
final val = TickerNavSection(
|
||||
title: $checkedConvert('title', (v) => v as String? ?? ''),
|
||||
pages: $checkedConvert(
|
||||
'pages',
|
||||
(v) =>
|
||||
(v as List<dynamic>?)
|
||||
?.map(
|
||||
(e) => TickerNavPage.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList() ??
|
||||
[],
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TickerNavSectionToJson(TickerNavSection instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -41,15 +60,21 @@ Map<String, dynamic> _$TickerNavSectionToJson(TickerNavSection instance) =>
|
||||
};
|
||||
|
||||
TickerNavPage _$TickerNavPageFromJson(Map<String, dynamic> json) =>
|
||||
TickerNavPage(
|
||||
title: json['title'] as String? ?? '',
|
||||
slug: json['slug'] as String? ?? '',
|
||||
kind: json['kind'] as String? ?? 'CONTENT',
|
||||
hash: json['hash'] as String?,
|
||||
externalUrl: json['externalUrl'] as String?,
|
||||
externalUrlNewTab: json['externalUrlNewTab'] as bool?,
|
||||
fileUrl: json['fileUrl'] as String?,
|
||||
);
|
||||
$checkedCreate('TickerNavPage', json, ($checkedConvert) {
|
||||
final val = TickerNavPage(
|
||||
title: $checkedConvert('title', (v) => v as String? ?? ''),
|
||||
slug: $checkedConvert('slug', (v) => v as String? ?? ''),
|
||||
kind: $checkedConvert('kind', (v) => v as String? ?? 'CONTENT'),
|
||||
hash: $checkedConvert('hash', (v) => v as String?),
|
||||
externalUrl: $checkedConvert('externalUrl', (v) => v as String?),
|
||||
externalUrlNewTab: $checkedConvert(
|
||||
'externalUrlNewTab',
|
||||
(v) => v as bool?,
|
||||
),
|
||||
fileUrl: $checkedConvert('fileUrl', (v) => v as String?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TickerNavPageToJson(TickerNavPage instance) =>
|
||||
<String, dynamic>{
|
||||
|
||||
@@ -7,22 +7,31 @@ part of 'get_ticker_page_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
TickerPageResponse _$TickerPageResponseFromJson(Map<String, dynamic> json) =>
|
||||
TickerPageResponse(
|
||||
schemaVersion: (json['schemaVersion'] as num?)?.toInt() ?? 1,
|
||||
slug: json['slug'] as String?,
|
||||
title: json['title'] as String?,
|
||||
kind: json['kind'] as String? ?? 'CONTENT',
|
||||
content: json['content'] as Map<String, dynamic>?,
|
||||
externalUrl: json['externalUrl'] as String?,
|
||||
externalUrlNewTab: json['externalUrlNewTab'] as bool?,
|
||||
fileUrl: json['fileUrl'] as String?,
|
||||
contentType: json['contentType'] as String?,
|
||||
filename: json['filename'] as String?,
|
||||
hash: json['hash'] as String?,
|
||||
webUrl: json['webUrl'] as String?,
|
||||
publishedAt: json['publishedAt'] as String?,
|
||||
fileFetchedAt: json['fileFetchedAt'] as String?,
|
||||
);
|
||||
$checkedCreate('TickerPageResponse', json, ($checkedConvert) {
|
||||
final val = TickerPageResponse(
|
||||
schemaVersion: $checkedConvert(
|
||||
'schemaVersion',
|
||||
(v) => (v as num?)?.toInt() ?? 1,
|
||||
),
|
||||
slug: $checkedConvert('slug', (v) => v as String?),
|
||||
title: $checkedConvert('title', (v) => v as String?),
|
||||
kind: $checkedConvert('kind', (v) => v as String? ?? 'CONTENT'),
|
||||
content: $checkedConvert('content', (v) => v as Map<String, dynamic>?),
|
||||
externalUrl: $checkedConvert('externalUrl', (v) => v as String?),
|
||||
externalUrlNewTab: $checkedConvert(
|
||||
'externalUrlNewTab',
|
||||
(v) => v as bool?,
|
||||
),
|
||||
fileUrl: $checkedConvert('fileUrl', (v) => v as String?),
|
||||
contentType: $checkedConvert('contentType', (v) => v as String?),
|
||||
filename: $checkedConvert('filename', (v) => v as String?),
|
||||
hash: $checkedConvert('hash', (v) => v as String?),
|
||||
webUrl: $checkedConvert('webUrl', (v) => v as String?),
|
||||
publishedAt: $checkedConvert('publishedAt', (v) => v as String?),
|
||||
fileFetchedAt: $checkedConvert('fileFetchedAt', (v) => v as String?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TickerPageResponseToJson(TickerPageResponse instance) =>
|
||||
<String, dynamic>{
|
||||
|
||||
@@ -36,6 +36,15 @@ class ClientErrorReporter {
|
||||
);
|
||||
}
|
||||
|
||||
/// Server entries the decoder could not map (see `decodeListLenient`): the
|
||||
/// app keeps working without them, the report says which field drifted.
|
||||
static void reportDecodeWarnings(String context, Iterable<String> warnings) {
|
||||
for (final warning in warnings) {
|
||||
log('$context: skipped entry: $warning');
|
||||
_report(errorType: 'decode', message: warning, context: context);
|
||||
}
|
||||
}
|
||||
|
||||
static void _report({
|
||||
required String errorType,
|
||||
required String message,
|
||||
|
||||
+25
-14
@@ -7,11 +7,14 @@ part of 'timetable_get_classes_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
McTimetableClass _$McTimetableClassFromJson(Map<String, dynamic> json) =>
|
||||
McTimetableClass(
|
||||
id: (json['id'] as num).toInt(),
|
||||
shortName: json['shortName'] as String,
|
||||
longName: json['longName'] as String,
|
||||
);
|
||||
$checkedCreate('McTimetableClass', json, ($checkedConvert) {
|
||||
final val = McTimetableClass(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
shortName: $checkedConvert('shortName', (v) => v as String),
|
||||
longName: $checkedConvert('longName', (v) => v as String),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McTimetableClassToJson(McTimetableClass instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -22,15 +25,23 @@ Map<String, dynamic> _$McTimetableClassToJson(McTimetableClass instance) =>
|
||||
|
||||
TimetableGetClassesResponse _$TimetableGetClassesResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetClassesResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McTimetableClass.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetClassesResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetClassesResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McTimetableClass.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetClassesResponseToJson(
|
||||
TimetableGetClassesResponse instance,
|
||||
|
||||
+17
-9
@@ -8,15 +8,23 @@ part of 'timetable_get_holidays_response.dart';
|
||||
|
||||
TimetableGetHolidaysResponse _$TimetableGetHolidaysResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetHolidaysResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McHoliday.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetHolidaysResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetHolidaysResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McHoliday.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetHolidaysResponseToJson(
|
||||
TimetableGetHolidaysResponse instance,
|
||||
|
||||
+26
-14
@@ -6,11 +6,15 @@ part of 'timetable_get_rooms_response.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
McRoom _$McRoomFromJson(Map<String, dynamic> json) => McRoom(
|
||||
id: (json['id'] as num).toInt(),
|
||||
shortName: json['shortName'] as String,
|
||||
longName: json['longName'] as String,
|
||||
);
|
||||
McRoom _$McRoomFromJson(Map<String, dynamic> json) =>
|
||||
$checkedCreate('McRoom', json, ($checkedConvert) {
|
||||
final val = McRoom(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
shortName: $checkedConvert('shortName', (v) => v as String),
|
||||
longName: $checkedConvert('longName', (v) => v as String),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McRoomToJson(McRoom instance) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
@@ -20,15 +24,23 @@ Map<String, dynamic> _$McRoomToJson(McRoom instance) => <String, dynamic>{
|
||||
|
||||
TimetableGetRoomsResponse _$TimetableGetRoomsResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetRoomsResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McRoom.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetRoomsResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetRoomsResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McRoom.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetRoomsResponseToJson(
|
||||
TimetableGetRoomsResponse instance,
|
||||
|
||||
+21
-14
@@ -8,20 +8,27 @@ part of 'timetable_get_schoolyear_response.dart';
|
||||
|
||||
TimetableGetSchoolyearResponse _$TimetableGetSchoolyearResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetSchoolyearResponse(
|
||||
id: (json['id'] as num).toInt(),
|
||||
name: json['name'] as String,
|
||||
startDate: TimetableGetSchoolyearResponse._dateFromJson(
|
||||
json['startDate'] as String,
|
||||
),
|
||||
endDate: TimetableGetSchoolyearResponse._dateFromJson(
|
||||
json['endDate'] as String,
|
||||
),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetSchoolyearResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetSchoolyearResponse(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
name: $checkedConvert('name', (v) => v as String),
|
||||
startDate: $checkedConvert(
|
||||
'startDate',
|
||||
(v) => TimetableGetSchoolyearResponse._dateFromJson(v as String),
|
||||
),
|
||||
endDate: $checkedConvert(
|
||||
'endDate',
|
||||
(v) => TimetableGetSchoolyearResponse._dateFromJson(v as String),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetSchoolyearResponseToJson(
|
||||
TimetableGetSchoolyearResponse instance,
|
||||
|
||||
+26
-15
@@ -7,12 +7,15 @@ part of 'timetable_get_students_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
McTimetableStudent _$McTimetableStudentFromJson(Map<String, dynamic> json) =>
|
||||
McTimetableStudent(
|
||||
id: (json['id'] as num).toInt(),
|
||||
firstName: json['firstName'] as String,
|
||||
lastName: json['lastName'] as String,
|
||||
displayName: json['displayName'] as String,
|
||||
);
|
||||
$checkedCreate('McTimetableStudent', json, ($checkedConvert) {
|
||||
final val = McTimetableStudent(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
firstName: $checkedConvert('firstName', (v) => v as String),
|
||||
lastName: $checkedConvert('lastName', (v) => v as String),
|
||||
displayName: $checkedConvert('displayName', (v) => v as String),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McTimetableStudentToJson(McTimetableStudent instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -24,15 +27,23 @@ Map<String, dynamic> _$McTimetableStudentToJson(McTimetableStudent instance) =>
|
||||
|
||||
TimetableGetStudentsResponse _$TimetableGetStudentsResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetStudentsResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McTimetableStudent.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetStudentsResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetStudentsResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McTimetableStudent.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetStudentsResponseToJson(
|
||||
TimetableGetStudentsResponse instance,
|
||||
|
||||
+27
-15
@@ -6,12 +6,16 @@ part of 'timetable_get_subjects_response.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
McSubject _$McSubjectFromJson(Map<String, dynamic> json) => McSubject(
|
||||
id: (json['id'] as num).toInt(),
|
||||
shortName: json['shortName'] as String,
|
||||
longName: json['longName'] as String,
|
||||
color: json['color'] as String?,
|
||||
);
|
||||
McSubject _$McSubjectFromJson(Map<String, dynamic> json) =>
|
||||
$checkedCreate('McSubject', json, ($checkedConvert) {
|
||||
final val = McSubject(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
shortName: $checkedConvert('shortName', (v) => v as String),
|
||||
longName: $checkedConvert('longName', (v) => v as String),
|
||||
color: $checkedConvert('color', (v) => v as String?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McSubjectToJson(McSubject instance) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
@@ -22,15 +26,23 @@ Map<String, dynamic> _$McSubjectToJson(McSubject instance) => <String, dynamic>{
|
||||
|
||||
TimetableGetSubjectsResponse _$TimetableGetSubjectsResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetSubjectsResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McSubject.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetSubjectsResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetSubjectsResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McSubject.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetSubjectsResponseToJson(
|
||||
TimetableGetSubjectsResponse instance,
|
||||
|
||||
+28
-17
@@ -8,11 +8,14 @@ part of 'timetable_get_teachers_response.dart';
|
||||
|
||||
McTimetableTeacherElement _$McTimetableTeacherElementFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => McTimetableTeacherElement(
|
||||
id: (json['id'] as num).toInt(),
|
||||
shortName: json['shortName'] as String,
|
||||
displayName: json['displayName'] as String,
|
||||
);
|
||||
) => $checkedCreate('McTimetableTeacherElement', json, ($checkedConvert) {
|
||||
final val = McTimetableTeacherElement(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
shortName: $checkedConvert('shortName', (v) => v as String),
|
||||
displayName: $checkedConvert('displayName', (v) => v as String),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McTimetableTeacherElementToJson(
|
||||
McTimetableTeacherElement instance,
|
||||
@@ -24,18 +27,26 @@ Map<String, dynamic> _$McTimetableTeacherElementToJson(
|
||||
|
||||
TimetableGetTeachersResponse _$TimetableGetTeachersResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetTeachersResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map(
|
||||
(e) =>
|
||||
McTimetableTeacherElement.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetTeachersResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetTeachersResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map(
|
||||
(e) =>
|
||||
McTimetableTeacherElement.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetTeachersResponseToJson(
|
||||
TimetableGetTeachersResponse instance,
|
||||
|
||||
+35
-15
@@ -7,12 +7,24 @@ part of 'timetable_get_timegrid_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
McTimegridUnit _$McTimegridUnitFromJson(Map<String, dynamic> json) =>
|
||||
McTimegridUnit(
|
||||
dayOfWeek: _dayFromJson(json['dayOfWeek'] as String),
|
||||
label: json['label'] as String,
|
||||
startTime: McTimegridUnit._timeFromJson(json['startTime'] as String),
|
||||
endTime: McTimegridUnit._timeFromJson(json['endTime'] as String),
|
||||
);
|
||||
$checkedCreate('McTimegridUnit', json, ($checkedConvert) {
|
||||
final val = McTimegridUnit(
|
||||
dayOfWeek: $checkedConvert(
|
||||
'dayOfWeek',
|
||||
(v) => _dayFromJson(v as String),
|
||||
),
|
||||
label: $checkedConvert('label', (v) => v as String),
|
||||
startTime: $checkedConvert(
|
||||
'startTime',
|
||||
(v) => McTimegridUnit._timeFromJson(v as String),
|
||||
),
|
||||
endTime: $checkedConvert(
|
||||
'endTime',
|
||||
(v) => McTimegridUnit._timeFromJson(v as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McTimegridUnitToJson(McTimegridUnit instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -24,15 +36,23 @@ Map<String, dynamic> _$McTimegridUnitToJson(McTimegridUnit instance) =>
|
||||
|
||||
TimetableGetTimegridResponse _$TimetableGetTimegridResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetTimegridResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McTimegridUnit.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetTimegridResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetTimegridResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McTimegridUnit.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetTimegridResponseToJson(
|
||||
TimetableGetTimegridResponse instance,
|
||||
|
||||
+87
-42
@@ -7,14 +7,23 @@ part of 'timetable_get_week_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
McTimetableTeacher _$McTimetableTeacherFromJson(Map<String, dynamic> json) =>
|
||||
McTimetableTeacher(
|
||||
shortName: json['shortName'] as String,
|
||||
displayName: json['displayName'] as String,
|
||||
originalShortName: json['originalShortName'] as String?,
|
||||
originalDisplayName: json['originalDisplayName'] as String?,
|
||||
id: (json['id'] as num?)?.toInt(),
|
||||
originalId: (json['originalId'] as num?)?.toInt(),
|
||||
);
|
||||
$checkedCreate('McTimetableTeacher', json, ($checkedConvert) {
|
||||
final val = McTimetableTeacher(
|
||||
shortName: $checkedConvert('shortName', (v) => v as String),
|
||||
displayName: $checkedConvert('displayName', (v) => v as String),
|
||||
originalShortName: $checkedConvert(
|
||||
'originalShortName',
|
||||
(v) => v as String?,
|
||||
),
|
||||
originalDisplayName: $checkedConvert(
|
||||
'originalDisplayName',
|
||||
(v) => v as String?,
|
||||
),
|
||||
id: $checkedConvert('id', (v) => (v as num?)?.toInt()),
|
||||
originalId: $checkedConvert('originalId', (v) => (v as num?)?.toInt()),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McTimetableTeacherToJson(McTimetableTeacher instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -26,31 +35,53 @@ Map<String, dynamic> _$McTimetableTeacherToJson(McTimetableTeacher instance) =>
|
||||
'originalId': instance.originalId,
|
||||
};
|
||||
|
||||
McTimetableEntry _$McTimetableEntryFromJson(Map<String, dynamic> json) =>
|
||||
McTimetableEntry(
|
||||
id: (json['id'] as num).toInt(),
|
||||
date: McTimetableEntry._dateFromJson(json['date'] as String),
|
||||
startTime: McTimetableEntry._timeFromJson(json['startTime'] as String),
|
||||
endTime: McTimetableEntry._timeFromJson(json['endTime'] as String),
|
||||
subjects: (json['subjects'] as List<dynamic>)
|
||||
.map((e) => e as String)
|
||||
.toList(),
|
||||
teachers: (json['teachers'] as List<dynamic>)
|
||||
McTimetableEntry _$McTimetableEntryFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => $checkedCreate('McTimetableEntry', json, ($checkedConvert) {
|
||||
final val = McTimetableEntry(
|
||||
id: $checkedConvert('id', (v) => (v as num).toInt()),
|
||||
date: $checkedConvert(
|
||||
'date',
|
||||
(v) => McTimetableEntry._dateFromJson(v as String),
|
||||
),
|
||||
startTime: $checkedConvert(
|
||||
'startTime',
|
||||
(v) => McTimetableEntry._timeFromJson(v as String),
|
||||
),
|
||||
endTime: $checkedConvert(
|
||||
'endTime',
|
||||
(v) => McTimetableEntry._timeFromJson(v as String),
|
||||
),
|
||||
subjects: $checkedConvert(
|
||||
'subjects',
|
||||
(v) => (v as List<dynamic>).map((e) => e as String).toList(),
|
||||
),
|
||||
teachers: $checkedConvert(
|
||||
'teachers',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McTimetableTeacher.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
rooms: (json['rooms'] as List<dynamic>).map((e) => e as String).toList(),
|
||||
classNames: (json['classNames'] as List<dynamic>)
|
||||
.map((e) => e as String)
|
||||
.toList(),
|
||||
lessonType: json['lessonType'] as String,
|
||||
status: json['status'] as String,
|
||||
substitutionText: json['substitutionText'] as String?,
|
||||
lessonText: json['lessonText'] as String?,
|
||||
infoText: json['infoText'] as String?,
|
||||
classIds: (json['classIds'] as List<dynamic>?)
|
||||
?.map((e) => (e as num).toInt())
|
||||
.toList(),
|
||||
);
|
||||
),
|
||||
rooms: $checkedConvert(
|
||||
'rooms',
|
||||
(v) => (v as List<dynamic>).map((e) => e as String).toList(),
|
||||
),
|
||||
classNames: $checkedConvert(
|
||||
'classNames',
|
||||
(v) => (v as List<dynamic>).map((e) => e as String).toList(),
|
||||
),
|
||||
lessonType: $checkedConvert('lessonType', (v) => v as String),
|
||||
status: $checkedConvert('status', (v) => v as String),
|
||||
substitutionText: $checkedConvert('substitutionText', (v) => v as String?),
|
||||
lessonText: $checkedConvert('lessonText', (v) => v as String?),
|
||||
infoText: $checkedConvert('infoText', (v) => v as String?),
|
||||
classIds: $checkedConvert(
|
||||
'classIds',
|
||||
(v) => (v as List<dynamic>?)?.map((e) => (e as num).toInt()).toList(),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McTimetableEntryToJson(McTimetableEntry instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -72,17 +103,31 @@ Map<String, dynamic> _$McTimetableEntryToJson(McTimetableEntry instance) =>
|
||||
|
||||
TimetableGetWeekResponse _$TimetableGetWeekResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
TimetableGetWeekResponse(
|
||||
from: McTimetableEntry._dateFromJson(json['from'] as String),
|
||||
until: McTimetableEntry._dateFromJson(json['until'] as String),
|
||||
entries: (json['entries'] as List<dynamic>)
|
||||
.map((e) => McTimetableEntry.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
) => $checkedCreate('TimetableGetWeekResponse', json, ($checkedConvert) {
|
||||
final val = TimetableGetWeekResponse(
|
||||
from: $checkedConvert(
|
||||
'from',
|
||||
(v) => McTimetableEntry._dateFromJson(v as String),
|
||||
),
|
||||
until: $checkedConvert(
|
||||
'until',
|
||||
(v) => McTimetableEntry._dateFromJson(v as String),
|
||||
),
|
||||
entries: $checkedConvert(
|
||||
'entries',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map((e) => McTimetableEntry.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$TimetableGetWeekResponseToJson(
|
||||
TimetableGetWeekResponse instance,
|
||||
|
||||
@@ -7,13 +7,16 @@ part of 'user_search_response.dart';
|
||||
// **************************************************************************
|
||||
|
||||
McUserSearchResult _$McUserSearchResultFromJson(Map<String, dynamic> json) =>
|
||||
McUserSearchResult(
|
||||
username: json['username'] as String,
|
||||
firstName: json['firstName'] as String,
|
||||
lastName: json['lastName'] as String,
|
||||
userType: json['userType'] as String,
|
||||
className: json['className'] as String?,
|
||||
);
|
||||
$checkedCreate('McUserSearchResult', json, ($checkedConvert) {
|
||||
final val = McUserSearchResult(
|
||||
username: $checkedConvert('username', (v) => v as String),
|
||||
firstName: $checkedConvert('firstName', (v) => v as String),
|
||||
lastName: $checkedConvert('lastName', (v) => v as String),
|
||||
userType: $checkedConvert('userType', (v) => v as String),
|
||||
className: $checkedConvert('className', (v) => v as String?),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$McUserSearchResultToJson(McUserSearchResult instance) =>
|
||||
<String, dynamic>{
|
||||
@@ -25,14 +28,25 @@ Map<String, dynamic> _$McUserSearchResultToJson(McUserSearchResult instance) =>
|
||||
};
|
||||
|
||||
UserSearchResponse _$UserSearchResponseFromJson(Map<String, dynamic> json) =>
|
||||
UserSearchResponse(
|
||||
result: (json['result'] as List<dynamic>)
|
||||
.map((e) => McUserSearchResult.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
$checkedCreate('UserSearchResponse', json, ($checkedConvert) {
|
||||
final val = UserSearchResponse(
|
||||
result: $checkedConvert(
|
||||
'result',
|
||||
(v) => (v as List<dynamic>)
|
||||
.map(
|
||||
(e) => McUserSearchResult.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
$checkedConvert(
|
||||
'headers',
|
||||
(v) => val.headers = (v as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
),
|
||||
);
|
||||
return val;
|
||||
});
|
||||
|
||||
Map<String, dynamic> _$UserSearchResponseToJson(UserSearchResponse instance) =>
|
||||
<String, dynamic>{
|
||||
|
||||
Reference in New Issue
Block a user