@social-mail/social-mail-web-server 1.8.78 → 1.8.80
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/cache/CacheService.d.ts.map +1 -1
- package/dist/server/services/cache/CacheService.js +15 -3
- package/dist/server/services/cache/CacheService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/cache/CacheService.ts +18 -5
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.8.
|
|
8
|
+
version: "1.8.253"
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
await config.saveVersion(WebComponentsPackageConfig, {
|
|
@@ -139,14 +139,9 @@ export default class CacheService {
|
|
|
139
139
|
|
|
140
140
|
const now = DateTime.now;
|
|
141
141
|
|
|
142
|
-
await using rl = await this.rateLimiter.acquireDisposable("0.0.0.0", "file-cache", 10);
|
|
143
|
-
|
|
144
142
|
const keyHash = await this.cryptoService.hashBuffer(Buffer.from(key, "utf-8"));
|
|
145
143
|
|
|
146
|
-
await using dbLock = await this.dbLockService.lock(`ci-${keyHash}`, DateTime.now.addMinutes(5));
|
|
147
|
-
|
|
148
144
|
const keys = { key, keyHash };
|
|
149
|
-
let cachedItem = await this.db.cachedItems.statements.select({}, keys);
|
|
150
145
|
const { base: fileName } = parse(key);
|
|
151
146
|
|
|
152
147
|
let added = false;
|
|
@@ -156,6 +151,22 @@ export default class CacheService {
|
|
|
156
151
|
|
|
157
152
|
const expiry = now.add(ttl);
|
|
158
153
|
|
|
154
|
+
let cachedItem = await this.db.cachedItems.statements.select({}, keys);
|
|
155
|
+
if (cachedItem) {
|
|
156
|
+
if(DateTime.from(cachedItem.expiry).msSinceEpoch > Date.now()) {
|
|
157
|
+
if (cachedItem.slide) {
|
|
158
|
+
await this.db.cachedItems.statements.update({
|
|
159
|
+
expiry,
|
|
160
|
+
},{ itemID: cachedItem.itemID });
|
|
161
|
+
}
|
|
162
|
+
cloudPath = `cache/${cachedItem.itemID}`;
|
|
163
|
+
return this.downloadCachedFile(ck, cachedItem, cloudPath, fileName);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
await using _dbLock = await this.dbLockService.lock(`ci-${keyHash}`, DateTime.now.addMinutes(5));
|
|
168
|
+
|
|
169
|
+
cachedItem = await this.db.cachedItems.statements.select({}, keys);
|
|
159
170
|
if (cachedItem) {
|
|
160
171
|
if(DateTime.from(cachedItem.expiry).msSinceEpoch > Date.now()) {
|
|
161
172
|
if (cachedItem.slide) {
|
|
@@ -172,6 +183,8 @@ export default class CacheService {
|
|
|
172
183
|
},{ itemID: cachedItem.itemID });
|
|
173
184
|
}
|
|
174
185
|
|
|
186
|
+
await using _rl = await this.rateLimiter.acquireDisposable("0.0.0.0", "file-cache", 10);
|
|
187
|
+
|
|
175
188
|
if (!cachedItem) {
|
|
176
189
|
cachedItem = await this.db.cachedItems.statements.selectOrInsert( {
|
|
177
190
|
... keys,
|