@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.7.151",
3
+ "version": "1.7.152",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -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.saveChanges();
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);