@tiledesk/tiledesk-server 2.13.12 → 2.13.13

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/CHANGELOG.md CHANGED
@@ -5,6 +5,10 @@
5
5
  🚀 IN PRODUCTION 🚀
6
6
  (https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
7
7
 
8
+ # 2.13.13
9
+ - Bug fix: slug duplicated error on publish chatbot
10
+ - Updated: whatsapp-connector to 1.0.5
11
+
8
12
  # 2.13.12
9
13
  - Updated: whatsapp-connector to 1.0.4
10
14
 
package/models/faq_kb.js CHANGED
@@ -170,20 +170,28 @@ var Faq_kbSchema = new Schema({
170
170
  Faq_kbSchema.pre("save", async function (next) {
171
171
  // Check if the document is new and if the slug has not been set manually
172
172
  if (this.isNew) {
173
-
174
- let baseSlug = this.slug;
175
- if (!this.slug) {
176
- baseSlug = generateSlug(this.name);
177
- }
173
+
174
+ let baseSlug = this.slug || generateSlug(this.name);
178
175
  let uniqueSlug = baseSlug;
179
176
 
180
- const existingCount = await mongoose.model("faq_kb").countDocuments({
177
+ const existingDocs = await mongoose.model("faq_kb").find({
181
178
  id_project: this.id_project,
182
179
  slug: { $regex: `^${baseSlug}(?:-\\d+)?$` }
183
- });
180
+ }, { slug: 1 });
181
+
182
+ if (existingDocs.length > 0) {
183
+ let maxNumber = 0;
184
+ existingDocs.forEach(doc => {
185
+ const match = doc.slug.match(new RegExp(`^${baseSlug}-(\\d+)$`));
186
+ if (match) {
187
+ const num = parseInt(match[1], 10);
188
+ if (num > maxNumber) maxNumber = num;
189
+ }
190
+ });
184
191
 
185
- if (existingCount > 0) {
186
- uniqueSlug = `${baseSlug}-${existingCount}`;
192
+ if (existingDocs.some(doc => doc.slug === baseSlug)) {
193
+ uniqueSlug = `${baseSlug}-${maxNumber + 1}`;
194
+ }
187
195
  }
188
196
 
189
197
  this.slug = uniqueSlug;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiledesk/tiledesk-server",
3
3
  "description": "The Tiledesk server module",
4
- "version": "2.13.12",
4
+ "version": "2.13.13",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -49,10 +49,10 @@
49
49
  "@tiledesk/tiledesk-rasa-connector": "^1.0.10",
50
50
  "@tiledesk/tiledesk-sms-connector": "^0.1.11",
51
51
  "@tiledesk/tiledesk-telegram-connector": "^0.1.14",
52
- "@tiledesk/tiledesk-tybot-connector": "^2.0.27",
52
+ "@tiledesk/tiledesk-tybot-connector": "^2.0.28",
53
53
  "@tiledesk/tiledesk-voice-twilio-connector": "^0.1.22",
54
54
  "@tiledesk/tiledesk-vxml-connector": "^0.1.78",
55
- "@tiledesk/tiledesk-whatsapp-connector": "1.0.4",
55
+ "@tiledesk/tiledesk-whatsapp-connector": "1.0.5",
56
56
  "@tiledesk/tiledesk-whatsapp-jobworker": "^0.0.13",
57
57
  "amqplib": "^0.5.5",
58
58
  "app-root-path": "^3.0.0",