TypeScript
class OrdersModel {
String id, email, name, phone, status, user_id, address;
int discount, total, created_at;
List<OrderProductModel> products;
OrdersModel({
required this.id,
required this.created_at,
required this.email,
required this.name,
required this.phone,
required this.address,
required this.status,
required this.user_id,
required this.discount,
required this.total,
required this.products,
});
// Convert Appwrite's Document to OrdersModel
factory OrdersModel.fromJson(Document doc, [Strings]) {
final data = doc.data;
return OrdersModel(
id: doc.$id,
created_at: data['created_at'] ?? 0,
email: data['email'] ?? '',
name: data['name'] ?? '',
phone: data['phone'] ?? '',
status: data['status'] ?? '',
address: data['address'] ?? '',
user_id: data['user_id'] ?? '',
discount: data['discount'] ?? 0,
total: data['total'] ?? 0,
products: List<OrderProductModel>.from(data['products']?.map((e) => OrderProductModel.fromJson(e)) ?? []),
);
}
// Convert a list of Documents to a list of OrdersModels
static List<OrdersModel> fromJsonList(List<Document> docs) {
return docs.map((doc) => OrdersModel.fromJson(doc)).toList();
}
}
class OrderProductModel {
String id, name, image;
int quantity, single_price, total_price;
OrderProductModel({
required this.id,
required this.name,
required this.image,
required this.quantity,
required this.single_price,
required this.total_price,
});
factory OrderProductModel.fromJson(Map<String, dynamic> json) {
return OrderProductModel(
id: json['id'] ?? '',
name: json['name'] ?? '',
image: json['image'] ?? '',
quantity: json['quantity'] ?? 0,
single_price: json['single_price'] ?? 0,
total_price: json['total_price'] ?? 0,
);
}
}```
TL;DR
Developers are confused about creating a product attribute. The code provided showcases how to convert a document to OrdersModel and a list of documents to a list of OrdersModels, including OrderProductModel.How can I create thus Product Attribute can any one tell me please!
Recommended threads
- is `account.get()` safe to be used in th...
I want to user's `id` for authentication. However, a while ago I was told in this server not to use `account.get()` and instead add user preferences for that us...
- Appwrite console is too heavy
The Appwrite console is too heavy And all of my services broken Any support , please
- Usage of the new Client() and dealing wi...
Hey guys, just a quick one - we had some web traffic the other day and it ended up bombing out - To put in perspective of how the app works, we have a Nuxt Ap...