@paroicms/server-text-cache-system 1.1.1 → 1.2.1
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/ddl/text-cache.ddl.sql +12 -6
- package/dist/cache-system.js +1 -1
- package/dist/cache-system.js.map +1 -1
- package/dist/db-init/ddl-migration.d.ts +2 -2
- package/dist/db-init/ddl-migration.js +9 -5
- package/dist/db-init/ddl-migration.js.map +1 -1
- package/dist/entities/PaCache.entity.d.ts +1 -0
- package/dist/entities/PaCache.entity.js +5 -0
- package/dist/entities/PaCache.entity.js.map +1 -1
- package/dist/entities/PaCacheDependency.entity.d.ts +1 -1
- package/dist/entities/PaCacheDependency.entity.js +2 -2
- package/dist/entities/PaCacheDependency.entity.js.map +1 -1
- package/dist/internal/queries.d.ts +1 -1
- package/dist/internal/queries.js +12 -9
- package/dist/internal/queries.js.map +1 -1
- package/dist/public-types.d.ts +1 -4
- package/package.json +3 -3
package/ddl/text-cache.ddl.sql
CHANGED
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
PRAGMA journal_mode = TRUNCATE;
|
|
2
2
|
PRAGMA foreign_keys = 1;
|
|
3
3
|
|
|
4
|
+
drop index if exists PaCacheDependency_depK_index;
|
|
5
|
+
drop table if exists PaCacheDependency;
|
|
6
|
+
drop table if exists PaCache;
|
|
7
|
+
drop table if exists PaDbMetadata;
|
|
8
|
+
|
|
4
9
|
create table PaDbMetadata (
|
|
5
10
|
dbSchema varchar(100) not null primary key,
|
|
6
11
|
dbVersion integer not null
|
|
7
12
|
);
|
|
8
13
|
|
|
9
|
-
insert into PaDbMetadata (dbSchema, dbVersion) values ('text-cache',
|
|
14
|
+
insert into PaDbMetadata (dbSchema, dbVersion) values ('text-cache', 2);
|
|
10
15
|
|
|
11
16
|
create table PaCache (
|
|
12
17
|
id integer not null primary key autoincrement,
|
|
13
18
|
ts timestamp not null default current_timestamp,
|
|
14
|
-
|
|
19
|
+
resourceVersion varchar(100) not null,
|
|
15
20
|
k varchar(250) not null unique,
|
|
16
|
-
val text not null
|
|
21
|
+
val text not null,
|
|
22
|
+
lastUseTs timestamp not null default current_timestamp
|
|
17
23
|
);
|
|
18
24
|
|
|
19
25
|
create table PaCacheDependency (
|
|
20
26
|
cacheId integer not null references PaCache (id) on delete cascade,
|
|
21
|
-
|
|
22
|
-
primary key (cacheId,
|
|
27
|
+
depK varchar(250) not null,
|
|
28
|
+
primary key (cacheId, depK)
|
|
23
29
|
);
|
|
24
30
|
|
|
25
|
-
create index
|
|
31
|
+
create index PaCacheDependency_depK_index on PaCacheDependency (depK);
|
package/dist/cache-system.js
CHANGED
|
@@ -58,7 +58,7 @@ async function createTextCacheSystem(options) {
|
|
|
58
58
|
exports.createTextCacheSystem = createTextCacheSystem;
|
|
59
59
|
function createNoTextCacheSystem() {
|
|
60
60
|
return {
|
|
61
|
-
setCacheValue: (data) => Promise.resolve({ value: data.value
|
|
61
|
+
setCacheValue: (data) => Promise.resolve({ value: data.value }),
|
|
62
62
|
getCacheValue: () => Promise.resolve(undefined),
|
|
63
63
|
getDependencyKeys: () => Promise.resolve([]),
|
|
64
64
|
invalidate: () => Promise.resolve([]),
|
package/dist/cache-system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-system.js","sourceRoot":"","sources":["../src/cache-system.ts"],"names":[],"mappings":";;;AACA,0EAA+E;AAC/E,gDAO4B;AA0BrB,KAAK,UAAU,qBAAqB,CACzC,OAAqC;IAErC,MAAM,OAAO,GAAG,MAAM,IAAA,mDAA4B,EAAC,OAAO,CAAC,CAAC;IAE5D,SAAS,WAAW;QAClB,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO;YAC/B,WAAW,EAAE,CAAC;YACd,OAAO,MAAM,IAAA,kCAAwB,EAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO;YACnC,WAAW,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAa,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,kBAAkB,QAAQ,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO;YACvC,WAAW,EAAE,CAAC;YACd,OAAO,MAAM,IAAA,2BAAiB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,cAAc;YAC7B,WAAW,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAiB,EAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,MAAM,uBAAuB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,CAAC,iBAAiB;YACrB,WAAW,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,mCAAmC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU;YACd,WAAW,EAAE,CAAC;YACd,MAAM,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,oBAAoB,CAAC,CAAC;QACjE,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO;YAC3C,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7B,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC;AA9DD,sDA8DC;AAED,SAAgB,uBAAuB;IACrC,OAAO;QACL,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"cache-system.js","sourceRoot":"","sources":["../src/cache-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AppLog } from "@paroicms/server-lib";
|
|
2
2
|
import type { DataSource } from "typeorm";
|
|
3
3
|
export declare const dbSchemaName = "text-cache";
|
|
4
|
-
export declare const currentVariantsDbSchemaVersion =
|
|
4
|
+
export declare const currentVariantsDbSchemaVersion = 2;
|
|
5
5
|
export declare function getDbVersion(cn: DataSource, { siteName }: {
|
|
6
6
|
siteName: string;
|
|
7
7
|
}): Promise<number>;
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.migrateMediasDb = exports.getDbVersion = exports.currentVariantsDbSchemaVersion = exports.dbSchemaName = void 0;
|
|
4
4
|
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
+
const server_lib_1 = require("@paroicms/server-lib");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
5
8
|
exports.dbSchemaName = "text-cache";
|
|
6
|
-
exports.currentVariantsDbSchemaVersion =
|
|
9
|
+
exports.currentVariantsDbSchemaVersion = 2;
|
|
7
10
|
async function getDbVersion(cn, { siteName }) {
|
|
8
11
|
const [row] = await cn.query(`select dbVersion from PaDbMetadata where dbSchema = '${exports.dbSchemaName}'`);
|
|
9
12
|
if (!row)
|
|
@@ -14,10 +17,11 @@ exports.getDbVersion = getDbVersion;
|
|
|
14
17
|
async function migrateMediasDb(cn, { fromVersion, siteName, appLog }) {
|
|
15
18
|
const toVersion = exports.currentVariantsDbSchemaVersion;
|
|
16
19
|
let currentVersion = fromVersion;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
// We don't care losing cache data
|
|
21
|
+
if (currentVersion < toVersion) {
|
|
22
|
+
appLog.info(`[${siteName}] reset the text-cache database`);
|
|
23
|
+
await (0, server_lib_1.executeDdl)(cn, (0, node_path_1.join)(constants_1.packageDir, "ddl", "text-cache.ddl.sql"));
|
|
24
|
+
currentVersion = await getDbVersion(cn, { siteName });
|
|
21
25
|
}
|
|
22
26
|
if (currentVersion !== toVersion) {
|
|
23
27
|
throw new Error(`[${siteName}] version of ${exports.dbSchemaName} database should be '${toVersion}', but is '${currentVersion}'`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":";;;AAAA,oEAAmD;
|
|
1
|
+
{"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":";;;AAAA,oEAAmD;AAEnD,qDAA+D;AAC/D,yCAAiC;AAEjC,4CAA0C;AAE7B,QAAA,YAAY,GAAG,YAAY,CAAC;AAC5B,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAEzC,KAAK,UAAU,YAAY,CAAC,EAAc,EAAE,EAAE,QAAQ,EAAwB;IACnF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,wDAAwD,oBAAY,GAAG,CACxE,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,uBAAuB,oBAAY,eAAe,CAAC,CAAC;IAC1F,OAAO,IAAA,2BAAK,EAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACxD,CAAC;AAND,oCAMC;AAEM,KAAK,UAAU,eAAe,CACnC,EAAc,EACd,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAA6D;IAE5F,MAAM,SAAS,GAAG,sCAA8B,CAAC;IACjD,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,kCAAkC;IAClC,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,iCAAiC,CAAC,CAAC;QAC3D,MAAM,IAAA,uBAAU,EAAC,EAAE,EAAE,IAAA,gBAAI,EAAC,sBAAU,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACpE,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,IAAI,QAAQ,gBAAgB,oBAAY,wBAAwB,SAAS,cAAc,cAAc,GAAG,CACzG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,IAAI,CACT,IAAI,QAAQ,KAAK,oBAAY,+BAA+B,WAAW,OAAO,cAAc,EAAE,CAC/F,CAAC;AACJ,CAAC;AAtBD,0CAsBC"}
|
|
@@ -14,6 +14,7 @@ const typeorm_1 = require("typeorm");
|
|
|
14
14
|
let PaCacheEntity = class PaCacheEntity {
|
|
15
15
|
id;
|
|
16
16
|
ts;
|
|
17
|
+
resourceVersion;
|
|
17
18
|
lastUseTs;
|
|
18
19
|
k;
|
|
19
20
|
val;
|
|
@@ -27,6 +28,10 @@ __decorate([
|
|
|
27
28
|
(0, typeorm_1.Column)({ type: "datetime", default: () => "current_timestamp" }),
|
|
28
29
|
__metadata("design:type", Date)
|
|
29
30
|
], PaCacheEntity.prototype, "ts", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, typeorm_1.Column)(),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], PaCacheEntity.prototype, "resourceVersion", void 0);
|
|
30
35
|
__decorate([
|
|
31
36
|
(0, typeorm_1.Column)({ type: "datetime", default: () => "current_timestamp" }),
|
|
32
37
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaCache.entity.js","sourceRoot":"","sources":["../../src/entities/PaCache.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAExB,EAAE,CAAU;IAGZ,EAAE,CAAQ;IAGV,SAAS,CAAQ;IAGjB,CAAC,CAAU;IAGX,GAAG,CAAU;CACd,CAAA;
|
|
1
|
+
{"version":3,"file":"PaCache.entity.js","sourceRoot":"","sources":["../../src/entities/PaCache.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAExB,EAAE,CAAU;IAGZ,EAAE,CAAQ;IAGV,eAAe,CAAU;IAGzB,SAAS,CAAQ;IAGjB,CAAC,CAAU;IAGX,GAAG,CAAU;CACd,CAAA;AAlBY,sCAAa;AAExB;IADC,IAAA,gCAAsB,GAAE;;yCACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BAC5D,IAAI;yCAAC;AAGV;IADC,IAAA,gBAAM,GAAE;;sDACgB;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACrD,IAAI;gDAAC;AAGjB;IADC,IAAA,gBAAM,GAAE;;wCACE;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACZ;wBAjBF,aAAa;IADzB,IAAA,gBAAM,EAAC,SAAS,CAAC;GACL,aAAa,CAkBzB"}
|
|
@@ -13,7 +13,7 @@ exports.PaCacheDependencyEntity = void 0;
|
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
let PaCacheDependencyEntity = class PaCacheDependencyEntity {
|
|
15
15
|
cacheId;
|
|
16
|
-
|
|
16
|
+
depK;
|
|
17
17
|
};
|
|
18
18
|
exports.PaCacheDependencyEntity = PaCacheDependencyEntity;
|
|
19
19
|
__decorate([
|
|
@@ -23,7 +23,7 @@ __decorate([
|
|
|
23
23
|
__decorate([
|
|
24
24
|
(0, typeorm_1.Column)({ primary: true }),
|
|
25
25
|
__metadata("design:type", String)
|
|
26
|
-
], PaCacheDependencyEntity.prototype, "
|
|
26
|
+
], PaCacheDependencyEntity.prototype, "depK", void 0);
|
|
27
27
|
exports.PaCacheDependencyEntity = PaCacheDependencyEntity = __decorate([
|
|
28
28
|
(0, typeorm_1.Entity)("PaCacheDependency")
|
|
29
29
|
], PaCacheDependencyEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaCacheDependency.entity.js","sourceRoot":"","sources":["../../src/entities/PaCacheDependency.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,OAAO,CAAU;IAGjB,
|
|
1
|
+
{"version":3,"file":"PaCacheDependency.entity.js","sourceRoot":"","sources":["../../src/entities/PaCacheDependency.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,OAAO,CAAU;IAGjB,IAAI,CAAU;CACf,CAAA;AANY,0DAAuB;AAElC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wDAC1B;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qDACZ;kCALH,uBAAuB;IADnC,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,uBAAuB,CAMnC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Tracker } from "@paroicms/server-lib";
|
|
2
2
|
import type { EntityManager } from "typeorm";
|
|
3
3
|
import type { CacheSetData, CacheValue } from "../public-types";
|
|
4
4
|
import type { TextCacheSystemContext } from "./cache-system-context";
|
package/dist/internal/queries.js
CHANGED
|
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.clearCacheValues = exports.deleteUnusedCacheValues = exports.deleteCacheValues = exports.getDependencyKeys = exports.getCacheValue = exports.insertOrUpdateCacheValue = void 0;
|
|
4
4
|
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
5
|
const anywhere_lib_1 = require("@paroicms/anywhere-lib");
|
|
6
|
+
const server_lib_1 = require("@paroicms/server-lib");
|
|
6
7
|
const ddl_migration_1 = require("../db-init/ddl-migration");
|
|
7
8
|
async function insertOrUpdateCacheValue(cn, data, tracker) {
|
|
9
|
+
const resourceVersion = (0, server_lib_1.generateResourceVersion)();
|
|
8
10
|
const result = await cn
|
|
9
11
|
.createQueryBuilder()
|
|
10
12
|
.insert()
|
|
@@ -12,10 +14,11 @@ async function insertOrUpdateCacheValue(cn, data, tracker) {
|
|
|
12
14
|
.values({
|
|
13
15
|
k: data.cacheKey,
|
|
14
16
|
val: data.value,
|
|
17
|
+
resourceVersion,
|
|
15
18
|
ts: () => "current_timestamp",
|
|
16
19
|
lastUseTs: () => "current_timestamp",
|
|
17
20
|
})
|
|
18
|
-
.orUpdate(["val", "ts", "lastUseTs"], ["k"])
|
|
21
|
+
.orUpdate(["val", "resourceVersion", "ts", "lastUseTs"], ["k"])
|
|
19
22
|
.execute();
|
|
20
23
|
tracker.trackAccess(ddl_migration_1.dbSchemaName, "PaCache", "write");
|
|
21
24
|
let newId = (0, data_formatters_lib_1.strValOrUndef)(result.identifiers[0].id, { varName: "PaCache.id" });
|
|
@@ -35,9 +38,9 @@ async function insertOrUpdateCacheValue(cn, data, tracker) {
|
|
|
35
38
|
.createQueryBuilder()
|
|
36
39
|
.insert()
|
|
37
40
|
.into("PaCacheDependency")
|
|
38
|
-
.values(data.dependencyKeys.map((
|
|
41
|
+
.values(data.dependencyKeys.map((depK) => ({
|
|
39
42
|
cacheId: newId,
|
|
40
|
-
|
|
43
|
+
depK,
|
|
41
44
|
})))
|
|
42
45
|
.execute();
|
|
43
46
|
tracker.trackAccess(ddl_migration_1.dbSchemaName, "PaCacheDependency", "write");
|
|
@@ -50,9 +53,8 @@ async function insertOrUpdateCacheValue(cn, data, tracker) {
|
|
|
50
53
|
tracker.trackAccess(ddl_migration_1.dbSchemaName, "PaCacheDependency", "read");
|
|
51
54
|
if (!row)
|
|
52
55
|
throw new Error(`missing cache row: ${newId}`);
|
|
53
|
-
const lastModified = (0, data_formatters_lib_1.dateVal)(row.ts).toISOString();
|
|
54
56
|
return {
|
|
55
|
-
|
|
57
|
+
resourceVersion,
|
|
56
58
|
value: data.value,
|
|
57
59
|
};
|
|
58
60
|
}
|
|
@@ -61,6 +63,7 @@ async function getCacheValue({ cn, timeToIdleDays, appLog, siteName }, cacheKey,
|
|
|
61
63
|
const row = await cn
|
|
62
64
|
.createQueryBuilder()
|
|
63
65
|
.select("c.val", "val")
|
|
66
|
+
.addSelect("c.resourceVersion", "resourceVersion")
|
|
64
67
|
.addSelect("c.ts", "ts")
|
|
65
68
|
.addSelect("c.lastUseTs", "lastUseTs")
|
|
66
69
|
.from("PaCache", "c")
|
|
@@ -84,20 +87,20 @@ async function getCacheValue({ cn, timeToIdleDays, appLog, siteName }, cacheKey,
|
|
|
84
87
|
}
|
|
85
88
|
return {
|
|
86
89
|
value: (0, data_formatters_lib_1.strVal)(row.val),
|
|
87
|
-
|
|
90
|
+
resourceVersion: (0, data_formatters_lib_1.strVal)(row.resourceVersion),
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
93
|
exports.getCacheValue = getCacheValue;
|
|
91
94
|
async function getDependencyKeys({ cn }, cacheKey, tracker) {
|
|
92
95
|
const rows = await cn
|
|
93
96
|
.createQueryBuilder()
|
|
94
|
-
.select("d.
|
|
97
|
+
.select("d.depK", "depK")
|
|
95
98
|
.from("PaCacheDependency", "d")
|
|
96
99
|
.innerJoin("PaCache", "c", "c.id = d.cacheId")
|
|
97
100
|
.where("c.k = :cacheKey", { cacheKey })
|
|
98
101
|
.getRawMany();
|
|
99
102
|
tracker.trackAccess(ddl_migration_1.dbSchemaName, "PaCacheDependency", "read");
|
|
100
|
-
return rows.map((row) => (0, data_formatters_lib_1.strVal)(row.
|
|
103
|
+
return rows.map((row) => (0, data_formatters_lib_1.strVal)(row.depK));
|
|
101
104
|
}
|
|
102
105
|
exports.getDependencyKeys = getDependencyKeys;
|
|
103
106
|
/**
|
|
@@ -110,7 +113,7 @@ async function deleteCacheValues(cn, options) {
|
|
|
110
113
|
.addSelect("c.k", "k")
|
|
111
114
|
.from("PaCache", "c")
|
|
112
115
|
.innerJoin("PaCacheDependency", "d", "d.cacheId = c.id")
|
|
113
|
-
.where("d.
|
|
116
|
+
.where("d.depK in (:...dependencyKeys)", { dependencyKeys: options.dependencyKeys })
|
|
114
117
|
.getRawMany();
|
|
115
118
|
const cacheKeys = rows.map((row) => (0, data_formatters_lib_1.strVal)(row.k));
|
|
116
119
|
const cacheIds = rows.map((row) => (0, data_formatters_lib_1.strVal)(row.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/internal/queries.ts"],"names":[],"mappings":";;;AAAA,oEAA4E;AAC5E,yDAAkE;
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/internal/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/public-types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/server-text-cache-system",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Cache system.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"paroicms",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@paroi/async-lib": "~0.1.2",
|
|
32
32
|
"@paroi/data-formatters-lib": "~0.1.2",
|
|
33
|
-
"@paroicms/server-lib": "1.
|
|
34
|
-
"@paroicms/anywhere-lib": "1.
|
|
33
|
+
"@paroicms/server-lib": "1.2.1",
|
|
34
|
+
"@paroicms/anywhere-lib": "1.5.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "~20.12.8",
|