@voyantjs/accommodations 0.59.0 → 0.61.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-content.d.ts","sourceRoot":"","sources":["../src/service-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAK5B,KAAK,iBAAiB,EAKtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAShD,OAAO,EAEL,KAAK,oBAAoB,EAI1B,MAAM,oBAAoB,CAAA;AAyB3B,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,oBAAoB,CAAA;IACtE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACzE;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,oBAAoB,CAAA;IAC7B,UAAU,EAAE,uBAAuB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAA;IACtF,MAAM,EAAE,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAA;IACnE,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,qCAAqC;IACpD,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,oBAAoB,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,sBAAsB,CAAA;CAClC;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,yBAAyB,EAChC,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"service-content.d.ts","sourceRoot":"","sources":["../src/service-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAK5B,KAAK,iBAAiB,EAKtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAShD,OAAO,EAEL,KAAK,oBAAoB,EAI1B,MAAM,oBAAoB,CAAA;AAyB3B,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,oBAAoB,CAAA;IACtE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACzE;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,oBAAoB,CAAA;IAC7B,UAAU,EAAE,uBAAuB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAA;IACtF,MAAM,EAAE,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAA;IACnE,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,qCAAqC;IACpD,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,oBAAoB,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,sBAAsB,CAAA;CAClC;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,yBAAyB,EAChC,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CA0I9C;AAED,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qCAAqC,GAC7C,OAAO,CAAC,oCAAoC,GAAG,IAAI,CAAC,CAsItD;AAuUD,4EAA4E;AAC5E,eAAO,MAAM,qCAAqC,EAAE,iBAGnD,CAAA"}
|
package/dist/service-content.js
CHANGED
|
@@ -80,6 +80,20 @@ export async function getAccommodationContent(db, entityId, scope, options) {
|
|
|
80
80
|
};
|
|
81
81
|
const market = scope.market ?? ACCOMMODATION_CONTENT_MARKET_ANY;
|
|
82
82
|
const acceptMT = scope.acceptMachineTranslated ?? true;
|
|
83
|
+
const ownsContentCache = adapter?.capabilities.ownsContentCache === true;
|
|
84
|
+
if (ownsContentCache) {
|
|
85
|
+
if (!adapter?.getContent) {
|
|
86
|
+
throw new Error(`accommodation adapter for ${entityId} declares ownsContentCache but does not implement getContent`);
|
|
87
|
+
}
|
|
88
|
+
const fresh = await fetchPassThroughContent(adapter, adapterCtx, {
|
|
89
|
+
entity_module: "accommodations",
|
|
90
|
+
entity_id: entityId,
|
|
91
|
+
locale: scope.preferredLocales[0] ?? "en-GB",
|
|
92
|
+
market,
|
|
93
|
+
currency: scope.currency,
|
|
94
|
+
});
|
|
95
|
+
return finalizeFresh(db, entityId, fresh, scope, options);
|
|
96
|
+
}
|
|
83
97
|
const cachedRows = await fetchCacheCandidates(db, entityId, market);
|
|
84
98
|
const eligibleRows = acceptMT ? cachedRows : cachedRows.filter((r) => !r.machine_translated);
|
|
85
99
|
const best = pickBestCachedLocale(eligibleRows.map((row) => ({ ...row, locale: row.locale })), scope.preferredLocales);
|
|
@@ -262,6 +276,14 @@ async function fetchFreshContent(db, adapter, ctx, request) {
|
|
|
262
276
|
});
|
|
263
277
|
return result ?? null;
|
|
264
278
|
}
|
|
279
|
+
async function fetchPassThroughContent(adapter, ctx, request) {
|
|
280
|
+
const got = await adapter.getContent(ctx, request);
|
|
281
|
+
const validation = validateAccommodationContent(got.content);
|
|
282
|
+
if (!validation.valid) {
|
|
283
|
+
throw new Error(`accommodation getContent for ${request.entity_id} failed validation: ${validation.reason}`);
|
|
284
|
+
}
|
|
285
|
+
return got;
|
|
286
|
+
}
|
|
265
287
|
function scheduleRefresh(db, adapter, ctx, request) {
|
|
266
288
|
void withContentRefreshLock(db, {
|
|
267
289
|
entityModule: request.entity_module,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/accommodations",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.61.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
"drizzle-orm": "^0.45.2",
|
|
60
60
|
"hono": "^4.12.10",
|
|
61
61
|
"zod": "^4.3.6",
|
|
62
|
-
"@voyantjs/bookings": "0.
|
|
63
|
-
"@voyantjs/catalog": "0.
|
|
64
|
-
"@voyantjs/db": "0.
|
|
65
|
-
"@voyantjs/facilities": "0.
|
|
62
|
+
"@voyantjs/bookings": "0.61.0",
|
|
63
|
+
"@voyantjs/catalog": "0.61.0",
|
|
64
|
+
"@voyantjs/db": "0.61.0",
|
|
65
|
+
"@voyantjs/facilities": "0.61.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"typescript": "^6.0.2",
|