@react-pakistan/util-functions 1.24.99 → 1.25.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 (73) hide show
  1. package/api/stellar-solutions/app-user/index.d.ts +9 -9
  2. package/api/stellar-solutions/app-user/index.js +4 -4
  3. package/api/stellar-solutions/bank/cache.d.ts +99 -0
  4. package/api/stellar-solutions/bank/cache.js +256 -0
  5. package/api/stellar-solutions/bank/index.d.ts +10 -10
  6. package/api/stellar-solutions/bank/index.js +19 -4
  7. package/api/stellar-solutions/branch/cache.d.ts +97 -0
  8. package/api/stellar-solutions/branch/cache.js +256 -0
  9. package/api/stellar-solutions/branch/index.d.ts +10 -10
  10. package/api/stellar-solutions/branch/index.js +19 -4
  11. package/api/stellar-solutions/company/cache.d.ts +106 -0
  12. package/api/stellar-solutions/company/cache.js +307 -0
  13. package/api/stellar-solutions/company/index.d.ts +10 -10
  14. package/api/stellar-solutions/company/index.js +19 -4
  15. package/api/stellar-solutions/company-report/index.d.ts +3 -3
  16. package/api/stellar-solutions/company-report/index.js +1 -1
  17. package/api/stellar-solutions/constants.d.ts +12 -0
  18. package/api/stellar-solutions/constants.js +13 -1
  19. package/api/stellar-solutions/contact/cache.d.ts +108 -0
  20. package/api/stellar-solutions/contact/cache.js +307 -0
  21. package/api/stellar-solutions/contact/index.d.ts +10 -10
  22. package/api/stellar-solutions/contact/index.js +19 -4
  23. package/api/stellar-solutions/currency/cache.d.ts +99 -0
  24. package/api/stellar-solutions/currency/cache.js +256 -0
  25. package/api/stellar-solutions/currency/index.d.ts +10 -10
  26. package/api/stellar-solutions/currency/index.js +19 -4
  27. package/api/stellar-solutions/customer/cache.d.ts +108 -0
  28. package/api/stellar-solutions/customer/cache.js +307 -0
  29. package/api/stellar-solutions/customer/index.d.ts +12 -12
  30. package/api/stellar-solutions/customer/index.js +20 -5
  31. package/api/stellar-solutions/expense/cache.d.ts +106 -0
  32. package/api/stellar-solutions/expense/cache.js +307 -0
  33. package/api/stellar-solutions/expense/index.d.ts +10 -10
  34. package/api/stellar-solutions/expense/index.js +19 -4
  35. package/api/stellar-solutions/expense-category/cache.d.ts +94 -0
  36. package/api/stellar-solutions/expense-category/cache.js +280 -0
  37. package/api/stellar-solutions/expense-category/index.d.ts +10 -10
  38. package/api/stellar-solutions/expense-category/index.js +19 -4
  39. package/api/stellar-solutions/lead/index.d.ts +9 -9
  40. package/api/stellar-solutions/lead/index.js +4 -4
  41. package/api/stellar-solutions/menu-order/index.d.ts +9 -9
  42. package/api/stellar-solutions/menu-order/index.js +4 -4
  43. package/api/stellar-solutions/payment/index.d.ts +9 -9
  44. package/api/stellar-solutions/payment/index.js +4 -4
  45. package/api/stellar-solutions/payment-mode/cache.d.ts +97 -0
  46. package/api/stellar-solutions/payment-mode/cache.js +256 -0
  47. package/api/stellar-solutions/payment-mode/index.d.ts +10 -10
  48. package/api/stellar-solutions/payment-mode/index.js +19 -4
  49. package/api/stellar-solutions/preference/cache.d.ts +85 -0
  50. package/api/stellar-solutions/preference/cache.js +229 -0
  51. package/api/stellar-solutions/preference/index.d.ts +6 -6
  52. package/api/stellar-solutions/preference/index.js +17 -2
  53. package/api/stellar-solutions/product/cache.d.ts +9 -9
  54. package/api/stellar-solutions/product/cache.js +4 -4
  55. package/api/stellar-solutions/product/index.d.ts +10 -10
  56. package/api/stellar-solutions/product/index.js +6 -6
  57. package/api/stellar-solutions/product-category/cache.d.ts +9 -9
  58. package/api/stellar-solutions/product-category/cache.js +4 -4
  59. package/api/stellar-solutions/product-category/index.d.ts +9 -9
  60. package/api/stellar-solutions/product-category/index.js +4 -4
  61. package/api/stellar-solutions/profile/index.d.ts +13 -13
  62. package/api/stellar-solutions/profile/index.js +6 -6
  63. package/api/stellar-solutions/quote-invoice/index.d.ts +9 -9
  64. package/api/stellar-solutions/quote-invoice/index.js +4 -4
  65. package/api/stellar-solutions/quote-invoice-report/index.d.ts +3 -3
  66. package/api/stellar-solutions/quote-invoice-report/index.js +1 -1
  67. package/api/stellar-solutions/tax/cache.d.ts +97 -0
  68. package/api/stellar-solutions/tax/cache.js +256 -0
  69. package/api/stellar-solutions/tax/index.d.ts +10 -10
  70. package/api/stellar-solutions/tax/index.js +19 -4
  71. package/api/stellar-solutions/type.d.ts +57 -46
  72. package/api/stellar-solutions/type.js +11 -0
  73. package/package.json +1 -1
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.isCurrenciesCacheStale = exports.preloadCurrencies = exports.invalidateCurrenciesCache = exports.getCachedCurrencyByCode = exports.getCachedCurrencyById = exports.getCachedCurrencies = exports.getCachedCurrenciesSync = void 0;
40
+ var constants_1 = require("../constants");
41
+ var type_1 = require("../type");
42
+ var api_methods_1 = require("../../../constants/api-methods");
43
+ var fetch_data_1 = require("../../../general/fetch-data");
44
+ var get_storage_value_1 = require("../../../local-storage/get-storage-value");
45
+ var set_storage_value_1 = require("../../../local-storage/set-storage-value");
46
+ /**
47
+ * Synchronous utility function to get currencies from cache only
48
+ * Returns cached data immediately if available and fresh, otherwise returns empty array
49
+ * Does not trigger any API calls
50
+ *
51
+ * @returns CurrencyBE[] - Array of cached currencies or empty array wrapper ({count, items})
52
+ *
53
+ * @example
54
+ * const currencies = getCachedCurrenciesSync();
55
+ * if (currencies.items.length > 0) {
56
+ * console.log(currencies.items[0].label);
57
+ * }
58
+ */
59
+ var getCachedCurrenciesSync = function () {
60
+ try {
61
+ var cachedData = (0, get_storage_value_1.getStorageValue)(type_1.LS_KEYS.CURRENCIES);
62
+ if (!cachedData) {
63
+ return { count: 0, items: [] };
64
+ }
65
+ var currentTime = new Date().getTime();
66
+ var cachedTime = new Date(cachedData.cachedAt).getTime();
67
+ var ageInMs = currentTime - cachedTime;
68
+ // If cached data is less than 1 week old, return it
69
+ if (ageInMs < constants_1.ONE_WEEK_IN_MS) {
70
+ return {
71
+ count: cachedData.currencies.length,
72
+ items: cachedData.currencies,
73
+ };
74
+ }
75
+ return { count: 0, items: [] };
76
+ }
77
+ catch (error) {
78
+ console.error('Error getting cached currencies:', error);
79
+ return { count: 0, items: [] };
80
+ }
81
+ };
82
+ exports.getCachedCurrenciesSync = getCachedCurrenciesSync;
83
+ /**
84
+ * Utility function to get currencies from cache or fetch from API
85
+ *
86
+ * This function manages a localStorage cache of currencies with the following logic:
87
+ * - If currencies exist in cache and are less than 1 week old, return cached version
88
+ * - If currencies exist but are older than 1 week, fetch fresh data and update cache
89
+ * - If currencies don't exist in cache, fetch from API and cache them
90
+ *
91
+ * @returns Promise<{count:number, items: CurrencyBE[]}> - Paged currencies
92
+ *
93
+ * @example
94
+ * const currencies = await getCachedCurrencies();
95
+ * console.log(currencies.items[0].label);
96
+ */
97
+ var getCachedCurrencies = function () { return __awaiter(void 0, void 0, void 0, function () {
98
+ var cachedData, currentTime, cachedTime, ageInMs, response, updatedCache, error_1;
99
+ var _a;
100
+ return __generator(this, function (_b) {
101
+ switch (_b.label) {
102
+ case 0:
103
+ _b.trys.push([0, 2, , 3]);
104
+ cachedData = (0, get_storage_value_1.getStorageValue)(type_1.LS_KEYS.CURRENCIES);
105
+ currentTime = new Date().getTime();
106
+ // Check if cached data exists and is still fresh
107
+ if (cachedData) {
108
+ cachedTime = new Date(cachedData.cachedAt).getTime();
109
+ ageInMs = currentTime - cachedTime;
110
+ // If cached data is less than 1 week old, return it
111
+ if (ageInMs < constants_1.ONE_WEEK_IN_MS) {
112
+ return [2 /*return*/, {
113
+ count: cachedData.currencies.length,
114
+ items: cachedData.currencies,
115
+ }];
116
+ }
117
+ }
118
+ return [4 /*yield*/, (0, fetch_data_1.fetchData)({
119
+ url: constants_1.API_ROUTES.CURRENCIES,
120
+ method: api_methods_1.API_METHODS.GET,
121
+ })];
122
+ case 1:
123
+ response = _b.sent();
124
+ if ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.items) {
125
+ updatedCache = {
126
+ currencies: response.data.items,
127
+ cachedAt: new Date().toISOString(),
128
+ };
129
+ (0, set_storage_value_1.setStorageValue)(type_1.LS_KEYS.CURRENCIES, updatedCache);
130
+ return [2 /*return*/, response.data];
131
+ }
132
+ return [2 /*return*/, { count: 0, items: [] }];
133
+ case 2:
134
+ error_1 = _b.sent();
135
+ console.error('Error fetching currencies:', error_1);
136
+ return [2 /*return*/, { count: 0, items: [] }];
137
+ case 3: return [2 /*return*/];
138
+ }
139
+ });
140
+ }); };
141
+ exports.getCachedCurrencies = getCachedCurrencies;
142
+ /**
143
+ * Utility function to get a specific currency by ID from cache
144
+ * If not found in cache, returns null (does not trigger API call)
145
+ *
146
+ * @param currencyId - The ID of the currency to retrieve
147
+ * @returns CurrencyBE | null - The currency or null if not found
148
+ *
149
+ * @example
150
+ * const currency = getCachedCurrencyById('curr-123');
151
+ * if (currency) {
152
+ * console.log(currency.label);
153
+ * }
154
+ */
155
+ var getCachedCurrencyById = function (currencyId) {
156
+ if (!currencyId) {
157
+ return null;
158
+ }
159
+ try {
160
+ var currencies = (0, exports.getCachedCurrenciesSync)().items;
161
+ return currencies.find(function (curr) { return curr.id === currencyId; }) || null;
162
+ }
163
+ catch (error) {
164
+ console.error('Error getting cached currency by ID:', error);
165
+ return null;
166
+ }
167
+ };
168
+ exports.getCachedCurrencyById = getCachedCurrencyById;
169
+ /**
170
+ * Utility function to get a specific currency by code from cache
171
+ * If not found in cache, returns null (does not trigger API call)
172
+ *
173
+ * @param code - The code of the currency to retrieve (e.g., 'USD', 'EUR')
174
+ * @returns CurrencyBE | null - The currency or null if not found
175
+ *
176
+ * @example
177
+ * const currency = getCachedCurrencyByCode('USD');
178
+ * if (currency) {
179
+ * console.log(currency.label);
180
+ * }
181
+ */
182
+ var getCachedCurrencyByCode = function (code) {
183
+ if (!code) {
184
+ return null;
185
+ }
186
+ try {
187
+ var currencies = (0, exports.getCachedCurrenciesSync)().items;
188
+ return currencies.find(function (curr) { return curr.code === code; }) || null;
189
+ }
190
+ catch (error) {
191
+ console.error('Error getting cached currency by code:', error);
192
+ return null;
193
+ }
194
+ };
195
+ exports.getCachedCurrencyByCode = getCachedCurrencyByCode;
196
+ /**
197
+ * Utility function to invalidate (remove) currencies from cache
198
+ * Useful when currencies have been updated and you want to force a refresh
199
+ *
200
+ * @example
201
+ * invalidateCurrenciesCache();
202
+ * const freshCurrencies = await getCachedCurrencies();
203
+ */
204
+ var invalidateCurrenciesCache = function () {
205
+ try {
206
+ localStorage.removeItem(type_1.LS_KEYS.CURRENCIES);
207
+ }
208
+ catch (error) {
209
+ console.error('Error invalidating currencies cache:', error);
210
+ }
211
+ };
212
+ exports.invalidateCurrenciesCache = invalidateCurrenciesCache;
213
+ /**
214
+ * Utility function to preload currencies into cache
215
+ * Useful to call on app initialization or login
216
+ *
217
+ * @returns Promise<{count:number, items: CurrencyBE[]}> - Array of preloaded currencies
218
+ *
219
+ * @example
220
+ * // On app initialization
221
+ * await preloadCurrencies();
222
+ */
223
+ var preloadCurrencies = function () { return __awaiter(void 0, void 0, void 0, function () {
224
+ return __generator(this, function (_a) {
225
+ return [2 /*return*/, (0, exports.getCachedCurrencies)()];
226
+ });
227
+ }); };
228
+ exports.preloadCurrencies = preloadCurrencies;
229
+ /**
230
+ * Utility function to check if currencies cache is stale
231
+ * Returns true if cache is older than 1 week or doesn't exist
232
+ *
233
+ * @returns boolean - True if cache is stale or doesn't exist
234
+ *
235
+ * @example
236
+ * if (isCurrenciesCacheStale()) {
237
+ * await getCachedCurrencies(); // This will fetch fresh data
238
+ * }
239
+ */
240
+ var isCurrenciesCacheStale = function () {
241
+ try {
242
+ var cachedData = (0, get_storage_value_1.getStorageValue)(type_1.LS_KEYS.CURRENCIES);
243
+ if (!cachedData) {
244
+ return true;
245
+ }
246
+ var currentTime = new Date().getTime();
247
+ var cachedTime = new Date(cachedData.cachedAt).getTime();
248
+ var ageInMs = currentTime - cachedTime;
249
+ return ageInMs >= constants_1.ONE_WEEK_IN_MS;
250
+ }
251
+ catch (error) {
252
+ console.error('Error checking currencies cache staleness:', error);
253
+ return true;
254
+ }
255
+ };
256
+ exports.isCurrenciesCacheStale = isCurrenciesCacheStale;
@@ -1,4 +1,5 @@
1
- import { CurrencyTypeBE } from '../type';
1
+ export * from './cache';
2
+ import { CurrencyBE } from '../type';
2
3
  type PrismaClient = any;
3
4
  export interface ListCurrencyArgs {
4
5
  currentPage?: number;
@@ -30,26 +31,25 @@ export interface DeleteCurrencyArgs {
30
31
  /**
31
32
  * Retrieves currencies with pagination and filtering
32
33
  * @param {ListCurrencyArgs} args - Object containing prisma client, pagination, and query options
33
- * @returns {Promise<[number, Array<CurrencyTypeBE>]>} Tuple containing total count and array of currencies
34
+ * @returns {Promise<[number, Array<CurrencyBE>]>} Tuple containing total count and array of currencies
34
35
  */
35
- export declare const listCurrency: ({ currentPage, includePreference, orderByColumn, orderByDirection, pageLimit, prisma, searchQuery, }: ListCurrencyArgs) => Promise<[number, Array<CurrencyTypeBE>]>;
36
+ export declare const listCurrency: ({ currentPage, includePreference, orderByColumn, orderByDirection, pageLimit, prisma, searchQuery, }: ListCurrencyArgs) => Promise<[number, Array<CurrencyBE>]>;
36
37
  /**
37
38
  * Retrieves a single currency by ID
38
39
  * @param {UnitCurrencyByIdArgs} args - Object containing prisma client and query where conditions
39
- * @returns {Promise<CurrencyTypeBE | null>} Currency if found, null otherwise
40
+ * @returns {Promise<CurrencyBE | null>} Currency if found, null otherwise
40
41
  */
41
- export declare const unitCurrencyById: ({ id, includePreference, prisma, }: UnitCurrencyByIdArgs) => Promise<CurrencyTypeBE | null>;
42
+ export declare const unitCurrencyById: ({ id, includePreference, prisma, }: UnitCurrencyByIdArgs) => Promise<CurrencyBE | null>;
42
43
  /**
43
44
  * Creates or updates a currency
44
45
  * @param {UpdateCurrencyArgs} args - Object containing prisma client and currency data
45
- * @returns {Promise<CurrencyTypeBE>} Created or updated currency
46
+ * @returns {Promise<CurrencyBE>} Created or updated currency
46
47
  */
47
- export declare const updateCurrency: ({ code, enabled, id, isDefault, label, preferenceId, prisma, }: UpdateCurrencyArgs) => Promise<CurrencyTypeBE>;
48
+ export declare const updateCurrency: ({ code, enabled, id, isDefault, label, preferenceId, prisma, }: UpdateCurrencyArgs) => Promise<CurrencyBE>;
48
49
  /**
49
50
  * Deletes a currency by ID
50
51
  * @param {DeleteCurrencyArgs} args - Object containing prisma client and query where conditions
51
- * @returns {Promise<CurrencyTypeBE>} Deleted currency
52
+ * @returns {Promise<CurrencyBE>} Deleted currency
52
53
  * @throws {Error} If currency ID is not provided or currency not found
53
54
  */
54
- export declare const deleteCurrency: ({ id, prisma, }: DeleteCurrencyArgs) => Promise<CurrencyTypeBE>;
55
- export {};
55
+ export declare const deleteCurrency: ({ id, prisma, }: DeleteCurrencyArgs) => Promise<CurrencyBE>;
@@ -10,6 +10,20 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
+ };
13
27
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
28
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
29
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -57,11 +71,12 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
57
71
  };
58
72
  Object.defineProperty(exports, "__esModule", { value: true });
59
73
  exports.deleteCurrency = exports.updateCurrency = exports.unitCurrencyById = exports.listCurrency = void 0;
74
+ __exportStar(require("./cache"), exports);
60
75
  var multi_part_search_1 = require("../../../general/multi-part-search");
61
76
  /**
62
77
  * Retrieves currencies with pagination and filtering
63
78
  * @param {ListCurrencyArgs} args - Object containing prisma client, pagination, and query options
64
- * @returns {Promise<[number, Array<CurrencyTypeBE>]>} Tuple containing total count and array of currencies
79
+ * @returns {Promise<[number, Array<CurrencyBE>]>} Tuple containing total count and array of currencies
65
80
  */
66
81
  var listCurrency = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
67
82
  var orderBy, include, idSearchQuery, labelSearchQuery, where, _c, count, items;
@@ -115,7 +130,7 @@ exports.listCurrency = listCurrency;
115
130
  /**
116
131
  * Retrieves a single currency by ID
117
132
  * @param {UnitCurrencyByIdArgs} args - Object containing prisma client and query where conditions
118
- * @returns {Promise<CurrencyTypeBE | null>} Currency if found, null otherwise
133
+ * @returns {Promise<CurrencyBE | null>} Currency if found, null otherwise
119
134
  */
120
135
  var unitCurrencyById = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
121
136
  var include, where, currency;
@@ -146,7 +161,7 @@ exports.unitCurrencyById = unitCurrencyById;
146
161
  /**
147
162
  * Creates or updates a currency
148
163
  * @param {UpdateCurrencyArgs} args - Object containing prisma client and currency data
149
- * @returns {Promise<CurrencyTypeBE>} Created or updated currency
164
+ * @returns {Promise<CurrencyBE>} Created or updated currency
150
165
  */
151
166
  var updateCurrency = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
152
167
  var currencyData, where, currency;
@@ -185,7 +200,7 @@ exports.updateCurrency = updateCurrency;
185
200
  /**
186
201
  * Deletes a currency by ID
187
202
  * @param {DeleteCurrencyArgs} args - Object containing prisma client and query where conditions
188
- * @returns {Promise<CurrencyTypeBE>} Deleted currency
203
+ * @returns {Promise<CurrencyBE>} Deleted currency
189
204
  * @throws {Error} If currency ID is not provided or currency not found
190
205
  */
191
206
  var deleteCurrency = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
@@ -0,0 +1,108 @@
1
+ import { CustomerBE } from '../type';
2
+ /**
3
+ * Synchronous utility function to get customers from cache only
4
+ * Returns cached data immediately if available and fresh, otherwise returns empty array
5
+ * Does not trigger any API calls
6
+ *
7
+ * @returns CustomerBE[] - Array of cached customers or empty array wrapper ({count, items})
8
+ *
9
+ * @example
10
+ * const customers = getCachedCustomersSync();
11
+ * if (customers.items.length > 0) {
12
+ * console.log(customers.items[0].firstName);
13
+ * }
14
+ */
15
+ export declare const getCachedCustomersSync: () => {
16
+ count: number;
17
+ items: CustomerBE[];
18
+ };
19
+ /**
20
+ * Utility function to get customers from cache or fetch from API
21
+ *
22
+ * This function manages a localStorage cache of customers with the following logic:
23
+ * - If customers exist in cache and are less than 1 day old, return cached version
24
+ * - If customers exist but are older than 1 day, fetch fresh data and update cache
25
+ * - If customers don't exist in cache, fetch from API and cache them
26
+ *
27
+ * @param searchQuery - Optional search query to filter customers
28
+ * @param filters - Optional filters object to apply additional filtering (bypasses cache)
29
+ * @param pageLimit - Number of customers to fetch (default: 100)
30
+ * @returns Promise<{count:number, items: CustomerBE[]}> - Paged customers
31
+ *
32
+ * @example
33
+ * const customers = await getCachedCustomers();
34
+ * console.log(customers.items[0].firstName);
35
+ *
36
+ * // With search
37
+ * const filtered = await getCachedCustomers('John');
38
+ *
39
+ * // With filters
40
+ * const filteredByCountry = await getCachedCustomers(undefined, { country: 'USA' });
41
+ */
42
+ export declare const getCachedCustomers: (searchQuery?: string, filters?: Record<string, unknown>, pageLimit?: number) => Promise<{
43
+ count: number;
44
+ items: CustomerBE[];
45
+ }>;
46
+ /**
47
+ * Utility function to get a specific customer by ID from cache
48
+ * If not found in cache, returns null (does not trigger API call)
49
+ *
50
+ * @param customerId - The ID of the customer to retrieve
51
+ * @returns CustomerBE | null - The customer or null if not found
52
+ *
53
+ * @example
54
+ * const customer = getCachedCustomerById('customer-123');
55
+ * if (customer) {
56
+ * console.log(customer.firstName);
57
+ * }
58
+ */
59
+ export declare const getCachedCustomerById: (customerId: string) => CustomerBE | null;
60
+ /**
61
+ * Utility function to get a specific customer by phone from cache
62
+ * If not found in cache, returns null (does not trigger API call)
63
+ *
64
+ * @param phone - The phone number of the customer to search for
65
+ * @returns CustomerBE | null - The customer or null if not found
66
+ *
67
+ * @example
68
+ * const customer = getCachedCustomerByPhone('+1234567890');
69
+ * if (customer) {
70
+ * console.log(customer.firstName);
71
+ * }
72
+ */
73
+ export declare const getCachedCustomerByPhone: (phone: string) => CustomerBE | null;
74
+ /**
75
+ * Utility function to invalidate (remove) customers from cache
76
+ * Useful when customers have been updated and you want to force a refresh
77
+ *
78
+ * @example
79
+ * invalidateCustomersCache();
80
+ * const freshCustomers = await getCachedCustomers();
81
+ */
82
+ export declare const invalidateCustomersCache: () => void;
83
+ /**
84
+ * Utility function to preload customers into cache
85
+ * Useful to call on app initialization or login
86
+ *
87
+ * @returns Promise<{count:number, items: CustomerBE[]}> - Array of preloaded customers
88
+ *
89
+ * @example
90
+ * // On app initialization
91
+ * await preloadCustomers();
92
+ */
93
+ export declare const preloadCustomers: () => Promise<{
94
+ count: number;
95
+ items: CustomerBE[];
96
+ }>;
97
+ /**
98
+ * Utility function to check if customers cache is stale
99
+ * Returns true if cache is older than 1 day or doesn't exist
100
+ *
101
+ * @returns boolean - True if cache is stale or doesn't exist
102
+ *
103
+ * @example
104
+ * if (isCustomersCacheStale()) {
105
+ * await getCachedCustomers(); // This will fetch fresh data
106
+ * }
107
+ */
108
+ export declare const isCustomersCacheStale: () => boolean;