@social-mail/social-mail-web-server 1.8.395 → 1.8.397
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/dist/server/workflows/SocialWorkflowContext.js +2 -2
- package/dist/server/workflows/SocialWorkflowContext.js.map +1 -1
- package/dist/server/workflows/daily/DailyWorkflow.js +2 -2
- package/dist/server/workflows/daily/DailyWorkflow.js.map +1 -1
- package/dist/server/workflows/search/{IndexAppFilesWorkflow.d.ts → IndexFileContentsWorkflow.d.ts} +2 -2
- package/dist/server/workflows/search/IndexFileContentsWorkflow.d.ts.map +1 -0
- package/dist/server/workflows/search/{IndexAppFilesWorkflow.js → IndexFileContentsWorkflow.js} +17 -16
- package/dist/server/workflows/search/IndexFileContentsWorkflow.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/workflows/SocialWorkflowContext.ts +2 -2
- package/src/server/workflows/daily/DailyWorkflow.ts +2 -2
- package/src/server/workflows/search/{IndexAppFilesWorkflow.ts → IndexFileContentsWorkflow.ts} +14 -13
- package/dist/server/workflows/search/IndexAppFilesWorkflow.d.ts.map +0 -1
- package/dist/server/workflows/search/IndexAppFilesWorkflow.js.map +0 -1
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
|
13
13
|
// import UpdateEmailReferences from "./incoming/UpdateEmailReferences.js";
|
|
14
14
|
import BroadcastEmail from "./channel/BroadcastEmail.js";
|
|
15
15
|
import ClearEmailHtmlBody from "./email/ClearEmailHtmlBody.js";
|
|
16
|
-
import
|
|
16
|
+
import IndexFileContentsWorkflow from "./search/IndexFileContentsWorkflow.js";
|
|
17
17
|
import RepairConversationWorkflow from "./repair/conversations/RepairConversationWorkflow.js";
|
|
18
18
|
// import PostReceiveWorkflow from "./post-receive/PostReceiveWorkflow.js";
|
|
19
19
|
import SendChannelInvitation from "./channel/invite/SendChannelInvitation.js";
|
|
@@ -71,7 +71,7 @@ export default class SocialWorkflowContext extends AppWorkflowContext {
|
|
|
71
71
|
this.register(UpdateFolderSize);
|
|
72
72
|
this.register(UpdateUserStorage);
|
|
73
73
|
this.register(DailyWorkflow);
|
|
74
|
-
this.register(
|
|
74
|
+
this.register(IndexFileContentsWorkflow);
|
|
75
75
|
this.register(BroadcastEmail);
|
|
76
76
|
this.register(DispatchEmailToMX);
|
|
77
77
|
this.register(DispatchNotificationToMX);
|
|
@@ -7,7 +7,7 @@ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
|
7
7
|
// import IndexMailboxWorkflow from "../search/IndexMailboxWorkflow.js";
|
|
8
8
|
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
9
9
|
import ClearEmailHtmlBody from "../email/ClearEmailHtmlBody.js";
|
|
10
|
-
import
|
|
10
|
+
import IndexFileContentsWorkflow from "../search/IndexFileContentsWorkflow.js";
|
|
11
11
|
import DbLockService from "../../services/db-lock/DbLockService.js";
|
|
12
12
|
import PendingPostReceiveWorkflow from "../pending/PendingPostReceiveWorkflow.js";
|
|
13
13
|
import PendingReferencesWorkflow from "../pending/PendingReferencesWorkflow.js";
|
|
@@ -109,6 +109,6 @@ export default class DailyWorkflow extends Workflow<any,any> {
|
|
|
109
109
|
|
|
110
110
|
await this.context.queue(ClearEmailHtmlBody, "1", { id : "clean-email-html-body" });
|
|
111
111
|
|
|
112
|
-
await
|
|
112
|
+
await IndexFileContentsWorkflow.startIndexing(this.context);
|
|
113
113
|
}
|
|
114
114
|
}
|
package/src/server/workflows/search/{IndexAppFilesWorkflow.ts → IndexFileContentsWorkflow.ts}
RENAMED
|
@@ -6,7 +6,6 @@ import TempFileService from "../../storage/TempFileService.js";
|
|
|
6
6
|
import { LocalFile } from "@entity-access/server-pages/dist/core/LocalFile.js";
|
|
7
7
|
import { FileType } from "../../../common/FileType.js";
|
|
8
8
|
import FileContent from "../../model/entities/FileContent.js";
|
|
9
|
-
import AppFile from "../../model/entities/AppFile.js";
|
|
10
9
|
import EmailParserService from "../../smtp/services/EmailParserService.js";
|
|
11
10
|
import { parse } from "path";
|
|
12
11
|
import { Extract } from "../../services/extract/Extract.js";
|
|
@@ -15,13 +14,13 @@ import { appendFile } from "fs/promises";
|
|
|
15
14
|
import BufferHelper from "../../../common/BufferHelper.js";
|
|
16
15
|
import sleep from "../../../common/sleep.js";
|
|
17
16
|
|
|
18
|
-
export default class
|
|
17
|
+
export default class IndexFileContentsWorkflow extends Workflow {
|
|
19
18
|
|
|
20
19
|
static taskGroup = "batch";
|
|
21
20
|
|
|
22
21
|
static startIndexing(context: AppWorkflowContext) {
|
|
23
|
-
return context.queue(
|
|
24
|
-
id: `index-
|
|
22
|
+
return context.queue(IndexFileContentsWorkflow, 0, {
|
|
23
|
+
id: `index-file-contents`
|
|
25
24
|
});
|
|
26
25
|
}
|
|
27
26
|
|
|
@@ -45,17 +44,16 @@ export default class IndexAppFilesWorkflow extends Workflow {
|
|
|
45
44
|
db.verifyFilters = false;
|
|
46
45
|
db.raiseEvents = false;
|
|
47
46
|
|
|
48
|
-
let q = db.
|
|
49
|
-
.where(void 0, (p) => (x) => x.
|
|
47
|
+
let q = db.fileContents
|
|
48
|
+
.where(void 0, (p) => (x) => x.textDocumentID === null);
|
|
50
49
|
|
|
51
50
|
if (BigInt(start) > 0) {
|
|
52
|
-
q = q.where({ start }, (p) => (x) => x.
|
|
51
|
+
q = q.where({ start }, (p) => (x) => x.fileContentID < p.start);
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
const files = await q
|
|
56
|
-
.orderByDescending(void 0, (p) => (x) => x.
|
|
55
|
+
.orderByDescending(void 0, (p) => (x) => x.fileContentID)
|
|
57
56
|
.limit(100)
|
|
58
|
-
.include((x) => x.fileContent)
|
|
59
57
|
.toArray();
|
|
60
58
|
|
|
61
59
|
if (!files.length) {
|
|
@@ -63,7 +61,7 @@ export default class IndexAppFilesWorkflow extends Workflow {
|
|
|
63
61
|
}
|
|
64
62
|
|
|
65
63
|
for (const iterator of files) {
|
|
66
|
-
start = iterator.
|
|
64
|
+
start = iterator.fileContentID;
|
|
67
65
|
try {
|
|
68
66
|
await this.saveTextContent(iterator, tempFileService, db);
|
|
69
67
|
} catch (error) {
|
|
@@ -109,25 +107,28 @@ export default class IndexAppFilesWorkflow extends Workflow {
|
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
|
|
112
|
-
private async saveTextContent(
|
|
110
|
+
private async saveTextContent(fileContent: FileContent, tempFileService: TempFileService, db: SocialMailContext) {
|
|
113
111
|
|
|
114
112
|
let searchable = "";
|
|
115
113
|
|
|
116
114
|
// check if file content already has text content to remove duplicates
|
|
117
|
-
const has = await db.textDocuments.statements.select({}, { textDocumentID:
|
|
115
|
+
const has = await db.textDocuments.statements.select({}, { textDocumentID: fileContent.fileContentID });
|
|
118
116
|
if(has) {
|
|
119
117
|
return;
|
|
120
118
|
}
|
|
121
119
|
|
|
122
120
|
const changes: Partial<FileContent> = {
|
|
123
121
|
textDocumentID: 0,
|
|
124
|
-
fileContentID:
|
|
122
|
+
fileContentID: fileContent.fileContentID
|
|
125
123
|
};
|
|
126
124
|
|
|
127
125
|
let file: LocalFile = null;
|
|
128
126
|
|
|
129
127
|
for(let i=0;i<3;i++) {
|
|
130
128
|
try {
|
|
129
|
+
|
|
130
|
+
// get file
|
|
131
|
+
const appFile = await db.appFiles.where(fileContent, (p) => (x) => x.fileContentID === p.fileContentID).first();
|
|
131
132
|
file = await tempFileService.downloadAppFile(appFile);
|
|
132
133
|
break;
|
|
133
134
|
} catch (error) {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IndexAppFilesWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/search/IndexAppFilesWorkflow.ts"],"names":[],"mappings":"AACA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AAEnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAQ/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAK9D,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,QAAQ;IAEvD,MAAM,CAAC,SAAS,SAAW;IAE3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB;IAM1C,GAAG;IAWH,KAAK,CACP,KAAK,KAAA,EACG,EAAE,CAAC,EAAE,iBAAiB,EACtB,eAAe,CAAC,EAAE,eAAe;YAmC/B,WAAW;YAmCX,eAAe;CA0DhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IndexAppFilesWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/search/IndexAppFilesWorkflow.ts"],"names":[],"mappings":"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"}
|