summaryrefslogtreecommitdiff
path: root/iridescence/src/models/product.js
diff options
context:
space:
mode:
Diffstat (limited to 'iridescence/src/models/product.js')
-rw-r--r--iridescence/src/models/product.js62
1 files changed, 12 insertions, 50 deletions
diff --git a/iridescence/src/models/product.js b/iridescence/src/models/product.js
index fb7fd68..c408b79 100644
--- a/iridescence/src/models/product.js
+++ b/iridescence/src/models/product.js
@@ -1,54 +1,16 @@
export default class Product {
- id = 0;
- name = "";
- description = "";
- cents = 0;
- quantity = 0;
- featured = false;
- photo_base = "";
- photo_fullsize = "";
- photo_thumbnail = "";
- category = "";
-
- constructor(from) {
- if (from) {
- this.id = from.id;
- this.name = from.name;
- this.description = from.description;
- this.cents = from.cents;
- this.quantity = from.quantity;
- this.featured = from.featured;
- this.photo_base = from.photo_base;
- this.photo_fullsize = from.photo_fullsize;
- this.photo_thumbnail = from.photo_thumbnail;
- this.category = from.category;
+ constructor(json) {
+ if (json) {
+ this.id = json.id ? json.id : null;
+ this.name = json.name ? json.name : null;
+ this.description = json.description ? json.description : null;
+ this.cents = json.cents ? json.cents : null;
+ this.quantity = json.quantity ? json.quantity : null;
+ this.featured = json.featured ? json.featured : false;
+ this.category = json.category ? json.category : null;
+ this.photo_base = json.photo_base ? json.photo_base : null;
+ this.photo_thumbnail = json.photo_thumbnail ? json.photo_thumbnail : null;
+ this.photo_fullsize = json.photo_fullsize ? json.photo_fullsize : null;
}
}
-
- isDifferent(product) {
- return (
- this.id != product.id ||
- this.name != product.name ||
- this.quantity != product.quantity ||
- this.cents != product.cents ||
- this.photo_base != product.photo_base ||
- this.photo_thumbnail != product.photo_thumbnail ||
- this.photo_fullsize != product.photo_fullsize ||
- this.description != product.description ||
- this.featured != product.featured ||
- this.category != product.category
- );
- }
-
- isValid() {
- return (
- this.cents > 0 &&
- this.name != "" &&
- this.photo_thumbnail != "" &&
- this.photo_base != "" &&
- this.photo_fullsize != "" &&
- this.category != "" &&
- this.description != ""
- );
- }
}