@texturehq/device 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/deviceModel/getDeviceModel/index.d.ts.map +1 -1
- package/dist/deviceModel/getDeviceModel/index.js +13 -0
- package/dist/deviceModel/getDeviceModel/index.js.map +1 -1
- package/dist/deviceModel/getDeviceModels/index.d.ts.map +1 -1
- package/dist/deviceModel/getDeviceModels/index.js +15 -0
- package/dist/deviceModel/getDeviceModels/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAmB,qBAAqB,KAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAmD/F,CAAC"}
|
|
@@ -10,6 +10,8 @@ const exceptions_1 = require("../../common/exceptions");
|
|
|
10
10
|
const entities_1 = require("../entities");
|
|
11
11
|
const constants_1 = require("../../common/constants");
|
|
12
12
|
const manufacturer_1 = require("../../manufacturer");
|
|
13
|
+
// In-memory cache for device models
|
|
14
|
+
const deviceModelCache = new Map();
|
|
13
15
|
/**
|
|
14
16
|
* Retrieves a device model from the Device CMS.
|
|
15
17
|
* @param options The options to use during the getDeviceModel operation.
|
|
@@ -21,6 +23,15 @@ const getDeviceModel = async (options) => {
|
|
|
21
23
|
const operation = logger.operation("get device model from Payload CMS API");
|
|
22
24
|
try {
|
|
23
25
|
operation.start({ options });
|
|
26
|
+
// Generate cache key based on slug and baseApiUrl
|
|
27
|
+
const cacheKey = `${slug}:${baseApiUrl}`;
|
|
28
|
+
// Check if device model is in the cache
|
|
29
|
+
if (deviceModelCache.has(cacheKey)) {
|
|
30
|
+
const cachedDeviceModel = deviceModelCache.get(cacheKey);
|
|
31
|
+
operation.end({ deviceModel: cachedDeviceModel, fromCache: true });
|
|
32
|
+
return cachedDeviceModel;
|
|
33
|
+
}
|
|
34
|
+
// If not in cache, fetch from API
|
|
24
35
|
const response = await axios_1.default.get(`${baseApiUrl}/api/device_models?where[slug][equals]=${slug}`);
|
|
25
36
|
if (response.status !== 200) {
|
|
26
37
|
const errorMessage = `Request to ${baseApiUrl}/api/device_models failed with status ${response.status}`;
|
|
@@ -38,6 +49,8 @@ const getDeviceModel = async (options) => {
|
|
|
38
49
|
...result,
|
|
39
50
|
manufacturer: (0, manufacturer_1.parseManufacturer)(result.manufacturer, baseImageUrl),
|
|
40
51
|
});
|
|
52
|
+
// Add to cache
|
|
53
|
+
deviceModelCache.set(cacheKey, deviceModel);
|
|
41
54
|
operation.end({ deviceModel });
|
|
42
55
|
return deviceModel;
|
|
43
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModel/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,gDAAiD;AAEjD,wDAAuD;AACvD,0CAA6D;AAC7D,sDAA6D;AAC7D,qDAAuD;AAuBvD;;;;GAIG;AACI,MAAM,cAAc,GAAG,KAAK,EAAE,OAA8B,EAA+B,EAAE;IAClG,MAAM,aAAa,GAAG,mBAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,EACJ,IAAI,EACJ,UAAU,GAAG,+BAAmB,EAChC,YAAY,GAAG,+BAAmB,EAClC,MAAM,GAAG,aAAa,GACvB,GAAG,OAAO,CAAC;IACZ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModel/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,gDAAiD;AAEjD,wDAAuD;AACvD,0CAA6D;AAC7D,sDAA6D;AAC7D,qDAAuD;AAuBvD,oCAAoC;AACpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAExD;;;;GAIG;AACI,MAAM,cAAc,GAAG,KAAK,EAAE,OAA8B,EAA+B,EAAE;IAClG,MAAM,aAAa,GAAG,mBAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,EACJ,IAAI,EACJ,UAAU,GAAG,+BAAmB,EAChC,YAAY,GAAG,+BAAmB,EAClC,MAAM,GAAG,aAAa,GACvB,GAAG,OAAO,CAAC;IACZ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAE7B,kDAAkD;QAClD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;QAEzC,wCAAwC;QACxC,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzD,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,iBAAgC,CAAC;QAC1C,CAAC;QAED,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAqB,GAAG,UAAU,0CAA0C,IAAI,EAAE,CAAC,CAAC;QACpH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,cAAc,UAAU,yCAAyC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,MAAM,IAAI,yBAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,4BAAiB,CAAC,KAAK,CAAC;YAC1C,GAAG,MAAM;YACT,YAAY,EAAE,IAAA,gCAAiB,EAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;SACnE,CAAC,CAAC;QAEH,eAAe;QACf,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE5C,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC3F,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAnDW,QAAA,cAAc,kBAmDzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;GAIG;AACH,eAAO,MAAM,eAAe,aAAmB,sBAAsB,KAAQ,OAAO,CAAC,uBAAuB,CAmE3G,CAAC"}
|
|
@@ -10,6 +10,8 @@ const exceptions_1 = require("../../common/exceptions");
|
|
|
10
10
|
const entities_1 = require("../entities");
|
|
11
11
|
const constants_1 = require("../../common/constants");
|
|
12
12
|
const manufacturer_1 = require("../../manufacturer");
|
|
13
|
+
// In-memory cache for device models collections
|
|
14
|
+
const deviceModelsCache = new Map();
|
|
13
15
|
/**
|
|
14
16
|
* Retrieves a collection of device models from the Device CMS.
|
|
15
17
|
* @param options The options to use during the geDeviceModels operation.
|
|
@@ -21,6 +23,17 @@ const getDeviceModels = async (options = {}) => {
|
|
|
21
23
|
const operation = logger.operation("get device models from Payload CMS API");
|
|
22
24
|
try {
|
|
23
25
|
operation.start({ options });
|
|
26
|
+
// Generate cache key based on query parameters
|
|
27
|
+
const manufacturerParam = options.manufacturer ? options.manufacturer : "";
|
|
28
|
+
const slugsParam = slugs.length ? slugs.join(",") : "";
|
|
29
|
+
const cacheKey = `${baseApiUrl}:${manufacturerParam}:${limit}:${page}:${slugsParam}`;
|
|
30
|
+
// Check if the response is in the cache
|
|
31
|
+
if (deviceModelsCache.has(cacheKey)) {
|
|
32
|
+
const cachedResult = deviceModelsCache.get(cacheKey);
|
|
33
|
+
operation.end({ result: cachedResult, fromCache: true });
|
|
34
|
+
return cachedResult;
|
|
35
|
+
}
|
|
36
|
+
// If not in cache, fetch from API
|
|
24
37
|
let response;
|
|
25
38
|
if (options.manufacturer) {
|
|
26
39
|
response = await axios_1.default.get(`${baseApiUrl}/api/device_models/filter_by_manufacturer?limit=${limit}&page=${page}&manufacturer=${options.manufacturer}`);
|
|
@@ -48,6 +61,8 @@ const getDeviceModels = async (options = {}) => {
|
|
|
48
61
|
page: response.data.page,
|
|
49
62
|
pageCount: response.data.totalPages,
|
|
50
63
|
};
|
|
64
|
+
// Add to cache
|
|
65
|
+
deviceModelsCache.set(cacheKey, result);
|
|
51
66
|
operation.end({ result });
|
|
52
67
|
return result;
|
|
53
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,gDAAiD;AAEjD,wDAAuD;AACvD,0CAA6D;AAC7D,sDAA6D;AAC7D,qDAAuD;AA6CvD;;;;GAIG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,UAAkC,EAAE,EAAoC,EAAE;IAC9G,MAAM,aAAa,GAAG,mBAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,CAAC,EACR,UAAU,GAAG,+BAAmB,EAChC,YAAY,GAAG,+BAAmB,EAClC,MAAM,GAAG,aAAa,EACtB,KAAK,GAAG,EAAE,GACX,GAAG,OAAO,CAAC;IACZ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/index.ts"],"names":[],"mappings":"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"}
|