@oxyhq/services 6.10.2 → 6.10.4

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 (76) hide show
  1. package/lib/commonjs/index.js +32 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +22 -9
  4. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  5. package/lib/commonjs/ui/hooks/queries/index.js +31 -0
  6. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -1
  7. package/lib/commonjs/ui/hooks/queries/paymentTypes.js +2 -0
  8. package/lib/commonjs/ui/hooks/queries/paymentTypes.js.map +1 -0
  9. package/lib/commonjs/ui/hooks/queries/queryKeys.js +13 -0
  10. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +140 -0
  12. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -0
  13. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +26 -1
  14. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  15. package/lib/commonjs/ui/hooks/queryClient.js +1 -1
  16. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/useWebSSO.js +47 -2
  18. package/lib/commonjs/ui/hooks/useWebSSO.js.map +1 -1
  19. package/lib/module/index.js +3 -1
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/ui/context/hooks/useAuthOperations.js +22 -9
  22. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  23. package/lib/module/ui/hooks/queries/index.js +7 -2
  24. package/lib/module/ui/hooks/queries/index.js.map +1 -1
  25. package/lib/module/ui/hooks/queries/paymentTypes.js +2 -0
  26. package/lib/module/ui/hooks/queries/paymentTypes.js.map +1 -0
  27. package/lib/module/ui/hooks/queries/queryKeys.js +13 -0
  28. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  29. package/lib/module/ui/hooks/queries/usePaymentQueries.js +132 -0
  30. package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -0
  31. package/lib/module/ui/hooks/queries/useServicesQueries.js +24 -0
  32. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  33. package/lib/module/ui/hooks/queryClient.js +1 -1
  34. package/lib/module/ui/hooks/queryClient.js.map +1 -1
  35. package/lib/module/ui/hooks/useWebSSO.js +47 -2
  36. package/lib/module/ui/hooks/useWebSSO.js.map +1 -1
  37. package/lib/typescript/commonjs/index.d.ts +2 -1
  38. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/ui/hooks/queries/index.d.ts +3 -1
  41. package/lib/typescript/commonjs/ui/hooks/queries/index.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/ui/hooks/queries/paymentTypes.d.ts +137 -0
  43. package/lib/typescript/commonjs/ui/hooks/queries/paymentTypes.d.ts.map +1 -0
  44. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +11 -0
  45. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/ui/hooks/queries/usePaymentQueries.d.ts +63 -0
  47. package/lib/typescript/commonjs/ui/hooks/queries/usePaymentQueries.d.ts.map +1 -0
  48. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +11 -1
  49. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +1 -1
  52. package/lib/typescript/module/index.d.ts +2 -1
  53. package/lib/typescript/module/index.d.ts.map +1 -1
  54. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  55. package/lib/typescript/module/ui/hooks/queries/index.d.ts +3 -1
  56. package/lib/typescript/module/ui/hooks/queries/index.d.ts.map +1 -1
  57. package/lib/typescript/module/ui/hooks/queries/paymentTypes.d.ts +137 -0
  58. package/lib/typescript/module/ui/hooks/queries/paymentTypes.d.ts.map +1 -0
  59. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +11 -0
  60. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  61. package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts +63 -0
  62. package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts.map +1 -0
  63. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +11 -1
  64. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  65. package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
  66. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/src/index.ts +9 -0
  69. package/src/ui/context/hooks/useAuthOperations.ts +22 -9
  70. package/src/ui/hooks/queries/index.ts +25 -1
  71. package/src/ui/hooks/queries/paymentTypes.ts +141 -0
  72. package/src/ui/hooks/queries/queryKeys.ts +26 -0
  73. package/src/ui/hooks/queries/usePaymentQueries.ts +136 -0
  74. package/src/ui/hooks/queries/useServicesQueries.ts +26 -1
  75. package/src/ui/hooks/queryClient.ts +1 -0
  76. package/src/ui/hooks/useWebSSO.ts +48 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,qQAkB/B,wBAAwB,KAAG,uBAqT7B,CAAC"}
1
+ {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,qQAkB/B,wBAAwB,KAAG,uBAkU7B,CAAC"}
@@ -5,7 +5,9 @@
5
5
  * All hooks follow the same pattern with optional `enabled` parameter.
6
6
  */
7
7
  export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, } from './useAccountQueries';
8
- export { useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, } from './useServicesQueries';
8
+ export { useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, useAccountStorageUsage, } from './useServicesQueries';
9
9
  export { useSecurityActivity, useRecentSecurityActivity, useInfiniteSecurityActivity, } from './useSecurityQueries';
10
+ export { useUserSubscription, useUserPayments, useUserWallet, useUserWalletTransactions, } from './usePaymentQueries';
11
+ export type { Subscription, SubscriptionPlan, SubscriptionStatus, SubscriptionFeatures, Payment, Wallet, WalletTransaction, WalletTransactionType, WalletTransactionStatus, WalletPagination, WalletTransactionsResponse, } from './paymentTypes';
10
12
  export { queryKeys, invalidateAccountQueries, invalidateUserQueries, invalidateSessionQueries } from './queryKeys';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Payment / wallet / subscription domain types.
3
+ *
4
+ * These model the JSON shapes the Oxy API actually returns for the
5
+ * payment-related read endpoints, so the corresponding query hooks
6
+ * (`useUserSubscription`, `useUserPayments`, `useUserWallet`,
7
+ * `useUserWalletTransactions`) expose precise types instead of `any`.
8
+ *
9
+ * Source of truth (API):
10
+ * - Subscription: GET /subscription/:userId -> `Subscription` model JSON,
11
+ * or the fallback `{ plan: 'basic' }` when none exists.
12
+ * - Payments: GET /payments/user -> `Payment[]` (sendSuccess).
13
+ * - Wallet: GET /wallet/:userId -> `Wallet` (sendSuccess).
14
+ * - Transactions: GET /wallet/transactions/:userId
15
+ * -> `WalletTransactionsResponse` (sendPaginated envelope).
16
+ *
17
+ * All `Date` columns are serialized as ISO-8601 strings over the wire.
18
+ *
19
+ * Note: `@oxyhq/services` deliberately does NOT re-export these from
20
+ * `@oxyhq/core`. They live here because they describe the return shape of
21
+ * the services-layer query hooks; consumers that need core domain types
22
+ * import those directly from `@oxyhq/core`.
23
+ */
24
+ /** Subscription tier. Mirrors the `plan` enum on the API `Subscription` model. */
25
+ export type SubscriptionPlan = 'basic' | 'pro' | 'business';
26
+ /** Lifecycle state of a subscription. */
27
+ export type SubscriptionStatus = 'active' | 'canceled' | 'expired';
28
+ /** Feature flags toggled by the active subscription plan. */
29
+ export interface SubscriptionFeatures {
30
+ analytics: boolean;
31
+ premiumBadge: boolean;
32
+ unlimitedFollowing: boolean;
33
+ higherUploadLimits: boolean;
34
+ promotedPosts: boolean;
35
+ businessTools: boolean;
36
+ }
37
+ /**
38
+ * A user's subscription.
39
+ *
40
+ * When a user has never subscribed, the API returns the minimal fallback
41
+ * `{ plan: 'basic' }`; every other field is therefore optional so the type
42
+ * covers both the persisted document and the fallback.
43
+ */
44
+ export interface Subscription {
45
+ plan: SubscriptionPlan;
46
+ status?: SubscriptionStatus;
47
+ /** Account this subscription belongs to (absent on the basic fallback). */
48
+ userId?: string;
49
+ /** ISO-8601 timestamp the current period started. */
50
+ startDate?: string;
51
+ /** ISO-8601 timestamp the current period ends / renews. */
52
+ endDate?: string;
53
+ autoRenew?: boolean;
54
+ paymentMethod?: string;
55
+ latestInvoice?: string;
56
+ features?: SubscriptionFeatures;
57
+ /** ISO-8601 creation timestamp. */
58
+ createdAt?: string;
59
+ /** ISO-8601 last-update timestamp. */
60
+ updatedAt?: string;
61
+ }
62
+ /**
63
+ * A billing / payment history entry, derived from `deposit` and `purchase`
64
+ * transactions on the API side (`GET /payments/user`).
65
+ */
66
+ export interface Payment {
67
+ id: string;
68
+ userId: string;
69
+ type: string;
70
+ amount: number;
71
+ status: string;
72
+ description?: string;
73
+ itemId?: string;
74
+ itemType?: string;
75
+ /** ISO-8601 timestamp the payment was created (maps to `createdAt`). */
76
+ timestamp?: string;
77
+ /** ISO-8601 timestamp the payment settled, when applicable. */
78
+ completedAt?: string;
79
+ }
80
+ /** FairCoin wallet balance for a user (`GET /wallet/:userId`). */
81
+ export interface Wallet {
82
+ userId: string;
83
+ balance: number;
84
+ /** On-chain withdrawal address, `null` until one is set. */
85
+ address: string | null;
86
+ }
87
+ /** Direction/category of a wallet transaction. */
88
+ export type WalletTransactionType = 'deposit' | 'withdrawal' | 'transfer' | 'purchase';
89
+ /** Settlement state of a wallet transaction. */
90
+ export type WalletTransactionStatus = 'pending' | 'completed' | 'failed' | 'cancelled';
91
+ /**
92
+ * A single wallet ledger entry returned by the transaction-history endpoint.
93
+ *
94
+ * The populated `userId` / `recipientId` may arrive either as a bare id
95
+ * string or as a `{ _id, username }` object depending on Mongoose
96
+ * population, so both shapes are modelled.
97
+ */
98
+ export interface WalletTransaction {
99
+ id: string;
100
+ userId: string | {
101
+ _id: string;
102
+ username?: string;
103
+ };
104
+ type: WalletTransactionType;
105
+ amount: number;
106
+ status: WalletTransactionStatus;
107
+ description?: string;
108
+ recipientId?: string | {
109
+ _id: string;
110
+ username?: string;
111
+ } | null;
112
+ itemId?: string;
113
+ itemType?: string;
114
+ /** ISO-8601 creation timestamp (maps to `createdAt`). */
115
+ timestamp?: string;
116
+ /** ISO-8601 settlement timestamp, when applicable. */
117
+ completedAt?: string;
118
+ }
119
+ /** Pagination metadata attached to a paginated list response. */
120
+ export interface WalletPagination {
121
+ total: number;
122
+ limit: number;
123
+ offset: number;
124
+ hasMore: boolean;
125
+ }
126
+ /**
127
+ * Paginated envelope returned by `GET /wallet/transactions/:userId`.
128
+ *
129
+ * The HTTP layer preserves the `{ data, pagination }` shape for paginated
130
+ * responses (it only unwraps the plain `{ data }` success envelope), so
131
+ * callers receive the list under `data`.
132
+ */
133
+ export interface WalletTransactionsResponse {
134
+ data: WalletTransaction[];
135
+ pagination: WalletPagination;
136
+ }
137
+ //# sourceMappingURL=paymentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentTypes.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/paymentTypes.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,17 @@ export declare const queryKeys: {
50
50
  readonly recent: (limit: number) => readonly ["security", "recent", number];
51
51
  readonly infinite: (limit: number, eventType?: string) => readonly ["security", "infinite", number, string | undefined];
52
52
  };
53
+ readonly storage: {
54
+ readonly all: readonly ["storage"];
55
+ readonly usage: () => readonly ["storage", "usage"];
56
+ };
57
+ readonly payments: {
58
+ readonly all: readonly ["payments"];
59
+ readonly subscription: (userId?: string) => readonly ["payments", "subscription", string];
60
+ readonly history: (userId?: string) => readonly ["payments", "history", string];
61
+ readonly wallet: (userId?: string) => readonly ["payments", "wallet", string];
62
+ readonly walletTransactions: (limit?: number, offset?: number, userId?: string) => readonly ["payments", "wallet", string, "transactions", number | undefined, number | undefined];
63
+ };
53
64
  };
54
65
  /**
55
66
  * Helper to invalidate all account-related queries
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;;;;;;;iCASV,MAAM,EAAE;;kCAEP,MAAM;sCACF,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;iCAOT,MAAM;;oCAEH,MAAM;;;;qCAML,MAAM;;;;oCAMP,MAAM,WAAW,MAAM,cAAc,MAAM;iCAE9C,MAAM;mCAEJ,MAAM,cAAc,MAAM;;CAGtC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,SAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC"}
1
+ {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;;;;;;;iCASV,MAAM,EAAE;;kCAEP,MAAM;sCACF,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;iCAOT,MAAM;;oCAEH,MAAM;;;;qCAML,MAAM;;;;oCAMP,MAAM,WAAW,MAAM,cAAc,MAAM;iCAE9C,MAAM;mCAEJ,MAAM,cAAc,MAAM;;;;;;;;yCAapB,MAAM;oCAEX,MAAM;mCAEP,MAAM;8CAEK,MAAM,WAAW,MAAM,WAAW,MAAM;;CAU/D,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,SAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { Subscription, Payment, Wallet, WalletTransactionsResponse } from './paymentTypes';
2
+ /**
3
+ * Payment / wallet / subscription query hooks.
4
+ *
5
+ * These replace the imperative `oxyServices.*` + `Promise.allSettled` +
6
+ * `useEffect` pattern used in app screens. Each hook:
7
+ * - is gated on `isAuthenticated` (the underlying SDK methods read the
8
+ * current user id off the access token and throw when unauthenticated),
9
+ * - routes through `authenticatedApiCall` so a stale token is refreshed and
10
+ * auth errors are handled consistently (matches `useUserDevices` /
11
+ * `usePrivacySettings`),
12
+ * - keeps its `queryFn` pure — no store writes, no side effects.
13
+ *
14
+ * The wrapped SDK methods (`@oxyhq/core` payment mixin) return `any`; the
15
+ * generic on `authenticatedApiCall<T>` pins the resolved value to the
16
+ * precise domain type so consumers get full typing.
17
+ */
18
+ /**
19
+ * Get the current user's subscription.
20
+ *
21
+ * Wraps `oxyServices.getCurrentUserSubscription()`
22
+ * (`GET /subscription/:userId`). Returns the persisted subscription or the
23
+ * API's `{ plan: 'basic' }` fallback when the user has never subscribed.
24
+ */
25
+ export declare const useUserSubscription: (options?: {
26
+ enabled?: boolean;
27
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<Subscription>, Error>;
28
+ /**
29
+ * Get the current user's payment / billing history.
30
+ *
31
+ * Wraps `oxyServices.getUserPayments()` (`GET /payments/user`), which
32
+ * returns the user's `deposit` and `purchase` transactions newest-first.
33
+ */
34
+ export declare const useUserPayments: (options?: {
35
+ enabled?: boolean;
36
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<Payment[]>, Error>;
37
+ /**
38
+ * Get the current user's FairCoin wallet balance.
39
+ *
40
+ * Wraps `oxyServices.getCurrentUserWallet()` (`GET /wallet/:userId`).
41
+ * Balance changes frequently, so the fresh window is intentionally short.
42
+ */
43
+ export declare const useUserWallet: (options?: {
44
+ enabled?: boolean;
45
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<Wallet>, Error>;
46
+ /**
47
+ * Get the current user's wallet transaction history (paginated).
48
+ *
49
+ * Wraps `oxyServices.getCurrentUserWalletTransactions(options)`
50
+ * (`GET /wallet/transactions/:userId`). The API responds with a
51
+ * `{ data, pagination }` envelope, preserved here as
52
+ * `WalletTransactionsResponse`.
53
+ *
54
+ * @param params - Optional `limit` / `offset` pagination controls. These are
55
+ * part of the query key, so distinct pages cache independently.
56
+ */
57
+ export declare const useUserWalletTransactions: (params?: {
58
+ limit?: number;
59
+ offset?: number;
60
+ }, options?: {
61
+ enabled?: boolean;
62
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<WalletTransactionsResponse>, Error>;
63
+ //# sourceMappingURL=usePaymentQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePaymentQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/usePaymentQueries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,MAAM,EACN,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iFAiBlE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,8EAiB9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2EAgB5D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5C,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+FAmBhC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ClientSession } from '@oxyhq/core';
1
+ import type { AccountStorageUsageResponse, ClientSession } from '@oxyhq/core';
2
2
  /**
3
3
  * Get all active sessions for the current user
4
4
  */
@@ -31,4 +31,14 @@ export declare const useSecurityInfo: (options?: {
31
31
  }) => import("@tanstack/react-query").UseQueryResult<NoInfer<{
32
32
  recoveryEmail: string | null;
33
33
  }>, Error>;
34
+ /**
35
+ * Get account storage usage (server-aggregated usage across assets, mail,
36
+ * recordings, etc.). Wraps `oxyServices.getAccountStorageUsage()` in a
37
+ * TanStack query so consumers get caching, background refetch, and a
38
+ * consistent `isLoading` / `refetch` surface instead of hand-rolled
39
+ * `useEffect` fetches.
40
+ */
41
+ export declare const useAccountStorageUsage: (options?: {
42
+ enabled?: boolean;
43
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<AccountStorageUsageResponse>, Error>;
34
44
  //# sourceMappingURL=useServicesQueries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oFAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,kFA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;UAY9D,CAAC"}
1
+ {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK9E;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oFAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,kFA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;UAY9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gGAgBrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queryClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAA4C,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmEhE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,QAAO,WA6CpC,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,aAAa,WAAW,EACxB,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC3C,uBA+BF,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAa7E,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queryClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAA4C,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoEhE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,QAAO,WA6CpC,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,aAAa,WAAW,EACxB,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC3C,uBA+BF,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAa7E,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWebSSO.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useWebSSO.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,UAAU,gBAAgB;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACrD,2DAA2D;IAC3D,eAAe,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC5D,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,iBAAS,YAAY,IAAI,OAAO,CAI/B;AAgBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,OAAc,GACf,EAAE,gBAAgB,GAAG,eAAe,CAwGpC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"useWebSSO.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useWebSSO.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,UAAU,gBAAgB;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACrD,2DAA2D;IAC3D,eAAe,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC5D,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAgCD;;GAEG;AACH,iBAAS,YAAY,IAAI,OAAO,CAI/B;AAgBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,OAAc,GACf,EAAE,gBAAgB,GAAG,eAAe,CAwHpC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -28,7 +28,8 @@ export { useSessionSocket } from './ui/hooks/useSessionSocket';
28
28
  export { useAssets, setOxyAssetInstance } from './ui/hooks/useAssets';
29
29
  export { useFileDownloadUrl } from './ui/hooks/useFileDownloadUrl';
30
30
  export { useFollow, useFollowerCounts } from './ui/hooks/useFollow';
31
- export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, useSecurityActivity, useRecentSecurityActivity, useInfiniteSecurityActivity, } from './ui/hooks/queries';
31
+ export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, useAccountStorageUsage, useSecurityActivity, useRecentSecurityActivity, useInfiniteSecurityActivity, useUserSubscription, useUserPayments, useUserWallet, useUserWalletTransactions, } from './ui/hooks/queries';
32
+ export type { Subscription, SubscriptionPlan, SubscriptionStatus, SubscriptionFeatures, Payment, Wallet, WalletTransaction, WalletTransactionType, WalletTransactionStatus, WalletPagination, WalletTransactionsResponse, } from './ui/hooks/queries';
32
33
  export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUploadFile, useSwitchSession, useLogoutSession, useLogoutAll, useUpdateDeviceName, useRemoveDevice, } from './ui/hooks/mutations';
33
34
  export { createProfileMutation, createGenericMutation, } from './ui/hooks/mutations/mutationFactory';
34
35
  export type { ProfileMutationConfig, GenericMutationConfig, } from './ui/hooks/mutations/mutationFactory';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EACL,cAAc,EAAE,eAAe,EAAE,cAAc,EAC/C,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAClD,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAC3C,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAClD,mBAAmB,EAAE,yBAAyB,EAAE,2BAA2B,GAC5E,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAAE,eAAe,EAAE,wBAAwB,EAC3D,wBAAwB,EAAE,aAAa,EAAE,gBAAgB,EACzD,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,GACrE,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EAAE,qBAAqB,GAC7C,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,qBAAqB,EAAE,qBAAqB,GAC7C,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,EACL,eAAe,EAAE,qBAAqB,EACtC,uBAAuB,EAAE,mBAAmB,GAC7C,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACvF,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,qQAkB/B,wBAAwB,KAAG,uBAqT7B,CAAC"}
1
+ {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,qQAkB/B,wBAAwB,KAAG,uBAkU7B,CAAC"}
@@ -5,7 +5,9 @@
5
5
  * All hooks follow the same pattern with optional `enabled` parameter.
6
6
  */
7
7
  export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, } from './useAccountQueries';
8
- export { useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, } from './useServicesQueries';
8
+ export { useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, useAccountStorageUsage, } from './useServicesQueries';
9
9
  export { useSecurityActivity, useRecentSecurityActivity, useInfiniteSecurityActivity, } from './useSecurityQueries';
10
+ export { useUserSubscription, useUserPayments, useUserWallet, useUserWalletTransactions, } from './usePaymentQueries';
11
+ export type { Subscription, SubscriptionPlan, SubscriptionStatus, SubscriptionFeatures, Payment, Wallet, WalletTransaction, WalletTransactionType, WalletTransactionStatus, WalletPagination, WalletTransactionsResponse, } from './paymentTypes';
10
12
  export { queryKeys, invalidateAccountQueries, invalidateUserQueries, invalidateSessionQueries } from './queryKeys';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Payment / wallet / subscription domain types.
3
+ *
4
+ * These model the JSON shapes the Oxy API actually returns for the
5
+ * payment-related read endpoints, so the corresponding query hooks
6
+ * (`useUserSubscription`, `useUserPayments`, `useUserWallet`,
7
+ * `useUserWalletTransactions`) expose precise types instead of `any`.
8
+ *
9
+ * Source of truth (API):
10
+ * - Subscription: GET /subscription/:userId -> `Subscription` model JSON,
11
+ * or the fallback `{ plan: 'basic' }` when none exists.
12
+ * - Payments: GET /payments/user -> `Payment[]` (sendSuccess).
13
+ * - Wallet: GET /wallet/:userId -> `Wallet` (sendSuccess).
14
+ * - Transactions: GET /wallet/transactions/:userId
15
+ * -> `WalletTransactionsResponse` (sendPaginated envelope).
16
+ *
17
+ * All `Date` columns are serialized as ISO-8601 strings over the wire.
18
+ *
19
+ * Note: `@oxyhq/services` deliberately does NOT re-export these from
20
+ * `@oxyhq/core`. They live here because they describe the return shape of
21
+ * the services-layer query hooks; consumers that need core domain types
22
+ * import those directly from `@oxyhq/core`.
23
+ */
24
+ /** Subscription tier. Mirrors the `plan` enum on the API `Subscription` model. */
25
+ export type SubscriptionPlan = 'basic' | 'pro' | 'business';
26
+ /** Lifecycle state of a subscription. */
27
+ export type SubscriptionStatus = 'active' | 'canceled' | 'expired';
28
+ /** Feature flags toggled by the active subscription plan. */
29
+ export interface SubscriptionFeatures {
30
+ analytics: boolean;
31
+ premiumBadge: boolean;
32
+ unlimitedFollowing: boolean;
33
+ higherUploadLimits: boolean;
34
+ promotedPosts: boolean;
35
+ businessTools: boolean;
36
+ }
37
+ /**
38
+ * A user's subscription.
39
+ *
40
+ * When a user has never subscribed, the API returns the minimal fallback
41
+ * `{ plan: 'basic' }`; every other field is therefore optional so the type
42
+ * covers both the persisted document and the fallback.
43
+ */
44
+ export interface Subscription {
45
+ plan: SubscriptionPlan;
46
+ status?: SubscriptionStatus;
47
+ /** Account this subscription belongs to (absent on the basic fallback). */
48
+ userId?: string;
49
+ /** ISO-8601 timestamp the current period started. */
50
+ startDate?: string;
51
+ /** ISO-8601 timestamp the current period ends / renews. */
52
+ endDate?: string;
53
+ autoRenew?: boolean;
54
+ paymentMethod?: string;
55
+ latestInvoice?: string;
56
+ features?: SubscriptionFeatures;
57
+ /** ISO-8601 creation timestamp. */
58
+ createdAt?: string;
59
+ /** ISO-8601 last-update timestamp. */
60
+ updatedAt?: string;
61
+ }
62
+ /**
63
+ * A billing / payment history entry, derived from `deposit` and `purchase`
64
+ * transactions on the API side (`GET /payments/user`).
65
+ */
66
+ export interface Payment {
67
+ id: string;
68
+ userId: string;
69
+ type: string;
70
+ amount: number;
71
+ status: string;
72
+ description?: string;
73
+ itemId?: string;
74
+ itemType?: string;
75
+ /** ISO-8601 timestamp the payment was created (maps to `createdAt`). */
76
+ timestamp?: string;
77
+ /** ISO-8601 timestamp the payment settled, when applicable. */
78
+ completedAt?: string;
79
+ }
80
+ /** FairCoin wallet balance for a user (`GET /wallet/:userId`). */
81
+ export interface Wallet {
82
+ userId: string;
83
+ balance: number;
84
+ /** On-chain withdrawal address, `null` until one is set. */
85
+ address: string | null;
86
+ }
87
+ /** Direction/category of a wallet transaction. */
88
+ export type WalletTransactionType = 'deposit' | 'withdrawal' | 'transfer' | 'purchase';
89
+ /** Settlement state of a wallet transaction. */
90
+ export type WalletTransactionStatus = 'pending' | 'completed' | 'failed' | 'cancelled';
91
+ /**
92
+ * A single wallet ledger entry returned by the transaction-history endpoint.
93
+ *
94
+ * The populated `userId` / `recipientId` may arrive either as a bare id
95
+ * string or as a `{ _id, username }` object depending on Mongoose
96
+ * population, so both shapes are modelled.
97
+ */
98
+ export interface WalletTransaction {
99
+ id: string;
100
+ userId: string | {
101
+ _id: string;
102
+ username?: string;
103
+ };
104
+ type: WalletTransactionType;
105
+ amount: number;
106
+ status: WalletTransactionStatus;
107
+ description?: string;
108
+ recipientId?: string | {
109
+ _id: string;
110
+ username?: string;
111
+ } | null;
112
+ itemId?: string;
113
+ itemType?: string;
114
+ /** ISO-8601 creation timestamp (maps to `createdAt`). */
115
+ timestamp?: string;
116
+ /** ISO-8601 settlement timestamp, when applicable. */
117
+ completedAt?: string;
118
+ }
119
+ /** Pagination metadata attached to a paginated list response. */
120
+ export interface WalletPagination {
121
+ total: number;
122
+ limit: number;
123
+ offset: number;
124
+ hasMore: boolean;
125
+ }
126
+ /**
127
+ * Paginated envelope returned by `GET /wallet/transactions/:userId`.
128
+ *
129
+ * The HTTP layer preserves the `{ data, pagination }` shape for paginated
130
+ * responses (it only unwraps the plain `{ data }` success envelope), so
131
+ * callers receive the list under `data`.
132
+ */
133
+ export interface WalletTransactionsResponse {
134
+ data: WalletTransaction[];
135
+ pagination: WalletPagination;
136
+ }
137
+ //# sourceMappingURL=paymentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentTypes.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/paymentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;AAE5D,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEnE,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvF,gDAAgD;AAChD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;CAC9B"}
@@ -50,6 +50,17 @@ export declare const queryKeys: {
50
50
  readonly recent: (limit: number) => readonly ["security", "recent", number];
51
51
  readonly infinite: (limit: number, eventType?: string) => readonly ["security", "infinite", number, string | undefined];
52
52
  };
53
+ readonly storage: {
54
+ readonly all: readonly ["storage"];
55
+ readonly usage: () => readonly ["storage", "usage"];
56
+ };
57
+ readonly payments: {
58
+ readonly all: readonly ["payments"];
59
+ readonly subscription: (userId?: string) => readonly ["payments", "subscription", string];
60
+ readonly history: (userId?: string) => readonly ["payments", "history", string];
61
+ readonly wallet: (userId?: string) => readonly ["payments", "wallet", string];
62
+ readonly walletTransactions: (limit?: number, offset?: number, userId?: string) => readonly ["payments", "wallet", string, "transactions", number | undefined, number | undefined];
63
+ };
53
64
  };
54
65
  /**
55
66
  * Helper to invalidate all account-related queries
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;;;;;;;iCASV,MAAM,EAAE;;kCAEP,MAAM;sCACF,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;iCAOT,MAAM;;oCAEH,MAAM;;;;qCAML,MAAM;;;;oCAMP,MAAM,WAAW,MAAM,cAAc,MAAM;iCAE9C,MAAM;mCAEJ,MAAM,cAAc,MAAM;;CAGtC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,SAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC"}
1
+ {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;;;;;;;iCASV,MAAM,EAAE;;kCAEP,MAAM;sCACF,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;iCAOT,MAAM;;oCAEH,MAAM;;;;qCAML,MAAM;;;;oCAMP,MAAM,WAAW,MAAM,cAAc,MAAM;iCAE9C,MAAM;mCAEJ,MAAM,cAAc,MAAM;;;;;;;;yCAapB,MAAM;oCAEX,MAAM;mCAEP,MAAM;8CAEK,MAAM,WAAW,MAAM,WAAW,MAAM;;CAU/D,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,SAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { Subscription, Payment, Wallet, WalletTransactionsResponse } from './paymentTypes';
2
+ /**
3
+ * Payment / wallet / subscription query hooks.
4
+ *
5
+ * These replace the imperative `oxyServices.*` + `Promise.allSettled` +
6
+ * `useEffect` pattern used in app screens. Each hook:
7
+ * - is gated on `isAuthenticated` (the underlying SDK methods read the
8
+ * current user id off the access token and throw when unauthenticated),
9
+ * - routes through `authenticatedApiCall` so a stale token is refreshed and
10
+ * auth errors are handled consistently (matches `useUserDevices` /
11
+ * `usePrivacySettings`),
12
+ * - keeps its `queryFn` pure — no store writes, no side effects.
13
+ *
14
+ * The wrapped SDK methods (`@oxyhq/core` payment mixin) return `any`; the
15
+ * generic on `authenticatedApiCall<T>` pins the resolved value to the
16
+ * precise domain type so consumers get full typing.
17
+ */
18
+ /**
19
+ * Get the current user's subscription.
20
+ *
21
+ * Wraps `oxyServices.getCurrentUserSubscription()`
22
+ * (`GET /subscription/:userId`). Returns the persisted subscription or the
23
+ * API's `{ plan: 'basic' }` fallback when the user has never subscribed.
24
+ */
25
+ export declare const useUserSubscription: (options?: {
26
+ enabled?: boolean;
27
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<Subscription>, Error>;
28
+ /**
29
+ * Get the current user's payment / billing history.
30
+ *
31
+ * Wraps `oxyServices.getUserPayments()` (`GET /payments/user`), which
32
+ * returns the user's `deposit` and `purchase` transactions newest-first.
33
+ */
34
+ export declare const useUserPayments: (options?: {
35
+ enabled?: boolean;
36
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<Payment[]>, Error>;
37
+ /**
38
+ * Get the current user's FairCoin wallet balance.
39
+ *
40
+ * Wraps `oxyServices.getCurrentUserWallet()` (`GET /wallet/:userId`).
41
+ * Balance changes frequently, so the fresh window is intentionally short.
42
+ */
43
+ export declare const useUserWallet: (options?: {
44
+ enabled?: boolean;
45
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<Wallet>, Error>;
46
+ /**
47
+ * Get the current user's wallet transaction history (paginated).
48
+ *
49
+ * Wraps `oxyServices.getCurrentUserWalletTransactions(options)`
50
+ * (`GET /wallet/transactions/:userId`). The API responds with a
51
+ * `{ data, pagination }` envelope, preserved here as
52
+ * `WalletTransactionsResponse`.
53
+ *
54
+ * @param params - Optional `limit` / `offset` pagination controls. These are
55
+ * part of the query key, so distinct pages cache independently.
56
+ */
57
+ export declare const useUserWalletTransactions: (params?: {
58
+ limit?: number;
59
+ offset?: number;
60
+ }, options?: {
61
+ enabled?: boolean;
62
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<WalletTransactionsResponse>, Error>;
63
+ //# sourceMappingURL=usePaymentQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePaymentQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/usePaymentQueries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,MAAM,EACN,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iFAiBlE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,8EAiB9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2EAgB5D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5C,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+FAmBhC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ClientSession } from '@oxyhq/core';
1
+ import type { AccountStorageUsageResponse, ClientSession } from '@oxyhq/core';
2
2
  /**
3
3
  * Get all active sessions for the current user
4
4
  */
@@ -31,4 +31,14 @@ export declare const useSecurityInfo: (options?: {
31
31
  }) => import("@tanstack/react-query").UseQueryResult<NoInfer<{
32
32
  recoveryEmail: string | null;
33
33
  }>, Error>;
34
+ /**
35
+ * Get account storage usage (server-aggregated usage across assets, mail,
36
+ * recordings, etc.). Wraps `oxyServices.getAccountStorageUsage()` in a
37
+ * TanStack query so consumers get caching, background refetch, and a
38
+ * consistent `isLoading` / `refetch` surface instead of hand-rolled
39
+ * `useEffect` fetches.
40
+ */
41
+ export declare const useAccountStorageUsage: (options?: {
42
+ enabled?: boolean;
43
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<AccountStorageUsageResponse>, Error>;
34
44
  //# sourceMappingURL=useServicesQueries.d.ts.map