@igstack/app-catalog-backend-core 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/db/client.d.mts +54 -1
- package/dist/db/client.d.mts.map +1 -1
- package/dist/db/client.mjs +88 -7
- package/dist/db/client.mjs.map +1 -1
- package/dist/db/index.d.mts +1 -1
- package/dist/db/syncAppCatalog.mjs +2 -1
- package/dist/db/syncAppCatalog.mjs.map +1 -1
- package/dist/generated/prisma/internal/class.mjs +4 -4
- package/dist/generated/prisma/internal/class.mjs.map +1 -1
- package/dist/generated/prisma/internal/prismaNamespace.d.mts +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.mts.map +1 -1
- package/dist/generated/prisma/models/DbResource.d.mts +43 -1
- package/dist/generated/prisma/models/DbResource.d.mts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/middleware/database.d.mts +1 -0
- package/dist/middleware/database.d.mts.map +1 -1
- package/dist/middleware/database.mjs +10 -13
- package/dist/middleware/database.mjs.map +1 -1
- package/dist/modules/appCatalog/freshness.mjs +5 -3
- package/dist/modules/appCatalog/freshness.mjs.map +1 -1
- package/dist/modules/appCatalog/service.mjs +5 -1
- package/dist/modules/appCatalog/service.mjs.map +1 -1
- package/dist/modules/assets/assetCache.mjs +25 -0
- package/dist/modules/assets/assetCache.mjs.map +1 -0
- package/dist/modules/assets/assetRestController.d.mts.map +1 -1
- package/dist/modules/assets/assetRestController.mjs +17 -6
- package/dist/modules/assets/assetRestController.mjs.map +1 -1
- package/dist/modules/assets/assetUtils.mjs +1 -0
- package/dist/modules/assets/assetUtils.mjs.map +1 -1
- package/dist/modules/assets/screenshotRestController.d.mts.map +1 -1
- package/dist/modules/assets/screenshotRestController.mjs +7 -2
- package/dist/modules/assets/screenshotRestController.mjs.map +1 -1
- package/dist/modules/assets/upsertAsset.mjs +7 -1
- package/dist/modules/assets/upsertAsset.mjs.map +1 -1
- package/dist/modules/icons/iconRestController.d.mts.map +1 -1
- package/dist/modules/icons/iconRestController.mjs +7 -2
- package/dist/modules/icons/iconRestController.mjs.map +1 -1
- package/dist/modules/lighthouseKeeper/tools.d.mts.map +1 -1
- package/dist/modules/lighthouseKeeper/tools.mjs +5 -5
- package/dist/modules/lighthouseKeeper/tools.mjs.map +1 -1
- package/dist/types/common/appCatalogTypes.d.mts +8 -0
- package/dist/types/common/appCatalogTypes.d.mts.map +1 -1
- package/package.json +4 -4
- package/prisma/schema.prisma +5 -2
- package/src/__tests__/assetMime.test.ts +74 -0
- package/src/__tests__/dbSchema.test.ts +129 -0
- package/src/__tests__/dbSchemaAdapter.test.ts +118 -0
- package/src/__tests__/freshness.test.ts +56 -17
- package/src/__tests__/iconCache.test.ts +81 -0
- package/src/db/client.ts +118 -12
- package/src/db/index.ts +10 -1
- package/src/db/syncAppCatalog.ts +3 -0
- package/src/generated/prisma/internal/class.ts +4 -4
- package/src/generated/prisma/internal/prismaNamespace.ts +1 -0
- package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +1 -0
- package/src/generated/prisma/models/DbResource.ts +44 -1
- package/src/index.ts +4 -0
- package/src/middleware/database.ts +20 -19
- package/src/modules/admin/chat/createDatabaseTools.ts +6 -2
- package/src/modules/appCatalog/freshness.ts +29 -11
- package/src/modules/appCatalog/service.ts +9 -4
- package/src/modules/assets/assetCache.ts +30 -0
- package/src/modules/assets/assetRestController.ts +25 -2
- package/src/modules/assets/assetUtils.ts +1 -0
- package/src/modules/assets/screenshotRestController.ts +13 -1
- package/src/modules/assets/upsertAsset.ts +8 -0
- package/src/modules/icons/iconRestController.ts +11 -1
- package/src/modules/lighthouseKeeper/tools.ts +6 -7
- package/src/types/common/appCatalogTypes.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbResource.d.mts","names":[],"sources":["../../../../src/generated/prisma/models/DbResource.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DbResource.d.mts","names":[],"sources":["../../../../src/generated/prisma/models/DbResource.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -23,7 +23,7 @@ import { AssetRestControllerConfig, registerAssetRestController } from "./module
|
|
|
23
23
|
import { ScreenshotRestControllerConfig, registerScreenshotRestController } from "./modules/assets/screenshotRestController.mjs";
|
|
24
24
|
import { SyncAssetsConfig, syncAssets } from "./modules/assets/syncAssets.mjs";
|
|
25
25
|
import { checkAllLinks, printLinkCheckReport } from "./modules/appCatalog/checkLinks.mjs";
|
|
26
|
-
import { connectDb, disconnectDb, getDbClient, setDbClient } from "./db/client.mjs";
|
|
26
|
+
import { buildPgSchemaOptions, connectDb, createCorePrismaClient, disconnectDb, getDbClient, resolveDbSchema, setDbClient, verifyDbSchema } from "./db/client.mjs";
|
|
27
27
|
import { buildPgSslConfig } from "./db/sslConfig.mjs";
|
|
28
28
|
import { MakeTFromPrismaModel, ObjectKeys, ScalarFilter, ScalarKeys, TableSyncParamsPrisma, tableSyncPrisma } from "./db/tableSyncPrismaAdapter.mjs";
|
|
29
29
|
import { TABLE_SYNC_MAGAZINE, TableSyncMagazine, TableSyncMagazineModelNameKey } from "./db/tableSyncMagazine.mjs";
|
|
@@ -35,4 +35,4 @@ import { injectCustomScripts } from "./middleware/htmlInjection.mjs";
|
|
|
35
35
|
import { runLighthouseKeeperDemo } from "./modules/lighthouseKeeper/demo.mjs";
|
|
36
36
|
import { APP_CATALOG_AI_SYSTEM_PROMPT, createAppCatalogAITools } from "./modules/lighthouseKeeper/tools.mjs";
|
|
37
37
|
import { getBuildPipelineId, getFrontendPackageVersion, getVersionInfo } from "./utils/versionUtils.mjs";
|
|
38
|
-
export { APP_CATALOG_AI_SYSTEM_PROMPT, AcAppIndexed, AcAppPageIndexed, AcAppUiIndexed, AcAppsMeta, type AcAuthConfig, AcBackendAppDto, AcBackendAppInput, AcBackendAppUIBaseInput, AcBackendAppUIInput, AcBackendCredentialInput, AcBackendDataFreshness, AcBackendDataSourceInput, AcBackendDataSourceInputCommon, AcBackendDataSourceInputDb, AcBackendDataSourceInputKafka, AcBackendDataVersion, AcBackendDeployableInput, AcBackendDeployment, AcBackendDeploymentInput, AcBackendEnvironmentInput, AcBackendPageInput, type AcBackendProvider, AcBackendTagDescriptionDataIndexed, AcBackendTagFixedTagValue, AcBackendTagsDescriptionDataIndexed, AcBackendUiDefaultsInput, AcBackendVersionsRequestParams, AcBackendVersionsReturn, AcContextIndexed, type AcDatabaseConfig, AcDatabaseManager, AcEnvIndexed, type AcFeatureToggles, type AcLifecycleHooks, type AcLighthouseKeeperConfig, type AcMcpServerConfig, AcMetaDictionary, type AcMiddlewareOptions, type AcMiddlewareResult, AcResourceIndexed, type AcStaticControllerContract, type AcTrpcContext, type AcTrpcContextOptions, AccessRequest, AppAccessRequest, AppApprovalMethod, AppCatalogCompanySpecificBackend, AppCatalogData, AppCategory, AppRole, AppVersionInfo, ApprovalMethod, ApprovalMethodConfig, ApprovalMethodType, ApprovalUrl, type AssetRestControllerConfig, type AuthRouter, type BetterAuth, CustomConfig, Freshness, Group, GroupingTagDefinition, GroupingTagValue, type IconRestControllerConfig, type MakeTFromPrismaModel, type MiddlewareContext, type ObjectKeys, Person, PersonTeamConfig, type Resource, Role, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, ServiceConfig, SourceReference, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TierVariant, type UpsertIconInput, VersionInfo, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getVersionInfo, injectCustomScripts, printLinkCheckReport, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, runLighthouseKeeperDemo, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons };
|
|
38
|
+
export { APP_CATALOG_AI_SYSTEM_PROMPT, AcAppIndexed, AcAppPageIndexed, AcAppUiIndexed, AcAppsMeta, type AcAuthConfig, AcBackendAppDto, AcBackendAppInput, AcBackendAppUIBaseInput, AcBackendAppUIInput, AcBackendCredentialInput, AcBackendDataFreshness, AcBackendDataSourceInput, AcBackendDataSourceInputCommon, AcBackendDataSourceInputDb, AcBackendDataSourceInputKafka, AcBackendDataVersion, AcBackendDeployableInput, AcBackendDeployment, AcBackendDeploymentInput, AcBackendEnvironmentInput, AcBackendPageInput, type AcBackendProvider, AcBackendTagDescriptionDataIndexed, AcBackendTagFixedTagValue, AcBackendTagsDescriptionDataIndexed, AcBackendUiDefaultsInput, AcBackendVersionsRequestParams, AcBackendVersionsReturn, AcContextIndexed, type AcDatabaseConfig, AcDatabaseManager, AcEnvIndexed, type AcFeatureToggles, type AcLifecycleHooks, type AcLighthouseKeeperConfig, type AcMcpServerConfig, AcMetaDictionary, type AcMiddlewareOptions, type AcMiddlewareResult, AcResourceIndexed, type AcStaticControllerContract, type AcTrpcContext, type AcTrpcContextOptions, AccessRequest, AppAccessRequest, AppApprovalMethod, AppCatalogCompanySpecificBackend, AppCatalogData, AppCategory, AppRole, AppVersionInfo, ApprovalMethod, ApprovalMethodConfig, ApprovalMethodType, ApprovalUrl, type AssetRestControllerConfig, type AuthRouter, type BetterAuth, CustomConfig, Freshness, Group, GroupingTagDefinition, GroupingTagValue, type IconRestControllerConfig, type MakeTFromPrismaModel, type MiddlewareContext, type ObjectKeys, Person, PersonTeamConfig, type Resource, Role, type ScalarFilter, type ScalarKeys, type ScreenshotRestControllerConfig, ServiceConfig, SourceReference, type SyncAppCatalogResult, type SyncAssetsConfig, TABLE_SYNC_MAGAZINE, type TRPCRouter, type TableSyncMagazine, type TableSyncMagazineModelNameKey, type TableSyncParamsPrisma, Tag, TierVariant, type UpsertIconInput, VersionInfo, buildPgSchemaOptions, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createCorePrismaClient, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getVersionInfo, injectCustomScripts, printLinkCheckReport, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, resolveDbSchema, runLighthouseKeeperDemo, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons, verifyDbSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildPgSslConfig } from "./db/sslConfig.mjs";
|
|
2
|
-
import { connectDb, disconnectDb, getDbClient, setDbClient } from "./db/client.mjs";
|
|
2
|
+
import { buildPgSchemaOptions, connectDb, createCorePrismaClient, disconnectDb, getDbClient, resolveDbSchema, setDbClient, verifyDbSchema } from "./db/client.mjs";
|
|
3
3
|
import { createAuthRouter } from "./modules/auth/authRouter.mjs";
|
|
4
4
|
import { createTrpcRouter } from "./server/controller.mjs";
|
|
5
5
|
import { createAcTrpcContext } from "./server/acTrpcContext.mjs";
|
|
@@ -22,4 +22,4 @@ import { APP_CATALOG_AI_SYSTEM_PROMPT, createAppCatalogAITools } from "./modules
|
|
|
22
22
|
import { runLighthouseKeeperDemo } from "./modules/lighthouseKeeper/demo.mjs";
|
|
23
23
|
import { getBuildPipelineId, getFrontendPackageVersion, getVersionInfo } from "./utils/versionUtils.mjs";
|
|
24
24
|
|
|
25
|
-
export { APP_CATALOG_AI_SYSTEM_PROMPT, AcDatabaseManager, TABLE_SYNC_MAGAZINE, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getVersionInfo, injectCustomScripts, printLinkCheckReport, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, runLighthouseKeeperDemo, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons };
|
|
25
|
+
export { APP_CATALOG_AI_SYSTEM_PROMPT, AcDatabaseManager, TABLE_SYNC_MAGAZINE, buildPgSchemaOptions, buildPgSslConfig, checkAllLinks, connectDb, createAcMiddleware, createAcTrpcContext, createAppCatalogAITools, createAuth, createAuthRouter, createCorePrismaClient, createTrpcRouter, disconnectDb, getAssetByName, getBuildPipelineId, getDbClient, getFrontendPackageVersion, getVersionInfo, injectCustomScripts, printLinkCheckReport, registerAssetRestController, registerAuthRoutes, registerIconRestController, registerScreenshotRestController, resolveDbSchema, runLighthouseKeeperDemo, setDbClient, staticControllerContract, syncAppCatalog, syncAssets, tableSyncPrisma, upsertIcon, upsertIcons, verifyDbSchema };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.mts","names":[],"sources":["../../src/middleware/database.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"database.d.mts","names":[],"sources":["../../src/middleware/database.ts"],"mappings":";;;;;;AAyBA;;cAAa,iBAAA;EAAA,QACH,MAAA;EAAA,QACA,IAAA;EAAA,QACA,MAAA;cAEI,MAAA,EAAQ,gBAAA;EAoCO;;;;EA5B3B,SAAA,CAAA,GAAa,YAAA;EAsBP,OAAA,CAAA,GAAW,OAAA;EAMX,UAAA,CAAA,GAAc,OAAA;EAAA,QAWZ,gBAAA;AAAA"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { buildPgSslConfig } from "../db/sslConfig.mjs";
|
|
3
|
-
import { setDbClient } from "../db/client.mjs";
|
|
4
|
-
import { PrismaPg } from "@prisma/adapter-pg";
|
|
5
|
-
import pg from "pg";
|
|
1
|
+
import { createCorePrismaClient, setDbClient, verifyDbSchema } from "../db/client.mjs";
|
|
6
2
|
|
|
7
3
|
//#region src/middleware/database.ts
|
|
8
4
|
/**
|
|
@@ -29,22 +25,20 @@ var AcDatabaseManager = class {
|
|
|
29
25
|
*/
|
|
30
26
|
getClient() {
|
|
31
27
|
if (!this.client) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
connectionString: datasourceUrl,
|
|
36
|
-
...ssl === void 0 ? {} : { ssl }
|
|
37
|
-
});
|
|
38
|
-
this.client = new PrismaClient({
|
|
39
|
-
adapter: new PrismaPg(this.pool),
|
|
28
|
+
const created = createCorePrismaClient({
|
|
29
|
+
connectionString: formatConnectionUrl(this.config),
|
|
30
|
+
configuredSchema: this.configuredSchema(),
|
|
40
31
|
log: process.env.NODE_ENV === "development" ? ["warn", "error"] : ["warn", "error"]
|
|
41
32
|
});
|
|
33
|
+
this.pool = created.pool;
|
|
34
|
+
this.client = created.client;
|
|
42
35
|
setDbClient(this.client);
|
|
43
36
|
}
|
|
44
37
|
return this.client;
|
|
45
38
|
}
|
|
46
39
|
async connect() {
|
|
47
40
|
await this.getClient().$connect();
|
|
41
|
+
if (this.pool) await verifyDbSchema(this.pool, this.configuredSchema());
|
|
48
42
|
}
|
|
49
43
|
async disconnect() {
|
|
50
44
|
if (this.client) {
|
|
@@ -56,6 +50,9 @@ var AcDatabaseManager = class {
|
|
|
56
50
|
this.pool = null;
|
|
57
51
|
}
|
|
58
52
|
}
|
|
53
|
+
configuredSchema() {
|
|
54
|
+
return "url" in this.config ? void 0 : this.config.schema;
|
|
55
|
+
}
|
|
59
56
|
};
|
|
60
57
|
|
|
61
58
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.mjs","names":[],"sources":["../../src/middleware/database.ts"],"sourcesContent":["import { PrismaClient } from '../generated/prisma/client'\nimport
|
|
1
|
+
{"version":3,"file":"database.mjs","names":[],"sources":["../../src/middleware/database.ts"],"sourcesContent":["import type { PrismaClient } from '../generated/prisma/client'\nimport type pg from 'pg'\nimport type { AcDatabaseConfig } from './types'\nimport {\n createCorePrismaClient,\n setDbClient,\n verifyDbSchema,\n} from '../db/client'\n\n/**\n * Formats a database connection URL from structured config.\n */\nfunction formatConnectionUrl(config: AcDatabaseConfig): string {\n if ('url' in config) {\n return config.url\n }\n\n const { host, port, database, username, password, schema = 'public' } = config\n return `postgresql://${username}:${encodeURIComponent(password)}@${host}:${port}/${database}?schema=${schema}`\n}\n\n/**\n * Internal database manager used by the middleware.\n * Handles connection URL formatting and lifecycle.\n */\nexport class AcDatabaseManager {\n private client: PrismaClient | null = null\n private pool: pg.Pool | null = null\n private config: AcDatabaseConfig\n\n constructor(config: AcDatabaseConfig) {\n this.config = config\n }\n\n /**\n * Get or create the Prisma client instance.\n * Uses lazy initialization for flexibility.\n */\n getClient(): PrismaClient {\n if (!this.client) {\n // This client - not getDbClient()'s - is the one the app ends up using.\n // The `?schema=` in the url is inert (node-postgres drops unknown URL\n // params), so the schema has to travel via createCorePrismaClient.\n const created = createCorePrismaClient({\n connectionString: formatConnectionUrl(this.config),\n configuredSchema: this.configuredSchema(),\n log:\n process.env.NODE_ENV === 'development'\n ? ['warn', 'error']\n : ['warn', 'error'],\n })\n this.pool = created.pool\n this.client = created.client\n\n // Bridge with existing backend-core getDbClient() usage\n setDbClient(this.client)\n }\n return this.client\n }\n\n async connect(): Promise<void> {\n const client = this.getClient()\n await client.$connect()\n if (this.pool) await verifyDbSchema(this.pool, this.configuredSchema())\n }\n\n async disconnect(): Promise<void> {\n if (this.client) {\n await this.client.$disconnect()\n this.client = null\n }\n if (this.pool) {\n await this.pool.end()\n this.pool = null\n }\n }\n\n private configuredSchema(): string | undefined {\n return 'url' in this.config ? undefined : this.config.schema\n }\n}\n"],"mappings":";;;;;;AAYA,SAAS,oBAAoB,QAAkC;AAC7D,KAAI,SAAS,OACX,QAAO,OAAO;CAGhB,MAAM,EAAE,MAAM,MAAM,UAAU,UAAU,UAAU,SAAS,aAAa;AACxE,QAAO,gBAAgB,SAAS,GAAG,mBAAmB,SAAS,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,UAAU;;;;;;AAOxG,IAAa,oBAAb,MAA+B;CAK7B,YAAY,QAA0B;gBAJA;cACP;AAI7B,OAAK,SAAS;;;;;;CAOhB,YAA0B;AACxB,MAAI,CAAC,KAAK,QAAQ;GAIhB,MAAM,UAAU,uBAAuB;IACrC,kBAAkB,oBAAoB,KAAK,OAAO;IAClD,kBAAkB,KAAK,kBAAkB;IACzC,KACE,QAAQ,IAAI,aAAa,gBACrB,CAAC,QAAQ,QAAQ,GACjB,CAAC,QAAQ,QAAQ;IACxB,CAAC;AACF,QAAK,OAAO,QAAQ;AACpB,QAAK,SAAS,QAAQ;AAGtB,eAAY,KAAK,OAAO;;AAE1B,SAAO,KAAK;;CAGd,MAAM,UAAyB;AAE7B,QADe,KAAK,WAAW,CAClB,UAAU;AACvB,MAAI,KAAK,KAAM,OAAM,eAAe,KAAK,MAAM,KAAK,kBAAkB,CAAC;;CAGzE,MAAM,aAA4B;AAChC,MAAI,KAAK,QAAQ;AACf,SAAM,KAAK,OAAO,aAAa;AAC/B,QAAK,SAAS;;AAEhB,MAAI,KAAK,MAAM;AACb,SAAM,KAAK,KAAK,KAAK;AACrB,QAAK,OAAO;;;CAIhB,AAAQ,mBAAuC;AAC7C,SAAO,SAAS,KAAK,SAAS,SAAY,KAAK,OAAO"}
|
|
@@ -4,13 +4,14 @@ const STALE_GRACE_MS = 10080 * 60 * 1e3;
|
|
|
4
4
|
/**
|
|
5
5
|
* Compute the freshness semantic from the stored dates.
|
|
6
6
|
*
|
|
7
|
-
* @param
|
|
8
|
-
* @param nextCheckAfter ISO string or null — when the next check is due.
|
|
7
|
+
* @param dates the resource's stored freshness timestamps.
|
|
9
8
|
* @param now current time (defaults to Date.now()); injectable for tests.
|
|
10
9
|
*/
|
|
11
|
-
function computeFreshness(
|
|
10
|
+
function computeFreshness(dates, now = Date.now()) {
|
|
11
|
+
const { lastCheckedAt, nextCheckAfter, lastContentChangeAt } = dates;
|
|
12
12
|
if (!lastCheckedAt) return {
|
|
13
13
|
lastCheckedAt: null,
|
|
14
|
+
lastContentChangeAt: null,
|
|
14
15
|
isStale: false
|
|
15
16
|
};
|
|
16
17
|
let isStale = false;
|
|
@@ -20,6 +21,7 @@ function computeFreshness(lastCheckedAt, nextCheckAfter, now = Date.now()) {
|
|
|
20
21
|
}
|
|
21
22
|
return {
|
|
22
23
|
lastCheckedAt,
|
|
24
|
+
lastContentChangeAt: lastContentChangeAt ?? null,
|
|
23
25
|
isStale
|
|
24
26
|
};
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.mjs","names":[],"sources":["../../../src/modules/appCatalog/freshness.ts"],"sourcesContent":["/**\n * Freshness semantic for a catalog resource.\n *\n * The backend owns this calculation so the frontend stays dumb: it just renders\n * `lastCheckedAt` and, when `isStale` is true, a muted \"may be out of date\" note.\n *\n * Data source: the autoupdate scan records, per app, when its sources were last\n * verified (`lastCheckedAt`) and when the next check is due (`nextCheckAfter`,\n * adaptive backoff). \"Stale\" means the entry is more than a grace period past
|
|
1
|
+
{"version":3,"file":"freshness.mjs","names":[],"sources":["../../../src/modules/appCatalog/freshness.ts"],"sourcesContent":["/**\n * Freshness semantic for a catalog resource.\n *\n * The backend owns this calculation so the frontend stays dumb: it just renders\n * `lastContentChangeAt` (falling back to `lastCheckedAt`) and, when `isStale` is\n * true, a muted \"may be out of date\" note.\n *\n * Data source: the autoupdate scan records, per app, when its sources were last\n * verified (`lastCheckedAt`), when their content last actually changed\n * (`lastContentChangeAt`), and when the next check is due (`nextCheckAfter`,\n * adaptive backoff). The two \"last\" dates are deliberately distinct — a source\n * can be re-read many times without changing, so \"checked\" is not \"updated\".\n * \"Stale\" means the entry is more than a grace period past its due date — i.e.\n * the automated freshness loop has fallen behind for this app, so a human reader\n * should treat the info with mild caution.\n */\n\nimport type { Freshness } from '../../types/common/appCatalogTypes'\n\nexport type { Freshness }\n\n/** A check is \"stale\" once it is this far past its due date (ms). Default: 7 days. */\nexport const STALE_GRACE_MS = 7 * 24 * 60 * 60 * 1000\n\n/** The stored dates a resource's freshness is computed from (ISO strings). */\nexport interface FreshnessInput {\n /** When the sources were last verified — only means the schedule advanced. */\n lastCheckedAt?: string | null\n /** When the next check is due (adaptive backoff). */\n nextCheckAfter?: string | null\n /** When the source content last actually changed. Null on pre-existing rows. */\n lastContentChangeAt?: string | null\n}\n\n/**\n * Compute the freshness semantic from the stored dates.\n *\n * @param dates the resource's stored freshness timestamps.\n * @param now current time (defaults to Date.now()); injectable for tests.\n */\nexport function computeFreshness(\n dates: FreshnessInput,\n now: number = Date.now(),\n): Freshness {\n const { lastCheckedAt, nextCheckAfter, lastContentChangeAt } = dates\n\n // Never checked → no line is shown at all (frontend hides null lastCheckedAt).\n if (!lastCheckedAt) {\n return { lastCheckedAt: null, lastContentChangeAt: null, isStale: false }\n }\n\n let isStale = false\n if (nextCheckAfter) {\n const due = Date.parse(nextCheckAfter)\n if (!Number.isNaN(due)) {\n isStale = now - due > STALE_GRACE_MS\n }\n }\n\n return {\n lastCheckedAt,\n lastContentChangeAt: lastContentChangeAt ?? null,\n isStale,\n }\n}\n"],"mappings":";;AAsBA,MAAa,iBAAiB,QAAc,KAAK;;;;;;;AAkBjD,SAAgB,iBACd,OACA,MAAc,KAAK,KAAK,EACb;CACX,MAAM,EAAE,eAAe,gBAAgB,wBAAwB;AAG/D,KAAI,CAAC,cACH,QAAO;EAAE,eAAe;EAAM,qBAAqB;EAAM,SAAS;EAAO;CAG3E,IAAI,UAAU;AACd,KAAI,gBAAgB;EAClB,MAAM,MAAM,KAAK,MAAM,eAAe;AACtC,MAAI,CAAC,OAAO,MAAM,IAAI,CACpB,WAAU,MAAM,MAAM;;AAI1B,QAAO;EACL;EACA,qBAAqB,uBAAuB;EAC5C;EACD"}
|
|
@@ -92,7 +92,11 @@ function rowToResource(row) {
|
|
|
92
92
|
const aiPrompt = row.aiPrompt == null ? void 0 : row.aiPrompt;
|
|
93
93
|
const urlIssues = row.urlIssues?.length ? row.urlIssues : void 0;
|
|
94
94
|
const tiers = row.tiers == null ? void 0 : row.tiers;
|
|
95
|
-
const freshness = computeFreshness(
|
|
95
|
+
const freshness = computeFreshness({
|
|
96
|
+
lastCheckedAt: row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,
|
|
97
|
+
nextCheckAfter: row.nextCheckAfter ? row.nextCheckAfter.toISOString() : null,
|
|
98
|
+
lastContentChangeAt: row.lastContentChangeAt ? row.lastContentChangeAt.toISOString() : null
|
|
99
|
+
});
|
|
96
100
|
return {
|
|
97
101
|
id: row.id,
|
|
98
102
|
slug: row.slug,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.mjs","names":[],"sources":["../../../src/modules/appCatalog/service.ts"],"sourcesContent":["import { getDbClient } from '../../db/client'\nimport type { Prisma } from '../../generated/prisma/client'\nimport type {\n AppApprovalMethod,\n AppCatalogData,\n AppCategory,\n GroupingTagDefinition,\n Resource,\n} from '../../types/common/appCatalogTypes'\nimport type {\n CustomConfig,\n ServiceConfig,\n} from '../../types/common/approvalMethodTypes'\nimport type { Group, Person } from '../../types/common/personGroupTypes'\nimport { omit } from 'radashi'\nimport { parseSourceSlug } from '../../utils/parseSourceSlug'\nimport { computeFreshness } from './freshness'\n\n/** Prisma query result for DbResource with sourceRefs included (used by rowToResource) */\ntype ResourceRowWithSourceRefs = Prisma.DbResourceGetPayload<{\n include: { sourceRefs: true }\n}>\n\nfunction capitalize(word: string): string {\n if (!word) return word\n return word.charAt(0).toUpperCase() + word.slice(1)\n}\n\nexport async function getGroupingTagDefinitionsFromPrisma(): Promise<\n GroupingTagDefinition[]\n> {\n const prisma = getDbClient()\n\n // Fetch all tag definitions\n const rows = await prisma.dbAppTagDefinition.findMany()\n\n // Fetch all resources to count tag usage\n const resources = await prisma.dbResource.findMany({\n select: { tags: true },\n })\n\n // Count tag values across all resources\n const tagCounts = new Map<string, Map<string, number>>()\n\n for (const resource of resources) {\n const tags = (resource.tags as unknown as string[] | null) ?? []\n for (const tag of tags) {\n const [prefix, value] = tag.split(':')\n if (prefix && value) {\n if (!tagCounts.has(prefix)) {\n tagCounts.set(prefix, new Map())\n }\n const prefixCounts = tagCounts.get(prefix)!\n prefixCounts.set(value, (prefixCounts.get(value) ?? 0) + 1)\n }\n }\n }\n\n // Sort values by count and return definitions\n return rows.map((row) => {\n const definition = omit(row, ['id', 'updatedAt', 'createdAt'])\n const counts = tagCounts.get(definition.prefix) ?? new Map()\n\n // Sort values by count (descending)\n const sortedValues = [...definition.values].sort((a, b) => {\n const countA = counts.get(a.value) ?? 0\n const countB = counts.get(b.value) ?? 0\n return countB - countA\n })\n\n return {\n ...definition,\n values: sortedValues,\n }\n })\n}\n\nexport async function getApprovalMethodsFromPrisma(): Promise<\n AppApprovalMethod[]\n> {\n const prisma = getDbClient()\n\n // Fetch all approval methods\n const rows = await prisma.dbApprovalMethod.findMany()\n\n return rows.map((row) => {\n // Handle discriminated union by explicitly narrowing based on type\n const baseFields = {\n slug: row.slug,\n displayName: row.displayName,\n }\n\n // Provide default empty config if null, as AppApprovalMethod discriminated union requires config\n const config = row.config ?? {}\n\n switch (row.type) {\n case 'service':\n return {\n ...baseFields,\n type: 'service' as const,\n config: config as ServiceConfig,\n }\n case 'custom':\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config as CustomConfig,\n }\n case 'noAccessRequired':\n return {\n ...baseFields,\n type: 'noAccessRequired' as const,\n config: config as CustomConfig,\n }\n case 'unknown':\n return {\n ...baseFields,\n type: 'unknown' as const,\n config: config as CustomConfig,\n }\n case 'personTeam':\n // Legacy: map personTeam to custom\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config as CustomConfig,\n }\n }\n })\n}\n\nfunction rowToResource(row: ResourceRowWithSourceRefs): Resource {\n const accessRequest =\n row.accessRequest as unknown as Resource['accessRequest']\n const teams = (row.teams as unknown as string[] | null) ?? []\n const tags = (row.tags as unknown as Resource['tags']) ?? []\n const screenshotIds =\n (row.screenshotIds as unknown as Resource['screenshotIds']) ?? []\n const sources = row.sourceRefs.map((ref) => ({\n sourceSlug: ref.sourceSlug,\n url: ref.url,\n parseDate: ref.parseDate ? ref.parseDate.toISOString() : null,\n }))\n const notes = row.notes == null ? undefined : row.notes\n const appUrl = row.appUrl == null ? undefined : row.appUrl\n const iconName = row.iconName == null ? undefined : row.iconName\n const abbreviation = row.abbreviation == null ? undefined : row.abbreviation\n const nicknames = (row.nicknames as unknown as string[] | null)?.length\n ? (row.nicknames as unknown as string[])\n : undefined\n const deprecated =\n row.deprecated == null\n ? undefined\n : (row.deprecated as unknown as Resource['deprecated'])\n const aiPrompt = row.aiPrompt == null ? undefined : row.aiPrompt\n const urlIssues = (row.urlIssues as unknown as string[] | null)?.length\n ? (row.urlIssues as unknown as string[])\n : undefined\n const tiers =\n row.tiers == null ? undefined : (row.tiers as unknown as Resource['tiers'])\n const freshness = computeFreshness(\n row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,\n row.nextCheckAfter ? row.nextCheckAfter.toISOString() : null,\n )\n\n return {\n id: row.id,\n slug: row.slug,\n type: row.type,\n displayName: row.displayName,\n abbreviation,\n nicknames,\n description: row.description,\n accessRequest,\n teams,\n notes,\n tags,\n appUrl,\n iconName,\n screenshotIds,\n sources,\n deprecated,\n aiPrompt,\n urlIssues,\n tiers,\n // Fields from former SubResource\n parentSlug: row.parentSlug ?? undefined,\n tier: row.tier ?? undefined,\n familySlug: row.familySlug ?? undefined,\n aliases: row.aliases.length ? row.aliases : undefined,\n ownerPersonSlug: row.ownerPersonSlug ?? undefined,\n accessMaintainerGroupSlugs: row.accessMaintainerGroupSlugs.length\n ? row.accessMaintainerGroupSlugs\n : undefined,\n accessComments: row.accessComments ?? undefined,\n extra: row.extra\n ? (row.extra as unknown as Record<string, unknown>)\n : undefined,\n // Only surface freshness once the app has actually been scanned.\n freshness: freshness.lastCheckedAt ? freshness : undefined,\n createdAt: row.createdAt.toISOString(),\n }\n}\n\nexport async function getResourcesFromPrisma(): Promise<Resource[]> {\n const prisma = getDbClient()\n\n const rows = await prisma.dbResource.findMany({\n include: {\n sourceRefs: true,\n },\n })\n\n return rows.map(rowToResource)\n}\n\n/** @deprecated Use getResourcesFromPrisma instead */\nexport const getAppsFromPrisma = getResourcesFromPrisma\n\nexport interface UpdateAppInput {\n id: string\n data: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n sources?: string[]\n aiPrompt?: string | null\n }\n}\n\nexport async function updateApp(input: UpdateAppInput): Promise<Resource> {\n const prisma = getDbClient()\n const { id, data } = input\n\n const updatePayload: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n aiPrompt?: string | null\n } = {}\n if (data.displayName !== undefined)\n updatePayload.displayName = data.displayName\n if (data.abbreviation !== undefined)\n updatePayload.abbreviation = data.abbreviation\n if (data.slug !== undefined) updatePayload.slug = data.slug\n if (data.appUrl !== undefined) updatePayload.appUrl = data.appUrl\n if (data.description !== undefined)\n updatePayload.description = data.description\n if (data.aiPrompt !== undefined) updatePayload.aiPrompt = data.aiPrompt\n\n const updated = await prisma.dbResource.update({\n where: { id },\n data: updatePayload,\n include: { sourceRefs: true },\n })\n\n if (data.sources !== undefined) {\n const urls = [...new Set(data.sources.map((u) => u.trim()).filter(Boolean))]\n const uniqueSourceSlugs = [...new Set(urls.map(parseSourceSlug))]\n\n for (const sourceSlug of uniqueSourceSlugs) {\n await prisma.source.upsert({\n where: { slug: sourceSlug },\n create: { slug: sourceSlug },\n update: {},\n })\n }\n\n await prisma.sourceReference.deleteMany({\n where: { resourceId: updated.id },\n })\n\n if (urls.length > 0) {\n await prisma.sourceReference.createMany({\n data: urls.map((url) => ({\n resourceId: updated.id,\n sourceSlug: parseSourceSlug(url),\n url: url.trim(),\n })),\n })\n }\n\n const refetched = await prisma.dbResource.findUnique({\n where: { id },\n include: { sourceRefs: true },\n })\n if (!refetched) throw new Error('Resource not found after update')\n return rowToResource(refetched)\n }\n\n return rowToResource(updated)\n}\n\nexport function deriveCategories(resources: Resource[]): AppCategory[] {\n const tagSet = new Set<string>()\n for (const resource of resources) {\n for (const tag of resource.tags ?? []) {\n const normalized = tag.trim().toLowerCase()\n if (normalized) tagSet.add(normalized)\n }\n }\n const categories: AppCategory[] = [{ id: 'all', name: 'All' }]\n for (const tag of Array.from(tagSet).sort()) {\n categories.push({ id: tag, name: capitalize(tag) })\n }\n return categories\n}\n\nexport async function getPersonsFromPrisma(): Promise<Person[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbPerson.findMany()\n return rows.map((row) => ({\n slug: row.slug,\n firstName: row.firstName,\n lastName: row.lastName,\n email: row.email ?? undefined,\n }))\n}\n\nexport async function getGroupsFromPrisma(): Promise<Group[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbGroup.findMany({\n include: { memberships: true },\n })\n return rows.map((row) => ({\n slug: row.slug,\n displayName: row.displayName ?? undefined,\n email: row.email ?? undefined,\n memberSlugs: row.memberships.map((m) => m.personSlug),\n }))\n}\n\nexport async function getAppCatalogData(\n getResourcesOptional?: () => Promise<Resource[]>,\n): Promise<AppCatalogData> {\n const resources = getResourcesOptional\n ? await getResourcesOptional()\n : await getResourcesFromPrisma()\n\n return {\n resources,\n tagsDefinitions: await getGroupingTagDefinitionsFromPrisma(),\n approvalMethods: await getApprovalMethodsFromPrisma(),\n persons: await getPersonsFromPrisma(),\n groups: await getGroupsFromPrisma(),\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.mjs","names":[],"sources":["../../../src/modules/appCatalog/service.ts"],"sourcesContent":["import { getDbClient } from '../../db/client'\nimport type { Prisma } from '../../generated/prisma/client'\nimport type {\n AppApprovalMethod,\n AppCatalogData,\n AppCategory,\n GroupingTagDefinition,\n Resource,\n} from '../../types/common/appCatalogTypes'\nimport type {\n CustomConfig,\n ServiceConfig,\n} from '../../types/common/approvalMethodTypes'\nimport type { Group, Person } from '../../types/common/personGroupTypes'\nimport { omit } from 'radashi'\nimport { parseSourceSlug } from '../../utils/parseSourceSlug'\nimport { computeFreshness } from './freshness'\n\n/** Prisma query result for DbResource with sourceRefs included (used by rowToResource) */\ntype ResourceRowWithSourceRefs = Prisma.DbResourceGetPayload<{\n include: { sourceRefs: true }\n}>\n\nfunction capitalize(word: string): string {\n if (!word) return word\n return word.charAt(0).toUpperCase() + word.slice(1)\n}\n\nexport async function getGroupingTagDefinitionsFromPrisma(): Promise<\n GroupingTagDefinition[]\n> {\n const prisma = getDbClient()\n\n // Fetch all tag definitions\n const rows = await prisma.dbAppTagDefinition.findMany()\n\n // Fetch all resources to count tag usage\n const resources = await prisma.dbResource.findMany({\n select: { tags: true },\n })\n\n // Count tag values across all resources\n const tagCounts = new Map<string, Map<string, number>>()\n\n for (const resource of resources) {\n const tags = (resource.tags as unknown as string[] | null) ?? []\n for (const tag of tags) {\n const [prefix, value] = tag.split(':')\n if (prefix && value) {\n if (!tagCounts.has(prefix)) {\n tagCounts.set(prefix, new Map())\n }\n const prefixCounts = tagCounts.get(prefix)!\n prefixCounts.set(value, (prefixCounts.get(value) ?? 0) + 1)\n }\n }\n }\n\n // Sort values by count and return definitions\n return rows.map((row) => {\n const definition = omit(row, ['id', 'updatedAt', 'createdAt'])\n const counts = tagCounts.get(definition.prefix) ?? new Map()\n\n // Sort values by count (descending)\n const sortedValues = [...definition.values].sort((a, b) => {\n const countA = counts.get(a.value) ?? 0\n const countB = counts.get(b.value) ?? 0\n return countB - countA\n })\n\n return {\n ...definition,\n values: sortedValues,\n }\n })\n}\n\nexport async function getApprovalMethodsFromPrisma(): Promise<\n AppApprovalMethod[]\n> {\n const prisma = getDbClient()\n\n // Fetch all approval methods\n const rows = await prisma.dbApprovalMethod.findMany()\n\n return rows.map((row) => {\n // Handle discriminated union by explicitly narrowing based on type\n const baseFields = {\n slug: row.slug,\n displayName: row.displayName,\n }\n\n // Provide default empty config if null, as AppApprovalMethod discriminated union requires config\n const config = row.config ?? {}\n\n switch (row.type) {\n case 'service':\n return {\n ...baseFields,\n type: 'service' as const,\n config: config as ServiceConfig,\n }\n case 'custom':\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config as CustomConfig,\n }\n case 'noAccessRequired':\n return {\n ...baseFields,\n type: 'noAccessRequired' as const,\n config: config as CustomConfig,\n }\n case 'unknown':\n return {\n ...baseFields,\n type: 'unknown' as const,\n config: config as CustomConfig,\n }\n case 'personTeam':\n // Legacy: map personTeam to custom\n return {\n ...baseFields,\n type: 'custom' as const,\n config: config as CustomConfig,\n }\n }\n })\n}\n\nfunction rowToResource(row: ResourceRowWithSourceRefs): Resource {\n const accessRequest =\n row.accessRequest as unknown as Resource['accessRequest']\n const teams = (row.teams as unknown as string[] | null) ?? []\n const tags = (row.tags as unknown as Resource['tags']) ?? []\n const screenshotIds =\n (row.screenshotIds as unknown as Resource['screenshotIds']) ?? []\n const sources = row.sourceRefs.map((ref) => ({\n sourceSlug: ref.sourceSlug,\n url: ref.url,\n parseDate: ref.parseDate ? ref.parseDate.toISOString() : null,\n }))\n const notes = row.notes == null ? undefined : row.notes\n const appUrl = row.appUrl == null ? undefined : row.appUrl\n const iconName = row.iconName == null ? undefined : row.iconName\n const abbreviation = row.abbreviation == null ? undefined : row.abbreviation\n const nicknames = (row.nicknames as unknown as string[] | null)?.length\n ? (row.nicknames as unknown as string[])\n : undefined\n const deprecated =\n row.deprecated == null\n ? undefined\n : (row.deprecated as unknown as Resource['deprecated'])\n const aiPrompt = row.aiPrompt == null ? undefined : row.aiPrompt\n const urlIssues = (row.urlIssues as unknown as string[] | null)?.length\n ? (row.urlIssues as unknown as string[])\n : undefined\n const tiers =\n row.tiers == null ? undefined : (row.tiers as unknown as Resource['tiers'])\n const freshness = computeFreshness({\n lastCheckedAt: row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,\n nextCheckAfter: row.nextCheckAfter\n ? row.nextCheckAfter.toISOString()\n : null,\n lastContentChangeAt: row.lastContentChangeAt\n ? row.lastContentChangeAt.toISOString()\n : null,\n })\n\n return {\n id: row.id,\n slug: row.slug,\n type: row.type,\n displayName: row.displayName,\n abbreviation,\n nicknames,\n description: row.description,\n accessRequest,\n teams,\n notes,\n tags,\n appUrl,\n iconName,\n screenshotIds,\n sources,\n deprecated,\n aiPrompt,\n urlIssues,\n tiers,\n // Fields from former SubResource\n parentSlug: row.parentSlug ?? undefined,\n tier: row.tier ?? undefined,\n familySlug: row.familySlug ?? undefined,\n aliases: row.aliases.length ? row.aliases : undefined,\n ownerPersonSlug: row.ownerPersonSlug ?? undefined,\n accessMaintainerGroupSlugs: row.accessMaintainerGroupSlugs.length\n ? row.accessMaintainerGroupSlugs\n : undefined,\n accessComments: row.accessComments ?? undefined,\n extra: row.extra\n ? (row.extra as unknown as Record<string, unknown>)\n : undefined,\n // Only surface freshness once the app has actually been scanned.\n freshness: freshness.lastCheckedAt ? freshness : undefined,\n createdAt: row.createdAt.toISOString(),\n }\n}\n\nexport async function getResourcesFromPrisma(): Promise<Resource[]> {\n const prisma = getDbClient()\n\n const rows = await prisma.dbResource.findMany({\n include: {\n sourceRefs: true,\n },\n })\n\n return rows.map(rowToResource)\n}\n\n/** @deprecated Use getResourcesFromPrisma instead */\nexport const getAppsFromPrisma = getResourcesFromPrisma\n\nexport interface UpdateAppInput {\n id: string\n data: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n sources?: string[]\n aiPrompt?: string | null\n }\n}\n\nexport async function updateApp(input: UpdateAppInput): Promise<Resource> {\n const prisma = getDbClient()\n const { id, data } = input\n\n const updatePayload: {\n displayName?: string\n abbreviation?: string | null\n slug?: string\n appUrl?: string\n description?: string\n aiPrompt?: string | null\n } = {}\n if (data.displayName !== undefined)\n updatePayload.displayName = data.displayName\n if (data.abbreviation !== undefined)\n updatePayload.abbreviation = data.abbreviation\n if (data.slug !== undefined) updatePayload.slug = data.slug\n if (data.appUrl !== undefined) updatePayload.appUrl = data.appUrl\n if (data.description !== undefined)\n updatePayload.description = data.description\n if (data.aiPrompt !== undefined) updatePayload.aiPrompt = data.aiPrompt\n\n const updated = await prisma.dbResource.update({\n where: { id },\n data: updatePayload,\n include: { sourceRefs: true },\n })\n\n if (data.sources !== undefined) {\n const urls = [...new Set(data.sources.map((u) => u.trim()).filter(Boolean))]\n const uniqueSourceSlugs = [...new Set(urls.map(parseSourceSlug))]\n\n for (const sourceSlug of uniqueSourceSlugs) {\n await prisma.source.upsert({\n where: { slug: sourceSlug },\n create: { slug: sourceSlug },\n update: {},\n })\n }\n\n await prisma.sourceReference.deleteMany({\n where: { resourceId: updated.id },\n })\n\n if (urls.length > 0) {\n await prisma.sourceReference.createMany({\n data: urls.map((url) => ({\n resourceId: updated.id,\n sourceSlug: parseSourceSlug(url),\n url: url.trim(),\n })),\n })\n }\n\n const refetched = await prisma.dbResource.findUnique({\n where: { id },\n include: { sourceRefs: true },\n })\n if (!refetched) throw new Error('Resource not found after update')\n return rowToResource(refetched)\n }\n\n return rowToResource(updated)\n}\n\nexport function deriveCategories(resources: Resource[]): AppCategory[] {\n const tagSet = new Set<string>()\n for (const resource of resources) {\n for (const tag of resource.tags ?? []) {\n const normalized = tag.trim().toLowerCase()\n if (normalized) tagSet.add(normalized)\n }\n }\n const categories: AppCategory[] = [{ id: 'all', name: 'All' }]\n for (const tag of Array.from(tagSet).sort()) {\n categories.push({ id: tag, name: capitalize(tag) })\n }\n return categories\n}\n\nexport async function getPersonsFromPrisma(): Promise<Person[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbPerson.findMany()\n return rows.map((row) => ({\n slug: row.slug,\n firstName: row.firstName,\n lastName: row.lastName,\n email: row.email ?? undefined,\n }))\n}\n\nexport async function getGroupsFromPrisma(): Promise<Group[]> {\n const prisma = getDbClient()\n const rows = await prisma.dbGroup.findMany({\n include: { memberships: true },\n })\n return rows.map((row) => ({\n slug: row.slug,\n displayName: row.displayName ?? undefined,\n email: row.email ?? undefined,\n memberSlugs: row.memberships.map((m) => m.personSlug),\n }))\n}\n\nexport async function getAppCatalogData(\n getResourcesOptional?: () => Promise<Resource[]>,\n): Promise<AppCatalogData> {\n const resources = getResourcesOptional\n ? await getResourcesOptional()\n : await getResourcesFromPrisma()\n\n return {\n resources,\n tagsDefinitions: await getGroupingTagDefinitionsFromPrisma(),\n approvalMethods: await getApprovalMethodsFromPrisma(),\n persons: await getPersonsFromPrisma(),\n groups: await getGroupsFromPrisma(),\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/modules/assets/assetCache.ts
|
|
2
|
+
/**
|
|
3
|
+
* Asset URLs are keyed by row id or by icon name, and `upsertAsset` replaces
|
|
4
|
+
* content in place rather than inserting a new row — so the bytes behind a
|
|
5
|
+
* given URL can change. A long `max-age` would then serve the old artwork for
|
|
6
|
+
* the whole window (an icon replacement stayed invisible for a day). Revalidate
|
|
7
|
+
* against the stored checksum instead: unchanged content still costs only a
|
|
8
|
+
* conditional request answered with 304, and a replacement shows up at once.
|
|
9
|
+
*
|
|
10
|
+
* `variant` distinguishes derived renditions of the same row (a resize width,
|
|
11
|
+
* for example) so they do not share one entity tag.
|
|
12
|
+
*/
|
|
13
|
+
function setRevalidatingCacheHeaders(res, checksum, variant) {
|
|
14
|
+
const etag = variant === void 0 ? `"${checksum}"` : `"${checksum}-${variant}"`;
|
|
15
|
+
res.setHeader("ETag", etag);
|
|
16
|
+
res.setHeader("Cache-Control", "public, max-age=0, must-revalidate");
|
|
17
|
+
return etag;
|
|
18
|
+
}
|
|
19
|
+
function isNotModified(req, etag) {
|
|
20
|
+
return req.headers["if-none-match"] === etag;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { isNotModified, setRevalidatingCacheHeaders };
|
|
25
|
+
//# sourceMappingURL=assetCache.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetCache.mjs","names":[],"sources":["../../../src/modules/assets/assetCache.ts"],"sourcesContent":["import type { Request, Response } from 'express'\n\n/**\n * Asset URLs are keyed by row id or by icon name, and `upsertAsset` replaces\n * content in place rather than inserting a new row — so the bytes behind a\n * given URL can change. A long `max-age` would then serve the old artwork for\n * the whole window (an icon replacement stayed invisible for a day). Revalidate\n * against the stored checksum instead: unchanged content still costs only a\n * conditional request answered with 304, and a replacement shows up at once.\n *\n * `variant` distinguishes derived renditions of the same row (a resize width,\n * for example) so they do not share one entity tag.\n */\nexport function setRevalidatingCacheHeaders(\n res: Response,\n checksum: string,\n variant?: string | number,\n): string {\n const etag =\n variant === undefined ? `\"${checksum}\"` : `\"${checksum}-${variant}\"`\n\n res.setHeader('ETag', etag)\n res.setHeader('Cache-Control', 'public, max-age=0, must-revalidate')\n\n return etag\n}\n\nexport function isNotModified(req: Request, etag: string): boolean {\n return req.headers['if-none-match'] === etag\n}\n"],"mappings":";;;;;;;;;;;;AAaA,SAAgB,4BACd,KACA,UACA,SACQ;CACR,MAAM,OACJ,YAAY,SAAY,IAAI,SAAS,KAAK,IAAI,SAAS,GAAG,QAAQ;AAEpE,KAAI,UAAU,QAAQ,KAAK;AAC3B,KAAI,UAAU,iBAAiB,qCAAqC;AAEpE,QAAO;;AAGT,SAAgB,cAAc,KAAc,MAAuB;AACjE,QAAO,IAAI,QAAQ,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetRestController.d.mts","names":[],"sources":["../../../src/modules/assets/assetRestController.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"assetRestController.d.mts","names":[],"sources":["../../../src/modules/assets/assetRestController.ts"],"mappings":";;;UAwBiB,yBAAA;;AAAjB;;EAIE,QAAA;AAAA;;;;;;;;;;iBA0Bc,2BAAA,CACd,MAAA,EAAQ,MAAA,EACR,MAAA,EAAQ,yBAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getDbClient } from "../../db/client.mjs";
|
|
2
2
|
import { getImageFormat, isRasterImage, resizeImage } from "./assetUtils.mjs";
|
|
3
3
|
import { upsertAsset } from "./upsertAsset.mjs";
|
|
4
|
+
import { isNotModified, setRevalidatingCacheHeaders } from "./assetCache.mjs";
|
|
4
5
|
import sharp from "sharp";
|
|
5
6
|
import multer from "multer";
|
|
6
7
|
|
|
@@ -63,7 +64,8 @@ function registerAssetRestController(router, config) {
|
|
|
63
64
|
mimeType: true,
|
|
64
65
|
name: true,
|
|
65
66
|
width: true,
|
|
66
|
-
height: true
|
|
67
|
+
height: true,
|
|
68
|
+
checksum: true
|
|
67
69
|
}
|
|
68
70
|
});
|
|
69
71
|
if (!asset) {
|
|
@@ -75,7 +77,12 @@ function registerAssetRestController(router, config) {
|
|
|
75
77
|
const width = wParam ? Number.parseInt(wParam, 10) : void 0;
|
|
76
78
|
let outBuffer = asset.content;
|
|
77
79
|
let outMime = asset.mimeType;
|
|
78
|
-
|
|
80
|
+
const shouldResize = resizeEnabled && isRasterImage(asset.mimeType) && !!width && Number.isFinite(width) && width > 0;
|
|
81
|
+
if (isNotModified(req, setRevalidatingCacheHeaders(res, asset.checksum, shouldResize ? `w${width}` : void 0))) {
|
|
82
|
+
res.status(304).end();
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (shouldResize) {
|
|
79
86
|
const fmt = getImageFormat(asset.mimeType) || "jpeg";
|
|
80
87
|
const buf = await resizeImage(Buffer.from(asset.content), width, void 0, fmt);
|
|
81
88
|
outBuffer = new Uint8Array(buf);
|
|
@@ -83,7 +90,6 @@ function registerAssetRestController(router, config) {
|
|
|
83
90
|
}
|
|
84
91
|
res.setHeader("Content-Type", outMime);
|
|
85
92
|
res.setHeader("Content-Disposition", `inline; filename="${asset.name}"`);
|
|
86
|
-
res.setHeader("Cache-Control", "public, max-age=86400");
|
|
87
93
|
res.send(outBuffer);
|
|
88
94
|
} catch (error) {
|
|
89
95
|
console.error("Error fetching asset:", error);
|
|
@@ -127,7 +133,8 @@ function registerAssetRestController(router, config) {
|
|
|
127
133
|
mimeType: true,
|
|
128
134
|
name: true,
|
|
129
135
|
width: true,
|
|
130
|
-
height: true
|
|
136
|
+
height: true,
|
|
137
|
+
checksum: true
|
|
131
138
|
}
|
|
132
139
|
});
|
|
133
140
|
if (!asset) {
|
|
@@ -140,7 +147,12 @@ function registerAssetRestController(router, config) {
|
|
|
140
147
|
let outBuffer = asset.content;
|
|
141
148
|
let outMime = asset.mimeType;
|
|
142
149
|
const isRaster = asset.mimeType.startsWith("image/") && !asset.mimeType.includes("svg");
|
|
143
|
-
|
|
150
|
+
const shouldResize = resizeEnabled && isRaster && !!width && Number.isFinite(width) && width > 0;
|
|
151
|
+
if (isNotModified(req, setRevalidatingCacheHeaders(res, asset.checksum, shouldResize ? `w${width}` : void 0))) {
|
|
152
|
+
res.status(304).end();
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (shouldResize) {
|
|
144
156
|
const fmt = asset.mimeType.includes("png") ? "png" : asset.mimeType.includes("webp") ? "webp" : "jpeg";
|
|
145
157
|
let buf;
|
|
146
158
|
const pipeline = sharp(Buffer.from(asset.content)).resize({
|
|
@@ -162,7 +174,6 @@ function registerAssetRestController(router, config) {
|
|
|
162
174
|
}
|
|
163
175
|
res.setHeader("Content-Type", outMime);
|
|
164
176
|
res.setHeader("Content-Disposition", `inline; filename="${asset.name}"`);
|
|
165
|
-
res.setHeader("Cache-Control", "public, max-age=86400");
|
|
166
177
|
res.send(outBuffer);
|
|
167
178
|
} catch (error) {
|
|
168
179
|
console.error("Error fetching asset by name:", error);
|