@social-mail/social-mail-web-server 1.7.345 → 1.7.347
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/site/CopyTemplateWorkflow.d.ts +2 -0
- package/dist/server/workflows/site/CopyTemplateWorkflow.d.ts.map +1 -1
- package/dist/server/workflows/site/CopyTemplateWorkflow.js +93 -69
- package/dist/server/workflows/site/CopyTemplateWorkflow.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/index.d.ts.map +1 -1
- package/dist/wwwroot/routes/index.js +14 -1
- package/dist/wwwroot/routes/index.js.map +1 -1
- package/package.json +2 -2
- package/src/server/workflows/site/CopyTemplateWorkflow.ts +21 -6
- package/src/wwwroot/routes/index.tsx +16 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wwwroot/routes/index.tsx"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AAGzD,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAG5D,OAAO,qBAAqB,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wwwroot/routes/index.tsx"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AAGzD,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAG5D,OAAO,qBAAqB,MAAM,sDAAsD,CAAC;AAKzF,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,MAAM,EAAE,QAAQ,CAAC;IAGjB,kBAAkB,EAAE,qBAAqB,CAAC;IAE1C,GAAG,EAAE,GAAG,CAAC;IAEH,GAAG;CAmHZ"}
|
|
@@ -17,6 +17,7 @@ import { renderUIClient } from "../../server/services/ui/renderUIClient.js";
|
|
|
17
17
|
import ScopeVars from "../../common/ScopeVars.js";
|
|
18
18
|
import WebSiteContentService from "../../server/services/files/WebSiteContentService.js";
|
|
19
19
|
import HttpProxyService from "../../server/services/http/HttpProxyService.js";
|
|
20
|
+
import { globalEnv } from "../../common/globalEnv.js";
|
|
20
21
|
export default class default_1 extends Page {
|
|
21
22
|
async run() {
|
|
22
23
|
const { forceDownload } = this.query;
|
|
@@ -57,7 +58,9 @@ export default class default_1 extends Page {
|
|
|
57
58
|
notFound = true;
|
|
58
59
|
}
|
|
59
60
|
if (notFound) {
|
|
60
|
-
return new TempFileResult(appFile
|
|
61
|
+
return new TempFileResult(appFile, {
|
|
62
|
+
status: 404
|
|
63
|
+
});
|
|
61
64
|
}
|
|
62
65
|
return new TempFileResult(appFile, {
|
|
63
66
|
contentDisposition: forceDownload
|
|
@@ -99,6 +102,16 @@ export default class default_1 extends Page {
|
|
|
99
102
|
if (file === "favicon.ico") {
|
|
100
103
|
return new FileResult(ImagesFolder.file("favicon.ico"));
|
|
101
104
|
}
|
|
105
|
+
if (this.request.hostName !== globalEnv.host) {
|
|
106
|
+
// this is most likely a failed url...
|
|
107
|
+
const c = await renderUIClient(this);
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
109
|
+
// @ts-expect-error
|
|
110
|
+
c.status = 404;
|
|
111
|
+
c.suppressLog = true;
|
|
112
|
+
console.error(`404: ${this.request?.URL?.toString()}`);
|
|
113
|
+
return c;
|
|
114
|
+
}
|
|
102
115
|
return renderUIClient(this);
|
|
103
116
|
}
|
|
104
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wwwroot/routes/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wwwroot/routes/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@social-mail/social-mail-web-server",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.347",
|
|
4
4
|
"description": "## Phase 1",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@aws-sdk/client-s3": "^3.717.0",
|
|
23
23
|
"@azure/storage-blob": "^12.25.0",
|
|
24
24
|
"@entity-access/entity-access": "^1.0.405",
|
|
25
|
-
"@entity-access/server-pages": "^1.1.
|
|
25
|
+
"@entity-access/server-pages": "^1.1.416",
|
|
26
26
|
"@ffmpeg/core-mt": "^0.12.6",
|
|
27
27
|
"@ffmpeg/ffmpeg": "^0.12.10",
|
|
28
28
|
"@ffmpeg/util": "^0.12.1",
|
|
@@ -8,6 +8,7 @@ import { JSDOM } from 'jsdom';
|
|
|
8
8
|
import BaseStorage from "../../storage/BaseStorage.js";
|
|
9
9
|
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
10
10
|
import UpdateFolderSize from "../storage/files/UpdateFolderSize.js";
|
|
11
|
+
import WebSite from "../../model/entities/WebSite.js";
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateID, publish?: boolean }> {
|
|
@@ -34,15 +35,26 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
34
35
|
.include((x) => x.folder)
|
|
35
36
|
.first();
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
const template = await db.websiteFolders.where(this.input, (p) => (x) => x.folderID === p.templateID)
|
|
39
|
+
.first();
|
|
40
|
+
|
|
41
|
+
if (template.remoteUrl) {
|
|
42
|
+
await using tx = await db.connection.createTransaction();
|
|
43
|
+
await this.copyRemoteTemplate(db, site, template.remoteUrl);
|
|
44
|
+
await tx.commit();
|
|
45
|
+
} else {
|
|
46
|
+
|
|
47
|
+
await using tx = await db.connection.createTransaction();
|
|
38
48
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
await db.appFiles
|
|
50
|
+
.where({ folderID, currentPath }, (p) => (x) => Sql.text.like(x.path, p.currentPath) && x.appFileID !== p.folderID )
|
|
51
|
+
.update(void 0, (p) => (x) => ({ isDeleted: true }));
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
await this.copyFolder(db, folderID, templateID, `${folderID}/`);
|
|
44
54
|
|
|
45
|
-
|
|
55
|
+
await tx.commit();
|
|
56
|
+
|
|
57
|
+
}
|
|
46
58
|
|
|
47
59
|
const { title } = site;
|
|
48
60
|
|
|
@@ -109,6 +121,9 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
109
121
|
|
|
110
122
|
await this.context.queue(UpdateFolderSize, folderID);
|
|
111
123
|
}
|
|
124
|
+
async copyRemoteTemplate(db: SocialMailContext, site: WebSite, remoteUrl: string) {
|
|
125
|
+
// do nothing...
|
|
126
|
+
}
|
|
112
127
|
|
|
113
128
|
async copyFolder(db: SocialMailContext, destFolderID: any, srcFolderID: any, parentPath: string) {
|
|
114
129
|
const children = await db.appFiles
|
|
@@ -8,6 +8,8 @@ import { renderUIClient } from "../../server/services/ui/renderUIClient.js";
|
|
|
8
8
|
import ScopeVars from "../../common/ScopeVars.js";
|
|
9
9
|
import WebSiteContentService from "../../server/services/files/WebSiteContentService.js";
|
|
10
10
|
import HttpProxyService from "../../server/services/http/HttpProxyService.js";
|
|
11
|
+
import sleep from "../../common/sleep.js";
|
|
12
|
+
import { globalEnv } from "../../common/globalEnv.js";
|
|
11
13
|
|
|
12
14
|
export default class extends Page {
|
|
13
15
|
|
|
@@ -68,7 +70,9 @@ export default class extends Page {
|
|
|
68
70
|
notFound = true;
|
|
69
71
|
}
|
|
70
72
|
if (notFound) {
|
|
71
|
-
return new TempFileResult(appFile
|
|
73
|
+
return new TempFileResult(appFile, {
|
|
74
|
+
status: 404
|
|
75
|
+
});
|
|
72
76
|
}
|
|
73
77
|
return new TempFileResult(
|
|
74
78
|
appFile,
|
|
@@ -117,6 +121,17 @@ export default class extends Page {
|
|
|
117
121
|
return new FileResult(ImagesFolder.file("favicon.ico"));
|
|
118
122
|
}
|
|
119
123
|
|
|
124
|
+
if (this.request.hostName !== globalEnv.host) {
|
|
125
|
+
// this is most likely a failed url...
|
|
126
|
+
const c = await renderUIClient(this);
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
128
|
+
// @ts-expect-error
|
|
129
|
+
c.status = 404;
|
|
130
|
+
c.suppressLog = true;
|
|
131
|
+
console.error(`404: ${this.request?.URL?.toString()}`);
|
|
132
|
+
return c;
|
|
133
|
+
}
|
|
134
|
+
|
|
120
135
|
return renderUIClient(this);
|
|
121
136
|
|
|
122
137
|
}
|