@social-mail/social-mail-web-server 1.7.335 → 1.7.337
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/seed/ui/seed-ui.js +1 -1
- package/dist/server/services/files/ISiteFolder.d.ts +1 -0
- package/dist/server/services/files/ISiteFolder.d.ts.map +1 -1
- package/dist/server/services/files/WebSiteContentService.d.ts +9 -7
- package/dist/server/services/files/WebSiteContentService.d.ts.map +1 -1
- package/dist/server/services/files/WebSiteContentService.js +1 -1
- package/dist/server/services/files/WebSiteContentService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.d.ts +5 -0
- package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.js +5 -0
- package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.js.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/template/files/get.d.ts +11 -0
- package/dist/wwwroot/routes/social-mail/site/template/files/get.d.ts.map +1 -0
- package/dist/wwwroot/routes/social-mail/site/template/files/get.js +61 -0
- package/dist/wwwroot/routes/social-mail/site/template/files/get.js.map +1 -0
- package/package.json +1 -1
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/files/ISiteFolder.ts +1 -0
- package/src/server/services/files/WebSiteContentService.ts +11 -2
- package/src/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.ts +5 -0
- package/src/wwwroot/routes/social-mail/site/template/files/get.tsx +63 -0
package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
|
|
2
2
|
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
3
|
+
/**
|
|
4
|
+
* This route delivers Hosted Web Site's Media Assets such as images/videos/style-sheets etc.
|
|
5
|
+
*
|
|
6
|
+
* This route is set by WebContentTranspileService
|
|
7
|
+
*/
|
|
3
8
|
export default class extends Page {
|
|
4
9
|
private fcs;
|
|
5
10
|
private db;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAS5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,GAAG,CAAwB;IAGnC,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,WAAW,CAAqB;IAGxC,OAAO,CAAC,GAAG,CAAoB;IAG/B,OAAO,CAAC,IAAI,CAAS;IAGrB,OAAO,CAAC,OAAO,CAAM;IAGrB,OAAO,CAAC,cAAc,CAAM;IAG5B,OAAO,CAAC,IAAI,CAAM;IAEZ,GAAG;IAkCH,YAAY,CAAC,MAAM,KAAA,EAAE,aAAa,KAAA,EAAE,SAAS,SAAI;CAsB1D"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAS5D;;;;GAIG;AACH,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,GAAG,CAAwB;IAGnC,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,WAAW,CAAqB;IAGxC,OAAO,CAAC,GAAG,CAAoB;IAG/B,OAAO,CAAC,IAAI,CAAS;IAGrB,OAAO,CAAC,OAAO,CAAM;IAGrB,OAAO,CAAC,cAAc,CAAM;IAG5B,OAAO,CAAC,IAAI,CAAM;IAEZ,GAAG;IAkCH,YAAY,CAAC,MAAM,KAAA,EAAE,aAAa,KAAA,EAAE,SAAS,SAAI;CAsB1D"}
|
package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.js
CHANGED
|
@@ -17,6 +17,11 @@ import SocialMailContext from "../../../../../../../../server/model/SocialMailCo
|
|
|
17
17
|
import FileConversionService from "../../../../../../../../server/services/convert/FileConversionService.js";
|
|
18
18
|
import EncryptionService from "../../../../../../../../server/services/encryption/EncryptionService.js";
|
|
19
19
|
import RateLimiterService from "../../../../../../../../server/services/rate-limiter/RateLimiterService.js";
|
|
20
|
+
/**
|
|
21
|
+
* This route delivers Hosted Web Site's Media Assets such as images/videos/style-sheets etc.
|
|
22
|
+
*
|
|
23
|
+
* This route is set by WebContentTranspileService
|
|
24
|
+
*/
|
|
20
25
|
export default class default_1 extends Page {
|
|
21
26
|
async run() {
|
|
22
27
|
await this.rateLimiter.acquire("any", `site-asset`, 10);
|
package/dist/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../src/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../src/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
2
|
+
import WebSiteContentService from "../../../../../../server/services/files/WebSiteContentService.js";
|
|
3
|
+
import SocialMailContext from "../../../../../../server/model/SocialMailContext.js";
|
|
4
|
+
import EncryptionService from "../../../../../../server/services/encryption/EncryptionService.js";
|
|
5
|
+
export default class extends Page {
|
|
6
|
+
wcs: WebSiteContentService;
|
|
7
|
+
db: SocialMailContext;
|
|
8
|
+
ecs: EncryptionService;
|
|
9
|
+
run(): Promise<import("@entity-access/server-pages/dist/Content.js").default>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/site/template/files/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,qBAAqB,MAAM,kEAAkE,CAAC;AACrG,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAEpF,OAAO,iBAAiB,MAAM,mEAAmE,CAAC;AAIlG,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,GAAG,EAAE,qBAAqB,CAAC;IAG3B,EAAE,EAAE,iBAAiB,CAAC;IAGtB,GAAG,EAAE,iBAAiB,CAAC;IAEjB,GAAG;CA0CZ"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
11
|
+
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
12
|
+
import WebSiteContentService from "../../../../../../server/services/files/WebSiteContentService.js";
|
|
13
|
+
import SocialMailContext from "../../../../../../server/model/SocialMailContext.js";
|
|
14
|
+
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
15
|
+
import EncryptionService from "../../../../../../server/services/encryption/EncryptionService.js";
|
|
16
|
+
import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
|
|
17
|
+
export default class default_1 extends Page {
|
|
18
|
+
async run() {
|
|
19
|
+
const snapshot = await this.wcs.getCurrentSnapshotFolder(this.request.hostName);
|
|
20
|
+
if (!snapshot.isTemplate) {
|
|
21
|
+
return this.notFound();
|
|
22
|
+
}
|
|
23
|
+
const path = this.childPath ?? [];
|
|
24
|
+
const root = `${snapshot.snapshotFolderID}/%`;
|
|
25
|
+
const file = path?.length
|
|
26
|
+
? await this.wcs.getFileInfo(snapshot.snapshotFolderID, ...path)
|
|
27
|
+
: await this.db.appFiles.where(snapshot, (p) => (x) => x.appFileID === p.snapshotFolderID).first();
|
|
28
|
+
if (file.isFolder) {
|
|
29
|
+
const start = BigInt(this.query.start || "0");
|
|
30
|
+
const size = Number(this.query.size || "100");
|
|
31
|
+
const files = await this.db.appFiles
|
|
32
|
+
.where({ root, start }, (p) => (x) => Sql.text.like(x.path, p.root)
|
|
33
|
+
&& x.isDeleted === false
|
|
34
|
+
&& x.appFileID > p.start)
|
|
35
|
+
.limit(size)
|
|
36
|
+
.toArray();
|
|
37
|
+
const result = [];
|
|
38
|
+
for (const { appFileID, name, contentType, fileSize, isFolder } of files) {
|
|
39
|
+
result.push({ appFileID, name, contentType, fileSize, isFolder });
|
|
40
|
+
}
|
|
41
|
+
return this.json(result);
|
|
42
|
+
}
|
|
43
|
+
const appFile = await this.wcs.getSnapshotFile(snapshot, path);
|
|
44
|
+
return new TempFileResult(appFile, {
|
|
45
|
+
contentDisposition: "inline",
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
__decorate([
|
|
50
|
+
Inject,
|
|
51
|
+
__metadata("design:type", WebSiteContentService)
|
|
52
|
+
], default_1.prototype, "wcs", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
Inject,
|
|
55
|
+
__metadata("design:type", SocialMailContext)
|
|
56
|
+
], default_1.prototype, "db", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
Inject,
|
|
59
|
+
__metadata("design:type", EncryptionService)
|
|
60
|
+
], default_1.prototype, "ecs", void 0);
|
|
61
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/site/template/files/get.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,qBAAqB,MAAM,kEAAkE,CAAC;AACrG,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AACpF,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,iBAAiB,MAAM,mEAAmE,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,MAAM,CAAC,OAAO,gBAAO,SAAQ,IAAI;IAW7B,KAAK,CAAC,GAAG;QAEL,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEhF,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAqB,IAAI,EAAE,CAAC;QAE9C,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,IAAI,CAAC;QAE9C,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM;YACrB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAI,IAAI,CAAC;YACjE,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEvG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ;iBAC/B,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;mBAC1B,CAAC,CAAC,SAAS,KAAK,KAAK;mBACrB,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAC3B;iBACJ,KAAK,CAAC,IAAI,CAAC;iBACX,OAAO,EAAE,CAAC;YAEf,MAAM,MAAM,GAAG,EAAwB,CAAC;YAExC,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE;YAC/B,kBAAkB,EAAE,QAAQ;SAC/B,CAAC,CAAC;IACP,CAAC;CACJ;AAlDG;IADC,MAAM;8BACF,qBAAqB;sCAAC;AAG3B;IADC,MAAM;8BACH,iBAAiB;qCAAC;AAGtB;IADC,MAAM;8BACF,iBAAiB;sCAAC"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ export default async function seedUI(config: DBConfig) {
|
|
|
5
5
|
await config.saveVersion(UIPackageConfig, {
|
|
6
6
|
package: "@social-mail/social-mail-client",
|
|
7
7
|
view: "dist/web/AppIndex",
|
|
8
|
-
version: "1.4.
|
|
8
|
+
version: "1.4.207"
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
await config.saveVersion(WebComponentsPackageConfig, {
|
|
@@ -88,7 +88,7 @@ export default class WebSiteContentService
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
@cacheFor()
|
|
91
|
-
async getFileInfo(folderID, ... path: string[]): Promise<
|
|
91
|
+
async getFileInfo(folderID, ... path: string[]): Promise<IFileInfo> {
|
|
92
92
|
const [top, ... paths] = path;
|
|
93
93
|
const child = await this.db.appFiles
|
|
94
94
|
.where({ folderID, top },(p) => (x) => x.parentID === p.folderID && x.name === p.top)
|
|
@@ -98,7 +98,7 @@ export default class WebSiteContentService
|
|
|
98
98
|
return null;
|
|
99
99
|
}
|
|
100
100
|
if (paths.length === 0) {
|
|
101
|
-
return { name: child.name, contentType: child.contentType, appFileID: child.appFileID, url: child.url, fileContentID: child.fileContentID };
|
|
101
|
+
return { name: child.name, contentType: child.contentType, appFileID: child.appFileID, isFolder: child.isFolder, url: child.url, fileContentID: child.fileContentID };
|
|
102
102
|
}
|
|
103
103
|
return await this.getFileInfo(child.appFileID, ... paths);
|
|
104
104
|
}
|
|
@@ -150,4 +150,13 @@ export default class WebSiteContentService
|
|
|
150
150
|
return src;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface IFileInfo {
|
|
156
|
+
name,
|
|
157
|
+
contentType,
|
|
158
|
+
appFileID,
|
|
159
|
+
isFolder,
|
|
160
|
+
url,
|
|
161
|
+
fileContentID
|
|
153
162
|
}
|
package/src/wwwroot/routes/social-mail/site/snapshot/[type]/[eSiteID]/[eFileContentID]/index.ts
CHANGED
|
@@ -9,6 +9,11 @@ import FileConversionService from "../../../../../../../../server/services/conve
|
|
|
9
9
|
import EncryptionService from "../../../../../../../../server/services/encryption/EncryptionService.js";
|
|
10
10
|
import RateLimiterService from "../../../../../../../../server/services/rate-limiter/RateLimiterService.js";
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* This route delivers Hosted Web Site's Media Assets such as images/videos/style-sheets etc.
|
|
14
|
+
*
|
|
15
|
+
* This route is set by WebContentTranspileService
|
|
16
|
+
*/
|
|
12
17
|
export default class extends Page {
|
|
13
18
|
|
|
14
19
|
@Inject
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
2
|
+
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
3
|
+
import WebSiteContentService from "../../../../../../server/services/files/WebSiteContentService.js";
|
|
4
|
+
import SocialMailContext from "../../../../../../server/model/SocialMailContext.js";
|
|
5
|
+
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
6
|
+
import EncryptionService from "../../../../../../server/services/encryption/EncryptionService.js";
|
|
7
|
+
import AppFile from "../../../../../../server/model/entities/AppFile.js";
|
|
8
|
+
import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
|
|
9
|
+
|
|
10
|
+
export default class extends Page {
|
|
11
|
+
|
|
12
|
+
@Inject
|
|
13
|
+
wcs: WebSiteContentService;
|
|
14
|
+
|
|
15
|
+
@Inject
|
|
16
|
+
db: SocialMailContext;
|
|
17
|
+
|
|
18
|
+
@Inject
|
|
19
|
+
ecs: EncryptionService;
|
|
20
|
+
|
|
21
|
+
async run() {
|
|
22
|
+
|
|
23
|
+
const snapshot = await this.wcs.getCurrentSnapshotFolder(this.request.hostName);
|
|
24
|
+
|
|
25
|
+
if (!snapshot.isTemplate) {
|
|
26
|
+
return this.notFound();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const path = this.childPath as string[] ?? [];
|
|
30
|
+
|
|
31
|
+
const root = `${snapshot.snapshotFolderID}/%`;
|
|
32
|
+
|
|
33
|
+
const file = path?.length
|
|
34
|
+
? await this.wcs.getFileInfo(snapshot.snapshotFolderID, ... path)
|
|
35
|
+
: await this.db.appFiles.where(snapshot, (p) => (x) => x.appFileID === p.snapshotFolderID).first();
|
|
36
|
+
|
|
37
|
+
if (file.isFolder) {
|
|
38
|
+
const start = BigInt(this.query.start || "0");
|
|
39
|
+
const size = Number(this.query.size || "100");
|
|
40
|
+
const files = await this.db.appFiles
|
|
41
|
+
.where({ root, start } , (p) => (x) =>
|
|
42
|
+
Sql.text.like(x.path, p.root)
|
|
43
|
+
&& x.isDeleted === false
|
|
44
|
+
&& x.appFileID > p.start
|
|
45
|
+
)
|
|
46
|
+
.limit(size)
|
|
47
|
+
.toArray();
|
|
48
|
+
|
|
49
|
+
const result = [] as Partial<AppFile>[];
|
|
50
|
+
|
|
51
|
+
for (const { appFileID, name, contentType, fileSize, isFolder } of files) {
|
|
52
|
+
result.push({ appFileID, name, contentType, fileSize, isFolder });
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return this.json(result);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const appFile = await this.wcs.getSnapshotFile(snapshot, path);
|
|
59
|
+
return new TempFileResult(appFile, {
|
|
60
|
+
contentDisposition: "inline",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|