@inkress/admin-sdk 1.0.0 → 1.1.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 (67) hide show
  1. package/CHANGELOG.md +213 -0
  2. package/README.md +1174 -87
  3. package/dist/client.d.ts +3 -3
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/data-mappings.d.ts +177 -0
  6. package/dist/data-mappings.d.ts.map +1 -0
  7. package/dist/index.d.ts +34 -4
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.esm.js +4151 -154
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.js +4188 -153
  12. package/dist/index.js.map +1 -1
  13. package/dist/resources/addresses.d.ts +58 -0
  14. package/dist/resources/addresses.d.ts.map +1 -0
  15. package/dist/resources/billing-plans.d.ts +32 -15
  16. package/dist/resources/billing-plans.d.ts.map +1 -1
  17. package/dist/resources/categories.d.ts +30 -20
  18. package/dist/resources/categories.d.ts.map +1 -1
  19. package/dist/resources/currencies.d.ts +41 -0
  20. package/dist/resources/currencies.d.ts.map +1 -0
  21. package/dist/resources/exchange-rates.d.ts +50 -0
  22. package/dist/resources/exchange-rates.d.ts.map +1 -0
  23. package/dist/resources/fees.d.ts +58 -0
  24. package/dist/resources/fees.d.ts.map +1 -0
  25. package/dist/resources/financial-accounts.d.ts +47 -0
  26. package/dist/resources/financial-accounts.d.ts.map +1 -0
  27. package/dist/resources/financial-requests.d.ts +51 -0
  28. package/dist/resources/financial-requests.d.ts.map +1 -0
  29. package/dist/resources/generics.d.ts +57 -0
  30. package/dist/resources/generics.d.ts.map +1 -0
  31. package/dist/resources/kyc.d.ts +118 -0
  32. package/dist/resources/kyc.d.ts.map +1 -0
  33. package/dist/resources/merchants.d.ts +52 -15
  34. package/dist/resources/merchants.d.ts.map +1 -1
  35. package/dist/resources/orders.d.ts +74 -28
  36. package/dist/resources/orders.d.ts.map +1 -1
  37. package/dist/resources/payment-links.d.ts +65 -0
  38. package/dist/resources/payment-links.d.ts.map +1 -0
  39. package/dist/resources/payment-methods.d.ts +48 -0
  40. package/dist/resources/payment-methods.d.ts.map +1 -0
  41. package/dist/resources/products.d.ts +62 -16
  42. package/dist/resources/products.d.ts.map +1 -1
  43. package/dist/resources/public.d.ts +33 -7
  44. package/dist/resources/public.d.ts.map +1 -1
  45. package/dist/resources/subscriptions.d.ts +69 -25
  46. package/dist/resources/subscriptions.d.ts.map +1 -1
  47. package/dist/resources/tokens.d.ts +62 -0
  48. package/dist/resources/tokens.d.ts.map +1 -0
  49. package/dist/resources/transaction-entries.d.ts +48 -0
  50. package/dist/resources/transaction-entries.d.ts.map +1 -0
  51. package/dist/resources/users.d.ts +43 -21
  52. package/dist/resources/users.d.ts.map +1 -1
  53. package/dist/resources/webhook-urls.d.ts +49 -0
  54. package/dist/resources/webhook-urls.d.ts.map +1 -0
  55. package/dist/types/resources.d.ts +1294 -0
  56. package/dist/types/resources.d.ts.map +1 -0
  57. package/dist/types.d.ts +1260 -183
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/utils/query-builders.d.ts +518 -0
  60. package/dist/utils/query-builders.d.ts.map +1 -0
  61. package/dist/utils/query-transformer.d.ts +123 -0
  62. package/dist/utils/query-transformer.d.ts.map +1 -0
  63. package/dist/utils/translators.d.ts +126 -0
  64. package/dist/utils/translators.d.ts.map +1 -0
  65. package/dist/utils/webhooks.d.ts +19 -4
  66. package/dist/utils/webhooks.d.ts.map +1 -1
  67. package/package.json +14 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-links.d.ts","sourceRoot":"","sources":["../../src/resources/payment-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,WAAW,EAEX,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACZ,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,oBAAoB;IACnB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAqB3F;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAiBxD;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAkB5E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAkBxF;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIpD;;;;;;;;;;OAUG;IACG,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAK1F;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,uBAAuB;CAG9C"}
@@ -0,0 +1,48 @@
1
+ import { HttpClient } from '../client';
2
+ import { PaymentMethod, CreatePaymentMethodData, UpdatePaymentMethodData, ApiResponse } from '../types';
3
+ import { PaymentMethodQueryBuilder } from '../utils/query-builders';
4
+ import { PaymentMethodFilterParams, PaymentMethodQueryParams, PaymentMethodListResponse } from '../types/resources';
5
+ export declare class PaymentMethodsResource {
6
+ private client;
7
+ constructor(client: HttpClient);
8
+ /**
9
+ * List payment methods with filtering
10
+ */
11
+ list(params?: PaymentMethodFilterParams): Promise<ApiResponse<PaymentMethodListResponse>>;
12
+ /**
13
+ * Get payment method by ID
14
+ */
15
+ get(id: number): Promise<ApiResponse<PaymentMethod>>;
16
+ /**
17
+ * Create a new payment method
18
+ */
19
+ create(data: CreatePaymentMethodData): Promise<ApiResponse<PaymentMethod>>;
20
+ /**
21
+ * Update a payment method
22
+ */
23
+ update(id: number, data: UpdatePaymentMethodData): Promise<ApiResponse<PaymentMethod>>;
24
+ /**
25
+ * Delete a payment method
26
+ */
27
+ delete(id: number): Promise<ApiResponse<void>>;
28
+ /**
29
+ * Advanced query interface with full type safety
30
+ *
31
+ * @example
32
+ * const methods = await sdk.paymentMethods.query({
33
+ * active: true,
34
+ * provider: { contains: 'stripe' }
35
+ * });
36
+ */
37
+ query(params: PaymentMethodQueryParams): Promise<ApiResponse<PaymentMethodListResponse>>;
38
+ /**
39
+ * Create a fluent query builder for payment methods
40
+ *
41
+ * @example
42
+ * const methods = await sdk.paymentMethods.createQueryBuilder()
43
+ * .whereActiveEquals(true)
44
+ * .execute();
45
+ */
46
+ createQueryBuilder(): PaymentMethodQueryBuilder;
47
+ }
48
+ //# sourceMappingURL=payment-methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-methods.d.ts","sourceRoot":"","sources":["../../src/resources/payment-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,sBAAsB;IACrB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAI/F;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAI1D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAIhF;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAI5F;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIpD;;;;;;;;OAQG;IACG,KAAK,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAK9F;;;;;;;OAOG;IACH,kBAAkB,IAAI,yBAAyB;CAGhD"}
@@ -1,28 +1,32 @@
1
1
  import { HttpClient } from '../client';
2
- import { Product, CreateProductData, UpdateProductData, ApiResponse, PaginationParams } from '../types';
3
- export interface ProductListParams extends PaginationParams {
4
- search?: string;
5
- status?: number;
6
- category?: string;
7
- limit?: number;
8
- }
9
- export interface ProductListResponse {
10
- entries: Product[];
11
- page_info: {
12
- current_page: number;
13
- total_pages: number;
14
- total_entries: number;
15
- page_size: number;
16
- };
2
+ import { Product, CreateProductData, UpdateProductData, ApiResponse } from '../types';
3
+ import { ProductQueryBuilder } from '../utils/query-builders';
4
+ import { ProductFilterParams, ProductQueryParams, ProductListResponse } from '../types/resources';
5
+ /**
6
+ * @deprecated Use ProductFilterParams from types/resources instead
7
+ */
8
+ export interface LegacyProductFilterParams {
17
9
  }
18
10
  export declare class ProductsResource {
19
11
  private client;
20
12
  constructor(client: HttpClient);
13
+ /**
14
+ * Convert internal product data (integers) to user-facing data (strings)
15
+ */
16
+ private translateProductToUserFacing;
17
+ /**
18
+ * Convert user-facing product data (strings) to internal data (integers)
19
+ */
20
+ private translateProductToInternal;
21
+ /**
22
+ * Convert filter parameters (strings to integers where needed)
23
+ */
24
+ private translateFilters;
21
25
  /**
22
26
  * List products with pagination and filtering
23
27
  * Requires Client-Id header to be set in the configuration
24
28
  */
25
- list(params?: ProductListParams): Promise<ApiResponse<ProductListResponse>>;
29
+ list(params?: ProductFilterParams): Promise<ApiResponse<ProductListResponse>>;
26
30
  /**
27
31
  * Get a specific product by ID
28
32
  * Requires Client-Id header to be set in the configuration
@@ -43,5 +47,47 @@ export declare class ProductsResource {
43
47
  * Requires Client-Id header to be set in the configuration
44
48
  */
45
49
  delete(id: number): Promise<ApiResponse<void>>;
50
+ /**
51
+ * List products with enhanced query support
52
+ * Supports filtering by any database field using the new query system
53
+ * Requires Client-Id header to be set in the configuration
54
+ *
55
+ * @example
56
+ * // Simple queries
57
+ * await products.query({ status: 'published', public: true })
58
+ *
59
+ * // Array queries (IN operations)
60
+ * await products.query({ category_id: [1, 2, 3], status: ['published', 'draft'] })
61
+ *
62
+ * // Range queries
63
+ * await products.query({ price: { min: 10, max: 100 } })
64
+ *
65
+ * // String searches
66
+ * await products.query({ title: { contains: 'shirt' } })
67
+ *
68
+ * // Combined queries
69
+ * await products.query({
70
+ * status: 'published',
71
+ * price: { min: 20 },
72
+ * public: true,
73
+ * page: 1,
74
+ * page_size: 20
75
+ * })
76
+ */
77
+ query(params?: ProductQueryParams): Promise<ApiResponse<ProductListResponse>>;
78
+ /**
79
+ * Create a query builder for products
80
+ * Provides a fluent interface for building complex queries
81
+ *
82
+ * @example
83
+ * const products = await sdk.products.createQueryBuilder()
84
+ * .whereStatus('published')
85
+ * .wherePriceRange(10, 100)
86
+ * .whereTitleContains('shirt')
87
+ * .wherePublic(true)
88
+ * .paginate(1, 20)
89
+ * .execute();
90
+ */
91
+ createQueryBuilder(initialQuery?: ProductQueryParams): ProductQueryBuilder;
46
92
  }
47
93
  //# sourceMappingURL=products.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/resources/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAIjF;;;OAGG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIpD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIpE;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIhF;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CAGrD"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/resources/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAGZ,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;CAEzC;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAOpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAqBnF;;;OAGG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAiBpD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAkBpE;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAkBhF;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIpD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAuBnF;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,mBAAmB;CAG3E"}
@@ -1,9 +1,28 @@
1
1
  import { HttpClient } from '../client';
2
- import { Product, PublicMerchantFees, ApiResponse, PaginationParams, PublicMerchant } from '../types';
3
- export interface PublicProductListParams extends PaginationParams {
2
+ import { Product, PublicMerchantFees, ApiResponse, BaseFilterParams, PublicMerchant } from '../types';
3
+ export interface PublicProductFilterParams extends BaseFilterParams {
4
4
  search?: string;
5
5
  category?: string;
6
6
  limit?: number;
7
+ id?: number;
8
+ title?: string;
9
+ teaser?: string;
10
+ price?: number;
11
+ permalink?: string;
12
+ image?: string;
13
+ public?: boolean;
14
+ unlimited?: boolean;
15
+ units_remaining?: number;
16
+ units_sold?: number;
17
+ rating_sum?: number;
18
+ rating_count?: number;
19
+ tag_ids?: number[];
20
+ uid?: string;
21
+ category_id?: number;
22
+ currency_id?: number;
23
+ user_id?: number;
24
+ inserted_at?: string;
25
+ updated_at?: string;
7
26
  }
8
27
  export interface PublicProductListResponse {
9
28
  entries: Product[];
@@ -18,6 +37,16 @@ export interface PublicMerchantParams {
18
37
  username?: string;
19
38
  'domain.cname'?: string;
20
39
  }
40
+ export interface MerchantFeesParams {
41
+ /** Order total amount (required) */
42
+ total: number;
43
+ /** Currency code (required) */
44
+ currency_code: string;
45
+ /** Optional fulfillment/shipping cost */
46
+ fulfillment_total?: number;
47
+ /** Optional payment method ID */
48
+ method_id?: number;
49
+ }
21
50
  export declare class PublicResource {
22
51
  private client;
23
52
  constructor(client: HttpClient);
@@ -28,13 +57,10 @@ export declare class PublicResource {
28
57
  /**
29
58
  * Get merchant fees (public endpoint - no auth required)
30
59
  */
31
- getMerchantFees(merchantUsername: string, params: {
32
- currency: string;
33
- total: number;
34
- }): Promise<ApiResponse<PublicMerchantFees>>;
60
+ getMerchantFees(merchantUsername: string, params: MerchantFeesParams): Promise<ApiResponse<PublicMerchantFees>>;
35
61
  /**
36
62
  * Get merchant products (public endpoint - no auth required)
37
63
  */
38
- getMerchantProducts(merchantUsername: string, params?: PublicProductListParams): Promise<ApiResponse<PublicProductListResponse>>;
64
+ getMerchantProducts(merchantUsername: string, params?: PublicProductFilterParams): Promise<ApiResponse<PublicProductListResponse>>;
39
65
  }
40
66
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/resources/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAIrF;;OAEG;IACG,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAItI;;OAEG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;CAGnD"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/resources/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAEjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAIrF;;OAEG;IACG,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAIrH;;OAEG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;CAGnD"}
@@ -1,24 +1,12 @@
1
1
  import { HttpClient } from '../client';
2
- import { Subscription, SubscriptionPeriod, ApiResponse, PaginationParams } from '../types';
3
- export interface SubscriptionListParams extends PaginationParams {
4
- status?: number;
5
- billing_plan_id?: number;
6
- customer_id?: number;
7
- limit?: number;
8
- }
9
- export interface SubscriptionListResponse {
10
- entries: Subscription[];
11
- page_info: {
12
- current_page: number;
13
- total_pages: number;
14
- total_entries: number;
15
- page_size: number;
16
- };
17
- }
2
+ import { Subscription, SubscriptionPeriod, CreateSubscriptionData, SubscriptionChargeData, SubscriptionUsageResponse, SubscriptionCancelResponse, ApiResponse, PaginationParams } from '../types';
3
+ import { SubscriptionQueryBuilder } from '../utils/query-builders';
4
+ import { SubscriptionFilterParams, SubscriptionQueryParams, SubscriptionListResponse } from '../types/resources';
18
5
  export interface CreateSubscriptionLinkData {
19
6
  reference_id: string;
20
7
  title: string;
21
- plan_id: string;
8
+ plan_uid: string;
9
+ meta_data?: Record<string, any>;
22
10
  customer: {
23
11
  first_name: string;
24
12
  last_name: string;
@@ -26,11 +14,12 @@ export interface CreateSubscriptionLinkData {
26
14
  };
27
15
  }
28
16
  export interface CreateSubscriptionLinkResponse {
29
- id: number;
30
- payment_urls: {
31
- short_link: string;
32
- };
33
- subscription: Subscription;
17
+ status: 'paid';
18
+ total: number;
19
+ reference: string;
20
+ currency: string;
21
+ subscription_status: string;
22
+ subscription_uid: string;
34
23
  }
35
24
  export interface ChargeSubscriptionData {
36
25
  reference_id: string;
@@ -42,7 +31,13 @@ export interface ChargeSubscriptionResponse {
42
31
  payment_urls: {
43
32
  short_link: string;
44
33
  };
45
- transaction: any;
34
+ transaction: {
35
+ id: number;
36
+ amount: number;
37
+ status: string;
38
+ reference_id: string;
39
+ [key: string]: any;
40
+ };
46
41
  }
47
42
  export interface SubscriptionPeriodsParams extends PaginationParams {
48
43
  status?: 'pending' | 'paid' | 'failed' | 'cancelled';
@@ -60,11 +55,43 @@ export interface SubscriptionPeriodsResponse {
60
55
  export declare class SubscriptionsResource {
61
56
  private client;
62
57
  constructor(client: HttpClient);
58
+ /**
59
+ * Convert internal subscription data (integers) to user-facing data (strings)
60
+ */
61
+ private translateToUserFacing;
62
+ /**
63
+ * Convert internal billing plan data to user-facing billing plan
64
+ */
65
+ private translateBillingPlanToUserFacing;
66
+ /**
67
+ * Convert filter parameters (strings to integers where needed)
68
+ * @deprecated This method is no longer needed as processQuery handles translation
69
+ */
70
+ private translateFilters;
71
+ /**
72
+ * Translate subscription data for API (contextual strings to integers)
73
+ */
74
+ private translateToInternal;
63
75
  /**
64
76
  * List billing subscriptions with pagination and filtering
65
77
  * Requires Client-Id header to be set in the configuration
66
78
  */
67
- list(params?: SubscriptionListParams): Promise<ApiResponse<SubscriptionListResponse>>;
79
+ list(params?: SubscriptionFilterParams): Promise<ApiResponse<SubscriptionListResponse>>;
80
+ /**
81
+ * Gets a billing subscription by ID
82
+ * Requires Client-Id header to be set in the configuration
83
+ */
84
+ get(id?: number): Promise<ApiResponse<Subscription>>;
85
+ /**
86
+ * Create a new subscription
87
+ * Requires Client-Id header to be set in the configuration
88
+ */
89
+ create(data: CreateSubscriptionData): Promise<ApiResponse<Subscription>>;
90
+ /**
91
+ * Delete a subscription
92
+ * Requires Client-Id header to be set in the configuration
93
+ */
94
+ delete(id: number): Promise<ApiResponse<void>>;
68
95
  /**
69
96
  * Create a subscription payment link
70
97
  * Requires Client-Id header to be set in the configuration
@@ -75,6 +102,11 @@ export declare class SubscriptionsResource {
75
102
  * Requires Client-Id header to be set in the configuration
76
103
  */
77
104
  charge(uid: string, data: ChargeSubscriptionData): Promise<ApiResponse<ChargeSubscriptionResponse>>;
105
+ /**
106
+ * Record usage for a subscription (for usage-based billing)
107
+ * Requires Client-Id header to be set in the configuration
108
+ */
109
+ usage(uid: string, data: SubscriptionChargeData): Promise<ApiResponse<SubscriptionUsageResponse>>;
78
110
  /**
79
111
  * Get subscription billing periods
80
112
  * Requires Client-Id header to be set in the configuration
@@ -84,6 +116,18 @@ export declare class SubscriptionsResource {
84
116
  * Cancel a subscription
85
117
  * Requires Client-Id header to be set in the configuration
86
118
  */
87
- cancel(uid: number, code: string): Promise<ApiResponse<any>>;
119
+ cancel(uid: number, code: string): Promise<ApiResponse<SubscriptionCancelResponse>>;
120
+ /**
121
+ * Query subscriptions with enhanced query support
122
+ * @example
123
+ * await subscriptions.query({ status: 'active', billing_plan_id: 123 })
124
+ */
125
+ query(params?: SubscriptionQueryParams): Promise<ApiResponse<SubscriptionListResponse>>;
126
+ /**
127
+ * Create a query builder for subscriptions
128
+ * @example
129
+ * await sdk.subscriptions.createQueryBuilder().whereStatus('active').execute()
130
+ */
131
+ createQueryBuilder(initialQuery?: SubscriptionQueryParams): SubscriptionQueryBuilder;
88
132
  }
89
133
  //# sourceMappingURL=subscriptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/resources/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAIlB,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAI3F;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAIxG;;;OAGG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAIzG;;;OAGG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAIpH;;;OAGG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;CAGnE"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/resources/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { HttpClient } from '../client';
2
+ import { Token, CreateTokenData, ApiResponse } from '../types';
3
+ import { TokenQueryBuilder } from '../utils/query-builders';
4
+ import { TokenFilterParams, TokenQueryParams, TokenListResponse } from '../types/resources';
5
+ /**
6
+ * Tokens Resource
7
+ *
8
+ * ⚠️ LIMITED ACCESS WARNING:
9
+ * This resource is primarily for super_admin and platform_affiliate roles.
10
+ * organisation_admin has limited access (view/list/create/delete only, no update).
11
+ * Use with caution and be aware of permission restrictions.
12
+ */
13
+ export declare class TokensResource {
14
+ private client;
15
+ constructor(client: HttpClient);
16
+ /**
17
+ * Convert filter parameters (strings to integers where needed)
18
+ */
19
+ private translateFilters;
20
+ /**
21
+ * Convert user-facing data to internal format
22
+ */
23
+ private translateToInternal;
24
+ /**
25
+ * List tokens with filtering
26
+ */
27
+ list(params?: TokenFilterParams): Promise<ApiResponse<TokenListResponse>>;
28
+ /**
29
+ * Get token by ID
30
+ */
31
+ get(id: number): Promise<ApiResponse<Token>>;
32
+ /**
33
+ * Create a new token
34
+ */
35
+ create(data: CreateTokenData): Promise<ApiResponse<Token>>;
36
+ /**
37
+ * Delete a token
38
+ */
39
+ delete(id: number): Promise<ApiResponse<void>>;
40
+ /**
41
+ * Advanced query interface with full type safety
42
+ *
43
+ * @example
44
+ * const tokens = await sdk.tokens.query({
45
+ * enabled: true,
46
+ * kind: [1, 2],
47
+ * user_id: 123
48
+ * });
49
+ */
50
+ query(params: TokenQueryParams): Promise<ApiResponse<TokenListResponse>>;
51
+ /**
52
+ * Create a fluent query builder for tokens
53
+ *
54
+ * @example
55
+ * const tokens = await sdk.tokens.createQueryBuilder()
56
+ * .whereEnabledEquals(true)
57
+ * .whereKindIn([1, 2])
58
+ * .execute();
59
+ */
60
+ createQueryBuilder(): TokenQueryBuilder;
61
+ }
62
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/resources/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,KAAK,EACL,eAAe,EAEf,WAAW,EACZ,MAAM,UAAU,CAAC;AAKlB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAK/E;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAIlD;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAKhE;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIpD;;;;;;;;;OASG;IACG,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAK9E;;;;;;;;OAQG;IACH,kBAAkB,IAAI,iBAAiB;CAGxC"}
@@ -0,0 +1,48 @@
1
+ import { HttpClient } from '../client';
2
+ import { TransactionEntry, ApiResponse } from '../types';
3
+ import { TransactionEntryQueryBuilder } from '../utils/query-builders';
4
+ import { TransactionEntryFilterParams, TransactionEntryQueryParams, TransactionEntryListResponse } from '../types/resources';
5
+ /**
6
+ * Transaction Entries Resource
7
+ *
8
+ * ⚠️ READ-ONLY RESOURCE:
9
+ * This resource is READ-ONLY for organisation_admin and owner roles.
10
+ * Only view and list operations are supported.
11
+ * Create/update/delete operations require super_admin privileges.
12
+ */
13
+ export declare class TransactionEntriesResource {
14
+ private client;
15
+ constructor(client: HttpClient);
16
+ /**
17
+ * List transaction entries with filtering
18
+ */
19
+ list(params?: TransactionEntryFilterParams): Promise<ApiResponse<TransactionEntryListResponse>>;
20
+ /**
21
+ * Get transaction entry by ID
22
+ */
23
+ get(id: number): Promise<ApiResponse<TransactionEntry>>;
24
+ /**
25
+ * Advanced query interface with full type safety
26
+ * Note: Transaction entries are read-only for organisation_admin.
27
+ * Create/update/delete operations require super_admin privileges.
28
+ *
29
+ * @example
30
+ * const entries = await sdk.transactionEntries.query({
31
+ * amount: { gte: 100 },
32
+ * type: [1, 2],
33
+ * transaction_id: 123
34
+ * });
35
+ */
36
+ query(params: TransactionEntryQueryParams): Promise<ApiResponse<TransactionEntryListResponse>>;
37
+ /**
38
+ * Create a fluent query builder for transaction entries
39
+ *
40
+ * @example
41
+ * const entries = await sdk.transactionEntries.createQueryBuilder()
42
+ * .whereAmountGreaterThan(100)
43
+ * .whereTypeIn([1, 2])
44
+ * .execute();
45
+ */
46
+ createQueryBuilder(): TransactionEntryQueryBuilder;
47
+ }
48
+ //# sourceMappingURL=transaction-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-entries.d.ts","sourceRoot":"","sources":["../../src/resources/transaction-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,gBAAgB,EAGhB,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAE7B,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,qBAAa,0BAA0B;IACzB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAIrG;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAI7D;;;;;;;;;;;OAWG;IACG,KAAK,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAKpG;;;;;;;;OAQG;IACH,kBAAkB,IAAI,4BAA4B;CAGnD"}
@@ -1,38 +1,48 @@
1
1
  import { HttpClient } from '../client';
2
- import { User, CreateUserData, UpdateUserData, ApiResponse, PaginationParams } from '../types';
3
- export interface UserListParams extends PaginationParams {
4
- search?: string;
5
- status?: number;
6
- level?: number;
7
- role_id?: number;
8
- organisation_id?: number;
9
- limit?: number;
10
- }
11
- export interface UserListResponse {
12
- entries: User[];
13
- page_info: {
14
- current_page: number;
15
- total_pages: number;
16
- total_entries: number;
17
- page_size: number;
18
- };
2
+ import { User, CreateUserData, UpdateUserData, ApiResponse } from '../types';
3
+ import { UserQueryBuilder } from '../utils/query-builders';
4
+ import { UserFilterParams, UserQueryParams, UserListResponse } from '../types/resources';
5
+ /**
6
+ * @deprecated Use UserFilterParams from types/resources instead
7
+ */
8
+ export interface LegacyUserFilterParams {
19
9
  }
20
- export interface CreateUserRequestData extends CreateUserData {
10
+ export interface CreateUserRequestData {
11
+ email: string;
12
+ phone?: string;
13
+ first_name: string;
14
+ last_name: string;
15
+ username?: string;
16
+ password: string;
17
+ status?: number;
21
18
  level?: number;
22
19
  dob?: number | null;
23
20
  sex?: number | null;
24
21
  image?: string | null;
22
+ kind?: number;
25
23
  organisation_id?: number | null;
26
- merchant_id?: number | null;
24
+ role_id?: number;
27
25
  }
28
26
  export declare class UsersResource {
29
27
  private client;
30
28
  constructor(client: HttpClient);
29
+ /**
30
+ * Convert internal user data (integers) to user-facing data (strings)
31
+ */
32
+ private translateUserToUserFacing;
33
+ /**
34
+ * Convert user-facing user data (strings) to internal data (integers)
35
+ */
36
+ private translateUserToInternal;
37
+ /**
38
+ * Convert filter parameters (strings to integers where needed)
39
+ */
40
+ private translateFilters;
31
41
  /**
32
42
  * List users with pagination and filtering
33
43
  * Requires Client-Id header to be set in the configuration
34
44
  */
35
- list(params?: UserListParams): Promise<ApiResponse<UserListResponse>>;
45
+ list(params?: UserFilterParams): Promise<ApiResponse<UserListResponse>>;
36
46
  /**
37
47
  * Get a specific user by ID
38
48
  * Requires Client-Id header to be set in the configuration
@@ -42,7 +52,7 @@ export declare class UsersResource {
42
52
  * Create a new user
43
53
  * Requires Client-Id header to be set in the configuration
44
54
  */
45
- create(data: CreateUserRequestData): Promise<ApiResponse<User>>;
55
+ create(data: CreateUserData): Promise<ApiResponse<User>>;
46
56
  /**
47
57
  * Update an existing user
48
58
  * Requires Client-Id header to be set in the configuration
@@ -53,5 +63,17 @@ export declare class UsersResource {
53
63
  * Requires Client-Id header to be set in the configuration
54
64
  */
55
65
  delete(id: number): Promise<ApiResponse<void>>;
66
+ /**
67
+ * Query users with enhanced query support
68
+ * @example
69
+ * await users.query({ status: 'approved', level: { min: 5 } })
70
+ */
71
+ query(params?: UserQueryParams): Promise<ApiResponse<UserListResponse>>;
72
+ /**
73
+ * Create a query builder for users
74
+ * @example
75
+ * await sdk.users.createQueryBuilder().whereStatus('approved').execute()
76
+ */
77
+ createQueryBuilder(initialQuery?: UserQueryParams): UserQueryBuilder;
56
78
  }
57
79
  //# sourceMappingURL=users.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,IAAI,EACJ,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAI3E;;;OAGG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIjD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIrE;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAI1E;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CAGrD"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,IAAI,EACJ,cAAc,EACd,cAAc,EACd,WAAW,EAIZ,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,sBAAsB;CAEtC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAK7E;;;OAGG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIjD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAK9D;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAK1E;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIpD;;;;OAIG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAgB7E;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,CAAC,EAAE,eAAe,GAAG,gBAAgB;CAGrE"}