Skip to content

Commit 17a2246

Browse files
committed
Merge branch 'master-COLLAUDO' into features-gen25/agents-available-coll1
# Conflicts: # models/faq_kb.js
2 parents d0b08a9 + f01c4fa commit 17a2246

21 files changed

+1943
-1122
lines changed

errorCodes.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ const errorCodes = {
2626
ACCESS_DENIED: 11003,
2727
},
2828
},
29+
CHATBOT: {
30+
BASE_CODE: 12000,
31+
ERRORS: {
32+
DUPLICATE_SLUG: 12001
33+
}
34+
}
2935
// Aggiungi altre route
3036
};
3137

models/faq_kb.js

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,39 @@ var Faq_kbSchema = new Schema({
129129
return this.isNew ? false : undefined;
130130
},
131131
}
132-
}, {
132+
},{
133+
slug: {
134+
type: String,
135+
required: false,
136+
default: "",
137+
index: true
138+
},
139+
},{
133140
timestamps: true
134141
});
135142

136143

144+
Faq_kbSchema.pre("save", async function (next) {
145+
// Check if the document is new and if the slug has not been set manually
146+
if (this.isNew && !this.slug) {
147+
const baseSlug = generateSlug(this.name);
148+
let uniqueSlug = baseSlug;
149+
150+
const existingCount = await mongoose.model("faq_kb").countDocuments({
151+
id_project: this.id_project,
152+
slug: { $regex: `^${baseSlug}(?:-\\d+)?$` }
153+
});
154+
155+
if (existingCount > 0) {
156+
uniqueSlug = `${baseSlug}-${existingCount}`;
157+
}
158+
159+
this.slug = uniqueSlug;
160+
}
161+
162+
next();
163+
});
164+
137165
Faq_kbSchema.virtual('fullName').get(function () {
138166
// winston.debug("faq_kb fullName virtual called");
139167
return (this.name);
@@ -142,8 +170,14 @@ Faq_kbSchema.virtual('fullName').get(function () {
142170
Faq_kbSchema.index({certified: 1, public: 1}); //suggested by atlas
143171

144172

145-
Faq_kbSchema.index({name: 'text', description: 'text', "tags": 'text'},
146-
{"name":"faqkb_fulltext","default_language": defaultFullTextLanguage,"language_override": "language"}); // schema level
173+
Faq_kbSchema.index(
174+
{name: 'text', description: 'text', "tags": 'text'},
175+
{"name":"faqkb_fulltext","default_language": defaultFullTextLanguage,"language_override": "language"}); // schema level
176+
177+
Faq_kbSchema.index(
178+
{ id_project: 1, slug: 1 },
179+
{ unique: true, partialFilterExpression: { slug: { $exists: true } } }
180+
);
147181

148182

149183
var faq_kb = mongoose.model('faq_kb', Faq_kbSchema);
@@ -153,6 +187,16 @@ if (process.env.MONGOOSE_SYNCINDEX) {
153187
winston.info("faq_kb syncIndexes")
154188
}
155189

156-
190+
function generateSlug(name) {
191+
return name
192+
.toLowerCase()
193+
.trim()
194+
.normalize("NFD") // Normalize characters with accents
195+
.replace(/[\u0300-\u036f]/g, "") // Removes diacritics (e.g. à becomes a)
196+
.replace(/[^a-z0-9\s-_]/g, "") // Remove special characters
197+
.replace(/\s+/g, "-") // Replaces spaces with dashes
198+
.replace(/_/g, "-")
199+
.replace(/-+/g, "-"); // Removes consecutive hyphens
200+
}
157201

158202
module.exports = faq_kb

models/kb_setting.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,14 @@ var KBSchema = new Schema({
109109
type: Array,
110110
required: false
111111
}
112+
},
113+
refresh_rate: {
114+
type: String,
115+
required: false
116+
},
117+
last_refresh: {
118+
type: Date,
119+
required: false
112120
}
113121
}, {
114122
timestamps: true

models/transaction.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ const TransactionSchema = mongoose.Schema({
2121
type: String,
2222
required: false
2323
},
24+
broadcast: {
25+
type: Boolean,
26+
required: false
27+
},
2428
createdAt: {
2529
type: Date,
2630
default: Date.now

package-lock.json

Lines changed: 124 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@
4848
"@tiledesk/tiledesk-rasa-connector": "^1.0.10",
4949
"@tiledesk/tiledesk-telegram-connector": "^0.1.14",
5050
"@tiledesk/tiledesk-train-jobworker": "^0.0.11",
51-
"@tiledesk/tiledesk-tybot-connector": "^0.2.138",
52-
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.75",
51+
"@tiledesk/tiledesk-tybot-connector": "^0.2.139",
52+
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.76",
5353
"@tiledesk/tiledesk-whatsapp-jobworker": "^0.0.10",
5454
"@tiledesk/tiledesk-sms-connector": "^0.1.11",
55-
"@tiledesk/tiledesk-vxml-connector": "^0.1.67",
55+
"@tiledesk/tiledesk-vxml-connector": "^0.1.69",
5656
"@tiledesk/tiledesk-voice-twilio-connector": "^0.1.12",
5757
"@tiledesk/tiledesk-multi-worker": "^0.1.6",
5858
"amqplib": "^0.5.5",

pubmodules/voice/listener.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class Listener {
3939
voice.startApp({
4040
MONGODB_URI: config.databaseUri,
4141
dbconnection: dbConnection,
42+
//API_URL: apiUrl,
4243
BASE_URL: apiUrl + "/modules/voice",
4344
REDIS_HOST: host,
4445
REDIS_PORT: port,

routes/auth.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,6 @@ router.post('/signup',
107107
if (!skipVerificationEmail) {
108108

109109
let verify_email_code = uniqid();
110-
console.log("(Auth) verify_email_code: ", verify_email_code);
111-
112110
let redis_client = req.app.get('redis_client');
113111
let key = "emailverify:verify-" + verify_email_code;
114112
let obj = { _id: savedUser._id, email: savedUser.email}

0 commit comments

Comments
 (0)