import 'dart:convert'; import 'dart:typed_data'; import 'package:syncrow_web/utils/constants/assets.dart'; class ScenesModel { final String id; final String? sceneTuyaId; final String name; final String status; final String type; final String? icon; ScenesModel({ required this.id, this.sceneTuyaId, required this.name, required this.status, required this.type, this.icon, }); factory ScenesModel.fromRawJson(String str) => ScenesModel.fromJson(json.decode(str)); String toRawJson() => json.encode(toJson()); Uint8List get iconInBytes => base64Decode(icon ?? ''); factory ScenesModel.fromJson(Map json, {bool? isAutomation}) { return ScenesModel( id: json["id"] ?? json["uuid"] ?? '', sceneTuyaId: json["sceneTuyaId"] as String?, name: json["name"] ?? '', status: json["status"] ?? '', type: json["type"] ?? '', icon: isAutomation == true ? Assets.automation : (json["icon"] as String?), ); } Map toJson() => { "id": id, "sceneTuyaId": sceneTuyaId ?? '', "name": name, "status": status, "type": type, }; }