import 'package:hoshan/data/model/tools_categories_model.dart'; class BotsModel { List? bots; BotsModel({this.bots}); BotsModel.fromJson(Map json) { if (json['bots'] != null) { bots = []; json['bots'].forEach((v) { bots!.add(Bots.fromJson(v)); }); } } Map toJson() { final Map data = {}; if (bots != null) { data['bots'] = bots!.map((v) => v.toJson()).toList(); } return data; } } class Bots { int? id; String? image; String? image2; String? model; String? name; int? cost; int? limit; bool? public; int? attachment; bool? marked; bool? tool; bool? deleted; List? attachmentType; double? score; int? comments; int? messages; int? users; String? description; String? createdAt; String? type; User? user; Categories? category; UserComment? userComment; Bots({ this.id, this.image, this.image2, this.model, this.name, this.cost, this.limit, this.public, this.attachment, this.marked, this.tool, this.deleted, this.attachmentType, this.score, this.comments = 0, this.messages, this.users, this.description, this.createdAt, this.user, this.category, this.userComment, this.type, }); Bots.fromNotification(Map json) { id = int.parse(json['id']); name = json['name']; model = json['model']; image = json['image']; image2 = json['image_2']; attachment = int.parse(json['attachment']); tool = json['tool'].toString().toLowerCase() == 'true'; deleted = json['deleted'].toString().toLowerCase() == 'true'; cost = int.parse(json['cost']); limit = int.parse(json['limit']); public = json['public']; type = json['type']; marked = json['marked']; if (json['attachment_type'] != null && json['attachment_type'].toString().toLowerCase() != 'null') { attachmentType = []; json['attachment_type'].forEach((v) { attachmentType!.add(v); }); } score = json['score']; comments = json['comments']; users = json['users']; messages = json['messages']; description = json['description']; createdAt = json['created_at']; user = json['user'] != null ? User.fromJson(json['user']) : null; category = json['category'] != null ? Categories.fromJson(json['category']) : null; userComment = json['user_comment'] != null ? UserComment.fromJson(json['user_comment']) : null; } Bots.fromJson(Map json) { id = json['id']; name = json['name']; model = json['model']; image = json['image']; image2 = json['image_2']; attachment = json['attachment']; tool = json['tool']; deleted = json['deleted']; type = json['type']; cost = json['cost']; limit = json['limit']; public = json['public']; marked = json['marked']; if (json['attachment_type'] != null) { attachmentType = []; json['attachment_type'].forEach((v) { attachmentType!.add(v); }); } score = json['score']; comments = json['comments']; users = json['users']; messages = json['messages']; description = json['description']; createdAt = json['created_at']; user = json['user'] != null ? User.fromJson(json['user']) : null; category = json['category'] != null ? Categories.fromJson(json['category']) : null; userComment = json['user_comment'] != null ? UserComment.fromJson(json['user_comment']) : null; } Map toJson() { final Map data = {}; data['id'] = id; data['name'] = name; data['model'] = model; data['image'] = image; data['image_2'] = image2; data['attachment'] = attachment; data['tool'] = tool; data['deleted'] = deleted; data['cost'] = cost; data['limit'] = limit; data['public'] = public; data['marked'] = marked; data['attachment_type'] = attachmentType; return data; } Bots copyWith({ int? id, String? image, String? image2, String? model, String? name, int? cost, int? limit, bool? public, int? attachment, bool? marked, bool? tool, bool? deleted, List? attachmentType, double? score, int? comments, int? messages, int? users, String? description, String? createdAt, User? user, Categories? category, UserComment? userComment, }) { return Bots( id: id ?? this.id, image: image ?? this.image, image2: image2 ?? this.image2, model: model ?? this.model, name: name ?? this.name, cost: cost ?? this.cost, limit: limit ?? this.limit, public: public ?? this.public, attachment: attachment ?? this.attachment, marked: marked ?? this.marked, tool: tool ?? this.tool, deleted: deleted ?? this.deleted, attachmentType: attachmentType ?? this.attachmentType, score: score ?? this.score, comments: comments ?? this.comments, messages: messages ?? this.messages, users: users ?? this.users, description: description ?? this.description, createdAt: createdAt ?? this.createdAt, user: user ?? this.user, category: category ?? this.category, userComment: userComment ?? this.userComment, ); } } class User { String? name; String? username; User({this.name, this.username}); User.fromJson(Map json) { name = json['name']; username = json['username']; } Map toJson() { final Map data = {}; data['name'] = name; data['username'] = username; return data; } } class UserComment { String? text; double? score; UserComment({this.text, this.score}); UserComment.fromJson(Map json) { text = json['text']; score = json['score']; } Map toJson() { final Map data = {}; data['text'] = text; data['score'] = score; return data; } }