@oxyhq/services 0.1.0 → 0.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 (98) hide show
  1. package/README.md +144 -250
  2. package/dist/backend/auth.d.ts +37 -0
  3. package/dist/backend/auth.js +81 -0
  4. package/dist/backend/index.d.ts +12 -0
  5. package/dist/backend/index.js +20 -0
  6. package/dist/backend/karma.d.ts +45 -0
  7. package/dist/backend/karma.js +83 -0
  8. package/dist/backend/users.d.ts +39 -0
  9. package/dist/backend/users.js +87 -0
  10. package/dist/backend/wallet.d.ts +29 -0
  11. package/dist/backend/wallet.js +68 -0
  12. package/dist/bundle.js +2 -0
  13. package/dist/bundle.js.LICENSE.txt +1 -0
  14. package/dist/frontend/context/OxyContext.d.ts +20 -0
  15. package/dist/frontend/context/OxyContext.js +97 -0
  16. package/dist/frontend/hooks/useAuth.d.ts +19 -0
  17. package/dist/frontend/hooks/useAuth.js +234 -0
  18. package/dist/frontend/hooks/useKarma.d.ts +27 -0
  19. package/dist/frontend/hooks/useKarma.js +187 -0
  20. package/dist/frontend/hooks/useUser.d.ts +13 -0
  21. package/dist/frontend/hooks/useUser.js +136 -0
  22. package/dist/frontend/hooks/useWallet.d.ts +14 -0
  23. package/dist/frontend/hooks/useWallet.js +174 -0
  24. package/dist/frontend/index.d.ts +6 -0
  25. package/dist/frontend/index.js +14 -0
  26. package/dist/index.d.ts +3 -28
  27. package/dist/index.js +17 -66
  28. package/dist/shared/api-client.d.ts +15 -0
  29. package/dist/shared/api-client.js +197 -0
  30. package/dist/shared/types.d.ts +135 -0
  31. package/package.json +45 -71
  32. package/dist/components/AuthBottomSheet/types.d.ts +0 -24
  33. package/dist/components/FileSelectorModal/types.d.ts +0 -35
  34. package/dist/components/FileSelectorModal/types.js +0 -2
  35. package/dist/components/SessionProvider.d.ts +0 -26
  36. package/dist/components/SessionProvider.js +0 -367
  37. package/dist/config.d.ts +0 -169
  38. package/dist/config.js +0 -115
  39. package/dist/constants.d.ts +0 -54
  40. package/dist/constants.js +0 -61
  41. package/dist/hooks/index.d.ts +0 -11
  42. package/dist/hooks/index.js +0 -23
  43. package/dist/hooks/useAuth.d.ts +0 -6
  44. package/dist/hooks/useAuth.js +0 -17
  45. package/dist/hooks/useFiles.d.ts +0 -10
  46. package/dist/hooks/useFiles.js +0 -329
  47. package/dist/hooks/useProfile.d.ts +0 -13
  48. package/dist/hooks/useProfile.js +0 -154
  49. package/dist/hooks/useSession.d.ts +0 -2
  50. package/dist/hooks/useSession.js +0 -12
  51. package/dist/hooks/useSubscription.d.ts +0 -15
  52. package/dist/hooks/useSubscription.js +0 -85
  53. package/dist/package.json +0 -71
  54. package/dist/reducers/index.d.ts +0 -8
  55. package/dist/reducers/index.js +0 -29
  56. package/dist/reducers/profileReducer.d.ts +0 -55
  57. package/dist/reducers/profileReducer.js +0 -136
  58. package/dist/services/OxyClient.d.ts +0 -84
  59. package/dist/services/OxyClient.js +0 -309
  60. package/dist/services/api.service.d.ts +0 -61
  61. package/dist/services/api.service.js +0 -289
  62. package/dist/services/auth.service.d.ts +0 -87
  63. package/dist/services/auth.service.js +0 -266
  64. package/dist/services/index.d.ts +0 -30
  65. package/dist/services/index.js +0 -88
  66. package/dist/services/payment.service.d.ts +0 -20
  67. package/dist/services/payment.service.js +0 -56
  68. package/dist/services/privacy.service.d.ts +0 -16
  69. package/dist/services/privacy.service.js +0 -69
  70. package/dist/services/profile.service.d.ts +0 -20
  71. package/dist/services/profile.service.js +0 -158
  72. package/dist/services/subscription.service.d.ts +0 -7
  73. package/dist/services/subscription.service.js +0 -46
  74. package/dist/services/user.service.d.ts +0 -25
  75. package/dist/services/user.service.js +0 -109
  76. package/dist/styles/colors.d.ts +0 -24
  77. package/dist/styles/colors.js +0 -31
  78. package/dist/styles/shared.d.ts +0 -168
  79. package/dist/styles/shared.js +0 -177
  80. package/dist/types/index.d.ts +0 -136
  81. package/dist/types/index.js +0 -7
  82. package/dist/utils/api.d.ts +0 -20
  83. package/dist/utils/api.js +0 -546
  84. package/dist/utils/authEvents.d.ts +0 -44
  85. package/dist/utils/authEvents.js +0 -73
  86. package/dist/utils/errorHandler.d.ts +0 -68
  87. package/dist/utils/errorHandler.js +0 -166
  88. package/dist/utils/index.d.ts +0 -12
  89. package/dist/utils/index.js +0 -41
  90. package/dist/utils/logger.d.ts +0 -100
  91. package/dist/utils/logger.js +0 -298
  92. package/dist/utils/socket.d.ts +0 -6
  93. package/dist/utils/socket.js +0 -179
  94. package/dist/utils/socketConfig.d.ts +0 -32
  95. package/dist/utils/socketConfig.js +0 -67
  96. package/dist/utils/storage.d.ts +0 -54
  97. package/dist/utils/storage.js +0 -253
  98. /package/dist/{components/AuthBottomSheet → shared}/types.js +0 -0
package/dist/config.d.ts DELETED
@@ -1,169 +0,0 @@
1
- /**
2
- * OxyHQ Services Configuration
3
- *
4
- * This file contains all the configuration constants used throughout the OxyHQ services module.
5
- * Environment variables can be overridden for different environments.
6
- */
7
- export declare const OXY_API_CONFIG: {
8
- BASE_URL: any;
9
- CLOUD_URL: any;
10
- TIMEOUT: number;
11
- RETRY_ATTEMPTS: number;
12
- VERSION: string;
13
- HEADERS: {
14
- 'Content-Type': string;
15
- Accept: string;
16
- 'X-Client-Version': string;
17
- };
18
- };
19
- export declare const OXY_AUTH_CONFIG: {
20
- TOKEN_REFRESH_INTERVAL: number;
21
- SESSION_TIMEOUT: number;
22
- MIN_PASSWORD_LENGTH: number;
23
- REQUIRE_SPECIAL_CHAR: boolean;
24
- REQUIRE_NUMBER: boolean;
25
- REQUIRE_UPPERCASE: boolean;
26
- BIOMETRIC_ENABLED: boolean;
27
- };
28
- export declare const OXY_CACHE_CONFIG: {
29
- DEFAULT_TTL: number;
30
- FORCE_REFRESH: boolean;
31
- PROFILE_TTL: number;
32
- SESSION_TTL: number;
33
- RECOMMENDATIONS_TTL: number;
34
- FILES_TTL: number;
35
- STORAGE_PREFIX: string;
36
- MAX_CACHE_SIZE: number;
37
- };
38
- export declare const OXY_FILE_CONFIG: {
39
- MAX_FILE_SIZE: number;
40
- ALLOWED_TYPES: string[];
41
- UPLOAD_CHUNK_SIZE: number;
42
- MAX_CONCURRENT_UPLOADS: number;
43
- RETRY_FAILED_UPLOADS: boolean;
44
- MAX_RETRY_ATTEMPTS: number;
45
- };
46
- export declare const OXY_UI_CONFIG: {
47
- TOAST_DURATION: number;
48
- ANIMATION_DURATION: number;
49
- THEME: {
50
- PRIMARY_COLOR: string;
51
- SECONDARY_COLOR: string;
52
- ERROR_COLOR: string;
53
- WARNING_COLOR: string;
54
- SUCCESS_COLOR: string;
55
- INFO_COLOR: string;
56
- };
57
- };
58
- export declare const OXY_FEATURES: {
59
- ENABLE_OFFLINE_MODE: boolean;
60
- ENABLE_ANALYTICS: boolean;
61
- ENABLE_PUSH_NOTIFICATIONS: boolean;
62
- ENABLE_BIOMETRIC_AUTH: boolean;
63
- ENABLE_SOCIAL_LOGIN: boolean;
64
- ENABLE_FILE_ENCRYPTION: boolean;
65
- ENABLE_DARK_MODE: boolean;
66
- ENABLE_BETA_FEATURES: boolean;
67
- };
68
- export declare const OXY_LOGGING_CONFIG: {
69
- LEVEL: string;
70
- ENABLE_REMOTE_LOGGING: boolean;
71
- INCLUDE_USER_CONTEXT: boolean;
72
- REDACT_SENSITIVE_DATA: boolean;
73
- LOG_NETWORK_REQUESTS: boolean;
74
- LOG_PERFORMANCE_METRICS: boolean;
75
- };
76
- export declare const OXY_SOCKET_CONFIG: {
77
- URL: any;
78
- RECONNECT_ATTEMPTS: number;
79
- RECONNECT_INTERVAL: number;
80
- PING_INTERVAL: number;
81
- PONG_TIMEOUT: number;
82
- CONNECT_TIMEOUT: number;
83
- };
84
- export declare const API_URL_OXY: any;
85
- export declare const OXY_CLOUD_URL: any;
86
- export declare const OXY_CONFIG: {
87
- ENV: {
88
- IS_DEV: boolean;
89
- IS_PROD: boolean;
90
- IS_TEST: boolean;
91
- };
92
- API: {
93
- BASE_URL: any;
94
- CLOUD_URL: any;
95
- TIMEOUT: number;
96
- RETRY_ATTEMPTS: number;
97
- VERSION: string;
98
- HEADERS: {
99
- 'Content-Type': string;
100
- Accept: string;
101
- 'X-Client-Version': string;
102
- };
103
- };
104
- AUTH: {
105
- TOKEN_REFRESH_INTERVAL: number;
106
- SESSION_TIMEOUT: number;
107
- MIN_PASSWORD_LENGTH: number;
108
- REQUIRE_SPECIAL_CHAR: boolean;
109
- REQUIRE_NUMBER: boolean;
110
- REQUIRE_UPPERCASE: boolean;
111
- BIOMETRIC_ENABLED: boolean;
112
- };
113
- CACHE: {
114
- DEFAULT_TTL: number;
115
- FORCE_REFRESH: boolean;
116
- PROFILE_TTL: number;
117
- SESSION_TTL: number;
118
- RECOMMENDATIONS_TTL: number;
119
- FILES_TTL: number;
120
- STORAGE_PREFIX: string;
121
- MAX_CACHE_SIZE: number;
122
- };
123
- FILE: {
124
- MAX_FILE_SIZE: number;
125
- ALLOWED_TYPES: string[];
126
- UPLOAD_CHUNK_SIZE: number;
127
- MAX_CONCURRENT_UPLOADS: number;
128
- RETRY_FAILED_UPLOADS: boolean;
129
- MAX_RETRY_ATTEMPTS: number;
130
- };
131
- UI: {
132
- TOAST_DURATION: number;
133
- ANIMATION_DURATION: number;
134
- THEME: {
135
- PRIMARY_COLOR: string;
136
- SECONDARY_COLOR: string;
137
- ERROR_COLOR: string;
138
- WARNING_COLOR: string;
139
- SUCCESS_COLOR: string;
140
- INFO_COLOR: string;
141
- };
142
- };
143
- FEATURES: {
144
- ENABLE_OFFLINE_MODE: boolean;
145
- ENABLE_ANALYTICS: boolean;
146
- ENABLE_PUSH_NOTIFICATIONS: boolean;
147
- ENABLE_BIOMETRIC_AUTH: boolean;
148
- ENABLE_SOCIAL_LOGIN: boolean;
149
- ENABLE_FILE_ENCRYPTION: boolean;
150
- ENABLE_DARK_MODE: boolean;
151
- ENABLE_BETA_FEATURES: boolean;
152
- };
153
- LOGGING: {
154
- LEVEL: string;
155
- ENABLE_REMOTE_LOGGING: boolean;
156
- INCLUDE_USER_CONTEXT: boolean;
157
- REDACT_SENSITIVE_DATA: boolean;
158
- LOG_NETWORK_REQUESTS: boolean;
159
- LOG_PERFORMANCE_METRICS: boolean;
160
- };
161
- SOCKET: {
162
- URL: any;
163
- RECONNECT_ATTEMPTS: number;
164
- RECONNECT_INTERVAL: number;
165
- PING_INTERVAL: number;
166
- PONG_TIMEOUT: number;
167
- CONNECT_TIMEOUT: number;
168
- };
169
- };
package/dist/config.js DELETED
@@ -1,115 +0,0 @@
1
- "use strict";
2
- /**
3
- * OxyHQ Services Configuration
4
- *
5
- * This file contains all the configuration constants used throughout the OxyHQ services module.
6
- * Environment variables can be overridden for different environments.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.OXY_CONFIG = exports.OXY_CLOUD_URL = exports.API_URL_OXY = exports.OXY_SOCKET_CONFIG = exports.OXY_LOGGING_CONFIG = exports.OXY_FEATURES = exports.OXY_UI_CONFIG = exports.OXY_FILE_CONFIG = exports.OXY_CACHE_CONFIG = exports.OXY_AUTH_CONFIG = exports.OXY_API_CONFIG = void 0;
10
- // Environment detection
11
- const ENV = {
12
- IS_DEV: process.env.NODE_ENV === 'development',
13
- IS_PROD: process.env.NODE_ENV === 'production',
14
- IS_TEST: process.env.NODE_ENV === 'test',
15
- };
16
- // API Configuration
17
- exports.OXY_API_CONFIG = {
18
- BASE_URL: process.env.API_URL_OXY || "https://api.oxy.so",
19
- CLOUD_URL: process.env.OXY_CLOUD_URL || "https://api.oxy.so/files",
20
- TIMEOUT: 30000, // 30 seconds
21
- RETRY_ATTEMPTS: 3,
22
- VERSION: "v1",
23
- HEADERS: {
24
- 'Content-Type': 'application/json',
25
- 'Accept': 'application/json',
26
- 'X-Client-Version': '1.0.0',
27
- },
28
- };
29
- // Auth Configuration
30
- exports.OXY_AUTH_CONFIG = {
31
- TOKEN_REFRESH_INTERVAL: 15 * 60 * 1000, // 15 minutes
32
- SESSION_TIMEOUT: 7 * 24 * 60 * 60 * 1000, // 7 days
33
- MIN_PASSWORD_LENGTH: 8,
34
- REQUIRE_SPECIAL_CHAR: true,
35
- REQUIRE_NUMBER: true,
36
- REQUIRE_UPPERCASE: true,
37
- BIOMETRIC_ENABLED: true,
38
- };
39
- // Cache Configuration
40
- exports.OXY_CACHE_CONFIG = {
41
- DEFAULT_TTL: 5 * 60 * 1000, // 5 minutes
42
- FORCE_REFRESH: false,
43
- PROFILE_TTL: 10 * 60 * 1000, // 10 minutes
44
- SESSION_TTL: 30 * 60 * 1000, // 30 minutes
45
- RECOMMENDATIONS_TTL: 15 * 60 * 1000, // 15 minutes
46
- FILES_TTL: 2 * 60 * 1000, // 2 minutes
47
- STORAGE_PREFIX: 'oxy_cache_',
48
- MAX_CACHE_SIZE: 100, // Maximum number of items to cache
49
- };
50
- // File Upload Configuration
51
- exports.OXY_FILE_CONFIG = {
52
- MAX_FILE_SIZE: 10 * 1024 * 1024, // 10MB
53
- ALLOWED_TYPES: ['image/jpeg', 'image/png', 'image/gif', 'video/mp4', 'application/pdf'],
54
- UPLOAD_CHUNK_SIZE: 1024 * 1024, // 1MB chunks for large file uploads
55
- MAX_CONCURRENT_UPLOADS: 3,
56
- RETRY_FAILED_UPLOADS: true,
57
- MAX_RETRY_ATTEMPTS: 3,
58
- };
59
- // UI Configuration
60
- exports.OXY_UI_CONFIG = {
61
- TOAST_DURATION: 5000, // 5 seconds
62
- ANIMATION_DURATION: 300, // 300ms
63
- THEME: {
64
- PRIMARY_COLOR: '#3498db',
65
- SECONDARY_COLOR: '#2ecc71',
66
- ERROR_COLOR: '#e74c3c',
67
- WARNING_COLOR: '#f39c12',
68
- SUCCESS_COLOR: '#2ecc71',
69
- INFO_COLOR: '#3498db',
70
- },
71
- };
72
- // Feature Flags
73
- exports.OXY_FEATURES = {
74
- ENABLE_OFFLINE_MODE: true,
75
- ENABLE_ANALYTICS: true,
76
- ENABLE_PUSH_NOTIFICATIONS: true,
77
- ENABLE_BIOMETRIC_AUTH: true,
78
- ENABLE_SOCIAL_LOGIN: true,
79
- ENABLE_FILE_ENCRYPTION: true,
80
- ENABLE_DARK_MODE: true,
81
- ENABLE_BETA_FEATURES: ENV.IS_DEV,
82
- };
83
- // Logging Configuration
84
- exports.OXY_LOGGING_CONFIG = {
85
- LEVEL: ENV.IS_PROD ? 'error' : 'debug',
86
- ENABLE_REMOTE_LOGGING: ENV.IS_PROD,
87
- INCLUDE_USER_CONTEXT: true,
88
- REDACT_SENSITIVE_DATA: true,
89
- LOG_NETWORK_REQUESTS: !ENV.IS_PROD,
90
- LOG_PERFORMANCE_METRICS: true,
91
- };
92
- // Socket Configuration
93
- exports.OXY_SOCKET_CONFIG = {
94
- URL: process.env.SOCKET_URL || 'wss://api.oxy.so/socket',
95
- RECONNECT_ATTEMPTS: 5,
96
- RECONNECT_INTERVAL: 2000, // 2 seconds
97
- PING_INTERVAL: 30000, // 30 seconds
98
- PONG_TIMEOUT: 5000, // 5 seconds
99
- CONNECT_TIMEOUT: 10000, // 10 seconds
100
- };
101
- // For backwards compatibility, maintain old exports
102
- exports.API_URL_OXY = exports.OXY_API_CONFIG.BASE_URL;
103
- exports.OXY_CLOUD_URL = exports.OXY_API_CONFIG.CLOUD_URL;
104
- // Export a unified config object
105
- exports.OXY_CONFIG = {
106
- ENV,
107
- API: exports.OXY_API_CONFIG,
108
- AUTH: exports.OXY_AUTH_CONFIG,
109
- CACHE: exports.OXY_CACHE_CONFIG,
110
- FILE: exports.OXY_FILE_CONFIG,
111
- UI: exports.OXY_UI_CONFIG,
112
- FEATURES: exports.OXY_FEATURES,
113
- LOGGING: exports.OXY_LOGGING_CONFIG,
114
- SOCKET: exports.OXY_SOCKET_CONFIG,
115
- };
@@ -1,54 +0,0 @@
1
- /**
2
- * OxyHQ Services Constants
3
- *
4
- * This file contains constants used throughout the OxyHQ services module.
5
- * Centralizing these values helps maintain consistency across the application.
6
- */
7
- export declare const ENDPOINTS: {
8
- AUTH: {
9
- LOGIN: string;
10
- REGISTER: string;
11
- REFRESH: string;
12
- LOGOUT: string;
13
- VALIDATE: string;
14
- };
15
- USERS: {
16
- PROFILE: (id: string) => string;
17
- SESSIONS: string;
18
- FOLLOWERS: (id: string) => string;
19
- FOLLOWING: (id: string) => string;
20
- };
21
- FILES: {
22
- LIST: (userId: string) => string;
23
- UPLOAD: string;
24
- DELETE: (fileId: string) => string;
25
- };
26
- SUBSCRIPTION: {
27
- GET: (userId: string) => string;
28
- UPDATE: (userId: string) => string;
29
- CANCEL: (userId: string) => string;
30
- };
31
- };
32
- export declare const STORAGE_KEYS: {
33
- readonly ACCESS_TOKEN: "@oxy/access_token";
34
- readonly REFRESH_TOKEN: "@oxy/refresh_token";
35
- readonly USER: "@oxy/user";
36
- readonly USER_ID: "@oxy/user_id";
37
- readonly SESSIONS: "@oxy/sessions";
38
- };
39
- export declare const DEFAULTS: {
40
- SESSION_EXPIRE_TIME: number;
41
- CACHE_TIMEOUT: number;
42
- MAX_FILES: number;
43
- MAX_UPLOAD_SIZE: number;
44
- ALLOWED_FILE_TYPES: string[];
45
- };
46
- export declare const ERROR_MESSAGES: {
47
- DEFAULT: string;
48
- NETWORK: string;
49
- UNAUTHORIZED: string;
50
- VALIDATION: string;
51
- FILE_SIZE: string;
52
- FILE_TYPE: string;
53
- SESSION_EXPIRED: string;
54
- };
package/dist/constants.js DELETED
@@ -1,61 +0,0 @@
1
- "use strict";
2
- /**
3
- * OxyHQ Services Constants
4
- *
5
- * This file contains constants used throughout the OxyHQ services module.
6
- * Centralizing these values helps maintain consistency across the application.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ERROR_MESSAGES = exports.DEFAULTS = exports.STORAGE_KEYS = exports.ENDPOINTS = void 0;
10
- // API Endpoints
11
- exports.ENDPOINTS = {
12
- AUTH: {
13
- LOGIN: '/auth/login',
14
- REGISTER: '/auth/register',
15
- REFRESH: '/auth/refresh',
16
- LOGOUT: '/auth/logout',
17
- VALIDATE: '/auth/validate',
18
- },
19
- USERS: {
20
- PROFILE: (id) => `/users/${id}`,
21
- SESSIONS: '/users/sessions',
22
- FOLLOWERS: (id) => `/users/${id}/followers`,
23
- FOLLOWING: (id) => `/users/${id}/following`,
24
- },
25
- FILES: {
26
- LIST: (userId) => `/files/list/${userId}`,
27
- UPLOAD: '/files/upload',
28
- DELETE: (fileId) => `/files/${fileId}`,
29
- },
30
- SUBSCRIPTION: {
31
- GET: (userId) => `/subscriptions/${userId}`,
32
- UPDATE: (userId) => `/subscriptions/${userId}`,
33
- CANCEL: (userId) => `/subscriptions/${userId}`,
34
- }
35
- };
36
- // Storage Keys
37
- exports.STORAGE_KEYS = {
38
- ACCESS_TOKEN: '@oxy/access_token',
39
- REFRESH_TOKEN: '@oxy/refresh_token',
40
- USER: '@oxy/user',
41
- USER_ID: '@oxy/user_id',
42
- SESSIONS: '@oxy/sessions'
43
- };
44
- // Default values
45
- exports.DEFAULTS = {
46
- SESSION_EXPIRE_TIME: 7 * 24 * 60 * 60 * 1000, // 7 days
47
- CACHE_TIMEOUT: 5 * 60 * 1000, // 5 minutes
48
- MAX_FILES: 5,
49
- MAX_UPLOAD_SIZE: 10 * 1024 * 1024, // 10MB
50
- ALLOWED_FILE_TYPES: ['image/', 'video/', 'application/pdf'],
51
- };
52
- // Error messages
53
- exports.ERROR_MESSAGES = {
54
- DEFAULT: 'An error occurred. Please try again.',
55
- NETWORK: 'Network error. Please check your connection.',
56
- UNAUTHORIZED: 'Session expired. Please sign in again.',
57
- VALIDATION: 'Please check the form for errors.',
58
- FILE_SIZE: 'File too large. Maximum size is 10MB.',
59
- FILE_TYPE: 'Invalid file type.',
60
- SESSION_EXPIRED: 'Your session has expired. Please sign in again.'
61
- };
@@ -1,11 +0,0 @@
1
- /**
2
- * OxyHQ Services Hooks
3
- *
4
- * This file exports all hooks for use with OxyHQ services module.
5
- * These hooks provide React-friendly interfaces to the underlying services.
6
- */
7
- export { useAuth } from './useAuth';
8
- export { useSession } from './useSession';
9
- export { useProfile } from './useProfile';
10
- export { useFiles } from './useFiles';
11
- export { useSubscription } from './useSubscription';
@@ -1,23 +0,0 @@
1
- "use strict";
2
- /**
3
- * OxyHQ Services Hooks
4
- *
5
- * This file exports all hooks for use with OxyHQ services module.
6
- * These hooks provide React-friendly interfaces to the underlying services.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.useSubscription = exports.useFiles = exports.useProfile = exports.useSession = exports.useAuth = void 0;
10
- // Authentication and Session Management
11
- var useAuth_1 = require("./useAuth");
12
- Object.defineProperty(exports, "useAuth", { enumerable: true, get: function () { return useAuth_1.useAuth; } });
13
- var useSession_1 = require("./useSession");
14
- Object.defineProperty(exports, "useSession", { enumerable: true, get: function () { return useSession_1.useSession; } });
15
- // Profile Management
16
- var useProfile_1 = require("./useProfile");
17
- Object.defineProperty(exports, "useProfile", { enumerable: true, get: function () { return useProfile_1.useProfile; } });
18
- // File Management
19
- var useFiles_1 = require("./useFiles");
20
- Object.defineProperty(exports, "useFiles", { enumerable: true, get: function () { return useFiles_1.useFiles; } });
21
- // Subscription Management
22
- var useSubscription_1 = require("./useSubscription");
23
- Object.defineProperty(exports, "useSubscription", { enumerable: true, get: function () { return useSubscription_1.useSubscription; } });
@@ -1,6 +0,0 @@
1
- import type { User } from '../services/auth.service';
2
- export declare function useAuth(): {
3
- token: string | null;
4
- user: User | null;
5
- isAuthenticated: boolean;
6
- };
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useAuth = useAuth;
4
- const react_1 = require("react");
5
- const SessionProvider_1 = require("../components/SessionProvider");
6
- function useAuth() {
7
- var _a;
8
- const context = (0, react_1.useContext)(SessionProvider_1.SessionContext);
9
- if (!context) {
10
- throw new Error('useAuth must be used within a SessionProvider');
11
- }
12
- return {
13
- token: ((_a = context.state.user) === null || _a === void 0 ? void 0 : _a.id) ? 'secured' : null,
14
- user: context.state.user,
15
- isAuthenticated: !!context.state.user,
16
- };
17
- }
@@ -1,10 +0,0 @@
1
- import { FileType, UseFilesOptions } from '../components/FileSelectorModal/types';
2
- export declare function useFiles({ fileTypeFilter, maxFiles, userId }?: UseFilesOptions): {
3
- files: FileType[];
4
- loading: boolean;
5
- uploading: boolean;
6
- error: string | null;
7
- fetchFiles: (forceRefresh?: boolean) => Promise<void>;
8
- uploadFiles: () => Promise<void>;
9
- deleteFile: (fileId: string) => Promise<void>;
10
- };