@social-mail/social-mail-web-server 1.7.151 → 1.7.152
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 -3
- package/dist/server/workflows/site/CopyTemplateWorkflow.d.ts.map +1 -1
- package/dist/server/workflows/site/CopyTemplateWorkflow.js +12 -13
- package/dist/server/workflows/site/CopyTemplateWorkflow.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/workflows/site/CopyTemplateWorkflow.ts +14 -10
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@ import { JSDOM } from 'jsdom';
|
|
|
8
8
|
import BaseStorage from "../../storage/BaseStorage.js";
|
|
9
9
|
import SnapshotService from "../../services/files/SnapshotService.js";
|
|
10
10
|
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
11
|
+
import UpdateFolderSize from "../storage/files/UpdateFolderSize.js";
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateID }> {
|
|
@@ -22,8 +23,7 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
22
23
|
async copy(
|
|
23
24
|
@Inject db?: SocialMailContext,
|
|
24
25
|
@Inject tfs?: TempFileService,
|
|
25
|
-
@Inject storage?: BaseStorage
|
|
26
|
-
@Inject ss?: SnapshotService
|
|
26
|
+
@Inject storage?: BaseStorage
|
|
27
27
|
) {
|
|
28
28
|
// delete all files from current folder ..
|
|
29
29
|
|
|
@@ -41,7 +41,7 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
41
41
|
.where({ folderID, currentPath }, (p) => (x) => Sql.text.like(x.path, p.currentPath) && x.appFileID !== p.folderID )
|
|
42
42
|
.update(void 0, (p) => (x) => ({ isDeleted: true }));
|
|
43
43
|
|
|
44
|
-
await this.copyFolder(db, folderID, templateID);
|
|
44
|
+
await this.copyFolder(db, folderID, templateID, `${folderID}/`);
|
|
45
45
|
|
|
46
46
|
await tx.commit();
|
|
47
47
|
|
|
@@ -68,7 +68,6 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
68
68
|
const v = e.getAttribute(k);
|
|
69
69
|
switch(k) {
|
|
70
70
|
case "data-template-part":
|
|
71
|
-
console.log(`Changing data-template-part`);
|
|
72
71
|
switch(v) {
|
|
73
72
|
case "name":
|
|
74
73
|
e.removeAttribute(k);
|
|
@@ -83,7 +82,6 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
83
82
|
|
|
84
83
|
if (modified) {
|
|
85
84
|
|
|
86
|
-
console.log(`Saving ${htmlFile.name}`);
|
|
87
85
|
const savedFile = await tfs.createTempFile(".html", htmlFile.name, htmlFile.contentType);
|
|
88
86
|
|
|
89
87
|
let docType = "";
|
|
@@ -94,12 +92,11 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
94
92
|
await savedFile.writeAllText(docType + document.documentElement.outerHTML);
|
|
95
93
|
|
|
96
94
|
await storage.updateFile(htmlFile, savedFile);
|
|
97
|
-
await db.
|
|
95
|
+
await db.appFiles.statements.update({ fileContentID: htmlFile.fileContentID}, { appFileID: htmlFile.appFileID });
|
|
98
96
|
}
|
|
99
97
|
}
|
|
100
98
|
|
|
101
99
|
// publish a snapshot...
|
|
102
|
-
console.log(`Creating snapshot`);
|
|
103
100
|
db.websiteVersions.add({
|
|
104
101
|
folderID,
|
|
105
102
|
authorID: site.folder.creatorID,
|
|
@@ -108,9 +105,11 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
108
105
|
});
|
|
109
106
|
|
|
110
107
|
await db.saveChanges();
|
|
108
|
+
|
|
109
|
+
await this.context.queue(UpdateFolderSize, folderID);
|
|
111
110
|
}
|
|
112
111
|
|
|
113
|
-
async copyFolder(db: SocialMailContext, destFolderID: any, srcFolderID: any) {
|
|
112
|
+
async copyFolder(db: SocialMailContext, destFolderID: any, srcFolderID: any, parentPath: string) {
|
|
114
113
|
const children = await db.appFiles
|
|
115
114
|
.where({ srcFolderID }, (p) => (x) => x.parentID === p.srcFolderID && x.isDeleted === false)
|
|
116
115
|
.toArray();
|
|
@@ -146,7 +145,7 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
146
145
|
});
|
|
147
146
|
} else {
|
|
148
147
|
|
|
149
|
-
await db.appFiles.statements.update({
|
|
148
|
+
existing = await db.appFiles.statements.update({
|
|
150
149
|
fileContentID: element.fileContentID,
|
|
151
150
|
contentType: element.contentType,
|
|
152
151
|
dateCreated: element.dateCreated,
|
|
@@ -157,8 +156,13 @@ export default class CopyTemplateWorkflow extends Workflow<{ folderID, templateI
|
|
|
157
156
|
});
|
|
158
157
|
}
|
|
159
158
|
|
|
159
|
+
// update path...
|
|
160
|
+
const path = `${parentPath}${existing.appFileID}/`;
|
|
161
|
+
|
|
162
|
+
await db.appFiles.statements.update({ path }, { appFileID: existing.appFileID});
|
|
163
|
+
|
|
160
164
|
if (existing.isFolder) {
|
|
161
|
-
await this.copyFolder(db, existing.appFileID, element.appFileID);
|
|
165
|
+
await this.copyFolder(db, existing.appFileID, element.appFileID, path);
|
|
162
166
|
} else {
|
|
163
167
|
if (/^text\/html$/i.test(existing.contentType)) {
|
|
164
168
|
this.set.add(existing);
|