Files
grocery_user_app-frontend/lib/src/data/product_details.dart
2025-02-10 02:37:06 +05:30

1314 lines
36 KiB
Dart

// // To parse this JSON data, do
// //
// // final productDetails = productDetailsFromJson(jsondynamic);
// import 'dart:convert';
// import 'dart:ffi';
// ProductDetailsData productDetailsdataFromJson(dynamic str) =>
// ProductDetailsData.fromJson(json.decode(str));
// dynamic productDetailsToJson(ProductDetailsData data) =>
// json.encode(data.toJson());
// class ProductDetailsData {
// Data? data;
// ProductDetailsData({
// this.data,
// });
// factory ProductDetailsData.fromJson(Map<dynamic, dynamic> json) =>
// ProductDetailsData(
// data: Data.fromJson(json["data"]),
// );
// Map<dynamic, dynamic> toJson() => {
// "data": data!.toJson(),
// };
// }
// class Data {
// dynamic id;
// dynamic name;
// dynamic description;
// dynamic additionalInfo;
// dynamic brand;
// dynamic basePrice;
// dynamic discountPrice;
// dynamic? stock;
// dynamic? quantity;
// dynamic unit;
// dynamic slug;
// dynamic averageRating;
// bool? isInStock;
// bool? isActive;
// DateTime? createdAt;
// DateTime? updatedAt;
// dynamic storeId;
// dynamic categoryId;
// dynamic productTypeId;
// dynamic timeSlotId;
// Store? store;
// Category? category;
// dynamic? productType;
// dynamic timeSlot;
// List<ProductImage>? productImages;
// List<dynamic>? productTags;
// List<dynamic>? zones;
// List<ProductReview>? productReview;
// List<dynamic>? questions;
// List<CartItem>? cartItems;
// List<WishlistItem>? wishlistItem;
// List<dynamic>? applicableCoupons;
// bool? isInWishlist;
// Data({
// this.id,
// this.name,
// this.description,
// this.additionalInfo,
// this.brand,
// this.basePrice,
// this.discountPrice,
// this.stock,
// this.quantity,
// this.unit,
// this.slug,
// this.averageRating,
// this.isInStock,
// this.isActive,
// this.createdAt,
// this.updatedAt,
// this.storeId,
// this.categoryId,
// this.productTypeId,
// this.timeSlotId,
// this.store,
// this.category,
// this.productType,
// this.timeSlot,
// this.productImages,
// this.productTags,
// this.zones,
// this.productReview,
// this.questions,
// this.cartItems,
// this.wishlistItem,
// this.applicableCoupons,
// this.isInWishlist,
// });
// factory Data.fromJson(Map<dynamic, dynamic> json) => Data(
// id: json["id"],
// name: json["name"],
// description: json["description"],
// additionalInfo: json["additionalInfo"],
// brand: json["brand"],
// basePrice: json["basePrice"],
// discountPrice: json["discountPrice"],
// stock: json["stock"],
// quantity: json["quantity"],
// unit: json["unit"],
// slug: json["slug"],
// averageRating: json["averageRating"],
// isInStock: json["isInStock"],
// isActive: json["isActive"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// storeId: json["storeId"],
// categoryId: json["categoryId"],
// productTypeId: json["productTypeId"],
// timeSlotId: json["timeSlotId"],
// store: Store.fromJson(json["store"]),
// category: Category.fromJson(json["category"]),
// productType: json["productType"],
// timeSlot: json["timeSlot"],
// productImages: List<ProductImage>.from(
// json["productImages"].map((x) => ProductImage.fromJson(x))),
// productTags: List<dynamic>.from(json["productTags"].map((x) => x)),
// zones: List<dynamic>.from(json["zones"].map((x) => x)),
// productReview: List<ProductReview>.from(
// json["ProductReview"].map((x) => ProductReview.fromJson(x))),
// questions: List<dynamic>.from(json["questions"].map((x) => x)),
// cartItems: List<CartItem>.from(
// json["cartItems"].map((x) => CartItem.fromJson(x))),
// wishlistItem: List<WishlistItem>.from(
// json["WishlistItem"].map((x) => WishlistItem.fromJson(x))),
// applicableCoupons:
// List<dynamic>.from(json["applicableCoupons"].map((x) => x)),
// isInWishlist: json["isInWishlist"],
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "name": name,
// "description": description,
// "additionalInfo": additionalInfo,
// "brand": brand,
// "basePrice": basePrice,
// "discountPrice": discountPrice,
// "stock": stock,
// "quantity": quantity,
// "unit": unit,
// "slug": slug,
// "averageRating": averageRating,
// "isInStock": isInStock,
// "isActive": isActive,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// "storeId": storeId,
// "categoryId": categoryId,
// "productTypeId": productTypeId,
// "timeSlotId": timeSlotId,
// "store": store!.toJson(),
// "category": category!.toJson(),
// "productType": productType,
// "timeSlot": timeSlot,
// "productImages":
// List<dynamic>.from(productImages!.map((x) => x.toJson())),
// "productTags": List<dynamic>.from(productTags!.map((x) => x)),
// "zones": List<dynamic>.from(zones!.map((x) => x)),
// "ProductReview": List<dynamic>.from(productReview!.map((x) => x)),
// "questions": List<dynamic>.from(questions!.map((x) => x)),
// "cartItems": List<dynamic>.from(cartItems!.map((x) => x.toJson())),
// "WishlistItem":
// List<dynamic>.from(wishlistItem!.map((x) => x.toJson())),
// "applicableCoupons":
// List<dynamic>.from(applicableCoupons!.map((x) => x)),
// "isInWishlist": isInWishlist,
// };
// }
// class CartItem {
// dynamic id;
// dynamic quantity;
// dynamic priceSnapshot;
// dynamic cartId;
// dynamic productId;
// dynamic storeId;
// DateTime? createdAt;
// DateTime? updatedAt;
// CartItem({
// this.id,
// this.quantity,
// this.priceSnapshot,
// this.cartId,
// this.productId,
// this.storeId,
// this.createdAt,
// this.updatedAt,
// });
// factory CartItem.fromJson(Map<dynamic, dynamic> json) => CartItem(
// id: json["id"],
// quantity: json["quantity"],
// priceSnapshot: json["priceSnapshot"],
// cartId: json["cartId"],
// productId: json["productId"],
// storeId: json["storeId"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "quantity": quantity,
// "priceSnapshot": priceSnapshot,
// "cartId": cartId,
// "productId": productId,
// "storeId": storeId,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// };
// }
// class Category {
// dynamic id;
// dynamic name;
// dynamic description;
// dynamic image;
// dynamic slug;
// dynamic level;
// bool? isActive;
// DateTime? createdAt;
// DateTime? updatedAt;
// dynamic parentCategoryId;
// dynamic path;
// Category({
// this.id,
// this.name,
// this.description,
// this.image,
// this.slug,
// this.level,
// this.isActive,
// this.createdAt,
// this.updatedAt,
// this.parentCategoryId,
// this.path,
// });
// factory Category.fromJson(Map<dynamic, dynamic> json) => Category(
// id: json["id"],
// name: json["name"],
// description: json["description"],
// image: json["image"],
// slug: json["slug"],
// level: json["level"],
// isActive: json["isActive"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// parentCategoryId: json["parentCategoryId"],
// path: json["path"],
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "name": name,
// "description": description,
// "image": image,
// "slug": slug,
// "level": level,
// "isActive": isActive,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// "parentCategoryId": parentCategoryId,
// "path": path,
// };
// }
// class ProductImage {
// dynamic id;
// dynamic url;
// bool? isDefault;
// dynamic productId;
// ProductImage({
// this.id,
// this.url,
// this.isDefault,
// this.productId,
// });
// factory ProductImage.fromJson(Map<dynamic, dynamic> json) => ProductImage(
// id: json["id"],
// url: json["url"],
// isDefault: json["isDefault"],
// productId: json["productId"],
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "url": url,
// "isDefault": isDefault,
// "productId": productId,
// };
// }
// class Store {
// dynamic id;
// dynamic storeName;
// dynamic storeDescription;
// dynamic officialPhoneNumber;
// dynamic storeAddress;
// dynamic gstNumber;
// dynamic gumastaNumber;
// dynamic storePicture;
// DateTime? createdAt;
// DateTime? updatedAt;
// dynamic vendorId;
// bool? isActive;
// dynamic couponId;
// Store({
// this.id,
// this.storeName,
// this.storeDescription,
// this.officialPhoneNumber,
// this.storeAddress,
// this.gstNumber,
// this.gumastaNumber,
// this.storePicture,
// this.createdAt,
// this.updatedAt,
// this.vendorId,
// this.isActive,
// this.couponId,
// });
// factory Store.fromJson(Map<dynamic, dynamic> json) => Store(
// id: json["id"],
// storeName: json["storeName"],
// storeDescription: json["storeDescription"],
// officialPhoneNumber: json["officialPhoneNumber"],
// storeAddress: json["storeAddress"],
// gstNumber: json["gstNumber"],
// gumastaNumber: json["gumastaNumber"],
// storePicture: json["storePicture"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// vendorId: json["vendorId"],
// isActive: json["isActive"],
// couponId: json["couponId"],
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "storeName": storeName,
// "storeDescription": storeDescription,
// "officialPhoneNumber": officialPhoneNumber,
// "storeAddress": storeAddress,
// "gstNumber": gstNumber,
// "gumastaNumber": gumastaNumber,
// "storePicture": storePicture,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// "vendorId": vendorId,
// "isActive": isActive,
// "couponId": couponId,
// };
// }
// class WishlistItem {
// dynamic id;
// dynamic wishlistId;
// dynamic productId;
// dynamic storeId;
// DateTime? createdAt;
// DateTime? updatedAt;
// WishlistItem({
// this.id,
// this.wishlistId,
// this.productId,
// this.storeId,
// this.createdAt,
// this.updatedAt,
// });
// factory WishlistItem.fromJson(Map<dynamic, dynamic> json) => WishlistItem(
// id: json["id"],
// wishlistId: json["wishlistId"],
// productId: json["productId"],
// storeId: json["storeId"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "wishlistId": wishlistId,
// "productId": productId,
// "storeId": storeId,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// };
// }
// class ProductReview {
// dynamic id;
// dynamic userId;
// dynamic productId;
// dynamic rating;
// dynamic title;
// dynamic description;
// int? likes;
// int? dislikes;
// int? helpfulCount;
// bool? verifiedPurchase;
// dynamic status;
// DateTime? createdAt;
// DateTime? updatedAt;
// User? user;
// List<ProductReviewImage>? productReviewImage;
// ProductReview({
// this.id,
// this.userId,
// this.productId,
// this.rating,
// this.title,
// this.description,
// this.likes,
// this.dislikes,
// this.helpfulCount,
// this.verifiedPurchase,
// this.status,
// this.createdAt,
// this.updatedAt,
// this.user,
// this.productReviewImage,
// });
// factory ProductReview.fromJson(Map<dynamic, dynamic> json) => ProductReview(
// id: json["id"],
// userId: json["userId"],
// productId: json["productId"],
// rating: json["rating"],
// title: json["title"],
// description: json["description"],
// likes: json["likes"],
// dislikes: json["dislikes"],
// helpfulCount: json["helpfulCount"],
// verifiedPurchase: json["verifiedPurchase"],
// status: json["status"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// user: User.fromJson(json["user"]),
// productReviewImage: List<ProductReviewImage>.from(
// json["ProductReviewImage"]
// .map((x) => ProductReviewImage.fromJson(x))),
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "userId": userId,
// "productId": productId,
// "rating": rating,
// "title": title,
// "description": description,
// "likes": likes,
// "dislikes": dislikes,
// "helpfulCount": helpfulCount,
// "verifiedPurchase": verifiedPurchase,
// "status": status,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// "user": user!.toJson(),
// "ProductReviewImage":
// List<dynamic>.from(productReviewImage!.map((x) => x.toJson())),
// };
// }
// class ProductReviewImage {
// dynamic id;
// dynamic reviewId;
// dynamic imageUrl;
// bool? isDefault;
// DateTime? createdAt;
// ProductReviewImage({
// this.id,
// this.reviewId,
// this.imageUrl,
// this.isDefault,
// this.createdAt,
// });
// factory ProductReviewImage.fromJson(Map<dynamic, dynamic> json) =>
// ProductReviewImage(
// id: json["id"],
// reviewId: json["reviewId"],
// imageUrl: json["imageUrl"],
// isDefault: json["isDefault"],
// createdAt: DateTime.parse(json["createdAt"]),
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "reviewId": reviewId,
// "imageUrl": imageUrl,
// "isDefault": isDefault,
// "createdAt": createdAt,
// };
// }
// class User {
// dynamic id;
// dynamic email;
// dynamic firstName;
// dynamic lastName;
// dynamic name;
// dynamic img;
// dynamic authType;
// dynamic role;
// dynamic phone;
// dynamic password;
// bool? isActive;
// bool? isPhoneVerified;
// dynamic vendorType;
// dynamic businessId;
// bool? isVendorAccountCreated;
// bool? isVendorAccountActive;
// bool? vendorTermsAccepted;
// DateTime? createdAt;
// DateTime? updatedAt;
// dynamic rtHash;
// dynamic resetToken;
// dynamic resetTokenExpiresAt;
// User({
// this.id,
// this.email,
// this.firstName,
// this.lastName,
// this.name,
// this.img,
// this.authType,
// this.role,
// this.phone,
// this.password,
// this.isActive,
// this.isPhoneVerified,
// this.vendorType,
// this.businessId,
// this.isVendorAccountCreated,
// this.isVendorAccountActive,
// this.vendorTermsAccepted,
// this.createdAt,
// this.updatedAt,
// this.rtHash,
// this.resetToken,
// this.resetTokenExpiresAt,
// });
// factory User.fromJson(Map<dynamic, dynamic> json) => User(
// id: json["id"],
// email: json["email"],
// firstName: json["firstName"],
// lastName: json["lastName"],
// name: json["name"],
// img: json["img"],
// authType: json["authType"],
// role: json["role"],
// phone: json["phone"],
// password: json["password"],
// isActive: json["isActive"],
// isPhoneVerified: json["isPhoneVerified"],
// vendorType: json["vendorType"],
// businessId: json["businessId"],
// isVendorAccountCreated: json["isVendorAccountCreated"],
// isVendorAccountActive: json["isVendorAccountActive"],
// vendorTermsAccepted: json["vendorTermsAccepted"],
// createdAt: DateTime.parse(json["createdAt"]),
// updatedAt: DateTime.parse(json["updatedAt"]),
// rtHash: json["rtHash"],
// resetToken: json["resetToken"],
// resetTokenExpiresAt: json["resetTokenExpiresAt"],
// );
// Map<dynamic, dynamic> toJson() => {
// "id": id,
// "email": email,
// "firstName": firstName,
// "lastName": lastName,
// "name": name,
// "img": img,
// "authType": authType,
// "role": role,
// "phone": phone,
// "password": password,
// "isActive": isActive,
// "isPhoneVerified": isPhoneVerified,
// "vendorType": vendorType,
// "businessId": businessId,
// "isVendorAccountCreated": isVendorAccountCreated,
// "isVendorAccountActive": isVendorAccountActive,
// "vendorTermsAccepted": vendorTermsAccepted,
// "createdAt": createdAt,
// "updatedAt": updatedAt,
// "rtHash": rtHash,
// "resetToken": resetToken,
// "resetTokenExpiresAt": resetTokenExpiresAt,
// };
// }
// To parse this JSON data, do
//
// final productDetailsData = productDetailsDataFromJson(jsondynamic);
import 'dart:convert';
ProductDetailsData productDetailsDataFromJson(dynamic str) =>
ProductDetailsData.fromJson(json.decode(str));
dynamic productDetailsDataToJson(ProductDetailsData data) =>
json.encode(data.toJson());
class ProductDetailsData {
Data? data;
ProductDetailsData({
this.data,
});
factory ProductDetailsData.fromJson(Map<dynamic, dynamic> json) =>
ProductDetailsData(
data: Data.fromJson(json["data"]),
);
Map<dynamic, dynamic> toJson() => {
"data": data!.toJson(),
};
}
class Data {
dynamic id;
dynamic name;
dynamic description;
dynamic additionalInfo;
dynamic brand;
dynamic basePrice;
dynamic discountPrice;
dynamic stock;
dynamic quantity;
dynamic unit;
dynamic slug;
dynamic averageRating;
bool? isInStock;
bool? isActive;
dynamic disclaimer;
dynamic customerCareDetails;
dynamic manufacturerName;
dynamic manufacturerAddress;
dynamic countryOfOrigin;
DateTime? expiryDate;
dynamic returnsAllowedDays;
dynamic exchangeAllowedDays;
DateTime? createdAt;
DateTime? updatedAt;
dynamic storeId;
dynamic categoryId;
dynamic productTypeId;
dynamic timeSlotId;
Store? store;
Category? category;
dynamic productType;
dynamic timeSlot;
List<ProductImage>? productImages;
List<ProductTag>? productTags;
List<dynamic>? zones;
List<ProductHighlight>? productHighlight;
List<ProductReview>? productReview;
List<dynamic>? questions;
List<dynamic>? cartItems;
List<WishlistItem>? wishlistItem;
List<dynamic>? applicableCoupons;
bool? isInWishlist;
Data({
this.id,
this.name,
this.description,
this.additionalInfo,
this.brand,
this.basePrice,
this.discountPrice,
this.stock,
this.quantity,
this.unit,
this.slug,
this.averageRating,
this.isInStock,
this.isActive,
this.disclaimer,
this.customerCareDetails,
this.manufacturerName,
this.manufacturerAddress,
this.countryOfOrigin,
this.expiryDate,
this.returnsAllowedDays,
this.exchangeAllowedDays,
this.createdAt,
this.updatedAt,
this.storeId,
this.categoryId,
this.productTypeId,
this.timeSlotId,
this.store,
this.category,
this.productType,
this.timeSlot,
this.productImages,
this.productTags,
this.zones,
this.productHighlight,
this.productReview,
this.questions,
this.cartItems,
this.wishlistItem,
this.applicableCoupons,
this.isInWishlist,
});
factory Data.fromJson(Map<dynamic, dynamic> json) => Data(
id: json["id"],
name: json["name"],
description: json["description"],
additionalInfo: json["additionalInfo"],
brand: json["brand"],
basePrice: json["basePrice"],
discountPrice: json["discountPrice"],
stock: json["stock"],
quantity: json["quantity"],
unit: json["unit"],
slug: json["slug"],
averageRating: json["averageRating"],
isInStock: json["isInStock"],
isActive: json["isActive"],
disclaimer: json["disclaimer"],
customerCareDetails: json["customerCareDetails"],
manufacturerName: json["manufacturerName"],
manufacturerAddress: json["manufacturerAddress"],
countryOfOrigin: json["countryOfOrigin"],
expiryDate: DateTime.parse(json["expiryDate"]),
returnsAllowedDays: json["returnsAllowedDays"],
exchangeAllowedDays: json["exchangeAllowedDays"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
storeId: json["storeId"],
categoryId: json["categoryId"],
productTypeId: json["productTypeId"],
timeSlotId: json["timeSlotId"],
store: Store.fromJson(json["store"]),
category: Category.fromJson(json["category"]),
productType: json["productType"],
timeSlot: json["timeSlot"],
productImages: List<ProductImage>.from(
json["productImages"].map((x) => ProductImage.fromJson(x))),
productTags: List<ProductTag>.from(
json["productTags"].map((x) => ProductTag.fromJson(x))),
zones: List<dynamic>.from(json["zones"].map((x) => x)),
productHighlight: List<ProductHighlight>.from(
json["ProductHighlight"].map((x) => ProductHighlight.fromJson(x))),
productReview: List<ProductReview>.from(
json["ProductReview"].map((x) => ProductReview.fromJson(x))),
questions: List<dynamic>.from(json["questions"].map((x) => x)),
cartItems: List<dynamic>.from(json["cartItems"].map((x) => x)),
wishlistItem: List<WishlistItem>.from(
json["WishlistItem"].map((x) => WishlistItem.fromJson(x))),
applicableCoupons:
List<dynamic>.from(json["applicableCoupons"].map((x) => x)),
isInWishlist: json["isInWishlist"],
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"name": name,
"description": description,
"additionalInfo": additionalInfo,
"brand": brand,
"basePrice": basePrice,
"discountPrice": discountPrice,
"stock": stock,
"quantity": quantity,
"unit": unit,
"slug": slug,
"averageRating": averageRating,
"isInStock": isInStock,
"isActive": isActive,
"disclaimer": disclaimer,
"customerCareDetails": customerCareDetails,
"manufacturerName": manufacturerName,
"manufacturerAddress": manufacturerAddress,
"countryOfOrigin": countryOfOrigin,
"expiryDate": expiryDate,
"returnsAllowedDays": returnsAllowedDays,
"exchangeAllowedDays": exchangeAllowedDays,
"createdAt": createdAt,
"updatedAt": updatedAt,
"storeId": storeId,
"categoryId": categoryId,
"productTypeId": productTypeId,
"timeSlotId": timeSlotId,
"store": store!.toJson(),
"category": category!.toJson(),
"productType": productType,
"timeSlot": timeSlot,
"productImages":
List<dynamic>.from(productImages!.map((x) => x.toJson())),
"productTags": List<dynamic>.from(productTags!.map((x) => x.toJson())),
"zones": List<dynamic>.from(zones!.map((x) => x)),
"ProductHighlight":
List<dynamic>.from(productHighlight!.map((x) => x.toJson())),
"ProductReview": List<dynamic>.from(productReview!.map((x) => x)),
"questions": List<dynamic>.from(questions!.map((x) => x)),
"cartItems": List<dynamic>.from(cartItems!.map((x) => x)),
"WishlistItem":
List<dynamic>.from(wishlistItem!.map((x) => x.toJson())),
"applicableCoupons":
List<dynamic>.from(applicableCoupons!.map((x) => x)),
"isInWishlist": isInWishlist,
};
}
class Category {
dynamic id;
dynamic name;
dynamic description;
dynamic image;
dynamic slug;
int? level;
bool? isActive;
DateTime? createdAt;
DateTime? updatedAt;
dynamic commissionPercentage;
dynamic parentCategoryId;
dynamic path;
Category({
this.id,
this.name,
this.description,
this.image,
this.slug,
this.level,
this.isActive,
this.createdAt,
this.updatedAt,
this.commissionPercentage,
this.parentCategoryId,
this.path,
});
factory Category.fromJson(Map<dynamic, dynamic> json) => Category(
id: json["id"],
name: json["name"],
description: json["description"],
image: json["image"],
slug: json["slug"],
level: json["level"],
isActive: json["isActive"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
commissionPercentage: json["commissionPercentage"],
parentCategoryId: json["parentCategoryId"],
path: json["path"],
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"name": name,
"description": description,
"image": image,
"slug": slug,
"level": level,
"isActive": isActive,
"createdAt": createdAt,
"updatedAt": updatedAt,
"commissionPercentage": commissionPercentage,
"parentCategoryId": parentCategoryId,
"path": path,
};
}
class ProductHighlight {
dynamic id;
dynamic key;
dynamic value;
dynamic productId;
DateTime? createdAt;
DateTime? updatedAt;
ProductHighlight({
this.id,
this.key,
this.value,
this.productId,
this.createdAt,
this.updatedAt,
});
factory ProductHighlight.fromJson(Map<dynamic, dynamic> json) =>
ProductHighlight(
id: json["id"],
key: json["key"],
value: json["value"],
productId: json["productId"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"key": key,
"value": value,
"productId": productId,
"createdAt": createdAt,
"updatedAt": updatedAt,
};
}
class ProductImage {
dynamic id;
dynamic url;
bool? isDefault;
dynamic productId;
ProductImage({
this.id,
this.url,
this.isDefault,
this.productId,
});
factory ProductImage.fromJson(Map<dynamic, dynamic> json) => ProductImage(
id: json["id"],
url: json["url"],
isDefault: json["isDefault"],
productId: json["productId"],
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"url": url,
"isDefault": isDefault,
"productId": productId,
};
}
class ProductTag {
dynamic id;
dynamic name;
dynamic description;
bool? isActive;
DateTime? createdAt;
DateTime? updatedAt;
ProductTag({
this.id,
this.name,
this.description,
this.isActive,
this.createdAt,
this.updatedAt,
});
factory ProductTag.fromJson(Map<dynamic, dynamic> json) => ProductTag(
id: json["id"],
name: json["name"],
description: json["description"],
isActive: json["isActive"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"name": name,
"description": description,
"isActive": isActive,
"createdAt": createdAt,
"updatedAt": updatedAt,
};
}
class Store {
dynamic id;
dynamic storeName;
dynamic storePicture;
dynamic storeAddress;
dynamic officialPhoneNumber;
dynamic sellerLicenseNumber;
Vendor? vendor;
Store({
this.id,
this.storeName,
this.storePicture,
this.storeAddress,
this.officialPhoneNumber,
this.sellerLicenseNumber,
this.vendor,
});
factory Store.fromJson(Map<dynamic, dynamic> json) => Store(
id: json["id"],
storeName: json["storeName"],
storePicture: json["storePicture"],
storeAddress: json["storeAddress"],
officialPhoneNumber: json["officialPhoneNumber"],
sellerLicenseNumber: json["sellerLicenseNumber"],
vendor: Vendor.fromJson(json["vendor"]),
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"storeName": storeName,
"storePicture": storePicture,
"storeAddress": storeAddress,
"officialPhoneNumber": officialPhoneNumber,
"sellerLicenseNumber": sellerLicenseNumber,
"vendor": vendor!.toJson(),
};
}
class Vendor {
dynamic id;
dynamic email;
dynamic firstName;
dynamic lastName;
dynamic phone;
Vendor({
this.id,
this.email,
this.firstName,
this.lastName,
this.phone,
});
factory Vendor.fromJson(Map<dynamic, dynamic> json) => Vendor(
id: json["id"],
email: json["email"],
firstName: json["firstName"],
lastName: json["lastName"],
phone: json["phone"],
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"email": email,
"firstName": firstName,
"lastName": lastName,
"phone": phone,
};
}
class WishlistItem {
dynamic id;
dynamic wishlistId;
dynamic productId;
dynamic storeId;
DateTime? createdAt;
DateTime? updatedAt;
WishlistItem({
this.id,
this.wishlistId,
this.productId,
this.storeId,
this.createdAt,
this.updatedAt,
});
factory WishlistItem.fromJson(Map<dynamic, dynamic> json) => WishlistItem(
id: json["id"],
wishlistId: json["wishlistId"],
productId: json["productId"],
storeId: json["storeId"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"wishlistId": wishlistId,
"productId": productId,
"storeId": storeId,
"createdAt": createdAt,
"updatedAt": updatedAt,
};
}
class ProductReview {
dynamic id;
dynamic userId;
dynamic productId;
dynamic rating;
dynamic title;
dynamic description;
int? likes;
int? dislikes;
int? helpfulCount;
bool? verifiedPurchase;
dynamic status;
DateTime? createdAt;
DateTime? updatedAt;
User? user;
List<ProductReviewImage>? productReviewImage;
ProductReview({
this.id,
this.userId,
this.productId,
this.rating,
this.title,
this.description,
this.likes,
this.dislikes,
this.helpfulCount,
this.verifiedPurchase,
this.status,
this.createdAt,
this.updatedAt,
this.user,
this.productReviewImage,
});
factory ProductReview.fromJson(Map<dynamic, dynamic> json) => ProductReview(
id: json["id"],
userId: json["userId"],
productId: json["productId"],
rating: json["rating"],
title: json["title"],
description: json["description"],
likes: json["likes"],
dislikes: json["dislikes"],
helpfulCount: json["helpfulCount"],
verifiedPurchase: json["verifiedPurchase"],
status: json["status"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
user: User.fromJson(json["user"]),
productReviewImage: List<ProductReviewImage>.from(
json["ProductReviewImage"]
.map((x) => ProductReviewImage.fromJson(x))),
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"userId": userId,
"productId": productId,
"rating": rating,
"title": title,
"description": description,
"likes": likes,
"dislikes": dislikes,
"helpfulCount": helpfulCount,
"verifiedPurchase": verifiedPurchase,
"status": status,
"createdAt": createdAt,
"updatedAt": updatedAt,
"user": user!.toJson(),
"ProductReviewImage":
List<dynamic>.from(productReviewImage!.map((x) => x.toJson())),
};
}
class ProductReviewImage {
dynamic id;
dynamic reviewId;
dynamic imageUrl;
bool? isDefault;
DateTime? createdAt;
ProductReviewImage({
this.id,
this.reviewId,
this.imageUrl,
this.isDefault,
this.createdAt,
});
factory ProductReviewImage.fromJson(Map<dynamic, dynamic> json) =>
ProductReviewImage(
id: json["id"],
reviewId: json["reviewId"],
imageUrl: json["imageUrl"],
isDefault: json["isDefault"],
createdAt: DateTime.parse(json["createdAt"]),
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"reviewId": reviewId,
"imageUrl": imageUrl,
"isDefault": isDefault,
"createdAt": createdAt,
};
}
class User {
dynamic id;
dynamic email;
dynamic firstName;
dynamic lastName;
dynamic name;
dynamic img;
dynamic authType;
dynamic role;
dynamic phone;
dynamic password;
bool? isActive;
bool? isPhoneVerified;
dynamic vendorType;
dynamic businessId;
bool? isVendorAccountCreated;
bool? isVendorAccountActive;
bool? vendorTermsAccepted;
DateTime? createdAt;
DateTime? updatedAt;
dynamic rtHash;
dynamic resetToken;
dynamic resetTokenExpiresAt;
User({
this.id,
this.email,
this.firstName,
this.lastName,
this.name,
this.img,
this.authType,
this.role,
this.phone,
this.password,
this.isActive,
this.isPhoneVerified,
this.vendorType,
this.businessId,
this.isVendorAccountCreated,
this.isVendorAccountActive,
this.vendorTermsAccepted,
this.createdAt,
this.updatedAt,
this.rtHash,
this.resetToken,
this.resetTokenExpiresAt,
});
factory User.fromJson(Map<dynamic, dynamic> json) => User(
id: json["id"],
email: json["email"],
firstName: json["firstName"],
lastName: json["lastName"],
name: json["name"],
img: json["img"],
authType: json["authType"],
role: json["role"],
phone: json["phone"],
password: json["password"],
isActive: json["isActive"],
isPhoneVerified: json["isPhoneVerified"],
vendorType: json["vendorType"],
businessId: json["businessId"],
isVendorAccountCreated: json["isVendorAccountCreated"],
isVendorAccountActive: json["isVendorAccountActive"],
vendorTermsAccepted: json["vendorTermsAccepted"],
createdAt: DateTime.parse(json["createdAt"]),
updatedAt: DateTime.parse(json["updatedAt"]),
rtHash: json["rtHash"],
resetToken: json["resetToken"],
resetTokenExpiresAt: json["resetTokenExpiresAt"],
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"email": email,
"firstName": firstName,
"lastName": lastName,
"name": name,
"img": img,
"authType": authType,
"role": role,
"phone": phone,
"password": password,
"isActive": isActive,
"isPhoneVerified": isPhoneVerified,
"vendorType": vendorType,
"businessId": businessId,
"isVendorAccountCreated": isVendorAccountCreated,
"isVendorAccountActive": isVendorAccountActive,
"vendorTermsAccepted": vendorTermsAccepted,
"createdAt": createdAt,
"updatedAt": updatedAt,
"rtHash": rtHash,
"resetToken": resetToken,
"resetTokenExpiresAt": resetTokenExpiresAt,
};
}