@paroicms/server-image-cache-engine 1.19.1 → 1.20.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.
@@ -1,10 +1,10 @@
1
1
  import { type BasicAppLogger } from "@paroicms/internal-server-lib";
2
- import type { DataSource } from "typeorm";
2
+ import type { Knex } from "knex";
3
3
  export declare function createOrOpenConnection({ sqliteFile, logger, }: {
4
4
  sqliteFile: string;
5
5
  logger: BasicAppLogger;
6
6
  }): Promise<{
7
- cn: DataSource;
7
+ cn: Knex<any, any[]>;
8
8
  logNextQuery: (count?: number) => void;
9
9
  isCleared: boolean;
10
10
  }>;
@@ -2,19 +2,16 @@ import { createOrOpenSqliteConnection, createSqlLogger, getMetadataDbSchemaVersi
2
2
  import { join } from "node:path";
3
3
  import { packageDir } from "../constants.js";
4
4
  import { currentDbSchemaVersion, dbSchemaName, migrateImageCacheDb } from "./ddl-migration.js";
5
- import { PaImageCacheEntity } from "./entities/PaImageCache.entity.js";
6
- import { PaImageCacheUsedEntity } from "./entities/PaImageCacheUsed.entity.js";
7
5
  export async function createOrOpenConnection({ sqliteFile, logger, }) {
8
- const { logNextQuery, typeOrmLogger } = createSqlLogger({ logger, dbSchemaName });
6
+ const { logNextQuery, knexLogger } = createSqlLogger({ logger, dbSchemaName });
9
7
  const { cn, isNewDatabase, migrationReport } = await createOrOpenSqliteConnection({
10
8
  canCreate: true,
11
9
  dbSchemaName,
12
10
  sqliteFile,
13
11
  ddlFile: join(packageDir, "ddl", "image-cache.ddl.sql"),
14
12
  migrateDb,
15
- entities: [PaImageCacheEntity, PaImageCacheUsedEntity],
16
- typeOrmLogger,
17
13
  logger,
14
+ knexLogger,
18
15
  });
19
16
  async function migrateDb(cn) {
20
17
  const dbVersion = await getMetadataDbSchemaVersion(cn, { dbSchemaName });
@@ -1 +1 @@
1
- {"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../src/db-init/db-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAC5B,eAAe,EACf,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,UAAU,EACV,MAAM,GACyC;IAC/C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAElF,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,MAAM,4BAA4B,CAAC;QAChF,SAAS,EAAE,IAAI;QACf,YAAY;QACZ,UAAU;QACV,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC;QACvD,SAAS;QACT,QAAQ,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;QACtD,aAAa;QACb,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,UAAU,SAAS,CAAC,EAAc;QACrC,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;YACzC,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,SAAS;aACzB,CAAC;QACJ,CAAC;QACD,MAAM,mBAAmB,CAAC,EAAE,EAAE;YAC5B,WAAW,EAAE,SAAS;YACtB,MAAM;SACP,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,sBAAsB;SACtC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../src/db-init/db-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAC5B,eAAe,EACf,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE/F,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,UAAU,EACV,MAAM,GACyC;IAC/C,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAE/E,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,MAAM,4BAA4B,CAAC;QAChF,SAAS,EAAE,IAAI;QACf,YAAY;QACZ,UAAU;QACV,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC;QACvD,SAAS;QACT,MAAM;QACN,UAAU;KACX,CAAC,CAAC;IAEH,KAAK,UAAU,SAAS,CAAC,EAAQ;QAC/B,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;YACzC,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,SAAS;aACzB,CAAC;QACJ,CAAC;QACD,MAAM,mBAAmB,CAAC,EAAE,EAAE;YAC5B,WAAW,EAAE,SAAS;YACtB,MAAM;SACP,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,sBAAsB;SACtC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;AACpF,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { type BasicAppLogger } from "@paroicms/internal-server-lib";
2
- import type { DataSource } from "typeorm";
2
+ import type { Knex } from "knex";
3
3
  export declare const dbSchemaName = "image-cache";
4
4
  export declare const currentDbSchemaVersion = 6;
5
- export declare function migrateImageCacheDb(cn: DataSource, { fromVersion, logger }: {
5
+ export declare function migrateImageCacheDb(cn: Knex, { fromVersion, logger }: {
6
6
  fromVersion: number;
7
7
  logger: BasicAppLogger;
8
8
  }): Promise<void>;
@@ -7,7 +7,7 @@ export async function migrateImageCacheDb(cn, { fromVersion, logger }) {
7
7
  const toVersion = currentDbSchemaVersion;
8
8
  let currentVersion = fromVersion;
9
9
  if (currentVersion === 4) {
10
- await cn.query("drop table PaImageCacheKey");
10
+ await cn.schema.dropTableIfExists("PaImageCacheKey");
11
11
  }
12
12
  // We don't care losing cache data
13
13
  // Warning: don't reset the image cache until the text cache is reset too
@@ -1 +1 @@
1
- {"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAc,EACd,EAAE,WAAW,EAAE,MAAM,EAAmD;IAExE,MAAM,SAAS,GAAG,sBAAsB,CAAC;IACzC,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;IAED,kCAAkC;IAClC,yEAAyE;IACzE,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,cAAc,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,cAAc,YAAY,wBAAwB,SAAS,cAAc,cAAc,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,+BAA+B,WAAW,OAAO,cAAc,EAAE,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAQ,EACR,EAAE,WAAW,EAAE,MAAM,EAAmD;IAExE,MAAM,SAAS,GAAG,sBAAsB,CAAC;IACzC,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,kCAAkC;IAClC,yEAAyE;IACzE,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,cAAc,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,cAAc,YAAY,wBAAwB,SAAS,cAAc,cAAc,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,+BAA+B,WAAW,OAAO,cAAc,EAAE,CAAC,CAAC;AAChG,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { PromiseToHandle } from "@paroi/async-lib";
2
2
  import type { BasicAppLogger } from "@paroicms/internal-server-lib";
3
- import type { DataSource } from "typeorm";
3
+ import type { Knex } from "knex";
4
4
  import type { ImageVariantWithBinary } from "../engine-types.js";
5
5
  import type { CreateImageCacheEngineOptions } from "../image-cache-engine.js";
6
6
  import type { TaskData, TaskKey } from "./internal.types.js";
@@ -9,7 +9,7 @@ export interface VariantEngineContext extends Omit<CreateImageCacheEngineOptions
9
9
  logger: BasicAppLogger;
10
10
  queue: TaskData[];
11
11
  pendingTasks: Map<TaskKey, PromiseToHandle<ImageVariantWithBinary>>;
12
- cn: DataSource;
12
+ cn: Knex;
13
13
  logNextQuery: (count?: number) => void;
14
14
  timeToIdleDays?: number;
15
15
  }
@@ -1,8 +1,8 @@
1
- import type { QueryBuilderConnection } from "@paroicms/internal-server-lib";
2
1
  import type { VariantName } from "@paroicms/public-anywhere-lib";
2
+ import type { Knex } from "knex";
3
3
  import type { ImageVariant, ImageVariantWithBinary } from "../engine-types.js";
4
4
  import type { VariantEngineContext } from "../internal/engine-context.js";
5
- export declare function insertIntoImageVariant(cn: QueryBuilderConnection, data: {
5
+ export declare function insertIntoImageVariant(cn: Knex, data: {
6
6
  resourceVersion: string;
7
7
  imageUid: string;
8
8
  variantName: VariantName;
@@ -16,7 +16,7 @@ export declare function insertIntoImageVariant(cn: QueryBuilderConnection, data:
16
16
  newId: string;
17
17
  lastModified: string;
18
18
  }>;
19
- export declare function deleteVariants(cn: QueryBuilderConnection, options: {
19
+ export declare function deleteVariants(cn: Knex, options: {
20
20
  imageUid: string;
21
21
  variantName?: string;
22
22
  } | {
@@ -25,7 +25,7 @@ export declare function deleteVariants(cn: QueryBuilderConnection, options: {
25
25
  /**
26
26
  * @returns the list of cache usedKeys that were deleted
27
27
  */
28
- export declare function deleteVariantsByDependencies(cn: QueryBuilderConnection, options: {
28
+ export declare function deleteVariantsByDependencies(cn: Knex, options: {
29
29
  usedKeys: string[];
30
30
  }): Promise<number>;
31
31
  export declare function fetchImageVariant(ctx: Pick<VariantEngineContext, "cn" | "timeToIdleDays" | "logger">, { imageUid, variantName, }: {
@@ -1,97 +1,112 @@
1
1
  import { dateVal, nbVal, strVal, strValOrUndef } from "@paroi/data-formatters-lib";
2
2
  import { isSameTimeUnit } from "@paroicms/internal-anywhere-lib";
3
3
  export async function insertIntoImageVariant(cn, data, usedKey) {
4
- const result = await cn
5
- .createQueryBuilder()
6
- .insert()
7
- .into("PaImageCache")
8
- .values({
9
- ...data,
10
- modifiedAt: () => "current_timestamp",
11
- readAt: () => "current_timestamp",
4
+ const existingRow = await cn("PaImageCache")
5
+ .select("id")
6
+ .where({
7
+ imageUid: data.imageUid,
8
+ variantName: data.variantName,
12
9
  })
13
- .orUpdate(["mediaType", "width", "height", "weightB", "binaryFile", "modifiedAt", "readAt"], ["imageUid", "variantName"])
14
- .execute();
15
- let newId = strValOrUndef(result.identifiers[0].id, { varName: "PaImageCache.id" });
16
- if (newId === undefined) {
17
- const row = await cn
18
- .createQueryBuilder()
19
- .select("v.id", "id")
20
- .from("PaImageCache", "v")
21
- .andWhere("v.imageUid = :imageUid", { imageUid: data.imageUid })
22
- .andWhere("v.variantName = :variantName", { variantName: data.variantName })
23
- .getRawOne();
10
+ .first();
11
+ let imageCacheId = existingRow ? strVal(existingRow.id) : undefined;
12
+ let modifiedAt;
13
+ if (imageCacheId === undefined) {
14
+ const [inserted] = await cn("PaImageCache")
15
+ .insert({
16
+ resourceVersion: data.resourceVersion,
17
+ imageUid: data.imageUid,
18
+ variantName: data.variantName,
19
+ slug: data.slug,
20
+ mediaType: data.mediaType,
21
+ width: data.width,
22
+ height: data.height,
23
+ weightB: data.weightB,
24
+ binaryFile: data.binaryFile,
25
+ modifiedAt: cn.fn.now(),
26
+ readAt: cn.fn.now(),
27
+ })
28
+ .returning(["id", "modifiedAt"]);
29
+ imageCacheId = strVal(inserted.id);
30
+ modifiedAt = dateVal(inserted.modifiedAt);
31
+ }
32
+ else {
33
+ await cn("PaImageCache")
34
+ .where({
35
+ id: imageCacheId,
36
+ })
37
+ .update({
38
+ mediaType: data.mediaType,
39
+ width: data.width,
40
+ height: data.height,
41
+ weightB: data.weightB,
42
+ binaryFile: data.binaryFile,
43
+ modifiedAt: cn.fn.now(),
44
+ readAt: cn.fn.now(),
45
+ });
46
+ const row = await cn("PaImageCache").select("modifiedAt").where("id", imageCacheId).first();
24
47
  if (!row)
25
- throw new Error(`unable to find variant row '${data.imageUid}-${data.variantName}'`);
26
- newId = strVal(row.id);
48
+ throw new Error(`missing cache row: ${imageCacheId}`);
49
+ modifiedAt = dateVal(row.modifiedAt);
27
50
  }
28
- await cn
29
- .createQueryBuilder()
30
- .insert()
31
- .into("PaImageCacheUsed")
32
- .values({
33
- imageCacheId: newId,
51
+ // Insert into PaImageCacheUsed if it doesn't exist
52
+ const usedCountRow = await cn("PaImageCacheUsed")
53
+ .count("* as cnt")
54
+ .where({
55
+ imageCacheId,
34
56
  usedKey,
35
57
  })
36
- .execute();
37
- const row = await cn
38
- .createQueryBuilder()
39
- .select("v.modifiedAt", "modifiedAt")
40
- .from("PaImageCache", "v")
41
- .andWhere("v.id = :id", { id: newId })
42
- .getRawOne();
43
- if (!row)
44
- throw new Error(`missing cache row: ${newId}`);
45
- const lastModified = dateVal(row.modifiedAt).toISOString();
46
- return { newId, lastModified };
58
+ .first();
59
+ if (!usedCountRow || usedCountRow.cnt === 0) {
60
+ await cn("PaImageCacheUsed").insert({
61
+ imageCacheId,
62
+ usedKey,
63
+ });
64
+ }
65
+ return { newId: imageCacheId, lastModified: modifiedAt.toISOString() };
47
66
  }
48
67
  export async function deleteVariants(cn, options) {
49
- const query = cn.createQueryBuilder().delete().from("PaImageCache");
50
68
  if ("imageUids" in options) {
51
- query.andWhere("imageUid in (:...imageUids)", { imageUids: options.imageUids });
69
+ await cn("PaImageCache").whereIn("imageUid", options.imageUids).delete();
52
70
  }
53
71
  else {
54
- query.andWhere("imageUid = :imageUid", { imageUid: options.imageUid });
72
+ const query = cn("PaImageCache").where("imageUid", options.imageUid);
55
73
  if (options.variantName) {
56
- query.andWhere("variantName = :variantName", { variantName: options.variantName });
74
+ query.where("variantName", options.variantName);
57
75
  }
76
+ await query.delete();
58
77
  }
59
- await query.execute();
60
78
  }
61
79
  /**
62
80
  * @returns the list of cache usedKeys that were deleted
63
81
  */
64
82
  export async function deleteVariantsByDependencies(cn, options) {
65
- const rows = await cn
66
- .createQueryBuilder()
67
- .select("k.imageCacheId", "imageCacheId")
68
- .from("PaImageCacheUsed", "k")
69
- .andWhere("k.usedKey in (:...usedKeys)", { usedKeys: options.usedKeys })
70
- .getRawMany();
83
+ const rows = await cn("PaImageCacheUsed as k")
84
+ .select("k.imageCacheId")
85
+ .whereIn("k.usedKey", options.usedKeys);
71
86
  const imageCacheIds = rows.map((row) => strVal(row.imageCacheId));
72
- await cn
73
- .createQueryBuilder()
74
- .delete()
75
- .from("PaImageCache")
76
- .andWhere("id in (:...imageCacheIds)", { imageCacheIds: imageCacheIds })
77
- .execute();
87
+ if (imageCacheIds.length > 0) {
88
+ await cn("PaImageCache").whereIn("id", imageCacheIds).delete();
89
+ }
78
90
  return imageCacheIds.length;
79
91
  }
80
92
  export async function fetchImageVariant(ctx, { imageUid, variantName, }) {
81
- const row = await ctx.cn
82
- .createQueryBuilder()
83
- .select("v.id", "id")
84
- .addSelect("v.mediaType", "mediaType")
85
- .addSelect("v.width", "width")
86
- .addSelect("v.height", "height")
87
- .addSelect("v.modifiedAt", "modifiedAt")
88
- .addSelect("v.resourceVersion", "resourceVersion")
89
- .addSelect("v.slug", "slug")
90
- .addSelect("v.readAt", "readAt")
91
- .from("PaImageCache", "v")
92
- .andWhere("v.imageUid = :imageUid", { imageUid })
93
- .andWhere("v.variantName = :variantName", { variantName })
94
- .getRawOne();
93
+ const row = await ctx
94
+ .cn("PaImageCache as v")
95
+ .select([
96
+ "v.id",
97
+ "v.mediaType",
98
+ "v.width",
99
+ "v.height",
100
+ "v.modifiedAt",
101
+ "v.resourceVersion",
102
+ "v.slug",
103
+ "v.readAt",
104
+ ])
105
+ .where({
106
+ "v.imageUid": imageUid,
107
+ "v.variantName": variantName,
108
+ })
109
+ .first();
95
110
  if (!row)
96
111
  return;
97
112
  const id = strVal(row.id);
@@ -115,22 +130,25 @@ export async function fetchImageVariant(ctx, { imageUid, variantName, }) {
115
130
  };
116
131
  }
117
132
  export async function fetchImageVariantWithBinary(ctx, { imageUid, variantName, }) {
118
- const row = await ctx.cn
119
- .createQueryBuilder()
120
- .select("v.id", "id")
121
- .addSelect("v.mediaType", "mediaType")
122
- .addSelect("v.width", "width")
123
- .addSelect("v.height", "height")
124
- .addSelect("v.weightB", "weightB")
125
- .addSelect("v.binaryFile", "binaryFile")
126
- .addSelect("v.modifiedAt", "modifiedAt")
127
- .addSelect("v.readAt", "readAt")
128
- .addSelect("v.resourceVersion", "resourceVersion")
129
- .addSelect("v.slug", "slug")
130
- .from("PaImageCache", "v")
131
- .andWhere("v.imageUid = :imageUid", { imageUid })
132
- .andWhere("v.variantName = :variantName", { variantName })
133
- .getRawOne();
133
+ const row = await ctx
134
+ .cn("PaImageCache as v")
135
+ .select([
136
+ "v.id",
137
+ "v.mediaType",
138
+ "v.width",
139
+ "v.height",
140
+ "v.weightB",
141
+ "v.binaryFile",
142
+ "v.modifiedAt",
143
+ "v.readAt",
144
+ "v.resourceVersion",
145
+ "v.slug",
146
+ ])
147
+ .where({
148
+ "v.imageUid": imageUid,
149
+ "v.variantName": variantName,
150
+ })
151
+ .first();
134
152
  if (!row)
135
153
  return;
136
154
  const id = strVal(row.id);
@@ -156,52 +174,40 @@ async function updateReadAtOfImageVariant(ctx, { id, readAt, imageUid, variantNa
156
174
  if (timeToIdleDays === undefined || isSameTimeUnit(readAt, "day"))
157
175
  return;
158
176
  logger.debug(`updating readAt of image cache: ${imageUid}, ${variantName}`);
159
- await cn
160
- .createQueryBuilder()
161
- .update("PaImageCache")
162
- .set({
163
- readAt: () => "current_timestamp",
164
- })
165
- .andWhere("id = :id", { id })
166
- .execute();
177
+ await cn("PaImageCache").where("id", id).update({
178
+ readAt: cn.fn.now(),
179
+ });
167
180
  }
168
181
  /**
169
182
  * Delete the images that have no usedKey and that have not been used recently.
170
183
  * @returns the number of cache identifiers that were deleted
171
184
  */
172
185
  export async function deleteUnusedVariants({ cn, timeToIdleDays, }) {
173
- const result = await cn
174
- .createQueryBuilder()
175
- .delete()
176
- .from("PaImageCache")
177
- .andWhere(`date(readAt) < date(current_timestamp, '-${timeToIdleDays} day')`)
178
- .andWhere(`not exists (
179
- select 1
180
- from PaImageCacheUsed k
181
- where k.imageCacheId = PaImageCache.id and k.used = 1
182
- )`)
183
- .execute();
184
- return result.affected ?? undefined;
186
+ // Find records to delete
187
+ const subquery = cn("PaImageCacheUsed as k")
188
+ .select(1)
189
+ .whereRaw("k.imageCacheId = PaImageCache.id")
190
+ .where("k.used", 1);
191
+ const result = await cn("PaImageCache")
192
+ .whereRaw(`date(readAt) < date(current_timestamp, '-${timeToIdleDays} day')`)
193
+ .whereNotExists(subquery)
194
+ .delete();
195
+ return result;
185
196
  }
186
197
  export async function markOneUsedKeyAsUsed(ctx, { imageCacheId, usedKey, }) {
187
- await ctx.cn
188
- .createQueryBuilder()
189
- .update("PaImageCacheUsed")
190
- .set({ used: 1 })
191
- .andWhere("imageCacheId = :imageCacheId", { imageCacheId })
192
- .andWhere("usedKey = :usedKey", { usedKey })
193
- .execute();
198
+ await ctx
199
+ .cn("PaImageCacheUsed")
200
+ .where({
201
+ imageCacheId,
202
+ usedKey,
203
+ })
204
+ .update({ used: 1 });
194
205
  }
195
206
  export async function markUsedKeyAsUnused(ctx, { usedKey, }) {
196
- await ctx.cn
197
- .createQueryBuilder()
198
- .update("PaImageCacheUsed")
199
- .set({ used: 0 })
200
- .andWhere("usedKey = :usedKey", { usedKey })
201
- .execute();
207
+ await ctx.cn("PaImageCacheUsed").where({ usedKey }).update({ used: 0 });
202
208
  }
203
209
  export async function clearVariantCache({ cn }) {
204
- await cn.createQueryBuilder().delete().from("PaImageCacheUsed").execute();
205
- await cn.createQueryBuilder().delete().from("PaImageCache").execute();
210
+ await cn("PaImageCacheUsed").delete();
211
+ await cn("PaImageCache").delete();
206
212
  }
207
213
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/internal/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/internal/queries.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paroicms/server-image-cache-engine",
3
- "version": "1.19.1",
3
+ "version": "1.20.1",
4
4
  "description": "The image variant engine that we use at Paroi.",
5
5
  "author": "Paroi Team",
6
6
  "keywords": [
@@ -35,15 +35,16 @@
35
35
  "dependencies": {
36
36
  "@paroi/async-lib": "~0.3.1",
37
37
  "@paroi/data-formatters-lib": "~0.4.0",
38
- "@paroicms/internal-anywhere-lib": "1.25.0",
39
- "@paroicms/public-anywhere-lib": "0.19.0",
40
- "@paroicms/public-server-lib": "0.27.0",
41
- "@paroicms/internal-server-lib": "1.12.1",
38
+ "@paroicms/internal-anywhere-lib": "1.26.0",
39
+ "@paroicms/internal-server-lib": "1.13.1",
40
+ "@paroicms/public-anywhere-lib": "0.20.0",
41
+ "@paroicms/public-server-lib": "0.29.0",
42
42
  "ico-endec": "~0.1.6",
43
43
  "sharp": "~0.33.4"
44
44
  },
45
45
  "peerDependencies": {
46
- "typeorm": "0.3"
46
+ "knex": "~3.1.0",
47
+ "sqlite3": "^5.1.7"
47
48
  },
48
49
  "files": [
49
50
  "ddl",
@@ -1,14 +0,0 @@
1
- export declare class PaImageCacheEntity {
2
- id: string;
3
- resourceVersion: string;
4
- imageUid: string;
5
- variantName: string;
6
- mediaType: string;
7
- width: number;
8
- height: number;
9
- weightB: number;
10
- modifiedAt: Date;
11
- readAt: Date;
12
- binaryFile: Buffer;
13
- slug?: string;
14
- }
@@ -1,78 +0,0 @@
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 { Column, Entity, PrimaryGeneratedColumn, Unique } from "typeorm";
11
- let PaImageCacheEntity = class PaImageCacheEntity {
12
- id;
13
- resourceVersion;
14
- imageUid;
15
- variantName;
16
- mediaType;
17
- width;
18
- height;
19
- weightB;
20
- modifiedAt;
21
- readAt;
22
- binaryFile;
23
- slug;
24
- };
25
- __decorate([
26
- PrimaryGeneratedColumn(),
27
- __metadata("design:type", String)
28
- ], PaImageCacheEntity.prototype, "id", void 0);
29
- __decorate([
30
- Column({ type: "varchar" }),
31
- __metadata("design:type", String)
32
- ], PaImageCacheEntity.prototype, "resourceVersion", void 0);
33
- __decorate([
34
- Column(),
35
- __metadata("design:type", String)
36
- ], PaImageCacheEntity.prototype, "imageUid", void 0);
37
- __decorate([
38
- Column(),
39
- __metadata("design:type", String)
40
- ], PaImageCacheEntity.prototype, "variantName", void 0);
41
- __decorate([
42
- Column(),
43
- __metadata("design:type", String)
44
- ], PaImageCacheEntity.prototype, "mediaType", void 0);
45
- __decorate([
46
- Column({ type: "integer" }),
47
- __metadata("design:type", Number)
48
- ], PaImageCacheEntity.prototype, "width", void 0);
49
- __decorate([
50
- Column({ type: "integer" }),
51
- __metadata("design:type", Number)
52
- ], PaImageCacheEntity.prototype, "height", void 0);
53
- __decorate([
54
- Column({ type: "integer" }),
55
- __metadata("design:type", Number)
56
- ], PaImageCacheEntity.prototype, "weightB", void 0);
57
- __decorate([
58
- Column({ type: "datetime", default: () => "current_timestamp" }),
59
- __metadata("design:type", Date)
60
- ], PaImageCacheEntity.prototype, "modifiedAt", void 0);
61
- __decorate([
62
- Column({ type: "datetime", default: () => "current_timestamp" }),
63
- __metadata("design:type", Date)
64
- ], PaImageCacheEntity.prototype, "readAt", void 0);
65
- __decorate([
66
- Column({ type: "blob" }),
67
- __metadata("design:type", Buffer)
68
- ], PaImageCacheEntity.prototype, "binaryFile", void 0);
69
- __decorate([
70
- Column({ type: "varchar", nullable: true }),
71
- __metadata("design:type", String)
72
- ], PaImageCacheEntity.prototype, "slug", void 0);
73
- PaImageCacheEntity = __decorate([
74
- Entity("PaImageCache"),
75
- Unique(["imageUid", "variantName"])
76
- ], PaImageCacheEntity);
77
- export { PaImageCacheEntity };
78
- //# sourceMappingURL=PaImageCache.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaImageCache.entity.js","sourceRoot":"","sources":["../../../src/db-init/entities/PaImageCache.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIlE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE7B,EAAE,CAAU;IAGZ,eAAe,CAAU;IAGzB,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,SAAS,CAAU;IAGnB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,OAAO,CAAU;IAGjB,UAAU,CAAQ;IAGlB,MAAM,CAAQ;IAGd,UAAU,CAAU;IAGpB,IAAI,CAAU;CACf,CAAA;AAlCC;IADC,sBAAsB,EAAE;;8CACb;AAGZ;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;2DACH;AAGzB;IADC,MAAM,EAAE;;oDACS;AAGlB;IADC,MAAM,EAAE;;uDACY;AAGrB;IADC,MAAM,EAAE;;qDACU;AAGnB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDACb;AAGf;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;kDACZ;AAGhB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACX;AAGjB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACpD,IAAI;sDAAC;AAGlB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACxD,IAAI;kDAAC;AAGd;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8BACZ,MAAM;sDAAC;AAGpB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC9B;AAnCH,kBAAkB;IAF9B,MAAM,CAAC,cAAc,CAAC;IACtB,MAAM,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;GACvB,kBAAkB,CAoC9B"}
@@ -1,5 +0,0 @@
1
- export declare class PaImageCacheUsedEntity {
2
- imageCacheId: string;
3
- usedKey: string;
4
- used: boolean;
5
- }
@@ -1,32 +0,0 @@
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 { Column, Entity } from "typeorm";
11
- let PaImageCacheUsedEntity = class PaImageCacheUsedEntity {
12
- imageCacheId;
13
- usedKey;
14
- used;
15
- };
16
- __decorate([
17
- Column({ type: "integer", primary: true }),
18
- __metadata("design:type", String)
19
- ], PaImageCacheUsedEntity.prototype, "imageCacheId", void 0);
20
- __decorate([
21
- Column({ primary: true }),
22
- __metadata("design:type", String)
23
- ], PaImageCacheUsedEntity.prototype, "usedKey", void 0);
24
- __decorate([
25
- Column({ type: "boolean", default: true }),
26
- __metadata("design:type", Boolean)
27
- ], PaImageCacheUsedEntity.prototype, "used", void 0);
28
- PaImageCacheUsedEntity = __decorate([
29
- Entity("PaImageCacheUsed")
30
- ], PaImageCacheUsedEntity);
31
- export { PaImageCacheUsedEntity };
32
- //# sourceMappingURL=PaImageCacheUsed.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaImageCacheUsed.entity.js","sourceRoot":"","sources":["../../../src/db-init/entities/PaImageCacheUsed.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEjC,YAAY,CAAU;IAGtB,OAAO,CAAU;IAGjB,IAAI,CAAW;CAChB,CAAA;AAPC;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4DACrB;AAGtB;IADC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACT;AAGjB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oDAC5B;AARJ,sBAAsB;IADlC,MAAM,CAAC,kBAAkB,CAAC;GACd,sBAAsB,CASlC"}