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