shuttlepro-shared 1.4.2 → 1.4.4
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.
- package/common/repositories/customerProfile.repository.js +32 -0
- package/common/repositories/index.js +2 -3
- package/common/repositories/interactive.repository.js +124 -0
- package/config/socket.js +30 -249
- package/models/Attribute.js +5 -0
- package/models/Automation.js +10 -0
- package/models/Card.js +5 -0
- package/models/Category.js +5 -0
- package/models/Chatbot.js +1 -0
- package/models/Checkpoint.js +5 -0
- package/models/Customer.js +5 -0
- package/models/Interactive.js +70 -0
- package/models/Location.js +5 -0
- package/models/Order.js +6 -0
- package/models/OrderPdf.js +5 -0
- package/models/OrderProduct.js +5 -0
- package/models/Product.js +5 -0
- package/models/ProductAttachment.js +5 -0
- package/models/ProductAttribute.js +5 -0
- package/models/ProductCategory.js +5 -0
- package/models/ProductTag.js +5 -0
- package/models/ProductVariant.js +5 -0
- package/models/Tag.js +5 -0
- package/models/VariantLocation.js +5 -0
- package/models.js +2 -2
- package/package.json +1 -1
- package/common/repositories/call.repository.js +0 -480
- package/models/Call.js +0 -188
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const { Schema, Types, model } = require("mongoose");
|
|
2
|
+
|
|
3
|
+
const ActionSchema = new Schema({
|
|
4
|
+
type: {
|
|
5
|
+
type: String,
|
|
6
|
+
default: "",
|
|
7
|
+
},
|
|
8
|
+
interactiveId: { type: Types.ObjectId, ref: "Interactive", default: null },
|
|
9
|
+
value: { type: Schema.Types.Mixed, default: "" },
|
|
10
|
+
});
|
|
11
|
+
const InteractiveSchema = new Schema({
|
|
12
|
+
name: { type: String, default: "" },
|
|
13
|
+
workspace: { type: Types.ObjectId, ref: "Workspace", default: null },
|
|
14
|
+
type: {
|
|
15
|
+
type: String,
|
|
16
|
+
enum: ["button", "list"],
|
|
17
|
+
default: "list",
|
|
18
|
+
},
|
|
19
|
+
header: {
|
|
20
|
+
type: {
|
|
21
|
+
type: String,
|
|
22
|
+
enum: ["text", "image", "video"],
|
|
23
|
+
default: "text",
|
|
24
|
+
},
|
|
25
|
+
value: { type: String, default: "" },
|
|
26
|
+
},
|
|
27
|
+
body: {
|
|
28
|
+
type: {
|
|
29
|
+
type: String,
|
|
30
|
+
default: "text",
|
|
31
|
+
},
|
|
32
|
+
value: { type: String, default: "" },
|
|
33
|
+
},
|
|
34
|
+
footer: {
|
|
35
|
+
type: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: "text",
|
|
38
|
+
},
|
|
39
|
+
value: { type: String, default: "" },
|
|
40
|
+
},
|
|
41
|
+
buttonTitle: {
|
|
42
|
+
type: String,
|
|
43
|
+
default: "Menu",
|
|
44
|
+
},
|
|
45
|
+
sections: [
|
|
46
|
+
{
|
|
47
|
+
title: { type: String, default: "" },
|
|
48
|
+
rows: [
|
|
49
|
+
{
|
|
50
|
+
id: { type: String, default: "" },
|
|
51
|
+
title: { type: String, default: "" },
|
|
52
|
+
description: { type: String, default: "" },
|
|
53
|
+
action: ActionSchema,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
buttons: [
|
|
59
|
+
{
|
|
60
|
+
type: { type: String, default: "reply" },
|
|
61
|
+
reply: {
|
|
62
|
+
id: { type: String, default: "" },
|
|
63
|
+
title: { type: String, default: "" },
|
|
64
|
+
action: ActionSchema,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
module.exports = model("Interactive", InteractiveSchema);
|
package/models/Location.js
CHANGED
|
@@ -14,6 +14,11 @@ const LocationSchema = new Schema(
|
|
|
14
14
|
oldId: { type: String, default: "" },
|
|
15
15
|
webLocationId: { type: Number, default: null },
|
|
16
16
|
bcLocationId: { type: String, default: "" },
|
|
17
|
+
websiteId: {
|
|
18
|
+
type: Schema.Types.ObjectId,
|
|
19
|
+
ref: "Website",
|
|
20
|
+
default: null,
|
|
21
|
+
},
|
|
17
22
|
workspaceId: {
|
|
18
23
|
type: Schema.Types.ObjectId,
|
|
19
24
|
ref: "Workspace",
|
package/models/Order.js
CHANGED
|
@@ -103,6 +103,11 @@ const OrderSchema = new Schema(
|
|
|
103
103
|
ref: "Workspace",
|
|
104
104
|
default: null,
|
|
105
105
|
},
|
|
106
|
+
websiteId: {
|
|
107
|
+
type: Schema.Types.ObjectId,
|
|
108
|
+
ref: "Website",
|
|
109
|
+
default: null,
|
|
110
|
+
},
|
|
106
111
|
orderType: { type: String, default: "" },
|
|
107
112
|
barCode: { type: String, default: "" },
|
|
108
113
|
quantity: { type: Number, default: 0 },
|
|
@@ -223,6 +228,7 @@ const markOrUnMarkOrderAsDuplicate = async (doc) => {
|
|
|
223
228
|
const phoneRegex = getPhoneRegex(doc?.customerPhone);
|
|
224
229
|
let orders = await Order.find({
|
|
225
230
|
workspaceId: doc?.workspaceId,
|
|
231
|
+
websiteId: doc?.websiteId,
|
|
226
232
|
isDeleted: false,
|
|
227
233
|
statusType: "pending",
|
|
228
234
|
customerPhone: phoneRegex,
|
package/models/OrderPdf.js
CHANGED
|
@@ -20,6 +20,11 @@ const OrderPdfScehma = new mongoose.Schema(
|
|
|
20
20
|
ref: "Workspace",
|
|
21
21
|
default: null,
|
|
22
22
|
},
|
|
23
|
+
websiteId: {
|
|
24
|
+
type: Schema.Types.ObjectId,
|
|
25
|
+
ref: "Website",
|
|
26
|
+
default: null,
|
|
27
|
+
},
|
|
23
28
|
createdBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
24
29
|
updatedBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
25
30
|
},
|
package/models/OrderProduct.js
CHANGED
|
@@ -31,6 +31,11 @@ const OrderProductSchema = new Schema(
|
|
|
31
31
|
ref: "Workspace",
|
|
32
32
|
default: null,
|
|
33
33
|
},
|
|
34
|
+
websiteId: {
|
|
35
|
+
type: Schema.Types.ObjectId,
|
|
36
|
+
ref: "Website",
|
|
37
|
+
default: null,
|
|
38
|
+
},
|
|
34
39
|
},
|
|
35
40
|
{ timestamps: true, toJSON: { virtuals: true }, toObject: { virtuals: true } }
|
|
36
41
|
);
|
package/models/Product.js
CHANGED
|
@@ -31,6 +31,11 @@ const ProductSchema = new Schema(
|
|
|
31
31
|
type: Schema.Types.ObjectId,
|
|
32
32
|
ref: "Workspace",
|
|
33
33
|
default: null,
|
|
34
|
+
},
|
|
35
|
+
websiteId: {
|
|
36
|
+
type: Schema.Types.ObjectId,
|
|
37
|
+
ref: "Website",
|
|
38
|
+
default: null,
|
|
34
39
|
},
|
|
35
40
|
storeType: { type: String, default: "LOCAL" },
|
|
36
41
|
isDeleted: { type: Boolean, default: false },
|
|
@@ -22,6 +22,11 @@ const ProductAttachmentSchema = new Schema(
|
|
|
22
22
|
ref: "Workspace",
|
|
23
23
|
default: null,
|
|
24
24
|
},
|
|
25
|
+
websiteId: {
|
|
26
|
+
type: Schema.Types.ObjectId,
|
|
27
|
+
ref: "Website",
|
|
28
|
+
default: null,
|
|
29
|
+
},
|
|
25
30
|
height: { type: Number, default: 0 },
|
|
26
31
|
variantIds: [
|
|
27
32
|
{ type: Schema.Types.ObjectId, ref: "ProductVariant", default: null },
|
|
@@ -16,6 +16,11 @@ const ProductAttributeSchema = new mongoose.Schema(
|
|
|
16
16
|
ref: "Workspace",
|
|
17
17
|
default: null,
|
|
18
18
|
},
|
|
19
|
+
websiteId: {
|
|
20
|
+
type: Schema.Types.ObjectId,
|
|
21
|
+
ref: "Website",
|
|
22
|
+
default: null,
|
|
23
|
+
},
|
|
19
24
|
isDeleted: { type: Boolean, default: false },
|
|
20
25
|
position: { type: String, default: "1" },
|
|
21
26
|
},
|
|
@@ -11,6 +11,11 @@ const ProductCategorySchema = new Schema(
|
|
|
11
11
|
ref: "Workspace",
|
|
12
12
|
default: null,
|
|
13
13
|
},
|
|
14
|
+
websiteId: {
|
|
15
|
+
type: Schema.Types.ObjectId,
|
|
16
|
+
ref: "Website",
|
|
17
|
+
default: null,
|
|
18
|
+
},
|
|
14
19
|
createdBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
15
20
|
updatedBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
16
21
|
isDeleted: { type: Boolean, default: false },
|
package/models/ProductTag.js
CHANGED
|
@@ -11,6 +11,11 @@ const ProductTagSchema = new Schema(
|
|
|
11
11
|
ref: "Workspace",
|
|
12
12
|
default: null,
|
|
13
13
|
},
|
|
14
|
+
websiteId: {
|
|
15
|
+
type: Schema.Types.ObjectId,
|
|
16
|
+
ref: "Website",
|
|
17
|
+
default: null,
|
|
18
|
+
},
|
|
14
19
|
createdBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
15
20
|
updatedBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
16
21
|
isDeleted: { type: Boolean, default: false },
|
package/models/ProductVariant.js
CHANGED
|
@@ -17,6 +17,11 @@ const ProductVariantSchema = new Schema(
|
|
|
17
17
|
ref: "Workspace",
|
|
18
18
|
default: null,
|
|
19
19
|
},
|
|
20
|
+
websiteId: {
|
|
21
|
+
type: Schema.Types.ObjectId,
|
|
22
|
+
ref: "Website",
|
|
23
|
+
default: null,
|
|
24
|
+
},
|
|
20
25
|
webVariantId: { type: Number, default: null },
|
|
21
26
|
inventoryPolicy: { type: String, default: "deny" }, //deny,continue
|
|
22
27
|
taxable: { type: Boolean, default: false },
|
package/models/Tag.js
CHANGED
|
@@ -8,6 +8,11 @@ const TagSchema = new Schema(
|
|
|
8
8
|
ref: "Workspace",
|
|
9
9
|
default: null,
|
|
10
10
|
},
|
|
11
|
+
websiteId: {
|
|
12
|
+
type: Schema.Types.ObjectId,
|
|
13
|
+
ref: "Website",
|
|
14
|
+
default: null,
|
|
15
|
+
},
|
|
11
16
|
oldId: { type: String, default: "" },
|
|
12
17
|
webTagId: { type: Number, default: "" },
|
|
13
18
|
createdBy: { type: Schema.Types.ObjectId, ref: "User", default: null },
|
|
@@ -13,6 +13,11 @@ const VariantLocationSchema = new Schema(
|
|
|
13
13
|
ref: "Workspace",
|
|
14
14
|
default: null,
|
|
15
15
|
},
|
|
16
|
+
websiteId: {
|
|
17
|
+
type: Schema.Types.ObjectId,
|
|
18
|
+
ref: "Website",
|
|
19
|
+
default: null,
|
|
20
|
+
},
|
|
16
21
|
productId: { type: Schema.Types.ObjectId, ref: "Product", default: null },
|
|
17
22
|
locationId: { type: Schema.Types.ObjectId, ref: "Location", default: null },
|
|
18
23
|
webVariantLocationId: { type: Number, default: null },
|
package/models.js
CHANGED
|
@@ -43,6 +43,7 @@ const FormTemplate = require("./models/FormTemplate");
|
|
|
43
43
|
const GoogleClientInfo = require("./models/GoogleClientInfo");
|
|
44
44
|
const GoogleCredentials = require("./models/GoogleCredentials");
|
|
45
45
|
const Integration = require("./models/Integration");
|
|
46
|
+
const Interactive = require("./models/Interactive");
|
|
46
47
|
const InternalComments = require("./models/InternalComments");
|
|
47
48
|
const InternalThreads = require("./models/InternalThreads");
|
|
48
49
|
const JobDesign = require("./models/JobDesign");
|
|
@@ -104,7 +105,6 @@ const WhatsappFlow = require("./models/WhatsappFlow");
|
|
|
104
105
|
const Workflow = require("./models/Workflow");
|
|
105
106
|
const Workspace = require("./models/Workspace");
|
|
106
107
|
const Shop = require("./models/Shop");
|
|
107
|
-
const Call = require("./models/Call");
|
|
108
108
|
|
|
109
109
|
module.exports = {
|
|
110
110
|
Activity,
|
|
@@ -152,6 +152,7 @@ module.exports = {
|
|
|
152
152
|
GoogleClientInfo,
|
|
153
153
|
GoogleCredentials,
|
|
154
154
|
Integration,
|
|
155
|
+
Interactive,
|
|
155
156
|
InternalComments,
|
|
156
157
|
InternalThreads,
|
|
157
158
|
JobDesign,
|
|
@@ -213,5 +214,4 @@ module.exports = {
|
|
|
213
214
|
Workflow,
|
|
214
215
|
Workspace,
|
|
215
216
|
Shop,
|
|
216
|
-
Call,
|
|
217
217
|
};
|