@paroicms/server-image-cache-engine 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.
Files changed (38) hide show
  1. package/ddl/image-cache.ddl.sql +13 -6
  2. package/dist/database/PaImageCache.entity.d.ts +2 -0
  3. package/dist/database/PaImageCache.entity.js +10 -0
  4. package/dist/database/PaImageCache.entity.js.map +1 -1
  5. package/dist/database/PaImageCacheUsed.entity.d.ts +5 -0
  6. package/dist/database/{PaImageCacheKey.entity.js → PaImageCacheUsed.entity.js} +11 -11
  7. package/dist/database/PaImageCacheUsed.entity.js.map +1 -0
  8. package/dist/database/queries.d.ts +20 -11
  9. package/dist/database/queries.js +67 -24
  10. package/dist/database/queries.js.map +1 -1
  11. package/dist/db-init/db-init.js +3 -3
  12. package/dist/db-init/db-init.js.map +1 -1
  13. package/dist/db-init/ddl-migration.d.ts +2 -2
  14. package/dist/db-init/ddl-migration.js +13 -28
  15. package/dist/db-init/ddl-migration.js.map +1 -1
  16. package/dist/default-bo-favicon.js +1 -1
  17. package/dist/default-bo-favicon.js.map +1 -1
  18. package/dist/engine-types.d.ts +11 -11
  19. package/dist/image-cache-engine.d.ts +9 -8
  20. package/dist/image-cache-engine.js +25 -10
  21. package/dist/image-cache-engine.js.map +1 -1
  22. package/dist/internal/internal.types.d.ts +4 -2
  23. package/dist/internal/resizer.d.ts +7 -2
  24. package/dist/internal/resizer.js +2 -2
  25. package/dist/internal/resizer.js.map +1 -1
  26. package/dist/internal/task-processor.js +13 -5
  27. package/dist/internal/task-processor.js.map +1 -1
  28. package/dist/original-images-processing.js +1 -7
  29. package/dist/original-images-processing.js.map +1 -1
  30. package/dist/public-helpers.d.ts +3 -1
  31. package/dist/public-helpers.js +13 -2
  32. package/dist/public-helpers.js.map +1 -1
  33. package/package.json +3 -3
  34. package/dist/database/PaImageCacheDependency.entity.d.ts +0 -4
  35. package/dist/database/PaImageCacheDependency.entity.js +0 -30
  36. package/dist/database/PaImageCacheDependency.entity.js.map +0 -1
  37. package/dist/database/PaImageCacheKey.entity.d.ts +0 -5
  38. package/dist/database/PaImageCacheKey.entity.js.map +0 -1
@@ -1,16 +1,23 @@
1
1
  PRAGMA journal_mode = TRUNCATE;
2
2
  PRAGMA foreign_keys = 1;
3
3
 
4
+ drop index if exists PaImageCacheUsed_usedKey_index;
5
+ drop table if exists PaImageCacheUsed;
6
+ drop table if exists PaImageCache;
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 ('image-cache', 4);
14
+ insert into PaDbMetadata (dbSchema, dbVersion) values ('image-cache', 5);
10
15
 
11
16
  create table PaImageCache (
12
17
  id integer not null primary key autoincrement,
13
- imageUid varchar(36) not null,
18
+ resourceVersion varchar(100) not null,
19
+ slug varchar(200),
20
+ imageUid char(36) not null,
14
21
  variantName varchar(250) not null,
15
22
  mediaType varchar(100) not null,
16
23
  weightB integer not null,
@@ -22,11 +29,11 @@ create table PaImageCache (
22
29
  unique (imageUid, variantName)
23
30
  );
24
31
 
25
- create table PaImageCacheKey (
32
+ create table PaImageCacheUsed (
26
33
  imageCacheId integer not null references PaImageCache (id) on delete cascade,
27
- cacheKey varchar(250) not null,
34
+ usedKey varchar(250) not null,
28
35
  used tinyint(1) not null default 1,
29
- primary key (imageCacheId, cacheKey)
36
+ primary key (imageCacheId, usedKey)
30
37
  );
31
38
 
32
- create index PaImageCacheKey_cacheKey_index on PaImageCacheKey (cacheKey);
39
+ create index PaImageCacheUsed_usedKey_index on PaImageCacheUsed (usedKey);
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  export declare class PaImageCacheEntity {
3
3
  id: string;
4
+ resourceVersion: string;
4
5
  imageUid: string;
5
6
  variantName: string;
6
7
  mediaType: string;
@@ -10,4 +11,5 @@ export declare class PaImageCacheEntity {
10
11
  ts: Date;
11
12
  lastUseTs: Date;
12
13
  binaryFile: Buffer;
14
+ slug?: string;
13
15
  }
@@ -13,6 +13,7 @@ exports.PaImageCacheEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  let PaImageCacheEntity = class PaImageCacheEntity {
15
15
  id;
16
+ resourceVersion;
16
17
  imageUid;
17
18
  variantName;
18
19
  mediaType;
@@ -22,12 +23,17 @@ let PaImageCacheEntity = class PaImageCacheEntity {
22
23
  ts;
23
24
  lastUseTs;
24
25
  binaryFile;
26
+ slug;
25
27
  };
26
28
  exports.PaImageCacheEntity = PaImageCacheEntity;
27
29
  __decorate([
28
30
  (0, typeorm_1.PrimaryGeneratedColumn)(),
29
31
  __metadata("design:type", String)
30
32
  ], PaImageCacheEntity.prototype, "id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: "varchar" }),
35
+ __metadata("design:type", String)
36
+ ], PaImageCacheEntity.prototype, "resourceVersion", void 0);
31
37
  __decorate([
32
38
  (0, typeorm_1.Column)(),
33
39
  __metadata("design:type", String)
@@ -64,6 +70,10 @@ __decorate([
64
70
  (0, typeorm_1.Column)({ type: "blob" }),
65
71
  __metadata("design:type", Buffer)
66
72
  ], PaImageCacheEntity.prototype, "binaryFile", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
75
+ __metadata("design:type", String)
76
+ ], PaImageCacheEntity.prototype, "slug", void 0);
67
77
  exports.PaImageCacheEntity = PaImageCacheEntity = __decorate([
68
78
  (0, typeorm_1.Entity)("PaImageCache"),
69
79
  (0, typeorm_1.Unique)(["imageUid", "variantName"])
@@ -1 +1 @@
1
- {"version":3,"file":"PaImageCache.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCache.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyE;AAIlE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE7B,EAAE,CAAU;IAGZ,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,SAAS,CAAU;IAGnB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,OAAO,CAAU;IAGjB,EAAE,CAAQ;IAGV,SAAS,CAAQ;IAGjB,UAAU,CAAU;CACrB,CAAA;AA9BY,gDAAkB;AAE7B;IADC,IAAA,gCAAsB,GAAE;;8CACb;AAGZ;IADC,IAAA,gBAAM,GAAE;;oDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;uDACY;AAGrB;IADC,IAAA,gBAAM,GAAE;;qDACU;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDACb;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;kDACZ;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACX;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BAC5D,IAAI;8CAAC;AAGV;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACrD,IAAI;qDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8BACZ,MAAM;sDAAC;6BA7BT,kBAAkB;IAF9B,IAAA,gBAAM,EAAC,cAAc,CAAC;IACtB,IAAA,gBAAM,EAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;GACvB,kBAAkB,CA8B9B"}
1
+ {"version":3,"file":"PaImageCache.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCache.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyE;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,EAAE,CAAQ;IAGV,SAAS,CAAQ;IAGjB,UAAU,CAAU;IAGpB,IAAI,CAAU;CACf,CAAA;AApCY,gDAAkB;AAE7B;IADC,IAAA,gCAAsB,GAAE;;8CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;2DACH;AAGzB;IADC,IAAA,gBAAM,GAAE;;oDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;uDACY;AAGrB;IADC,IAAA,gBAAM,GAAE;;qDACU;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDACb;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;kDACZ;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACX;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BAC5D,IAAI;8CAAC;AAGV;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACrD,IAAI;qDAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8BACZ,MAAM;sDAAC;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC9B;6BAnCH,kBAAkB;IAF9B,IAAA,gBAAM,EAAC,cAAc,CAAC;IACtB,IAAA,gBAAM,EAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;GACvB,kBAAkB,CAoC9B"}
@@ -0,0 +1,5 @@
1
+ export declare class PaImageCacheUsedEntity {
2
+ imageCacheId: string;
3
+ usedKey: string;
4
+ used: boolean;
5
+ }
@@ -9,27 +9,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PaImageCacheKeyEntity = void 0;
12
+ exports.PaImageCacheUsedEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
- let PaImageCacheKeyEntity = class PaImageCacheKeyEntity {
14
+ let PaImageCacheUsedEntity = class PaImageCacheUsedEntity {
15
15
  imageCacheId;
16
- cacheKey;
16
+ usedKey;
17
17
  used;
18
18
  };
19
- exports.PaImageCacheKeyEntity = PaImageCacheKeyEntity;
19
+ exports.PaImageCacheUsedEntity = PaImageCacheUsedEntity;
20
20
  __decorate([
21
21
  (0, typeorm_1.Column)({ type: "integer", primary: true }),
22
22
  __metadata("design:type", String)
23
- ], PaImageCacheKeyEntity.prototype, "imageCacheId", void 0);
23
+ ], PaImageCacheUsedEntity.prototype, "imageCacheId", void 0);
24
24
  __decorate([
25
25
  (0, typeorm_1.Column)({ primary: true }),
26
26
  __metadata("design:type", String)
27
- ], PaImageCacheKeyEntity.prototype, "cacheKey", void 0);
27
+ ], PaImageCacheUsedEntity.prototype, "usedKey", void 0);
28
28
  __decorate([
29
29
  (0, typeorm_1.Column)({ type: "boolean", default: true }),
30
30
  __metadata("design:type", Boolean)
31
- ], PaImageCacheKeyEntity.prototype, "used", void 0);
32
- exports.PaImageCacheKeyEntity = PaImageCacheKeyEntity = __decorate([
33
- (0, typeorm_1.Entity)("PaImageCacheKey")
34
- ], PaImageCacheKeyEntity);
35
- //# sourceMappingURL=PaImageCacheKey.entity.js.map
31
+ ], PaImageCacheUsedEntity.prototype, "used", void 0);
32
+ exports.PaImageCacheUsedEntity = PaImageCacheUsedEntity = __decorate([
33
+ (0, typeorm_1.Entity)("PaImageCacheUsed")
34
+ ], PaImageCacheUsedEntity);
35
+ //# sourceMappingURL=PaImageCacheUsed.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaImageCacheUsed.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCacheUsed.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEjC,YAAY,CAAU;IAGtB,OAAO,CAAU;IAGjB,IAAI,CAAW;CAChB,CAAA;AATY,wDAAsB;AAEjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4DACrB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACT;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oDAC5B;iCARJ,sBAAsB;IADlC,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,sBAAsB,CASlC"}
@@ -1,16 +1,18 @@
1
1
  /// <reference types="node" />
2
2
  import type { EntityManager } from "typeorm";
3
- import type { CompleteVariantName, ImageVariantWithBinary } from "../engine-types";
3
+ import type { CompleteVariantName, ImageVariant, ImageVariantWithBinary } from "../engine-types";
4
4
  import type { VariantEngineContext } from "../internal/engine-context";
5
5
  export declare function insertIntoImageVariant(cn: EntityManager, data: {
6
+ resourceVersion: string;
6
7
  imageUid: string;
7
8
  variantName: CompleteVariantName;
9
+ slug?: string;
8
10
  mediaType: string;
9
11
  width: number;
10
12
  height: number;
11
13
  weightB: number;
12
14
  binaryFile: Buffer;
13
- }, cacheKey: string): Promise<{
15
+ }, usedKey: string): Promise<{
14
16
  newId: string;
15
17
  lastModified: string;
16
18
  }>;
@@ -21,28 +23,35 @@ export declare function deleteVariants(cn: EntityManager, options: {
21
23
  imageUids: string[];
22
24
  }): Promise<void>;
23
25
  /**
24
- * @returns the list of cache cacheKeys that were deleted
26
+ * @returns the list of cache usedKeys that were deleted
25
27
  */
26
28
  export declare function deleteVariantsByDependencies(cn: EntityManager, options: {
27
- cacheKeys: string[];
29
+ usedKeys: string[];
28
30
  }): Promise<number>;
29
- export declare function fetchImageVariantWithBinary(ctx: Pick<VariantEngineContext, "cn" | "timeToIdleDays" | "appLog" | "siteName">, { imageUid, variantName, }: {
31
+ export declare function fetchImageVariant(ctx: Pick<VariantEngineContext, "cn" | "timeToIdleDays" | "appLog" | "siteName">, { imageUid, completeVariantName, }: {
30
32
  imageUid: string;
31
- variantName: CompleteVariantName;
33
+ completeVariantName: CompleteVariantName;
34
+ }): Promise<{
35
+ id: string;
36
+ variant: ImageVariant;
37
+ } | undefined>;
38
+ export declare function fetchImageVariantWithBinary(ctx: Pick<VariantEngineContext, "cn" | "timeToIdleDays" | "appLog" | "siteName">, { imageUid, completeVariantName, }: {
39
+ imageUid: string;
40
+ completeVariantName: CompleteVariantName;
32
41
  }): Promise<{
33
42
  variant: ImageVariantWithBinary;
34
43
  id: string;
35
44
  } | undefined>;
36
45
  /**
37
- * Delete the images that have no cacheKey and that have not been used recently.
46
+ * Delete the images that have no usedKey and that have not been used recently.
38
47
  * @returns the number of cache identifiers that were deleted
39
48
  */
40
49
  export declare function deleteUnusedVariants({ cn, timeToIdleDays, }: VariantEngineContext): Promise<number | undefined>;
41
- export declare function markOneCacheKeyAsUsed(ctx: Pick<VariantEngineContext, "cn">, { imageCacheId, cacheKey, }: {
50
+ export declare function markOneUsedKeyAsUsed(ctx: Pick<VariantEngineContext, "cn">, { imageCacheId, usedKey, }: {
42
51
  imageCacheId: string;
43
- cacheKey: string;
52
+ usedKey: string;
44
53
  }): Promise<void>;
45
- export declare function markCacheKeyAsUnused(ctx: Pick<VariantEngineContext, "cn">, { cacheKey, }: {
46
- cacheKey: string;
54
+ export declare function markUsedKeyAsUnused(ctx: Pick<VariantEngineContext, "cn">, { usedKey, }: {
55
+ usedKey: string;
47
56
  }): Promise<void>;
48
57
  export declare function clearVariantCache({ cn }: VariantEngineContext): Promise<void>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clearVariantCache = exports.markCacheKeyAsUnused = exports.markOneCacheKeyAsUsed = exports.deleteUnusedVariants = exports.fetchImageVariantWithBinary = exports.deleteVariantsByDependencies = exports.deleteVariants = exports.insertIntoImageVariant = void 0;
3
+ exports.clearVariantCache = exports.markUsedKeyAsUnused = exports.markOneUsedKeyAsUsed = exports.deleteUnusedVariants = exports.fetchImageVariantWithBinary = exports.fetchImageVariant = exports.deleteVariantsByDependencies = exports.deleteVariants = exports.insertIntoImageVariant = 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
- async function insertIntoImageVariant(cn, data, cacheKey) {
6
+ async function insertIntoImageVariant(cn, data, usedKey) {
7
7
  const result = await cn
8
8
  .createQueryBuilder()
9
9
  .insert()
@@ -31,10 +31,10 @@ async function insertIntoImageVariant(cn, data, cacheKey) {
31
31
  await cn
32
32
  .createQueryBuilder()
33
33
  .insert()
34
- .into("PaImageCacheKey")
34
+ .into("PaImageCacheUsed")
35
35
  .values({
36
36
  imageCacheId: newId,
37
- cacheKey,
37
+ usedKey,
38
38
  })
39
39
  .execute();
40
40
  const row = await cn
@@ -64,14 +64,14 @@ async function deleteVariants(cn, options) {
64
64
  }
65
65
  exports.deleteVariants = deleteVariants;
66
66
  /**
67
- * @returns the list of cache cacheKeys that were deleted
67
+ * @returns the list of cache usedKeys that were deleted
68
68
  */
69
69
  async function deleteVariantsByDependencies(cn, options) {
70
70
  const rows = await cn
71
71
  .createQueryBuilder()
72
72
  .select("k.imageCacheId", "imageCacheId")
73
- .from("PaImageCacheKey", "k")
74
- .where("k.cacheKey in (:...cacheKeys)", { cacheKeys: options.cacheKeys })
73
+ .from("PaImageCacheUsed", "k")
74
+ .where("k.usedKey in (:...usedKeys)", { usedKeys: options.usedKeys })
75
75
  .getRawMany();
76
76
  const imageCacheIds = rows.map((row) => (0, data_formatters_lib_1.strVal)(row.imageCacheId));
77
77
  await cn
@@ -83,7 +83,45 @@ async function deleteVariantsByDependencies(cn, options) {
83
83
  return imageCacheIds.length;
84
84
  }
85
85
  exports.deleteVariantsByDependencies = deleteVariantsByDependencies;
86
- async function fetchImageVariantWithBinary(ctx, { imageUid, variantName, }) {
86
+ async function fetchImageVariant(ctx, { imageUid, completeVariantName, }) {
87
+ const row = await ctx.cn
88
+ .createQueryBuilder()
89
+ .select("v.id", "id")
90
+ .addSelect("v.mediaType", "mediaType")
91
+ .addSelect("v.width", "width")
92
+ .addSelect("v.height", "height")
93
+ .addSelect("v.ts", "ts")
94
+ .addSelect("v.resourceVersion", "resourceVersion")
95
+ .addSelect("v.slug", "slug")
96
+ .addSelect("v.lastUseTs", "lastUseTs")
97
+ .from("PaImageCache", "v")
98
+ .where("v.imageUid = :imageUid", { imageUid })
99
+ .andWhere("v.variantName = :completeVariantName", { completeVariantName })
100
+ .getRawOne();
101
+ if (!row)
102
+ return;
103
+ const id = (0, data_formatters_lib_1.strVal)(row.id);
104
+ const lastUseTs = (0, data_formatters_lib_1.dateVal)(row.lastUseTs);
105
+ await updateLastUseTsOfImageVariant(ctx, {
106
+ id,
107
+ lastUseTs,
108
+ imageUid,
109
+ completeVariantName,
110
+ });
111
+ return {
112
+ id,
113
+ variant: {
114
+ resourceVersion: (0, data_formatters_lib_1.strVal)(row.resourceVersion),
115
+ slug: (0, data_formatters_lib_1.strValOrUndef)(row.slug),
116
+ mediaType: (0, data_formatters_lib_1.strVal)(row.mediaType),
117
+ width: (0, data_formatters_lib_1.nbVal)(row.width),
118
+ height: (0, data_formatters_lib_1.nbVal)(row.height),
119
+ completeVariantName,
120
+ },
121
+ };
122
+ }
123
+ exports.fetchImageVariant = fetchImageVariant;
124
+ async function fetchImageVariantWithBinary(ctx, { imageUid, completeVariantName, }) {
87
125
  const row = await ctx.cn
88
126
  .createQueryBuilder()
89
127
  .select("v.id", "id")
@@ -94,33 +132,38 @@ async function fetchImageVariantWithBinary(ctx, { imageUid, variantName, }) {
94
132
  .addSelect("v.binaryFile", "binaryFile")
95
133
  .addSelect("v.ts", "ts")
96
134
  .addSelect("v.lastUseTs", "lastUseTs")
135
+ .addSelect("v.resourceVersion", "resourceVersion")
136
+ .addSelect("v.slug", "slug")
97
137
  .from("PaImageCache", "v")
98
138
  .where("v.imageUid = :imageUid", { imageUid })
99
- .andWhere("v.variantName = :variantName", { variantName })
139
+ .andWhere("v.variantName = :completeVariantName", { completeVariantName })
100
140
  .getRawOne();
101
141
  if (!row)
102
142
  return;
103
143
  const id = (0, data_formatters_lib_1.strVal)(row.id);
104
144
  const lastUseTs = (0, data_formatters_lib_1.dateVal)(row.lastUseTs);
105
- await updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, variantName });
145
+ await updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, completeVariantName });
106
146
  return {
107
147
  id,
108
148
  variant: {
149
+ resourceVersion: (0, data_formatters_lib_1.strVal)(row.resourceVersion),
150
+ slug: (0, data_formatters_lib_1.strValOrUndef)(row.slug),
109
151
  mediaType: (0, data_formatters_lib_1.strVal)(row.mediaType),
110
152
  width: (0, data_formatters_lib_1.nbVal)(row.width),
111
153
  height: (0, data_formatters_lib_1.nbVal)(row.height),
112
154
  weightB: (0, data_formatters_lib_1.nbVal)(row.weightB),
113
155
  binaryFile: row.binaryFile,
114
156
  lastModified: (0, data_formatters_lib_1.dateVal)(row.ts).toISOString(),
157
+ completeVariantName,
115
158
  },
116
159
  };
117
160
  }
118
161
  exports.fetchImageVariantWithBinary = fetchImageVariantWithBinary;
119
- async function updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, variantName, }) {
120
- const { cn, timeToIdleDays, appLog, siteName } = ctx;
162
+ async function updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, completeVariantName, }) {
163
+ const { cn, timeToIdleDays, appLog } = ctx;
121
164
  if (timeToIdleDays === undefined || (0, anywhere_lib_1.isSameTimeUnit)(lastUseTs, "day"))
122
165
  return;
123
- appLog.debug(`updating lastUseTs of image cache: ${imageUid}, ${variantName}`);
166
+ appLog.debug(`updating lastUseTs of image cache: ${imageUid}, ${completeVariantName}`);
124
167
  await cn
125
168
  .createQueryBuilder()
126
169
  .update("PaImageCache")
@@ -131,7 +174,7 @@ async function updateLastUseTsOfImageVariant(ctx, { id, lastUseTs, imageUid, var
131
174
  .execute();
132
175
  }
133
176
  /**
134
- * Delete the images that have no cacheKey and that have not been used recently.
177
+ * Delete the images that have no usedKey and that have not been used recently.
135
178
  * @returns the number of cache identifiers that were deleted
136
179
  */
137
180
  async function deleteUnusedVariants({ cn, timeToIdleDays, }) {
@@ -142,34 +185,34 @@ async function deleteUnusedVariants({ cn, timeToIdleDays, }) {
142
185
  .where(`date(lastUseTs) < date(current_timestamp, '-${timeToIdleDays} day')`)
143
186
  .andWhere(`not exists (
144
187
  select 1
145
- from PaImageCacheKey k
188
+ from PaImageCacheUsed k
146
189
  where k.imageCacheId = PaImageCache.id and k.used = 1
147
190
  )`)
148
191
  .execute();
149
192
  return result.affected ?? undefined;
150
193
  }
151
194
  exports.deleteUnusedVariants = deleteUnusedVariants;
152
- async function markOneCacheKeyAsUsed(ctx, { imageCacheId, cacheKey, }) {
195
+ async function markOneUsedKeyAsUsed(ctx, { imageCacheId, usedKey, }) {
153
196
  await ctx.cn
154
197
  .createQueryBuilder()
155
- .update("PaImageCacheKey")
198
+ .update("PaImageCacheUsed")
156
199
  .set({ used: 1 })
157
200
  .where("imageCacheId = :imageCacheId", { imageCacheId })
158
- .andWhere("cacheKey = :cacheKey", { cacheKey })
201
+ .andWhere("usedKey = :usedKey", { usedKey })
159
202
  .execute();
160
203
  }
161
- exports.markOneCacheKeyAsUsed = markOneCacheKeyAsUsed;
162
- async function markCacheKeyAsUnused(ctx, { cacheKey, }) {
204
+ exports.markOneUsedKeyAsUsed = markOneUsedKeyAsUsed;
205
+ async function markUsedKeyAsUnused(ctx, { usedKey, }) {
163
206
  await ctx.cn
164
207
  .createQueryBuilder()
165
- .update("PaImageCacheKey")
208
+ .update("PaImageCacheUsed")
166
209
  .set({ used: 0 })
167
- .where("cacheKey = :cacheKey", { cacheKey })
210
+ .where("usedKey = :usedKey", { usedKey })
168
211
  .execute();
169
212
  }
170
- exports.markCacheKeyAsUnused = markCacheKeyAsUnused;
213
+ exports.markUsedKeyAsUnused = markUsedKeyAsUnused;
171
214
  async function clearVariantCache({ cn }) {
172
- await cn.createQueryBuilder().delete().from("PaImageCacheKey").execute();
215
+ await cn.createQueryBuilder().delete().from("PaImageCacheUsed").execute();
173
216
  await cn.createQueryBuilder().delete().from("PaImageCache").execute();
174
217
  }
175
218
  exports.clearVariantCache = clearVariantCache;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createOrOpenMainCn = void 0;
4
- const node_path_1 = require("node:path");
5
4
  const server_lib_1 = require("@paroicms/server-lib");
5
+ const node_path_1 = require("node:path");
6
6
  const constants_1 = require("../constants");
7
7
  const PaImageCache_entity_1 = require("../database/PaImageCache.entity");
8
- const PaImageCacheKey_entity_1 = require("../database/PaImageCacheKey.entity");
8
+ const PaImageCacheUsed_entity_1 = require("../database/PaImageCacheUsed.entity");
9
9
  const ddl_migration_1 = require("./ddl-migration");
10
10
  async function createOrOpenMainCn({ sqliteFile, siteName, appLog, }) {
11
11
  const { logNextQuery, typeOrmLogger } = (0, server_lib_1.createSqlLogger)({ appLog, siteName, dbSchemaName: ddl_migration_1.dbSchemaName });
@@ -16,7 +16,7 @@ async function createOrOpenMainCn({ sqliteFile, siteName, appLog, }) {
16
16
  sqliteFile,
17
17
  ddlFile: (0, node_path_1.join)(constants_1.packageDir, "ddl", "image-cache.ddl.sql"),
18
18
  migrateDb,
19
- entities: [PaImageCache_entity_1.PaImageCacheEntity, PaImageCacheKey_entity_1.PaImageCacheKeyEntity],
19
+ entities: [PaImageCache_entity_1.PaImageCacheEntity, PaImageCacheUsed_entity_1.PaImageCacheUsedEntity],
20
20
  logger: typeOrmLogger,
21
21
  appLog,
22
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../src/db-init/db-init.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,qDAAkG;AAElG,4CAA0C;AAC1C,yEAAqE;AACrE,+EAA2E;AAC3E,mDAKyB;AAElB,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,QAAQ,EACR,MAAM,GACmD;IACzD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAe,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAZ,4BAAY,EAAE,CAAC,CAAC;IAE5F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,yCAA4B,EAAC;QACpD,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,IAAI;QACf,YAAY,EAAZ,4BAAY;QACZ,UAAU;QACV,OAAO,EAAE,IAAA,gBAAI,EAAC,sBAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC;QACvD,SAAS;QACT,QAAQ,EAAE,CAAC,wCAAkB,EAAE,8CAAqB,CAAC;QACrD,MAAM,EAAE,aAAa;QACrB,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,UAAU,SAAS,CAAC,EAAc;QACrC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAY,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,8CAA8B,EAAE,CAAC;YACjD,MAAM,IAAA,+BAAe,EAAC,EAAE,EAAE;gBACxB,WAAW,EAAE,SAAS;gBACtB,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClC,CAAC;AA/BD,gDA+BC"}
1
+ {"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../src/db-init/db-init.ts"],"names":[],"mappings":";;;AAAA,qDAAkG;AAClG,yCAAiC;AAEjC,4CAA0C;AAC1C,yEAAqE;AACrE,iFAA6E;AAC7E,mDAKyB;AAElB,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,QAAQ,EACR,MAAM,GACmD;IACzD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAe,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAZ,4BAAY,EAAE,CAAC,CAAC;IAE5F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,yCAA4B,EAAC;QACpD,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,IAAI;QACf,YAAY,EAAZ,4BAAY;QACZ,UAAU;QACV,OAAO,EAAE,IAAA,gBAAI,EAAC,sBAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC;QACvD,SAAS;QACT,QAAQ,EAAE,CAAC,wCAAkB,EAAE,gDAAsB,CAAC;QACtD,MAAM,EAAE,aAAa;QACrB,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,UAAU,SAAS,CAAC,EAAc;QACrC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAY,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,8CAA8B,EAAE,CAAC;YACjD,MAAM,IAAA,+BAAe,EAAC,EAAE,EAAE;gBACxB,WAAW,EAAE,SAAS;gBACtB,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClC,CAAC;AA/BD,gDA+BC"}
@@ -1,7 +1,7 @@
1
- import type { AppLog } from "@paroicms/server-lib";
1
+ import { type AppLog } from "@paroicms/server-lib";
2
2
  import type { DataSource } from "typeorm";
3
3
  export declare const dbSchemaName = "image-cache";
4
- export declare const currentVariantsDbSchemaVersion = 4;
4
+ export declare const currentVariantsDbSchemaVersion = 5;
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 = "image-cache";
6
- exports.currentVariantsDbSchemaVersion = 4;
9
+ exports.currentVariantsDbSchemaVersion = 5;
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,33 +17,15 @@ exports.getDbVersion = getDbVersion;
14
17
  async function migrateMediasDb(cn, { fromVersion, siteName, appLog }) {
15
18
  const toVersion = exports.currentVariantsDbSchemaVersion;
16
19
  let currentVersion = fromVersion;
17
- if (currentVersion < 4) {
18
- await cn.query("drop table if exists PaImageVariant");
19
- await cn.query("drop table if exists PaImageCache");
20
- await cn.query("drop table if exists PaImageCacheKey");
21
- await cn.query("drop table if exists PaImageCacheDependency");
22
- await cn.query(`create table PaImageCache (
23
- id integer not null primary key autoincrement,
24
- imageUid varchar(36) not null,
25
- variantName varchar(250) not null,
26
- mediaType varchar(100) not null,
27
- weightB integer not null,
28
- width integer not null,
29
- height integer not null,
30
- ts timestamp not null default current_timestamp,
31
- lastUseTs timestamp not null default current_timestamp,
32
- binaryFile blob not null,
33
- unique (imageUid, variantName)
34
- )`);
35
- await cn.query(`create table PaImageCacheKey (
36
- imageCacheId integer not null references PaImageCache (id) on delete cascade,
37
- cacheKey varchar(250) not null,
38
- used tinyint(1) not null default 1,
39
- primary key (imageCacheId, cacheKey)
40
- )`);
41
- await cn.query("create index PaImageCacheKey_cacheKey_index on PaImageCacheKey (cacheKey)");
42
- await cn.query(`update PaDbMetadata set dbVersion = 4 where dbSchema = '${exports.dbSchemaName}'`);
43
- currentVersion = 4;
20
+ if (currentVersion === 4) {
21
+ await cn.query("drop table PaImageCacheKey");
22
+ }
23
+ // We don't care losing cache data
24
+ // Warning: don't reset the image cache until the text cache is reset too
25
+ if (currentVersion < toVersion) {
26
+ appLog.info(`[${siteName}] reset the image-cache database`);
27
+ await (0, server_lib_1.executeDdl)(cn, (0, node_path_1.join)(constants_1.packageDir, "ddl", "image-cache.ddl.sql"));
28
+ currentVersion = await getDbVersion(cn, { siteName });
44
29
  }
45
30
  if (currentVersion !== toVersion) {
46
31
  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;AAKtC,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,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;IACjC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACpD,MAAM,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC9D,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;EAYjB,CAAC,CAAC;QACA,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;EAKjB,CAAC,CAAC;QACA,MAAM,EAAE,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC5F,MAAM,EAAE,CAAC,KAAK,CAAC,2DAA2D,oBAAY,GAAG,CAAC,CAAC;QAC3F,cAAc,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,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;AA1CD,0CA0CC"}
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,aAAa,CAAC;AAC7B,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,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,IAAI,QAAQ,kCAAkC,CAAC,CAAC;QAC5D,MAAM,IAAA,uBAAU,EAAC,EAAE,EAAE,IAAA,gBAAI,EAAC,sBAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,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;IAED,MAAM,CAAC,IAAI,CACT,IAAI,QAAQ,KAAK,oBAAY,+BAA+B,WAAW,OAAO,cAAc,EAAE,CAC/F,CAAC;AACJ,CAAC;AA5BD,0CA4BC"}
@@ -41,7 +41,7 @@ async function createDefaultBoFavicon(binaryFile) {
41
41
  return {
42
42
  width: result.info.width,
43
43
  height: result.info.height,
44
- weightB: result.info.size,
44
+ weightB: result.data.byteLength,
45
45
  mediaType,
46
46
  lossless: mediaType === "image/png" || mediaType === "image/webp",
47
47
  binaryFile: result.data,
@@ -1 +1 @@
1
- {"version":3,"file":"default-bo-favicon.js","sourceRoot":"","sources":["../src/default-bo-favicon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-bo-favicon.js","sourceRoot":"","sources":["../src/default-bo-favicon.ts"],"names":[],"mappings":"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"}
@@ -9,20 +9,13 @@ export type CompleteVariantName = `${number}x${number}`;
9
9
  export type AutoWidthVariantName = `x${number}`;
10
10
  export type AutoHeightVariantName = `${number}x`;
11
11
  export type AutoWidthOrHeightVariantName = `x${number}x`;
12
- export interface VariantSize {
13
- width: number;
14
- height: number;
15
- completeVariantName: CompleteVariantName;
16
- }
17
- export interface NewVariantImage extends VariantSize {
18
- mediaType: string;
19
- }
20
12
  export interface NewImageProps {
21
13
  imageRef: ImageRef;
22
14
  variantName: string;
23
15
  autoCrop?: boolean;
24
16
  mediaType?: string;
25
- dependsOnCacheKey: string;
17
+ dependsOnUsedKey: string;
18
+ slug?: string;
26
19
  }
27
20
  export interface ImageRef {
28
21
  imageUid: string;
@@ -32,10 +25,17 @@ export interface ImageRef {
32
25
  avgWidth?: number;
33
26
  avgHeight?: number;
34
27
  }
35
- export interface ImageVariantWithBinary {
36
- mediaType: string;
28
+ export interface VariantSize {
37
29
  width: number;
38
30
  height: number;
31
+ completeVariantName: CompleteVariantName;
32
+ }
33
+ export interface ImageVariant extends VariantSize {
34
+ resourceVersion: string;
35
+ slug?: string;
36
+ mediaType: string;
37
+ }
38
+ export interface ImageVariantWithBinary extends ImageVariant {
39
39
  weightB: number;
40
40
  binaryFile: Buffer;
41
41
  /**
@@ -1,6 +1,6 @@
1
1
  import type { ImageCompressionQualityPolicy } from "@paroicms/anywhere-lib";
2
- import type { AppLog } from "@paroicms/server-lib";
3
- import type { CompleteVariantName, GetOriginalImage, ImageRef, ImageVariantStorage, ImageVariantWithBinary, NewImageProps, NewVariantImage, VariantName } from "./engine-types";
2
+ import { type AppLog } from "@paroicms/server-lib";
3
+ import type { CompleteVariantName, GetOriginalImage, ImageRef, ImageVariant, ImageVariantStorage, ImageVariantWithBinary, NewImageProps, VariantName } from "./engine-types";
4
4
  import { type VariantEngineContext } from "./internal/engine-context";
5
5
  export interface CreateImageCacheEngineOptions {
6
6
  siteName: string;
@@ -21,15 +21,16 @@ export declare class ImageCacheEngine {
21
21
  imageUid: string;
22
22
  variantName: CompleteVariantName;
23
23
  }): Promise<ImageVariantWithBinary | undefined>;
24
- resetCacheKey(options: {
25
- cacheKey: string;
24
+ resetUsedKey(options: {
25
+ usedKey: string;
26
26
  }): Promise<void>;
27
- makeImageAvailable(params: NewImageProps): NewVariantImage;
27
+ makeImageAvailable(params: NewImageProps): Promise<ImageVariant>;
28
28
  getOrCreateImageWithBinary(params: NewImageProps): Promise<ImageVariantWithBinary | undefined>;
29
29
  conditionallyCreateImageVariantWithBinary(media: ImageRef, options: {
30
30
  authorisedVariantNames: VariantName[];
31
31
  variantName: CompleteVariantName;
32
- dependsOnCacheKey: string;
32
+ dependsOnUsedKey: string;
33
+ slug?: string;
33
34
  }): Promise<ImageVariantWithBinary | undefined>;
34
35
  invalidate(options: {
35
36
  imageUid: string;
@@ -37,10 +38,10 @@ export declare class ImageCacheEngine {
37
38
  } | {
38
39
  imageUids: string[];
39
40
  } | {
40
- cacheKeys: string[];
41
+ usedKeys: string[];
41
42
  }): Promise<void>;
42
43
  /**
43
- * Delete the images that have no cacheKey and that have not been used recently.
44
+ * Delete the images that have no usedKey and that have not been used recently.
44
45
  */
45
46
  cleanUnusedValues(): Promise<void>;
46
47
  clearCache(): Promise<void>;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImageCacheEngine = exports.createImageCacheEngine = void 0;
4
4
  const async_lib_1 = require("@paroi/async-lib");
5
+ const server_lib_1 = require("@paroicms/server-lib");
5
6
  const queries_1 = require("./database/queries");
6
7
  const compute_variant_size_1 = require("./internal/compute-variant-size");
7
8
  const engine_context_1 = require("./internal/engine-context");
@@ -25,17 +26,26 @@ class ImageCacheEngine {
25
26
  return pth.promise;
26
27
  const found = await (0, queries_1.fetchImageVariantWithBinary)(this.#context, {
27
28
  imageUid,
28
- variantName,
29
+ completeVariantName: variantName,
29
30
  });
30
31
  return found ? found.variant : undefined;
31
32
  }
32
- async resetCacheKey(options) {
33
- await (0, queries_1.markCacheKeyAsUnused)(this.#context, options);
33
+ async resetUsedKey(options) {
34
+ await (0, queries_1.markUsedKeyAsUnused)(this.#context, options);
34
35
  }
35
- makeImageAvailable(params) {
36
+ async makeImageAvailable(params) {
36
37
  this.#checkStatus();
37
38
  const imageUid = params.imageRef.imageUid;
38
39
  const { width, height, completeVariantName } = (0, compute_variant_size_1.computeVariantSize)(params);
40
+ const found = await (0, queries_1.fetchImageVariant)(this.#context, { imageUid, completeVariantName });
41
+ if (found) {
42
+ await (0, queries_1.markOneUsedKeyAsUsed)(this.#context, {
43
+ imageCacheId: found.id,
44
+ usedKey: params.dependsOnUsedKey,
45
+ });
46
+ return found.variant;
47
+ }
48
+ const resourceVersion = (0, server_lib_1.generateResourceVersion)();
39
49
  const taskKey = `${imageUid}:${completeVariantName}`;
40
50
  if (!this.#context.pendingTasks.has(taskKey)) {
41
51
  this.#context.queue.push({
@@ -48,7 +58,9 @@ class ImageCacheEngine {
48
58
  },
49
59
  mediaType: params.imageRef.mediaType,
50
60
  changeMediaTypeTo: params.mediaType,
51
- dependsOnCacheKey: params.dependsOnCacheKey,
61
+ dependsOnUsedKey: params.dependsOnUsedKey,
62
+ resourceVersion,
63
+ slug: params.slug,
52
64
  });
53
65
  this.#context.pendingTasks.set(taskKey, (0, async_lib_1.promiseToHandle)());
54
66
  this.#startQueue();
@@ -58,11 +70,13 @@ class ImageCacheEngine {
58
70
  height,
59
71
  completeVariantName,
60
72
  mediaType: params.mediaType ?? params.imageRef.mediaType,
73
+ resourceVersion,
74
+ slug: params.slug,
61
75
  };
62
76
  }
63
77
  async getOrCreateImageWithBinary(params) {
64
78
  this.#checkStatus();
65
- const variant = this.makeImageAvailable(params);
79
+ const variant = await this.makeImageAvailable(params);
66
80
  return await this.getImageVariantWithBinary({
67
81
  imageUid: params.imageRef.imageUid,
68
82
  variantName: variant.completeVariantName,
@@ -73,11 +87,12 @@ class ImageCacheEngine {
73
87
  const authorized = (0, compute_variant_size_1.findAuthorizedVariantSize)(media, options);
74
88
  if (!authorized)
75
89
  return;
76
- const available = this.makeImageAvailable({
90
+ const available = await this.makeImageAvailable({
77
91
  autoCrop: false,
78
92
  variantName: authorized.completeVariantName,
79
93
  imageRef: media,
80
- dependsOnCacheKey: options.dependsOnCacheKey,
94
+ dependsOnUsedKey: options.dependsOnUsedKey,
95
+ slug: options.slug,
81
96
  });
82
97
  if (available.completeVariantName !== authorized.completeVariantName) {
83
98
  throw new Error(`mismatch variants '${available.completeVariantName}' and '${authorized.completeVariantName}'`);
@@ -89,7 +104,7 @@ class ImageCacheEngine {
89
104
  }
90
105
  async invalidate(options) {
91
106
  this.#checkStatus();
92
- if ("cacheKeys" in options) {
107
+ if ("usedKeys" in options) {
93
108
  await (0, queries_1.deleteVariantsByDependencies)(this.#context.cn, options);
94
109
  }
95
110
  else {
@@ -97,7 +112,7 @@ class ImageCacheEngine {
97
112
  }
98
113
  }
99
114
  /**
100
- * Delete the images that have no cacheKey and that have not been used recently.
115
+ * Delete the images that have no usedKey and that have not been used recently.
101
116
  */
102
117
  async cleanUnusedValues() {
103
118
  this.#checkStatus();
@@ -1 +1 @@
1
- {"version":3,"file":"image-cache-engine.js","sourceRoot":"","sources":["../src/image-cache-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-cache-engine.js","sourceRoot":"","sources":["../src/image-cache-engine.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import type { CompleteVariantName } from "../engine-types";
2
2
  export interface TaskData {
3
3
  taskKey: TaskKey;
4
+ resourceVersion: string;
5
+ imageUid: string;
4
6
  variantName: CompleteVariantName;
5
7
  imageSize: ImageSize;
6
- imageUid: string;
7
8
  mediaType: string;
8
9
  changeMediaTypeTo?: string;
9
- dependsOnCacheKey: string;
10
+ dependsOnUsedKey: string;
11
+ slug?: string;
10
12
  }
11
13
  export interface ImageSize {
12
14
  width: number;
@@ -1,8 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import type { ImageCompressionQualityPolicy } from "@paroicms/anywhere-lib";
3
- import type { ImageVariantWithBinary } from "../engine-types";
4
3
  import type { ImageSize } from "./internal.types";
5
- export type UnsavedImageVariantWithBinary = Omit<ImageVariantWithBinary, "lastModified">;
4
+ export interface UnsavedImageVariantWithBinary {
5
+ width: number;
6
+ height: number;
7
+ mediaType: string;
8
+ weightB: number;
9
+ binaryFile: Buffer;
10
+ }
6
11
  export declare function resizeImage(options: {
7
12
  binaryFile: Buffer;
8
13
  imageSize: ImageSize;
@@ -24,7 +24,7 @@ async function resizeImage(options) {
24
24
  return {
25
25
  width: info.width,
26
26
  height: info.height,
27
- weightB: info.size,
27
+ weightB: data.byteLength,
28
28
  mediaType: convertSharpFormatToMediaType(info.format),
29
29
  binaryFile: data,
30
30
  };
@@ -39,7 +39,7 @@ async function resizeIcoImage(options) {
39
39
  return {
40
40
  width: info.width,
41
41
  height: info.height,
42
- weightB: info.size,
42
+ weightB: binaryFile.byteLength,
43
43
  mediaType: "image/x-icon",
44
44
  binaryFile,
45
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resizer.js","sourceRoot":"","sources":["../../src/internal/resizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resizer.js","sourceRoot":"","sources":["../../src/internal/resizer.ts"],"names":[],"mappings":"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"}
@@ -28,12 +28,12 @@ exports.processAllPending = processAllPending;
28
28
  async function excecuteTask(task, ctx) {
29
29
  const found = await (0, queries_1.fetchImageVariantWithBinary)(ctx, {
30
30
  imageUid: task.imageUid,
31
- variantName: task.variantName,
31
+ completeVariantName: task.variantName,
32
32
  });
33
33
  if (found) {
34
- await (0, queries_1.markOneCacheKeyAsUsed)(ctx, {
34
+ await (0, queries_1.markOneUsedKeyAsUsed)(ctx, {
35
35
  imageCacheId: found.id,
36
- cacheKey: task.dependsOnCacheKey,
36
+ usedKey: task.dependsOnUsedKey,
37
37
  });
38
38
  return found.variant;
39
39
  }
@@ -49,14 +49,22 @@ async function excecuteTask(task, ctx) {
49
49
  qualityPolicy: ctx.qualityPolicy,
50
50
  });
51
51
  const { lastModified } = await (0, queries_1.insertIntoImageVariant)(ctx.cn, {
52
+ resourceVersion: task.resourceVersion,
52
53
  imageUid: task.imageUid,
54
+ slug: task.slug,
53
55
  mediaType: result.mediaType,
54
56
  variantName: task.variantName,
55
57
  width: result.width,
56
58
  height: result.height,
57
59
  weightB: result.weightB,
58
60
  binaryFile: result.binaryFile,
59
- }, task.dependsOnCacheKey);
60
- return { ...result, lastModified };
61
+ }, task.dependsOnUsedKey);
62
+ return {
63
+ ...result,
64
+ lastModified,
65
+ resourceVersion: task.resourceVersion,
66
+ slug: task.slug,
67
+ completeVariantName: task.variantName,
68
+ };
61
69
  }
62
70
  //# sourceMappingURL=task-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-processor.js","sourceRoot":"","sources":["../../src/internal/task-processor.ts"],"names":[],"mappings":";;;AAAA,iDAI6B;AAI7B,uCAAwC;AAEjC,KAAK,UAAU,iBAAiB,CAAC,OAA6B;IACnE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,MAAM;QAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEjD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,WAAW,IAAI,EACvE,KAAK,EACL,IAAI,CACL,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AA3BD,8CA2BC;AAED,KAAK,UAAU,YAAY,CACzB,IAAc,EACd,GAAyB;IAEzB,MAAM,KAAK,GAAG,MAAM,IAAA,qCAA2B,EAAC,GAAG,EAAE;QACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAA,+BAAqB,EAAC,GAAG,EAAE;YAC/B,YAAY,EAAE,KAAK,CAAC,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,iBAAiB;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC;QAC/B,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAC9B,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,iBAAiB;aAClC;YACH,CAAC,CAAC,SAAS;QACb,aAAa,EAAE,GAAG,CAAC,aAAa;KACjC,CAAC,CAAC;IAEH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,gCAAsB,EACnD,GAAG,CAAC,EAAE,EACN;QACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,EACD,IAAI,CAAC,iBAAiB,CACvB,CAAC;IAEF,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"task-processor.js","sourceRoot":"","sources":["../../src/internal/task-processor.ts"],"names":[],"mappings":"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"}
@@ -66,16 +66,10 @@ async function convertToWebp({ input, qualityPolicy, areaLimitPx, lossless, }) {
66
66
  quality,
67
67
  })
68
68
  .toBuffer({ resolveWithObject: true }));
69
- // we keep it here for the moment
70
- // console.log(
71
- // `....convertToWebp: ${input.width}x${input.height} => ${info.width}x${info.height}, ${
72
- // info.size / 1000
73
- // }KB`,
74
- // );
75
69
  return {
76
70
  width: info.width,
77
71
  height: info.height,
78
- weightB: info.size,
72
+ weightB: data.byteLength,
79
73
  mediaType: "image/webp",
80
74
  lossless,
81
75
  binaryFile: data,
@@ -1 +1 @@
1
- {"version":3,"file":"original-images-processing.js","sourceRoot":"","sources":["../src/original-images-processing.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,2CAAmD;AACnD,mEAAqD;AAErD,gDAA+E;AAsBxE,KAAK,UAAU,oBAAoB,CAAC,EACzC,UAAU,EACV,SAAS,EACT,eAAe,EACf,MAAM,EACN,aAAa,EACb,aAAa,GAQd;IACC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IACtC,MAAM,SAAS,GAAG,IAAA,eAAK,EAAC,UAAU,CAAC,CAAC;IAEpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/E,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,cAAc,GAAG,IAAA,uCAA6B,EAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,eAAe,CAAC,wBAAwB,SAAS,WAAW,cAAc,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,gCAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,aAAa,CAAC,YAAY,CAAC;IACxE,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC;IAErE,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,IAAI,YAAY,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,KAAK,GAAe;QACxB,KAAK;QACL,MAAM;QACN,SAAS;QACT,SAAS;KACV,CAAC;IAEF,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;YAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,MAAM,aAAa,CAAC;YACzB,KAAK;YACL,aAAa;YACb,WAAW;YACX,gEAAgE;YAChE,gDAAgD;YAChD,QAAQ,EAAE,YAAY,KAAK,SAAS,IAAI,OAAO,IAAI,YAAY,GAAG,IAAI;SACvE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACrF,CAAC;AAnED,oDAmEC;AAED,KAAK,UAAU,aAAa,CAAC,EAC3B,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,GAMT;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GACrB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAc,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,2CAA2C;IAEtF,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEhD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,kCAAU,EAAC,GAAG,EAAE,CAC3C,KAAK,CAAC,SAAS;SACZ,MAAM,CAAC,IAAI,CAAC;SACZ,IAAI,CAAC;QACJ,QAAQ;QACR,OAAO;KACR,CAAC;SACD,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,iCAAiC;IACjC,eAAe;IACf,2FAA2F;IAC3F,uBAAuB;IACvB,UAAU;IACV,KAAK;IACL,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,SAAS,EAAE,YAAY;QACvB,QAAQ;QACR,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAgB,EAAE,WAAmB;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7C,IAAI,SAAS,IAAI,WAAW;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IAChE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"original-images-processing.js","sourceRoot":"","sources":["../src/original-images-processing.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- import type { VariantName } from "./engine-types";
1
+ import type { CompleteVariantName, VariantName } from "./engine-types";
2
2
  export declare function isVariantName(variantName: string): variantName is VariantName;
3
+ export declare function isCompleteVariantName(variantName: string): variantName is CompleteVariantName;
4
+ export declare function generateImageSlug(fromName?: string): string | undefined;
@@ -1,8 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isVariantName = void 0;
3
+ exports.generateImageSlug = exports.isCompleteVariantName = exports.isVariantName = void 0;
4
+ const anywhere_lib_1 = require("@paroicms/anywhere-lib");
4
5
  function isVariantName(variantName) {
5
- return /^([0-9]+x|x[0-9]+|x[0-9]+x|[0-9]+x[0-9]+)$/.test(variantName);
6
+ return /^[0-9]+x|x[0-9]+|x[0-9]+x|[0-9]+x[0-9]+$/.test(variantName);
6
7
  }
7
8
  exports.isVariantName = isVariantName;
9
+ function isCompleteVariantName(variantName) {
10
+ return /^[0-9]+x[0-9]+$/.test(variantName);
11
+ }
12
+ exports.isCompleteVariantName = isCompleteVariantName;
13
+ function generateImageSlug(fromName) {
14
+ if (!fromName)
15
+ return;
16
+ return (0, anywhere_lib_1.generateSlug)(fromName).substring(0, 12).replace(/-$/g, "");
17
+ }
18
+ exports.generateImageSlug = generateImageSlug;
8
19
  //# sourceMappingURL=public-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-helpers.js","sourceRoot":"","sources":["../src/public-helpers.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,4CAA4C,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxE,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"public-helpers.js","sourceRoot":"","sources":["../src/public-helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAGtD,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,0CAA0C,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtE,CAAC;AAFD,sCAEC;AAED,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAFD,sDAEC;AAED,SAAgB,iBAAiB,CAAC,QAAiB;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,OAAO,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAHD,8CAGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paroicms/server-image-cache-engine",
3
- "version": "1.1.1",
3
+ "version": "1.2.1",
4
4
  "description": "The image variant engine that we use at Paroi.",
5
5
  "author": "Paroi Team",
6
6
  "main": "dist/api.js",
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@paroi/async-lib": "~0.1.2",
35
35
  "@paroi/data-formatters-lib": "~0.1.2",
36
- "@paroicms/server-lib": "1.1.1",
37
- "@paroicms/anywhere-lib": "1.3.1",
36
+ "@paroicms/server-lib": "1.2.0",
37
+ "@paroicms/anywhere-lib": "1.4.0",
38
38
  "ico-endec": "~0.1.6",
39
39
  "sharp": "~0.33.3"
40
40
  },
@@ -1,4 +0,0 @@
1
- export declare class PaImageCacheDependencyEntity {
2
- cacheId: string;
3
- depKey: string;
4
- }
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PaImageCacheDependencyEntity = void 0;
13
- const typeorm_1 = require("typeorm");
14
- let PaImageCacheDependencyEntity = class PaImageCacheDependencyEntity {
15
- cacheId;
16
- depKey;
17
- };
18
- exports.PaImageCacheDependencyEntity = PaImageCacheDependencyEntity;
19
- __decorate([
20
- (0, typeorm_1.Column)({ type: "integer", primary: true }),
21
- __metadata("design:type", String)
22
- ], PaImageCacheDependencyEntity.prototype, "cacheId", void 0);
23
- __decorate([
24
- (0, typeorm_1.Column)({ primary: true }),
25
- __metadata("design:type", String)
26
- ], PaImageCacheDependencyEntity.prototype, "depKey", void 0);
27
- exports.PaImageCacheDependencyEntity = PaImageCacheDependencyEntity = __decorate([
28
- (0, typeorm_1.Entity)("PaImageCacheDependency")
29
- ], PaImageCacheDependencyEntity);
30
- //# sourceMappingURL=PaImageCacheDependency.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaImageCacheDependency.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCacheDependency.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAEvC,OAAO,CAAU;IAGjB,MAAM,CAAU;CACjB,CAAA;AANY,oEAA4B;AAEvC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6DAC1B;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4DACV;uCALL,4BAA4B;IADxC,IAAA,gBAAM,EAAC,wBAAwB,CAAC;GACpB,4BAA4B,CAMxC"}
@@ -1,5 +0,0 @@
1
- export declare class PaImageCacheKeyEntity {
2
- imageCacheId: string;
3
- cacheKey: string;
4
- used: boolean;
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaImageCacheKey.entity.js","sourceRoot":"","sources":["../../src/database/PaImageCacheKey.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AAGlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAEhC,YAAY,CAAU;IAGtB,QAAQ,CAAU;IAGlB,IAAI,CAAW;CAChB,CAAA;AATY,sDAAqB;AAEhC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DACrB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACR;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDAC5B;gCARJ,qBAAqB;IADjC,IAAA,gBAAM,EAAC,iBAAiB,CAAC;GACb,qBAAqB,CASjC"}