ecwt 0.3.1 → 0.3.3

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/main.cjs CHANGED
@@ -249,21 +249,14 @@ var EcwtFactory = class {
249
249
  if (ttl_initial === null) await this.#redisClient.HSET(this.#redis_key_revoked, token_id, "");
250
250
  else {
251
251
  const expires_in_ms = created_at_ms + ttl_initial * 1e3 - Date.now();
252
- if (expires_in_ms > 0) await this.#redisClient.sendCommand([
253
- "HSET",
254
- this.#redis_key_revoked,
255
- token_id,
256
- "",
257
- "PX",
258
- String(expires_in_ms)
259
- ]);
252
+ if (expires_in_ms > 0) await this.#redisClient.MULTI().HSET(this.#redis_key_revoked, token_id, "").HPEXPIRE(this.#redis_key_revoked, token_id, expires_in_ms).EXEC();
260
253
  }
261
254
  } else console.warn("[ecwt] Redis client is not provided. Tokens cannot be revoked.");
262
255
  }
263
256
  #migrated = false;
264
257
  async #migrateExpired() {
265
258
  if (this.#redisClient && !this.#migrated) {
266
- await this.#redisClient.EVAL("local key = KEYS[1] if redis.call(\"TYPE\", key)[\"ok\"] ~= \"zset\" then return end local key_hash = key .. \":hash\" local ts_now = tonumber(ARGV[1]) local cursor = \"0\" repeat local scan = redis.call(\"ZSCAN\", key, cursor, \"COUNT\", 1000) cursor = scan[1] local items = scan[2] for i = 1, #items, 2 do local field = items[i] local expire_at = tonumber(items[i + 1]) local expire_in = expire_at and expire_at - ts_now redis.call(\"HSET\", key_hash, field, \"\") if expire_in and expire_in > 0 then redis.call(\"HPEXPIRE\", key_hash, expire_in, \"FIELDS\", 1, field) end end until cursor == \"0\" redis.call(\"DEL\", key) redis.call(\"RENAME\", key_hash, key)", {
259
+ await this.#redisClient.EVAL("local key = KEYS[1] if redis.call(\"TYPE\", key)[\"ok\"] ~= \"zset\" then return end local key_hash = key .. \":hash\" local ts_now = tonumber(ARGV[1]) local cursor = \"0\" repeat local scan = redis.call(\"ZSCAN\", key, cursor, \"COUNT\", 1000) cursor = scan[1] local items = scan[2] for i = 1, #items, 2 do local field = items[i] local expire_at = tonumber(items[i + 1]) local expire_in = expire_at and expire_at - ts_now if expire_in and expire_in > 0 then redis.call(\"HSET\", key_hash, field, \"\") redis.call(\"HPEXPIRE\", key_hash, expire_in, \"FIELDS\", 1, field) end end until cursor == \"0\" redis.call(\"DEL\", key) redis.call(\"RENAME\", key_hash, key)", {
267
260
  keys: [this.#redis_key_revoked],
268
261
  arguments: [String(Date.now())]
269
262
  });
package/dist/main.mjs CHANGED
@@ -225,21 +225,14 @@ var EcwtFactory = class {
225
225
  if (ttl_initial === null) await this.#redisClient.HSET(this.#redis_key_revoked, token_id, "");
226
226
  else {
227
227
  const expires_in_ms = created_at_ms + ttl_initial * 1e3 - Date.now();
228
- if (expires_in_ms > 0) await this.#redisClient.sendCommand([
229
- "HSET",
230
- this.#redis_key_revoked,
231
- token_id,
232
- "",
233
- "PX",
234
- String(expires_in_ms)
235
- ]);
228
+ if (expires_in_ms > 0) await this.#redisClient.MULTI().HSET(this.#redis_key_revoked, token_id, "").HPEXPIRE(this.#redis_key_revoked, token_id, expires_in_ms).EXEC();
236
229
  }
237
230
  } else console.warn("[ecwt] Redis client is not provided. Tokens cannot be revoked.");
238
231
  }
239
232
  #migrated = false;
240
233
  async #migrateExpired() {
241
234
  if (this.#redisClient && !this.#migrated) {
242
- await this.#redisClient.EVAL("local key = KEYS[1] if redis.call(\"TYPE\", key)[\"ok\"] ~= \"zset\" then return end local key_hash = key .. \":hash\" local ts_now = tonumber(ARGV[1]) local cursor = \"0\" repeat local scan = redis.call(\"ZSCAN\", key, cursor, \"COUNT\", 1000) cursor = scan[1] local items = scan[2] for i = 1, #items, 2 do local field = items[i] local expire_at = tonumber(items[i + 1]) local expire_in = expire_at and expire_at - ts_now redis.call(\"HSET\", key_hash, field, \"\") if expire_in and expire_in > 0 then redis.call(\"HPEXPIRE\", key_hash, expire_in, \"FIELDS\", 1, field) end end until cursor == \"0\" redis.call(\"DEL\", key) redis.call(\"RENAME\", key_hash, key)", {
235
+ await this.#redisClient.EVAL("local key = KEYS[1] if redis.call(\"TYPE\", key)[\"ok\"] ~= \"zset\" then return end local key_hash = key .. \":hash\" local ts_now = tonumber(ARGV[1]) local cursor = \"0\" repeat local scan = redis.call(\"ZSCAN\", key, cursor, \"COUNT\", 1000) cursor = scan[1] local items = scan[2] for i = 1, #items, 2 do local field = items[i] local expire_at = tonumber(items[i + 1]) local expire_in = expire_at and expire_at - ts_now if expire_in and expire_in > 0 then redis.call(\"HSET\", key_hash, field, \"\") redis.call(\"HPEXPIRE\", key_hash, expire_in, \"FIELDS\", 1, field) end end until cursor == \"0\" redis.call(\"DEL\", key) redis.call(\"RENAME\", key_hash, key)", {
243
236
  keys: [this.#redis_key_revoked],
244
237
  arguments: [String(Date.now())]
245
238
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecwt",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Encrypted CBOR Web Token",
5
5
  "publishConfig": {
6
6
  "access": "public"