@social-mail/social-mail-web-server 1.7.81 → 1.7.82
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/model/events/EmailLogEvents.d.ts.map +1 -1
- package/dist/server/model/events/EmailLogEvents.js +4 -1
- package/dist/server/model/events/EmailLogEvents.js.map +1 -1
- package/dist/server/services/email-logs/EmailLogService.d.ts +4 -0
- package/dist/server/services/email-logs/EmailLogService.d.ts.map +1 -1
- package/dist/server/services/email-logs/EmailLogService.js +27 -20
- package/dist/server/services/email-logs/EmailLogService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/model/events/EmailLogEvents.ts +5 -1
- package/src/server/services/email-logs/EmailLogService.ts +30 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailLogEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/EmailLogEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,WAAW,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailLogEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/EmailLogEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,WAAW,MAAM,gEAAgE,CAAC;AAIzF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,QAAQ,CAAC;IAG5D,OAAO,EAAE,WAAW,CAAC;IAGrB,eAAe,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC;IAiB7D,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAIrE,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ;IAK7B,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;CAMnE"}
|
|
@@ -8,9 +8,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import BaseEvents from "./BaseEvents.js";
|
|
11
|
-
import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
11
|
+
import Inject, { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
12
12
|
import BaseStorage from "../../storage/BaseStorage.js";
|
|
13
13
|
import TempFileService from "../../storage/TempFileService.js";
|
|
14
|
+
import EmailLogService from "../../services/email-logs/EmailLogService.js";
|
|
14
15
|
export default class EmailLogEvents extends BaseEvents {
|
|
15
16
|
filter(query) {
|
|
16
17
|
if (this.verify) {
|
|
@@ -32,6 +33,8 @@ export default class EmailLogEvents extends BaseEvents {
|
|
|
32
33
|
}
|
|
33
34
|
async afterDelete(entity, entry) {
|
|
34
35
|
await this.storage.deleteFile(entity.cloudPath);
|
|
36
|
+
const els = ServiceProvider.resolve(this, EmailLogService);
|
|
37
|
+
await els.updateStorage({ emailID: entity.emailID, size: -entity.fileSize });
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailLogEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/EmailLogEvents.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,MAAM,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailLogEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/EmailLogEvents.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAG/D,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAG3E,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAoB;IAQ5D,MAAM,CAAC,KAA6B;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;eACzD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAC3G,CACJ,CAAC;IACN,CAAC;IAGD,aAAa,CAAC,KAA6B,EAAE,IAAU,EAAE,GAAY;QACjE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,MAAgB;QACpB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAgB,EAAE,KAA4B;QAC5D,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAE,MAAM,CAAC,QAAQ,EAAC,CAAC,CAAC;IACjF,CAAC;CACJ;AArCG;IADC,MAAM;8BACE,WAAW;+CAAC;AAGrB;IADC,MAAM;8BACU,eAAe;uDAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailLogService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/email-logs/EmailLogService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAQ/D,MAAM,CAAC,OAAO,OAAO,eAAe;IAGhC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,OAAO,EAAE,WAAW,CAAC;IAGrB,GAAG,EAAE,eAAe,CAAC;IAEf,QAAQ,CAAC,OAAO,KAAA,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAM5C,SAAS,CAAC,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"EmailLogService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/email-logs/EmailLogService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAQ/D,MAAM,CAAC,OAAO,OAAO,eAAe;IAGhC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,OAAO,EAAE,WAAW,CAAC;IAGrB,GAAG,EAAE,eAAe,CAAC;IAEf,QAAQ,CAAC,OAAO,KAAA,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAM5C,SAAS,CAAC,OAAO,EAAE,MAAM;IAUzB,MAAM,CAAC,KAAK,EAAE,MAAM;IAUpB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,GAAE,MAAa;IA0BjE,IAAI,CAAC,EAAE,KAAS,EAAE,SAAc,EAAE,WAAkB,EAAE,QAAqB,EAAC;;;;;KAAA;IAgB5E,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;;;KAAA;CAuBxC"}
|
|
@@ -75,6 +75,7 @@ let EmailLogService = class EmailLogService {
|
|
|
75
75
|
for (const element of logs) {
|
|
76
76
|
await this.storage.deleteFile(element.cloudPath);
|
|
77
77
|
await this.db.emailLogs.statements.delete(element);
|
|
78
|
+
await this.updateStorage({ emailID: element.emailID, size: -element.fileSize });
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
async delete(logID) {
|
|
@@ -85,6 +86,7 @@ let EmailLogService = class EmailLogService {
|
|
|
85
86
|
await this.storage.deleteFile(log.cloudPath);
|
|
86
87
|
await this.db.emailLogs.statements.delete({ logID });
|
|
87
88
|
await tx.commit();
|
|
89
|
+
await this.updateStorage({ emailID: log, size: -log.fileSize });
|
|
88
90
|
}
|
|
89
91
|
catch (e_1) {
|
|
90
92
|
env_1.error = e_1;
|
|
@@ -102,20 +104,41 @@ let EmailLogService = class EmailLogService {
|
|
|
102
104
|
const cloudPath = `email-files/${dateCreated.year}-${String(dateCreated.month).padStart(2, '0')}-${String(dateCreated.day).padStart(2, '0')}/${randomUUID()}/${file.fileName}/email.log.gz`;
|
|
103
105
|
const compressed = await tfs.createFrom(file.fileName + ".gz", GZip.zip(file.openRead()), "text/plain");
|
|
104
106
|
await this.storage.createFile(cloudPath, compressed);
|
|
107
|
+
const size = file.contentSize;
|
|
105
108
|
const log = await db.emailLogs.statements.insert({
|
|
106
109
|
emailID,
|
|
107
110
|
fileName: file.fileName,
|
|
108
|
-
fileSize:
|
|
111
|
+
fileSize: size,
|
|
109
112
|
dateCreated,
|
|
110
113
|
cloudPath,
|
|
111
114
|
compression
|
|
112
115
|
});
|
|
113
|
-
|
|
116
|
+
await this.updateStorage({ emailID, size });
|
|
117
|
+
return log;
|
|
118
|
+
}
|
|
119
|
+
async load({ logID = 0, cloudPath = "", compression = "gz", fileName = "file.log" }) {
|
|
120
|
+
const { tfs } = this;
|
|
121
|
+
if (!cloudPath) {
|
|
122
|
+
const e = await this.db.emailLogs.where({ logID }, (p) => (x) => x.logID === p.logID).first();
|
|
123
|
+
cloudPath = e.cloudPath;
|
|
124
|
+
compression = e.compression;
|
|
125
|
+
fileName = e.fileName;
|
|
126
|
+
}
|
|
127
|
+
const s = await this.storage.streamFile(cloudPath);
|
|
128
|
+
const tf = await tfs.createFrom(fileName, s.stream, s.contentType);
|
|
129
|
+
if (compression) {
|
|
130
|
+
return await tfs.createFrom(fileName, GZip.unzipStream(tf.openReadStream()), s.contentType);
|
|
131
|
+
}
|
|
132
|
+
return tf;
|
|
133
|
+
}
|
|
134
|
+
async updateStorage({ emailID, size }) {
|
|
135
|
+
const { db } = this;
|
|
136
|
+
let lastError = null;
|
|
114
137
|
// we will make sure that we succeed once...
|
|
115
138
|
for (let index = 0; index < 3; index++) {
|
|
116
139
|
try {
|
|
117
140
|
await db.mailboxes.where({ emailID }, (p) => (x) => x.emails.some((e) => e.emailID === p.emailID))
|
|
118
|
-
.update({ size
|
|
141
|
+
.update({ size }, (p) => (x) => ({
|
|
119
142
|
storage: x.storage + Sql.cast.asInteger(p.size),
|
|
120
143
|
dateUpdated: Sql.date.now()
|
|
121
144
|
}));
|
|
@@ -125,27 +148,11 @@ let EmailLogService = class EmailLogService {
|
|
|
125
148
|
await sleep(1000);
|
|
126
149
|
continue;
|
|
127
150
|
}
|
|
128
|
-
return
|
|
151
|
+
return;
|
|
129
152
|
}
|
|
130
153
|
if (lastError) {
|
|
131
154
|
console.error(lastError);
|
|
132
155
|
}
|
|
133
|
-
return log;
|
|
134
|
-
}
|
|
135
|
-
async load({ logID = 0, cloudPath = "", compression = "gz", fileName = "file.log" }) {
|
|
136
|
-
const { tfs } = this;
|
|
137
|
-
if (!cloudPath) {
|
|
138
|
-
const e = await this.db.emailLogs.where({ logID }, (p) => (x) => x.logID === p.logID).first();
|
|
139
|
-
cloudPath = e.cloudPath;
|
|
140
|
-
compression = e.compression;
|
|
141
|
-
fileName = e.fileName;
|
|
142
|
-
}
|
|
143
|
-
const s = await this.storage.streamFile(cloudPath);
|
|
144
|
-
const tf = await tfs.createFrom(fileName, s.stream, s.contentType);
|
|
145
|
-
if (compression) {
|
|
146
|
-
return await tfs.createFrom(fileName, GZip.unzipStream(tf.openReadStream()), s.contentType);
|
|
147
|
-
}
|
|
148
|
-
return tf;
|
|
149
156
|
}
|
|
150
157
|
};
|
|
151
158
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailLogService.js","sourceRoot":"","sources":["../../../../src/server/services/email-logs/EmailLogService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAqB,MAAM,4CAA4C,CAAC;AAEvG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,MAAM,0BAA0B,CAAC;AAC7C,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAGhD,IAAM,eAAe,GAArB,MAAM,eAAe;IAWhC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAa,EAAE,GAAW;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;aACzF,OAAO,EAAE,CAAC;QACf,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailLogService.js","sourceRoot":"","sources":["../../../../src/server/services/email-logs/EmailLogService.ts"],"names":[],"mappings":"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"}
|