Surface/lib/models/activity.dart
2025-05-08 23:04:06 +08:00

54 lines
1.4 KiB
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:island/models/user.dart';
part 'activity.freezed.dart';
part 'activity.g.dart';
@freezed
abstract class SnActivity with _$SnActivity {
const factory SnActivity({
required String id,
required String type,
required String resourceIdentifier,
required int visibility,
required int accountId,
required SnAccount account,
required dynamic data,
required DateTime createdAt,
required DateTime updatedAt,
required dynamic deletedAt,
}) = _SnActivity;
factory SnActivity.fromJson(Map<String, dynamic> json) =>
_$SnActivityFromJson(json);
}
@freezed
abstract class SnCheckInResult with _$SnCheckInResult {
const factory SnCheckInResult({
required String id,
required int level,
required List<SnFortuneTip> tips,
required int accountId,
required SnAccount? account,
required DateTime createdAt,
required DateTime updatedAt,
required DateTime? deletedAt,
}) = _SnCheckInResult;
factory SnCheckInResult.fromJson(Map<String, dynamic> json) =>
_$SnCheckInResultFromJson(json);
}
@freezed
abstract class SnFortuneTip with _$SnFortuneTip {
const factory SnFortuneTip({
required bool isPositive,
required String title,
required String content,
}) = _SnFortuneTip;
factory SnFortuneTip.fromJson(Map<String, dynamic> json) =>
_$SnFortuneTipFromJson(json);
}