Surface/lib/models/sticker.dart
2025-05-11 22:05:54 +08:00

43 lines
1.1 KiB
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:island/models/file.dart';
import 'package:island/models/post.dart';
part 'sticker.freezed.dart';
part 'sticker.g.dart';
@freezed
abstract class SnSticker with _$SnSticker {
const factory SnSticker({
required String id,
required String slug,
required String imageId,
required SnCloudFile image,
required String packId,
required SnStickerPack? pack,
required DateTime createdAt,
required DateTime updatedAt,
required DateTime? deletedAt,
}) = _SnSticker;
factory SnSticker.fromJson(Map<String, dynamic> json) =>
_$SnStickerFromJson(json);
}
@freezed
abstract class SnStickerPack with _$SnStickerPack {
const factory SnStickerPack({
required String id,
required String name,
required String description,
required String prefix,
required int publisherId,
required SnPublisher? publisher,
required DateTime createdAt,
required DateTime updatedAt,
required DateTime? deletedAt,
}) = _SnStickerPack;
factory SnStickerPack.fromJson(Map<String, dynamic> json) =>
_$SnStickerPackFromJson(json);
}