@aifabrix/miso-client 1.4.0 → 1.5.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.
Files changed (42) hide show
  1. package/README.md +60 -0
  2. package/dist/src/index.d.ts +8 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +13 -2
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/types/errors.types.d.ts +30 -0
  7. package/dist/src/types/errors.types.d.ts.map +1 -0
  8. package/dist/src/types/errors.types.js +7 -0
  9. package/dist/src/types/errors.types.js.map +1 -0
  10. package/dist/src/types/filter.types.d.ts +66 -0
  11. package/dist/src/types/filter.types.d.ts.map +1 -0
  12. package/dist/src/types/filter.types.js +57 -0
  13. package/dist/src/types/filter.types.js.map +1 -0
  14. package/dist/src/types/pagination.types.d.ts +28 -0
  15. package/dist/src/types/pagination.types.d.ts.map +1 -0
  16. package/dist/src/types/pagination.types.js +7 -0
  17. package/dist/src/types/pagination.types.js.map +1 -0
  18. package/dist/src/types/sort.types.d.ts +14 -0
  19. package/dist/src/types/sort.types.d.ts.map +1 -0
  20. package/dist/src/types/sort.types.js +7 -0
  21. package/dist/src/types/sort.types.js.map +1 -0
  22. package/dist/src/utils/errors.d.ts +26 -0
  23. package/dist/src/utils/errors.d.ts.map +1 -1
  24. package/dist/src/utils/errors.js +100 -1
  25. package/dist/src/utils/errors.js.map +1 -1
  26. package/dist/src/utils/filter.utils.d.ts +27 -0
  27. package/dist/src/utils/filter.utils.d.ts.map +1 -0
  28. package/dist/src/utils/filter.utils.js +95 -0
  29. package/dist/src/utils/filter.utils.js.map +1 -0
  30. package/dist/src/utils/http-client.d.ts +23 -0
  31. package/dist/src/utils/http-client.d.ts.map +1 -1
  32. package/dist/src/utils/http-client.js +28 -0
  33. package/dist/src/utils/http-client.js.map +1 -1
  34. package/dist/src/utils/pagination.utils.d.ts +41 -0
  35. package/dist/src/utils/pagination.utils.d.ts.map +1 -0
  36. package/dist/src/utils/pagination.utils.js +57 -0
  37. package/dist/src/utils/pagination.utils.js.map +1 -0
  38. package/dist/src/utils/sort.utils.d.ts +19 -0
  39. package/dist/src/utils/sort.utils.d.ts.map +1 -0
  40. package/dist/src/utils/sort.utils.js +34 -0
  41. package/dist/src/utils/sort.utils.js.map +1 -0
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -379,6 +379,66 @@ ENCRYPTION_KEY=your-32-byte-encryption-key
379
379
  → [API Reference](docs/api-reference.md#encryption-methods)
380
380
  → [Cache Methods](docs/api-reference.md#cache-methods)
381
381
 
382
+ ---
383
+
384
+ ### Step 8: Pagination, Filter, and Sort Utilities
385
+
386
+ **What happens:** Use reusable utilities for pagination, filtering, and sorting following enterprise application best practices and industry standards (ISO 27001 compliant).
387
+
388
+ ```typescript
389
+ import {
390
+ FilterBuilder,
391
+ parse_pagination_params,
392
+ parse_sort_params,
393
+ build_query_string,
394
+ create_paginated_list_response
395
+ } from '@aifabrix/miso-client';
396
+
397
+ const client = new MisoClient(loadConfig());
398
+ await client.initialize();
399
+
400
+ // Dynamic filter building (FilterBuilder)
401
+ const filterBuilder = new FilterBuilder()
402
+ .add('status', 'eq', 'active')
403
+ .add('region', 'in', ['eu', 'us'])
404
+ .add('created_at', 'gte', '2024-01-01');
405
+
406
+ const queryString = filterBuilder.toQueryString();
407
+ // Returns: "filter=status:eq:active&filter=region:in:eu,us&filter=created_at:gte:2024-01-01"
408
+
409
+ // Parse pagination from query string
410
+ const { current_page, page_size } = parse_pagination_params({ page: '1', page_size: '25' });
411
+
412
+ // Parse sort from query string
413
+ const sortOptions = parse_sort_params({ sort: '-updated_at' });
414
+
415
+ // Build complete query
416
+ const completeQuery = build_query_string({
417
+ filters: filterBuilder.build(),
418
+ sort: ['-updated_at'],
419
+ page: current_page,
420
+ page_size: page_size
421
+ });
422
+
423
+ // Create paginated response
424
+ const response = create_paginated_list_response(
425
+ items,
426
+ 120, // total_items
427
+ 1, // current_page
428
+ 25, // page_size
429
+ 'application' // type
430
+ );
431
+ ```
432
+
433
+ **Note:** All utilities use **snake_case** naming conventions following enterprise application standards (`current_page`, `page_size`, `status_code`, etc.), ensuring consistency and ISO 27001 compliance.
434
+
435
+ **Pro tip:** These utilities are business-logic-free and reusable across applications. Perfect for building query strings, parsing API responses, and testing with mocks. Designed following enterprise best practices for maintainability and compliance.
436
+
437
+ → [Complete pagination example](docs/examples.md#pagination)
438
+ → [Complete filter example](docs/examples.md#filtering)
439
+ → [Complete sort example](docs/examples.md#sorting)
440
+ → [API Reference](docs/api-reference.md#pagination-utilities)
441
+
382
442
 
383
443
  ---
384
444
 
@@ -135,6 +135,10 @@ export declare class MisoClient {
135
135
  isRedisConnected(): boolean;
136
136
  }
137
137
  export * from './types/config.types';
138
+ export * from './types/pagination.types';
139
+ export * from './types/filter.types';
140
+ export * from './types/sort.types';
141
+ export type { ErrorResponse as ErrorResponseSnakeCase, ErrorEnvelope } from './types/errors.types';
138
142
  export { AuthService } from './services/auth.service';
139
143
  export { RoleService } from './services/role.service';
140
144
  export { LoggerService } from './services/logger.service';
@@ -143,5 +147,8 @@ export { EncryptionService } from './services/encryption.service';
143
147
  export { CacheService } from './services/cache.service';
144
148
  export { HttpClient } from './utils/http-client';
145
149
  export { loadConfig } from './utils/config-loader';
146
- export { MisoClientError } from './utils/errors';
150
+ export * from './utils/pagination.utils';
151
+ export * from './utils/filter.utils';
152
+ export * from './utils/sort.utils';
153
+ export { MisoClientError, ApiErrorException, transform_error_to_snake_case, handle_api_error_snake_case } from './utils/errors';
147
154
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIxD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAElE,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,gBAAgB;IAgDpC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,aAAa,IAAI,OAAO;IAMxB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,MAAM,GAAG,IAAI;IAerE;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C;;;OAGG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIlC;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAItD;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI1D;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhD;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpD;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxE;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9E;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/E;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1D;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD;;OAEG;IACH,IAAI,GAAG,IAAI,aAAa,CAEvB;IAID;;;OAGG;IACH,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAE9C;IAID;;OAEG;IACH,IAAI,KAAK,IAAI,YAAY,CAExB;IAID;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAI7B;;OAEG;IACH,gBAAgB,IAAI,OAAO;CAG5B;AAGD,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.MisoClientError = exports.loadConfig = exports.HttpClient = exports.CacheService = exports.EncryptionService = exports.RedisService = exports.LoggerService = exports.RoleService = exports.AuthService = exports.MisoClient = void 0;
20
+ exports.handle_api_error_snake_case = exports.transform_error_to_snake_case = exports.ApiErrorException = exports.MisoClientError = exports.loadConfig = exports.HttpClient = exports.CacheService = exports.EncryptionService = exports.RedisService = exports.LoggerService = exports.RoleService = exports.AuthService = exports.MisoClient = void 0;
21
21
  const auth_service_1 = require("./services/auth.service");
22
22
  const role_service_1 = require("./services/role.service");
23
23
  const permission_service_1 = require("./services/permission.service");
@@ -264,6 +264,10 @@ class MisoClient {
264
264
  exports.MisoClient = MisoClient;
265
265
  // Export types
266
266
  __exportStar(require("./types/config.types"), exports);
267
+ // Export pagination, filter, sort types
268
+ __exportStar(require("./types/pagination.types"), exports);
269
+ __exportStar(require("./types/filter.types"), exports);
270
+ __exportStar(require("./types/sort.types"), exports);
267
271
  // Export services for advanced usage
268
272
  var auth_service_2 = require("./services/auth.service");
269
273
  Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return auth_service_2.AuthService; } });
@@ -282,7 +286,14 @@ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function (
282
286
  // Export utilities
283
287
  var config_loader_1 = require("./utils/config-loader");
284
288
  Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_loader_1.loadConfig; } });
285
- // Export error classes
289
+ // Export pagination, filter, sort utilities
290
+ __exportStar(require("./utils/pagination.utils"), exports);
291
+ __exportStar(require("./utils/filter.utils"), exports);
292
+ __exportStar(require("./utils/sort.utils"), exports);
293
+ // Export error classes and utilities
286
294
  var errors_1 = require("./utils/errors");
287
295
  Object.defineProperty(exports, "MisoClientError", { enumerable: true, get: function () { return errors_1.MisoClientError; } });
296
+ Object.defineProperty(exports, "ApiErrorException", { enumerable: true, get: function () { return errors_1.ApiErrorException; } });
297
+ Object.defineProperty(exports, "transform_error_to_snake_case", { enumerable: true, get: function () { return errors_1.transform_error_to_snake_case; } });
298
+ Object.defineProperty(exports, "handle_api_error_snake_case", { enumerable: true, get: function () { return errors_1.handle_api_error_snake_case; } });
288
299
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,0DAAsD;AACtD,0DAAsD;AACtD,sEAAkE;AAClE,8DAA0D;AAC1D,4DAAwD;AACxD,sEAAkE;AAClE,4DAAwD;AACxD,qDAAiD;AACjD,uEAAkE;AAClE,qDAAiD;AAGjD,MAAa,UAAU;IAYrB,YAAY,MAAwB;QAF5B,gBAAW,GAAG,KAAK,CAAC;QAG1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,4DAA4D;QAC5D,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,wBAAU,CAAC,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,CAAC;QAED,4DAA4D;QAC5D,MAAM,cAAc,GAAG,IAAI,yCAAkB,CAAC,MAAM,CAAC,CAAC;QAEtD,uBAAuB;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5C,wGAAwG;QACxG,kEAAkE;QAClE,4FAA4F;QAC5F,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,cAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAErF,qEAAqE;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,sEAAsE;QACtE,wGAAwG;QACxG,8DAA8D;QAC7D,IAAI,CAAC,MAAc,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElD,kBAAkB;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzD,8EAA8E;QAC9E,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,qCAAqC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7E,8DAA8D;QAC9D,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uDAAuD;gBACvD,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,8CAA8C;QACzE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,QAAQ,CAAC,GAA4C;QACnD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,4DAA4D;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAmB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,kEAAkE;IAElE;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAY;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,KAAe;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,KAAe;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,UAAkB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,WAAqB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa,EAAE,WAAqB;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAa;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,4DAA4D;IAE5D;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,+DAA+D;IAE/D;;;OAGG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,0DAA0D;IAE1D;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,4DAA4D;IAE5D;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;CACF;AA9RD,gCA8RC;AAED,eAAe;AACf,uDAAqC;AAErC,qCAAqC;AACrC,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AACtB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AAEnB,mBAAmB;AACnB,uDAAmD;AAA1C,2GAAA,UAAU,OAAA;AAEnB,uBAAuB;AACvB,yCAAiD;AAAxC,yGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,0DAAsD;AACtD,0DAAsD;AACtD,sEAAkE;AAClE,8DAA0D;AAC1D,4DAAwD;AACxD,sEAAkE;AAClE,4DAAwD;AACxD,qDAAiD;AACjD,uEAAkE;AAClE,qDAAiD;AAGjD,MAAa,UAAU;IAYrB,YAAY,MAAwB;QAF5B,gBAAW,GAAG,KAAK,CAAC;QAG1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,4DAA4D;QAC5D,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,wBAAU,CAAC,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,CAAC;QAED,4DAA4D;QAC5D,MAAM,cAAc,GAAG,IAAI,yCAAkB,CAAC,MAAM,CAAC,CAAC;QAEtD,uBAAuB;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5C,wGAAwG;QACxG,kEAAkE;QAClE,4FAA4F;QAC5F,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,cAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAErF,qEAAqE;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,sEAAsE;QACtE,wGAAwG;QACxG,8DAA8D;QAC7D,IAAI,CAAC,MAAc,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElD,kBAAkB;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzD,8EAA8E;QAC9E,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,qCAAqC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7E,8DAA8D;QAC9D,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uDAAuD;gBACvD,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,8CAA8C;QACzE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,QAAQ,CAAC,GAA4C;QACnD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,4DAA4D;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAmB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,kEAAkE;IAElE;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAY;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,KAAe;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,KAAe;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,UAAkB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,WAAqB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa,EAAE,WAAqB;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAa;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,4DAA4D;IAE5D;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,+DAA+D;IAE/D;;;OAGG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,0DAA0D;IAE1D;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,4DAA4D;IAE5D;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;CACF;AA9RD,gCA8RC;AAED,eAAe;AACf,uDAAqC;AAErC,wCAAwC;AACxC,2DAAyC;AACzC,uDAAqC;AACrC,qDAAmC;AAKnC,qCAAqC;AACrC,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AACtB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AAEnB,mBAAmB;AACnB,uDAAmD;AAA1C,2GAAA,UAAU,OAAA;AAEnB,4CAA4C;AAC5C,2DAAyC;AACzC,uDAAqC;AACrC,qDAAmC;AAEnC,qCAAqC;AACrC,yCAAgI;AAAvH,yGAAA,eAAe,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,uHAAA,6BAA6B,OAAA;AAAE,qHAAA,2BAA2B,OAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Error types for Miso/Dataplane API responses
3
+ * All keys follow snake_case to match Miso/Dataplane schema
4
+ */
5
+ /**
6
+ * Canonical error response for AIFabrix Miso APIs (snake_case).
7
+ * Follows RFC 7807-style structured error format.
8
+ */
9
+ export interface ErrorResponse {
10
+ /** Human-readable list of error messages. */
11
+ errors: string[];
12
+ /** RFC 7807 type URI. */
13
+ type?: string;
14
+ /** Short, human-readable title. */
15
+ title?: string;
16
+ /** HTTP status code. */
17
+ status_code: number;
18
+ /** URI/path identifying the error instance. */
19
+ instance?: string;
20
+ /** Request correlation key for debugging/audit. */
21
+ request_key?: string;
22
+ }
23
+ /**
24
+ * Top-level error envelope.
25
+ */
26
+ export interface ErrorEnvelope {
27
+ /** Error response object. */
28
+ error: ErrorResponse;
29
+ }
30
+ //# sourceMappingURL=errors.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.types.d.ts","sourceRoot":"","sources":["../../../src/types/errors.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,KAAK,EAAE,aAAa,CAAC;CACtB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Error types for Miso/Dataplane API responses
4
+ * All keys follow snake_case to match Miso/Dataplane schema
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=errors.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.types.js","sourceRoot":"","sources":["../../../src/types/errors.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Filter types for Miso/Dataplane API query parameters
3
+ * All keys follow snake_case to match Miso/Dataplane schema
4
+ */
5
+ /**
6
+ * Filter operators supported by the API.
7
+ */
8
+ export type FilterOperator = 'eq' | 'neq' | 'in' | 'nin' | 'gt' | 'lt' | 'gte' | 'lte' | 'contains' | 'like';
9
+ /**
10
+ * Single filter option with field, operator, and value.
11
+ */
12
+ export interface FilterOption {
13
+ /** Field name to filter on. */
14
+ field: string;
15
+ /** Filter operator. */
16
+ op: FilterOperator;
17
+ /** Filter value (supports arrays for `in` and `nin` operators). */
18
+ value: string | number | boolean | Array<string | number>;
19
+ }
20
+ /**
21
+ * Complete filter query including filters, sorting, pagination, and field selection.
22
+ */
23
+ export interface FilterQuery {
24
+ /** Array of filter options. */
25
+ filters?: FilterOption[];
26
+ /** Array of sort fields (e.g., `['-updated_at', 'name']` where `-` prefix means descending). */
27
+ sort?: string[];
28
+ /** Page number (1-based). */
29
+ page?: number;
30
+ /** Number of items per page. */
31
+ page_size?: number;
32
+ /** Array of field names to include in response (field projection). */
33
+ fields?: string[];
34
+ }
35
+ /**
36
+ * Builder class for dynamic filter construction.
37
+ * Supports fluent API for building complex filter queries.
38
+ */
39
+ export declare class FilterBuilder {
40
+ private filters;
41
+ /**
42
+ * Add a single filter to the builder.
43
+ * @param field - Field name to filter on
44
+ * @param op - Filter operator
45
+ * @param value - Filter value (supports arrays for `in` and `nin`)
46
+ * @returns FilterBuilder instance for method chaining
47
+ */
48
+ add(field: string, op: FilterOperator, value: string | number | boolean | Array<string | number>): FilterBuilder;
49
+ /**
50
+ * Add multiple filters at once.
51
+ * @param filters - Array of filter options to add
52
+ * @returns FilterBuilder instance for method chaining
53
+ */
54
+ addMany(filters: FilterOption[]): FilterBuilder;
55
+ /**
56
+ * Build and return the filter array.
57
+ * @returns Array of filter options
58
+ */
59
+ build(): FilterOption[];
60
+ /**
61
+ * Convert filters to query string format.
62
+ * @returns Query string with filter parameters (e.g., `?filter=field:op:value&filter=...`)
63
+ */
64
+ toQueryString(): string;
65
+ }
66
+ //# sourceMappingURL=filter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../../src/types/filter.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,UAAU,GACV,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,EAAE,EAAE,cAAc,CAAC;IAEnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAsB;IAErC;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,aAAa;IAKhH;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa;IAK/C;;;OAGG;IACH,KAAK,IAAI,YAAY,EAAE;IAIvB;;;OAGG;IACH,aAAa,IAAI,MAAM;CAQxB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Filter types for Miso/Dataplane API query parameters
4
+ * All keys follow snake_case to match Miso/Dataplane schema
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FilterBuilder = void 0;
8
+ /**
9
+ * Builder class for dynamic filter construction.
10
+ * Supports fluent API for building complex filter queries.
11
+ */
12
+ class FilterBuilder {
13
+ constructor() {
14
+ this.filters = [];
15
+ }
16
+ /**
17
+ * Add a single filter to the builder.
18
+ * @param field - Field name to filter on
19
+ * @param op - Filter operator
20
+ * @param value - Filter value (supports arrays for `in` and `nin`)
21
+ * @returns FilterBuilder instance for method chaining
22
+ */
23
+ add(field, op, value) {
24
+ this.filters.push({ field, op, value });
25
+ return this;
26
+ }
27
+ /**
28
+ * Add multiple filters at once.
29
+ * @param filters - Array of filter options to add
30
+ * @returns FilterBuilder instance for method chaining
31
+ */
32
+ addMany(filters) {
33
+ this.filters.push(...filters);
34
+ return this;
35
+ }
36
+ /**
37
+ * Build and return the filter array.
38
+ * @returns Array of filter options
39
+ */
40
+ build() {
41
+ return [...this.filters];
42
+ }
43
+ /**
44
+ * Convert filters to query string format.
45
+ * @returns Query string with filter parameters (e.g., `?filter=field:op:value&filter=...`)
46
+ */
47
+ toQueryString() {
48
+ const params = new URLSearchParams();
49
+ this.filters.forEach((f) => {
50
+ const val = Array.isArray(f.value) ? f.value.join(',') : String(f.value);
51
+ params.append('filter', `${f.field}:${f.op}:${val}`);
52
+ });
53
+ return params.toString();
54
+ }
55
+ }
56
+ exports.FilterBuilder = FilterBuilder;
57
+ //# sourceMappingURL=filter.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.types.js","sourceRoot":"","sources":["../../../src/types/filter.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmDH;;;GAGG;AACH,MAAa,aAAa;IAA1B;QACU,YAAO,GAAmB,EAAE,CAAC;IA4CvC,CAAC;IA1CC;;;;;;OAMG;IACH,GAAG,CAAC,KAAa,EAAE,EAAkB,EAAE,KAAyD;QAC9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAuB;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AA7CD,sCA6CC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Pagination types for Miso/Dataplane API responses
3
+ * All keys follow snake_case to match Miso/Dataplane schema
4
+ */
5
+ /**
6
+ * Meta information returned in paginated API responses.
7
+ * All keys follow snake_case to match Miso/Dataplane schema.
8
+ */
9
+ export interface Meta {
10
+ /** Total number of items available in full dataset. */
11
+ total_items: number;
12
+ /** Current page index (1-based). Maps from `page` query parameter. */
13
+ current_page: number;
14
+ /** Number of items per page. Maps from `page_size` query parameter. */
15
+ page_size: number;
16
+ /** Logical resource type (e.g. "application", "environment"). */
17
+ type: string;
18
+ }
19
+ /**
20
+ * Standard paginated list response envelope.
21
+ */
22
+ export interface PaginatedListResponse<T> {
23
+ /** Pagination metadata. */
24
+ meta: Meta;
25
+ /** Array of items for the current page. */
26
+ data: T[];
27
+ }
28
+ //# sourceMappingURL=pagination.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.types.d.ts","sourceRoot":"","sources":["../../../src/types/pagination.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IAEpB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IAErB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAElB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,2BAA2B;IAC3B,IAAI,EAAE,IAAI,CAAC;IAEX,2CAA2C;IAC3C,IAAI,EAAE,CAAC,EAAE,CAAC;CACX"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Pagination types for Miso/Dataplane API responses
4
+ * All keys follow snake_case to match Miso/Dataplane schema
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=pagination.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.types.js","sourceRoot":"","sources":["../../../src/types/pagination.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Sort types for Miso/Dataplane API query parameters
3
+ * All keys follow snake_case to match Miso/Dataplane schema
4
+ */
5
+ /**
6
+ * Sort option specifying field and order.
7
+ */
8
+ export interface SortOption {
9
+ /** Field name to sort by. */
10
+ field: string;
11
+ /** Sort order: ascending or descending. */
12
+ order: 'asc' | 'desc';
13
+ }
14
+ //# sourceMappingURL=sort.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.types.d.ts","sourceRoot":"","sources":["../../../src/types/sort.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IAEd,2CAA2C;IAC3C,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Sort types for Miso/Dataplane API query parameters
4
+ * All keys follow snake_case to match Miso/Dataplane schema
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=sort.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.types.js","sourceRoot":"","sources":["../../../src/types/sort.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -3,6 +3,7 @@
3
3
  * Supports structured error responses and backward compatibility
4
4
  */
5
5
  import { ErrorResponse } from '../types/config.types';
6
+ import { ErrorResponse as ErrorResponseSnakeCase } from '../types/errors.types';
6
7
  /**
7
8
  * Custom error class that extends Error
8
9
  * Supports structured ErrorResponse and backward compatibility with error_body dict
@@ -13,4 +14,29 @@ export declare class MisoClientError extends Error {
13
14
  readonly statusCode?: number;
14
15
  constructor(message: string, errorResponse?: ErrorResponse, errorBody?: Record<string, unknown>, statusCode?: number);
15
16
  }
17
+ /**
18
+ * Transform arbitrary error into standardized snake_case ErrorResponse.
19
+ * Handles both camelCase and snake_case error formats.
20
+ * @param err - Error object (AxiosError, network error, etc.)
21
+ * @returns Standardized snake_case ErrorResponse
22
+ */
23
+ export declare function transform_error_to_snake_case(err: unknown): ErrorResponseSnakeCase;
24
+ /**
25
+ * Exception class for snake_case error responses.
26
+ * Used with snake_case ErrorResponse format.
27
+ */
28
+ export declare class ApiErrorException extends Error {
29
+ status_code: number;
30
+ request_key?: string;
31
+ type?: string;
32
+ instance?: string;
33
+ errors: string[];
34
+ constructor(error: ErrorResponseSnakeCase);
35
+ }
36
+ /**
37
+ * Handle API error and throw snake_case ApiErrorException.
38
+ * @param err - Error object (AxiosError, network error, etc.)
39
+ * @throws ApiErrorException with snake_case error format
40
+ */
41
+ export declare function handle_api_error_snake_case(err: unknown): never;
16
42
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9C,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,EAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,UAAU,CAAC,EAAE,MAAM;CA0BtB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAAiB,MAAM,uBAAuB,CAAC;AAE/F;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9C,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,EAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,UAAU,CAAC,EAAE,MAAM;CA0BtB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAsElF;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,KAAK,EAAE,sBAAsB;CAc1C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAG/D"}
@@ -4,7 +4,9 @@
4
4
  * Supports structured error responses and backward compatibility
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MisoClientError = void 0;
7
+ exports.ApiErrorException = exports.MisoClientError = void 0;
8
+ exports.transform_error_to_snake_case = transform_error_to_snake_case;
9
+ exports.handle_api_error_snake_case = handle_api_error_snake_case;
8
10
  /**
9
11
  * Custom error class that extends Error
10
12
  * Supports structured ErrorResponse and backward compatibility with error_body dict
@@ -35,4 +37,101 @@ class MisoClientError extends Error {
35
37
  }
36
38
  }
37
39
  exports.MisoClientError = MisoClientError;
40
+ /**
41
+ * Transform arbitrary error into standardized snake_case ErrorResponse.
42
+ * Handles both camelCase and snake_case error formats.
43
+ * @param err - Error object (AxiosError, network error, etc.)
44
+ * @returns Standardized snake_case ErrorResponse
45
+ */
46
+ function transform_error_to_snake_case(err) {
47
+ if (err && typeof err === 'object' && 'response' in err) {
48
+ const axiosError = err;
49
+ if (axiosError.response?.data) {
50
+ const data = axiosError.response.data;
51
+ // Handle error envelope format
52
+ if (typeof data === 'object' && data !== null && 'error' in data) {
53
+ const envelope = data;
54
+ const errorData = envelope.error;
55
+ // Normalize status_code (support both camelCase and snake_case)
56
+ const statusCode = errorData.status_code ?? errorData.statusCode ?? axiosError.response.status ?? 500;
57
+ return {
58
+ errors: errorData.errors ?? ['Unknown error'],
59
+ type: errorData.type ?? 'about:blank',
60
+ title: errorData.title ?? axiosError.message ?? 'Unknown error',
61
+ status_code: statusCode,
62
+ instance: errorData.instance ?? axiosError.config?.url,
63
+ request_key: errorData.request_key
64
+ };
65
+ }
66
+ // Handle direct error format (snake_case or camelCase)
67
+ if (typeof data === 'object' && data !== null) {
68
+ const errorData = data;
69
+ const statusCode = (typeof errorData.status_code === 'number' ? errorData.status_code :
70
+ typeof errorData.statusCode === 'number' ? errorData.statusCode :
71
+ typeof axiosError.response?.status === 'number' ? axiosError.response.status :
72
+ 500);
73
+ return {
74
+ errors: Array.isArray(errorData.errors) ? errorData.errors : ['Unknown error'],
75
+ type: errorData.type ?? 'about:blank',
76
+ title: errorData.title ?? axiosError.message ?? 'Unknown error',
77
+ status_code: statusCode,
78
+ instance: errorData.instance ?? axiosError.config?.url,
79
+ request_key: errorData.request_key
80
+ };
81
+ }
82
+ }
83
+ // Fallback for response without data
84
+ return {
85
+ errors: [axiosError.message ?? 'Network error'],
86
+ type: 'about:blank',
87
+ title: 'Network error',
88
+ status_code: axiosError.response?.status ?? 0
89
+ };
90
+ }
91
+ // Handle non-Axios errors
92
+ if (err instanceof Error) {
93
+ return {
94
+ errors: [err.message ?? 'Unknown error'],
95
+ type: 'about:blank',
96
+ title: 'Error',
97
+ status_code: 0
98
+ };
99
+ }
100
+ // Last resort
101
+ return {
102
+ errors: ['Unknown error'],
103
+ type: 'about:blank',
104
+ title: 'Unknown error',
105
+ status_code: 0
106
+ };
107
+ }
108
+ /**
109
+ * Exception class for snake_case error responses.
110
+ * Used with snake_case ErrorResponse format.
111
+ */
112
+ class ApiErrorException extends Error {
113
+ constructor(error) {
114
+ super(error.title || 'API Error');
115
+ this.name = 'ApiErrorException';
116
+ this.status_code = error.status_code;
117
+ this.request_key = error.request_key;
118
+ this.type = error.type;
119
+ this.instance = error.instance;
120
+ this.errors = error.errors;
121
+ // Maintain proper stack trace for V8
122
+ if (Error.captureStackTrace) {
123
+ Error.captureStackTrace(this, ApiErrorException);
124
+ }
125
+ }
126
+ }
127
+ exports.ApiErrorException = ApiErrorException;
128
+ /**
129
+ * Handle API error and throw snake_case ApiErrorException.
130
+ * @param err - Error object (AxiosError, network error, etc.)
131
+ * @throws ApiErrorException with snake_case error format
132
+ */
133
+ function handle_api_error_snake_case(err) {
134
+ const error = transform_error_to_snake_case(err);
135
+ throw new ApiErrorException(error);
136
+ }
38
137
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;GAGG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAKxC,YACE,OAAe,EACf,aAA6B,EAC7B,SAAmC,EACnC,UAAmB;QAEnB,iEAAiE;QACjE,IAAI,YAAY,GAAG,OAAO,CAAC;QAC3B,IAAI,aAAa,EAAE,CAAC;YAClB,sEAAsE;YACtE,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACxB,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,CAAC;iBAAM,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnE,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAE9B,iBAAiB;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,aAAa,EAAE,UAAU,CAAC;QAE1D,qCAAqC;QACrC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AAnCD,0CAmCC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Filter utility functions for parsing and building filter queries
3
+ */
4
+ import type { FilterOption, FilterQuery } from '../types/filter.types';
5
+ import { FilterBuilder } from '../types/filter.types';
6
+ /**
7
+ * Parse filter query parameters into structured FilterOption array.
8
+ * Supports format: `?filter=field:op:value` or `?filter[]=field:op:value&filter[]=...`
9
+ * @param query - Query parameters object (e.g., from URLSearchParams or request query)
10
+ * @returns Array of parsed filter options
11
+ */
12
+ export declare function parse_filter_params(query: Record<string, unknown>): FilterOption[];
13
+ /**
14
+ * Build query string from FilterQuery object.
15
+ * @param options - FilterQuery object with filters, sort, pagination, and field selection
16
+ * @returns Query string (e.g., `?filter=status:eq:active&sort=-updated_at&page=1&page_size=25`)
17
+ */
18
+ export declare function build_query_string(options: FilterQuery): string;
19
+ /**
20
+ * Apply filters locally to an array (used for mocks/tests).
21
+ * @param data - Array of items to filter
22
+ * @param filters - Array of filter options to apply
23
+ * @returns Filtered array
24
+ */
25
+ export declare function apply_filters<T extends Record<string, unknown>>(data: T[], filters: FilterOption[]): T[];
26
+ export { FilterBuilder };
27
+ //# sourceMappingURL=filter.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/filter.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,EAAE,CAqBlF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAoB/D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAgCxG;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Filter utility functions for parsing and building filter queries
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FilterBuilder = void 0;
7
+ exports.parse_filter_params = parse_filter_params;
8
+ exports.build_query_string = build_query_string;
9
+ exports.apply_filters = apply_filters;
10
+ const filter_types_1 = require("../types/filter.types");
11
+ Object.defineProperty(exports, "FilterBuilder", { enumerable: true, get: function () { return filter_types_1.FilterBuilder; } });
12
+ const FILTER_PATTERN = /^([\w.]+):(eq|neq|in|nin|gt|lt|gte|lte|contains|like):(.+)$/i;
13
+ /**
14
+ * Parse filter query parameters into structured FilterOption array.
15
+ * Supports format: `?filter=field:op:value` or `?filter[]=field:op:value&filter[]=...`
16
+ * @param query - Query parameters object (e.g., from URLSearchParams or request query)
17
+ * @returns Array of parsed filter options
18
+ */
19
+ function parse_filter_params(query) {
20
+ const filterParam = query.filter;
21
+ const filters = Array.isArray(filterParam) ? filterParam : filterParam ? [filterParam] : [];
22
+ const result = [];
23
+ filters.forEach((f) => {
24
+ const filterString = String(f);
25
+ const match = filterString.match(FILTER_PATTERN);
26
+ if (!match) {
27
+ return;
28
+ }
29
+ const [, field, op, raw] = match;
30
+ // Parse value: if comma-separated, split into array, otherwise keep as string
31
+ // Note: API expects strings for filter values, numbers are parsed server-side
32
+ const value = raw.includes(',') ? raw.split(',') : raw;
33
+ result.push({ field, op: op, value });
34
+ });
35
+ return result;
36
+ }
37
+ /**
38
+ * Build query string from FilterQuery object.
39
+ * @param options - FilterQuery object with filters, sort, pagination, and field selection
40
+ * @returns Query string (e.g., `?filter=status:eq:active&sort=-updated_at&page=1&page_size=25`)
41
+ */
42
+ function build_query_string(options) {
43
+ const params = new URLSearchParams();
44
+ options.filters?.forEach((f) => {
45
+ const val = Array.isArray(f.value) ? f.value.join(',') : String(f.value);
46
+ params.append('filter', `${f.field}:${f.op}:${val}`);
47
+ });
48
+ options.sort?.forEach((s) => params.append('sort', s));
49
+ if (options.page) {
50
+ params.append('page', options.page.toString());
51
+ }
52
+ if (options.page_size) {
53
+ params.append('page_size', options.page_size.toString());
54
+ }
55
+ if (options.fields && options.fields.length > 0) {
56
+ params.append('fields', options.fields.join(','));
57
+ }
58
+ return params.toString();
59
+ }
60
+ /**
61
+ * Apply filters locally to an array (used for mocks/tests).
62
+ * @param data - Array of items to filter
63
+ * @param filters - Array of filter options to apply
64
+ * @returns Filtered array
65
+ */
66
+ function apply_filters(data, filters) {
67
+ return data.filter((item) => filters.every((f) => {
68
+ const v = item[f.field];
69
+ const value = f.value;
70
+ if (Array.isArray(value)) {
71
+ return f.op === 'in' ? value.includes(v) : !value.includes(v);
72
+ }
73
+ switch (f.op) {
74
+ case 'eq':
75
+ return v === value;
76
+ case 'neq':
77
+ return v !== value;
78
+ case 'gt':
79
+ return v > value;
80
+ case 'lt':
81
+ return v < value;
82
+ case 'gte':
83
+ return v >= value;
84
+ case 'lte':
85
+ return v <= value;
86
+ case 'contains':
87
+ return String(v).includes(String(value));
88
+ case 'like':
89
+ return new RegExp(String(value), 'i').test(String(v));
90
+ default:
91
+ return true;
92
+ }
93
+ }));
94
+ }
95
+ //# sourceMappingURL=filter.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.utils.js","sourceRoot":"","sources":["../../../src/utils/filter.utils.ts"],"names":[],"mappings":"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"}
@@ -35,5 +35,28 @@ export declare class HttpClient {
35
35
  request<T>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
36
36
  authenticatedRequest<T>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', url: string, token: string, // User authentication token (sent as Bearer token)
37
37
  data?: unknown, config?: AxiosRequestConfig): Promise<T>;
38
+ /**
39
+ * GET request with filter builder support.
40
+ * Builds query string from FilterBuilder and appends to URL.
41
+ * @param url - Request URL (without query string)
42
+ * @param filterBuilder - FilterBuilder instance with filters
43
+ * @param config - Optional Axios request config
44
+ * @returns Promise with response data
45
+ */
46
+ getWithFilters<T>(url: string, filterBuilder: {
47
+ toQueryString(): string;
48
+ }, config?: AxiosRequestConfig): Promise<T>;
49
+ /**
50
+ * GET request with pagination support.
51
+ * Appends pagination query parameters (page, page_size) to URL.
52
+ * @param url - Request URL (without query string)
53
+ * @param pagination - Pagination options with page and page_size
54
+ * @param config - Optional Axios request config
55
+ * @returns Promise with response data
56
+ */
57
+ getPaginated<T>(url: string, pagination: {
58
+ page: number;
59
+ page_size: number;
60
+ }, config?: AxiosRequestConfig): Promise<T>;
38
61
  }
39
62
  //# sourceMappingURL=http-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAInB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAe3D,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAC9B,SAAgB,MAAM,EAAE,gBAAgB,CAAC;gBAE7B,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa;IAa3D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6CzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;YACW,mBAAmB;IAmG3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5E,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK/D,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EACzC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAQP,oBAAoB,CAAC,CAAC,EAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EACzC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,mDAAmD;IAClE,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;CAGd"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAInB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAe3D,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAC9B,SAAgB,MAAM,EAAE,gBAAgB,CAAC;gBAE7B,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa;IAa3D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6CzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;YACW,mBAAmB;IAmG3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5E,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK/D,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EACzC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAQP,oBAAoB,CAAC,CAAC,EAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EACzC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,mDAAmD;IAClE,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAIb;;;;;;;OAOG;IACG,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE;QAAE,aAAa,IAAI,MAAM,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAMzH;;;;;;;OAOG;IACG,YAAY,CAAC,CAAC,EAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC/C,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;CAOd"}
@@ -201,6 +201,34 @@ class HttpClient {
201
201
  data, config) {
202
202
  return this.internalClient.authenticatedRequest(method, url, token, data, config);
203
203
  }
204
+ /**
205
+ * GET request with filter builder support.
206
+ * Builds query string from FilterBuilder and appends to URL.
207
+ * @param url - Request URL (without query string)
208
+ * @param filterBuilder - FilterBuilder instance with filters
209
+ * @param config - Optional Axios request config
210
+ * @returns Promise with response data
211
+ */
212
+ async getWithFilters(url, filterBuilder, config) {
213
+ const queryString = filterBuilder.toQueryString();
214
+ const fullUrl = queryString ? `${url}?${queryString}` : url;
215
+ return this.internalClient.get(fullUrl, config);
216
+ }
217
+ /**
218
+ * GET request with pagination support.
219
+ * Appends pagination query parameters (page, page_size) to URL.
220
+ * @param url - Request URL (without query string)
221
+ * @param pagination - Pagination options with page and page_size
222
+ * @param config - Optional Axios request config
223
+ * @returns Promise with response data
224
+ */
225
+ async getPaginated(url, pagination, config) {
226
+ const params = new URLSearchParams();
227
+ params.append('page', pagination.page.toString());
228
+ params.append('page_size', pagination.page_size.toString());
229
+ const fullUrl = `${url}?${params.toString()}`;
230
+ return this.internalClient.get(fullUrl, config);
231
+ }
204
232
  }
205
233
  exports.HttpClient = HttpClient;
206
234
  //# sourceMappingURL=http-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Pagination utility functions for parsing and constructing paginated responses
3
+ */
4
+ import type { Meta, PaginatedListResponse } from '../types/pagination.types';
5
+ /**
6
+ * Parse query parameters into pagination values.
7
+ * @param query - Query parameters object (e.g., from URLSearchParams or request query)
8
+ * @returns Object with `current_page` (1-based) and `page_size`
9
+ */
10
+ export declare function parse_pagination_params(query: Record<string, unknown>): {
11
+ current_page: number;
12
+ page_size: number;
13
+ };
14
+ /**
15
+ * Construct meta object for API response.
16
+ * @param total_items - Total number of items available in full dataset
17
+ * @param current_page - Current page index (1-based)
18
+ * @param page_size - Number of items per page
19
+ * @param type - Logical resource type (e.g., "application", "environment")
20
+ * @returns Meta object
21
+ */
22
+ export declare function create_meta_object(total_items: number, current_page: number, page_size: number, type: string): Meta;
23
+ /**
24
+ * Apply pagination to an array (for mock/testing).
25
+ * @param items - Array of items to paginate
26
+ * @param current_page - Current page index (1-based)
27
+ * @param page_size - Number of items per page
28
+ * @returns Paginated slice of the array
29
+ */
30
+ export declare function apply_pagination_to_array<T>(items: T[], current_page: number, page_size: number): T[];
31
+ /**
32
+ * Wrap array + meta into a standard paginated response.
33
+ * @param items - Array of items for the current page
34
+ * @param total_items - Total number of items available in full dataset
35
+ * @param current_page - Current page index (1-based)
36
+ * @param page_size - Number of items per page
37
+ * @param type - Logical resource type (e.g., "application", "environment")
38
+ * @returns PaginatedListResponse object
39
+ */
40
+ export declare function create_paginated_list_response<T>(items: T[], total_items: number, current_page: number, page_size: number, type: string): PaginatedListResponse<T>;
41
+ //# sourceMappingURL=pagination.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/pagination.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE7E;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAInH;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnH;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAGrG;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAC9C,KAAK,EAAE,CAAC,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,qBAAqB,CAAC,CAAC,CAAC,CAK1B"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Pagination utility functions for parsing and constructing paginated responses
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parse_pagination_params = parse_pagination_params;
7
+ exports.create_meta_object = create_meta_object;
8
+ exports.apply_pagination_to_array = apply_pagination_to_array;
9
+ exports.create_paginated_list_response = create_paginated_list_response;
10
+ /**
11
+ * Parse query parameters into pagination values.
12
+ * @param query - Query parameters object (e.g., from URLSearchParams or request query)
13
+ * @returns Object with `current_page` (1-based) and `page_size`
14
+ */
15
+ function parse_pagination_params(query) {
16
+ const current_page = parseInt(String(query.page ?? '1'), 10);
17
+ const page_size = parseInt(String(query.page_size ?? '20'), 10);
18
+ return { current_page, page_size };
19
+ }
20
+ /**
21
+ * Construct meta object for API response.
22
+ * @param total_items - Total number of items available in full dataset
23
+ * @param current_page - Current page index (1-based)
24
+ * @param page_size - Number of items per page
25
+ * @param type - Logical resource type (e.g., "application", "environment")
26
+ * @returns Meta object
27
+ */
28
+ function create_meta_object(total_items, current_page, page_size, type) {
29
+ return { total_items, current_page, page_size, type };
30
+ }
31
+ /**
32
+ * Apply pagination to an array (for mock/testing).
33
+ * @param items - Array of items to paginate
34
+ * @param current_page - Current page index (1-based)
35
+ * @param page_size - Number of items per page
36
+ * @returns Paginated slice of the array
37
+ */
38
+ function apply_pagination_to_array(items, current_page, page_size) {
39
+ const start = (current_page - 1) * page_size;
40
+ return items.slice(start, start + page_size);
41
+ }
42
+ /**
43
+ * Wrap array + meta into a standard paginated response.
44
+ * @param items - Array of items for the current page
45
+ * @param total_items - Total number of items available in full dataset
46
+ * @param current_page - Current page index (1-based)
47
+ * @param page_size - Number of items per page
48
+ * @param type - Logical resource type (e.g., "application", "environment")
49
+ * @returns PaginatedListResponse object
50
+ */
51
+ function create_paginated_list_response(items, total_items, current_page, page_size, type) {
52
+ return {
53
+ meta: create_meta_object(total_items, current_page, page_size, type),
54
+ data: items
55
+ };
56
+ }
57
+ //# sourceMappingURL=pagination.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.utils.js","sourceRoot":"","sources":["../../../src/utils/pagination.utils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AASH,0DAIC;AAUD,gDAEC;AASD,8DAGC;AAWD,wEAWC;AAvDD;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAA8B;IACpE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,WAAmB,EAAE,YAAoB,EAAE,SAAiB,EAAE,IAAY;IAC3G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAI,KAAU,EAAE,YAAoB,EAAE,SAAiB;IAC9F,MAAM,KAAK,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,8BAA8B,CAC5C,KAAU,EACV,WAAmB,EACnB,YAAoB,EACpB,SAAiB,EACjB,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC;QACpE,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Sort utility functions for parsing and building sort query parameters
3
+ */
4
+ import type { SortOption } from '../types/sort.types';
5
+ /**
6
+ * Parse sort query parameters into structured SortOption array.
7
+ * Supports format: `?sort=-field` (descending) or `?sort=field` (ascending)
8
+ * or `?sort[]=-updated_at&sort[]=name` for multiple sorts.
9
+ * @param query - Query parameters object (e.g., from URLSearchParams or request query)
10
+ * @returns Array of parsed sort options
11
+ */
12
+ export declare function parse_sort_params(query: Record<string, unknown>): SortOption[];
13
+ /**
14
+ * Convert SortOption array to query string format.
15
+ * @param sortOptions - Array of sort options
16
+ * @returns Array of sort strings (e.g., `['-updated_at', 'name']`)
17
+ */
18
+ export declare function build_sort_string(sortOptions: SortOption[]): string[];
19
+ //# sourceMappingURL=sort.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/sort.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE,CAW9E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAErE"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Sort utility functions for parsing and building sort query parameters
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parse_sort_params = parse_sort_params;
7
+ exports.build_sort_string = build_sort_string;
8
+ /**
9
+ * Parse sort query parameters into structured SortOption array.
10
+ * Supports format: `?sort=-field` (descending) or `?sort=field` (ascending)
11
+ * or `?sort[]=-updated_at&sort[]=name` for multiple sorts.
12
+ * @param query - Query parameters object (e.g., from URLSearchParams or request query)
13
+ * @returns Array of parsed sort options
14
+ */
15
+ function parse_sort_params(query) {
16
+ const sortParam = query.sort;
17
+ const sorts = Array.isArray(sortParam) ? sortParam : sortParam ? [sortParam] : [];
18
+ return sorts.map((s) => {
19
+ const sortString = String(s);
20
+ return {
21
+ field: sortString.startsWith('-') ? sortString.substring(1) : sortString,
22
+ order: sortString.startsWith('-') ? 'desc' : 'asc'
23
+ };
24
+ });
25
+ }
26
+ /**
27
+ * Convert SortOption array to query string format.
28
+ * @param sortOptions - Array of sort options
29
+ * @returns Array of sort strings (e.g., `['-updated_at', 'name']`)
30
+ */
31
+ function build_sort_string(sortOptions) {
32
+ return sortOptions.map((so) => (so.order === 'desc' ? `-${so.field}` : so.field));
33
+ }
34
+ //# sourceMappingURL=sort.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.utils.js","sourceRoot":"","sources":["../../../src/utils/sort.utils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAWH,8CAWC;AAOD,8CAEC;AA3BD;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,KAA8B;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;YACxE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,WAAyB;IACzD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aifabrix/miso-client",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "AI Fabrix Client SDK for authentication, authorization, and logging",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",