@tiledesk/tiledesk-server 2.10.51 → 2.10.53

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.
@@ -0,0 +1,151 @@
1
+ var winston = require('../config/winston');
2
+ const axios = require("axios").default;
3
+ require('dotenv').config();
4
+
5
+ class AiReindexService {
6
+
7
+ constructor() {
8
+
9
+ this.BASE_URL = process.env.SCHEDULER_BASEURL;
10
+ winston.verbose("(ReindexScheduler) BASE_URL: " + this.BASE_URL)
11
+ if (!this.BASE_URL) {
12
+ throw new Error("Missing paramter BASE_URL");
13
+ }
14
+
15
+ this.TOKEN = process.env.SCHEDULER_TOKEN;
16
+ winston.verbose("(ReindexScheduler) TOKEN: " + this.TOKEN)
17
+ if (!this.TOKEN) {
18
+ throw new Error("Missing paramter TOKEN");
19
+ }
20
+
21
+ this.PROJECT = process.env.SCHEDULER_PROJECT;
22
+ winston.verbose("(ReindexScheduler) PROJECT: " + this.PROJECT)
23
+ if (!this.PROJECT) {
24
+ throw new Error("Missing paramter PROJECT");
25
+ }
26
+
27
+ }
28
+
29
+ async delete(content_id) {
30
+
31
+ return new Promise( async (resolve, reject) => {
32
+
33
+ let scheduler = await this.findScheduler(content_id).catch((err) => {
34
+ reject(err);
35
+ })
36
+
37
+ winston.verbose("(AiReindexService) delete() - scheduler: ", scheduler);
38
+
39
+ if (!scheduler) {
40
+ reject("Scheduler not found for content id " + content_id);
41
+ }
42
+
43
+ let isOfflineS = await this.offlineScheduler(scheduler.id).catch((err) => {
44
+ reject(err);
45
+ })
46
+
47
+ winston.verbose("(AiReindexService) delete() - isOfflineS: ", isOfflineS)
48
+
49
+ let isOffline = await this.offlineWorkflow(scheduler.processDefinitionCode).catch((err) => {
50
+ reject(err);
51
+ })
52
+
53
+ winston.verbose("(AiReindexService) delete() - isOffline: ", isOffline)
54
+
55
+ let deleteResponse = await this.deleteWorkflow(scheduler.processDefinitionCode).catch((err) => {
56
+ reject(err);
57
+ })
58
+
59
+ winston.verbose("(AiReindexService) delete() - deleteResponse: ", deleteResponse)
60
+
61
+ resolve(deleteResponse);
62
+ })
63
+ }
64
+
65
+ async findScheduler(id) {
66
+
67
+ return new Promise( async (resolve, reject) => {
68
+ await axios({
69
+ url: `${this.BASE_URL}/projects/${this.PROJECT}/schedules/list`,
70
+ method: 'POST',
71
+ headers: {
72
+ token: this.TOKEN
73
+ }
74
+ }).then((response) => {
75
+
76
+ let scheduler = response.data.data.find(s => s.processDefinitionName === "auto-reindex-" + id);
77
+ if (!scheduler) {
78
+ resolve(null);
79
+ } else {
80
+ resolve(scheduler);
81
+
82
+ }
83
+
84
+ }).catch((err) => {
85
+ reject(err);
86
+ })
87
+ })
88
+ }
89
+
90
+ async offlineScheduler(id) {
91
+
92
+ return new Promise( async (resolve, reject) => {
93
+ await axios({
94
+ url: `${this.BASE_URL}/projects/${this.PROJECT}/schedules/${id}/offline`,
95
+ method: 'POST',
96
+ headers: {
97
+ token: this.TOKEN
98
+ }
99
+ }).then((response) => {
100
+ resolve(response.data);
101
+ }).catch((err) => {
102
+ reject(err);
103
+ })
104
+ })
105
+ }
106
+
107
+ async offlineWorkflow(code) {
108
+
109
+ return new Promise( async (resolve, reject) => {
110
+
111
+ const queryParams = {
112
+ releaseState: "OFFLINE"
113
+ }
114
+ await axios({
115
+ url: `${this.BASE_URL}/projects/${this.PROJECT}/process-definition/${code}/release`,
116
+ method: 'POST',
117
+ headers: {
118
+ token: this.TOKEN
119
+ },
120
+ params: queryParams
121
+ }).then((response) => {
122
+ resolve(response.data);
123
+ }).catch((err) => {
124
+ reject(err);
125
+ })
126
+ })
127
+ }
128
+
129
+ async deleteWorkflow(code) {
130
+
131
+ return new Promise( async (resolve, reject) => {
132
+
133
+ const queryParams = {
134
+ releaseState: "OFFLINE"
135
+ }
136
+ await axios({
137
+ url: `${this.BASE_URL}/projects/${this.PROJECT}/process-definition/${code}`,
138
+ method: 'DELETE',
139
+ headers: {
140
+ token: this.TOKEN
141
+ }
142
+ }).then((response) => {
143
+ resolve(response.data);
144
+ }).catch((err) => {
145
+ reject(err);
146
+ })
147
+ })
148
+ }
149
+ }
150
+
151
+ module.exports = { AiReindexService };
@@ -9,7 +9,7 @@ let kb_endpoint_train = process.env.KB_ENDPOINT_TRAIN;
9
9
  let kb_endpoint_qa = process.env.KB_ENDPOINT_QA;
10
10
  let secret = process.env.JWT_SECRET_KEY;
11
11
 
12
- class OpenaiService {
12
+ class AiService {
13
13
 
14
14
  // OPEN AI
15
15
  completions(data, gptkey) {
@@ -228,6 +228,6 @@ class OpenaiService {
228
228
 
229
229
  }
230
230
 
231
- var openaiService = new OpenaiService();
231
+ var aiService = new AiService();
232
232
 
233
- module.exports = openaiService;
233
+ module.exports = aiService;