@francesco_ksh/app-ksh-mgd-schemas 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +1 -0
  2. package/index.js +73 -0
  3. package/models/AdminReview.js +31 -0
  4. package/models/Article.js +44 -0
  5. package/models/Brand.js +23 -0
  6. package/models/CSVUpload.js +28 -0
  7. package/models/Carrier.js +114 -0
  8. package/models/CarrierPortalOrder.js +158 -0
  9. package/models/Chat.js +92 -0
  10. package/models/ChatMessages.js +64 -0
  11. package/models/Comment.js +60 -0
  12. package/models/ConsignmentListing.js +89 -0
  13. package/models/Counter.js +15 -0
  14. package/models/CrossListing.js +24 -0
  15. package/models/Discount.js +105 -0
  16. package/models/Error.js +21 -0
  17. package/models/Etsy.js +112 -0
  18. package/models/ExploreCard.js +168 -0
  19. package/models/Feedback.js +30 -0
  20. package/models/Listing.js +414 -0
  21. package/models/MarketplaceUpdates.js +895 -0
  22. package/models/MissingLocations.js +23 -0
  23. package/models/MktModel.js +40 -0
  24. package/models/Notification.js +68 -0
  25. package/models/Offer.js +60 -0
  26. package/models/Order.js +555 -0
  27. package/models/OrderReview.js +75 -0
  28. package/models/Promo.js +56 -0
  29. package/models/RemovedListing.js +21 -0
  30. package/models/ShopifyApi.js +151 -0
  31. package/models/Store.js +519 -0
  32. package/models/Synonyms.js +20 -0
  33. package/models/Test.js +29 -0
  34. package/models/TopPicks.js +15 -0
  35. package/models/User.js +476 -0
  36. package/models/WoocommerceApi.js +81 -0
  37. package/models/XCartApi.js +38 -0
  38. package/package.json +25 -0
  39. package/utils/furnitureCategoryList.js +69 -0
  40. package/utils/getSchemaDefinition.js +650 -0
  41. package/utils/getTaxonomy.js +30 -0
  42. package/utils/schemaTypes.js +44680 -0
@@ -0,0 +1,75 @@
1
+ const mongoose = require('mongoose');
2
+ const Schema = mongoose.Schema;
3
+
4
+ const orderReviewSchema = new Schema(
5
+ {
6
+ order: {
7
+ type: Schema.Types.ObjectId,
8
+ ref: 'Order',
9
+ },
10
+ type: {
11
+ type: String,
12
+ enum: ['completedSale', 'completedPurchase'],
13
+ },
14
+ reviewed: {
15
+ type: Boolean,
16
+ default: false,
17
+ },
18
+ listings: [
19
+ {
20
+ rating: {
21
+ type: Number,
22
+ default: 0,
23
+ },
24
+ feedback: {
25
+ type: String,
26
+ },
27
+ listing: {
28
+ type: Schema.Types.ObjectId,
29
+ ref: 'Listing',
30
+ },
31
+ },
32
+ ],
33
+ seller: {
34
+ // Rating to seller from buyer
35
+ rating: {
36
+ type: Number,
37
+ default: 0,
38
+ },
39
+ feedback: {
40
+ type: String,
41
+ },
42
+ user: {
43
+ type: Schema.Types.ObjectId,
44
+ ref: 'User',
45
+ },
46
+ },
47
+ buyer: {
48
+ // Rating to buyer from seller
49
+ rating: {
50
+ type: Number,
51
+ default: 0,
52
+ },
53
+ feedback: {
54
+ type: String,
55
+ },
56
+ user: {
57
+ type: Schema.Types.ObjectId,
58
+ ref: 'User',
59
+ },
60
+ },
61
+ reviewedDate: {
62
+ type: Date,
63
+ },
64
+ photo: {
65
+ type: String,
66
+ },
67
+ date: {
68
+ type: Date,
69
+ default: Date.now,
70
+ },
71
+ },
72
+ { supressReservedKeysWarning: true }
73
+ );
74
+
75
+ module.exports = orderReviewSchema;
@@ -0,0 +1,56 @@
1
+ const mongoose = require('mongoose');
2
+ const Schema = mongoose.Schema;
3
+
4
+ const promoSchema = new Schema(
5
+ {
6
+ code: {
7
+ type: String,
8
+ unique: true,
9
+ },
10
+ type: {
11
+ type: String,
12
+ },
13
+ percentage: {
14
+ type: Number,
15
+ },
16
+ amount: {
17
+ type: Number,
18
+ },
19
+ minOrderValue: {
20
+ type: Number,
21
+ },
22
+ appliedTo: {
23
+ type: String,
24
+ enum: ['items', 'delivery'],
25
+ },
26
+ expiration: {
27
+ type: String,
28
+ },
29
+
30
+ private: {
31
+ type: Boolean,
32
+ default: false,
33
+ },
34
+
35
+ emails: {
36
+ type: Array,
37
+ },
38
+
39
+ usedBy: {
40
+ type: Array,
41
+ },
42
+
43
+ deleted: {
44
+ type: Boolean,
45
+ default: false,
46
+ },
47
+
48
+ date: {
49
+ type: Date,
50
+ default: Date.now,
51
+ },
52
+ },
53
+ { supressReservedKeysWarning: true }
54
+ );
55
+
56
+ module.exports = promoSchema;
@@ -0,0 +1,21 @@
1
+ const mongoose = require('mongoose');
2
+ const Schema = mongoose.Schema;
3
+
4
+ const removedListingSchema = new Schema(
5
+ {
6
+ SKUs: {
7
+ type: Array,
8
+ },
9
+ author: {
10
+ type: Schema.Types.ObjectId,
11
+ ref: 'User',
12
+ },
13
+ date: {
14
+ type: Date,
15
+ default: Date.now,
16
+ },
17
+ },
18
+ { supressReservedKeysWarning: true }
19
+ );
20
+
21
+ module.exports = removedListingSchema;
@@ -0,0 +1,151 @@
1
+ const mongoose = require('mongoose');
2
+ const Schema = mongoose.Schema;
3
+
4
+ const shopifyApiSchema = new Schema(
5
+ {
6
+ uploadsPaused: {
7
+ type: Boolean,
8
+ },
9
+ adminApiAccessToken: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ storefrontApiAccessToken: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ apiKey: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ storeName: {
22
+ type: String,
23
+ },
24
+ sellerId: {
25
+ type: Schema.Types.ObjectId,
26
+ ref: 'User',
27
+ required: true,
28
+ },
29
+ email: { type: String },
30
+ domain: { type: String },
31
+ shopifyDomain: { type: String },
32
+
33
+ storeLocation: {
34
+ address: { type: String },
35
+ city: { type: String },
36
+ country: { type: String },
37
+ province: { type: String },
38
+ phone: { type: String },
39
+ zip: { type: String },
40
+ coordinates: {
41
+ lat: { type: Number },
42
+ long: { type: Number },
43
+ },
44
+ },
45
+ products: {
46
+ published: {
47
+ type: Number,
48
+ },
49
+ unpublished: {
50
+ type: Number,
51
+ },
52
+ },
53
+ productLocations: [
54
+ {
55
+ id: { type: Number },
56
+ name: { type: String },
57
+ address: { type: String },
58
+ city: { type: String },
59
+ country: { type: String },
60
+ province: { type: String },
61
+ phone: { type: String },
62
+ zip: { type: String },
63
+ coordinates: {
64
+ lat: { type: Number },
65
+ long: { type: Number },
66
+ },
67
+ },
68
+ ],
69
+ phone: { type: String },
70
+
71
+ shopOwner: { type: String },
72
+ name: { type: String },
73
+ metafieldValues: [
74
+ {
75
+ active: {
76
+ type: Boolean,
77
+ },
78
+ key: {
79
+ type: String,
80
+ },
81
+ match: {
82
+ type: String,
83
+ },
84
+ values: [
85
+ {
86
+ shopifyValue: {
87
+ type: String,
88
+ },
89
+ kashewValue: {
90
+ type: String,
91
+ },
92
+ },
93
+ ],
94
+ },
95
+ ],
96
+ matchedValues: { type: Array },
97
+ matchingKeys: { type: Object },
98
+ shopifyShopId: { type: String },
99
+ pastUploads: {
100
+ uploading: {
101
+ type: Boolean,
102
+ default: false,
103
+ },
104
+ uploads: [
105
+ {
106
+ soldProducts: {
107
+ type: Number,
108
+ },
109
+ date: {
110
+ type: Date,
111
+ default: Date.now,
112
+ },
113
+ newProducts: {
114
+ type: Number,
115
+ },
116
+
117
+ skipped: {
118
+ type: Number,
119
+ },
120
+
121
+ editedProducts: {
122
+ type: Number,
123
+ },
124
+ errorMessages: {
125
+ type: Array,
126
+ },
127
+ savedProducts: [{ type: Schema.Types.ObjectId, ref: 'Listing' }],
128
+ },
129
+ ],
130
+ },
131
+
132
+ updatingStoreFields: {
133
+ lastUpdated: {
134
+ type: Date,
135
+ },
136
+ loading: {
137
+ type: Boolean,
138
+ default: false,
139
+ },
140
+ },
141
+ date: {
142
+ type: Date,
143
+ default: Date.now,
144
+ },
145
+ },
146
+ {
147
+ suppressReservedKeysWarning: true, // Added schema option here
148
+ }
149
+ );
150
+
151
+ module.exports = shopifyApiSchema;