squarefi-bff-api-module 1.32.1 → 1.32.2

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 (125) hide show
  1. package/dist/api/auth.d.ts +29 -0
  2. package/dist/api/auth.js +59 -0
  3. package/dist/api/bank-data.d.ts +4 -0
  4. package/dist/api/bank-data.js +6 -0
  5. package/dist/api/counterparties.d.ts +14 -0
  6. package/dist/api/counterparties.js +16 -0
  7. package/dist/api/developer.d.ts +12 -0
  8. package/dist/api/developer.js +12 -0
  9. package/dist/api/exchange.d.ts +14 -0
  10. package/dist/api/exchange.js +20 -0
  11. package/dist/api/frontend.d.ts +11 -0
  12. package/dist/api/frontend.js +11 -0
  13. package/dist/api/index.d.ts +38 -0
  14. package/dist/api/index.js +36 -0
  15. package/dist/api/issuing.d.ts +64 -0
  16. package/dist/api/issuing.js +140 -0
  17. package/dist/api/kyc.d.ts +21 -0
  18. package/dist/api/kyc.js +21 -0
  19. package/dist/api/list.d.ts +16 -0
  20. package/dist/api/list.js +16 -0
  21. package/dist/api/orders.d.ts +49 -0
  22. package/dist/api/orders.js +84 -0
  23. package/dist/api/persona.d.ts +7 -0
  24. package/dist/api/persona.js +7 -0
  25. package/dist/api/storage.d.ts +8 -0
  26. package/dist/api/storage.js +16 -0
  27. package/dist/api/tenants.d.ts +6 -0
  28. package/dist/api/tenants.js +6 -0
  29. package/dist/api/totp.d.ts +17 -0
  30. package/dist/api/totp.js +45 -0
  31. package/{src/api/types/autogen/apiV2.types.ts → dist/api/types/autogen/apiV2.types.d.ts} +0 -1
  32. package/dist/api/types/autogen/apiV2.types.js +5 -0
  33. package/dist/api/types/types.d.ts +2258 -0
  34. package/dist/api/types/types.js +1 -0
  35. package/dist/api/user.d.ts +18 -0
  36. package/dist/api/user.js +18 -0
  37. package/dist/api/virtual-accounts.d.ts +9 -0
  38. package/dist/api/virtual-accounts.js +9 -0
  39. package/dist/api/wallets.d.ts +24 -0
  40. package/dist/api/wallets.js +30 -0
  41. package/dist/constants.d.ts +303 -0
  42. package/dist/constants.js +332 -0
  43. package/dist/hooks/index.js +3 -0
  44. package/dist/hooks/useCalc.d.ts +25 -0
  45. package/dist/hooks/useCalc.js +115 -0
  46. package/dist/hooks/useFileUpload.d.ts +49 -0
  47. package/dist/hooks/useFileUpload.js +100 -0
  48. package/dist/hooks/useSupabaseSubscription/config.d.ts +2 -0
  49. package/dist/hooks/useSupabaseSubscription/config.js +5 -0
  50. package/dist/hooks/useSupabaseSubscription/index.js +2 -0
  51. package/dist/hooks/useSupabaseSubscription/specialized.d.ts +5 -0
  52. package/{src/hooks/useSupabaseSubscription/specialized.ts → dist/hooks/useSupabaseSubscription/specialized.js} +2 -5
  53. package/dist/hooks/useSupabaseSubscription/types.d.ts +16 -0
  54. package/dist/hooks/useSupabaseSubscription/types.js +1 -0
  55. package/dist/hooks/useSupabaseSubscription/useSupabaseSubscription.d.ts +5 -0
  56. package/dist/hooks/useSupabaseSubscription/useSupabaseSubscription.js +37 -0
  57. package/dist/index.d.ts +7 -0
  58. package/dist/utils/apiClientFactory.d.ts +31 -0
  59. package/dist/utils/apiClientFactory.js +138 -0
  60. package/dist/utils/converters.d.ts +1 -0
  61. package/dist/utils/converters.js +1 -0
  62. package/dist/utils/encrypt.d.ts +10 -0
  63. package/dist/utils/encrypt.js +77 -0
  64. package/dist/utils/fileStorage.d.ts +120 -0
  65. package/dist/utils/fileStorage.js +292 -0
  66. package/dist/utils/storage.d.ts +3 -0
  67. package/dist/utils/storage.js +24 -0
  68. package/dist/utils/supabase.d.ts +1 -0
  69. package/dist/utils/supabase.js +12 -0
  70. package/dist/utils/tokensFactory.d.ts +12 -0
  71. package/dist/utils/tokensFactory.js +42 -0
  72. package/package.json +4 -1
  73. package/.env.example +0 -1
  74. package/.husky/pre-commit +0 -2
  75. package/.prettierignore +0 -6
  76. package/.prettierrc +0 -7
  77. package/CHANGELOG.md +0 -1415
  78. package/FIXED_RLS_ERROR.md +0 -146
  79. package/QUICK_TEST.md +0 -127
  80. package/STORAGE_MODULE_SUMMARY.md +0 -228
  81. package/TEST_INSTRUCTIONS.md +0 -122
  82. package/docs/AUTH_TOKEN_USAGE.md +0 -290
  83. package/docs/BACKEND_SERVICE_URL.md +0 -334
  84. package/docs/FRONTEND_STORAGE_GUIDE.md +0 -529
  85. package/docs/STORAGE_MODULE.md +0 -490
  86. package/docs/STORAGE_QUICK_START.md +0 -76
  87. package/scripts/generate-openapi-types.ts +0 -41
  88. package/scripts/supabase-storage-setup.sql +0 -223
  89. package/src/api/auth.ts +0 -78
  90. package/src/api/bank-data.ts +0 -11
  91. package/src/api/counterparties.ts +0 -73
  92. package/src/api/developer.ts +0 -20
  93. package/src/api/exchange.ts +0 -44
  94. package/src/api/frontend.ts +0 -20
  95. package/src/api/index.ts +0 -57
  96. package/src/api/issuing.ts +0 -214
  97. package/src/api/kyc.ts +0 -41
  98. package/src/api/list.ts +0 -26
  99. package/src/api/orders.ts +0 -255
  100. package/src/api/persona.ts +0 -16
  101. package/src/api/storage.ts +0 -24
  102. package/src/api/tenants.ts +0 -8
  103. package/src/api/totp.ts +0 -51
  104. package/src/api/types/types.ts +0 -2820
  105. package/src/api/user.ts +0 -27
  106. package/src/api/virtual-accounts.ts +0 -15
  107. package/src/api/wallets.ts +0 -65
  108. package/src/constants.ts +0 -343
  109. package/src/hooks/useCalc.ts +0 -181
  110. package/src/hooks/useFileUpload.ts +0 -129
  111. package/src/hooks/useSupabaseSubscription/config.ts +0 -7
  112. package/src/hooks/useSupabaseSubscription/types.ts +0 -18
  113. package/src/hooks/useSupabaseSubscription/useSupabaseSubscription.ts +0 -53
  114. package/src/utils/apiClientFactory.ts +0 -194
  115. package/src/utils/converters.ts +0 -1
  116. package/src/utils/encrypt.ts +0 -96
  117. package/src/utils/fileStorage.ts +0 -353
  118. package/src/utils/storage.ts +0 -29
  119. package/src/utils/supabase.ts +0 -16
  120. package/src/utils/tokensFactory.ts +0 -59
  121. package/tsconfig.json +0 -15
  122. package/types.d.ts +0 -11
  123. /package/{src/hooks/index.ts → dist/hooks/index.d.ts} +0 -0
  124. /package/{src/hooks/useSupabaseSubscription/index.ts → dist/hooks/useSupabaseSubscription/index.d.ts} +0 -0
  125. /package/{src/index.ts → dist/index.js} +0 -0
@@ -1,223 +0,0 @@
1
- -- ============================================
2
- -- Supabase Storage Setup
3
- -- ============================================
4
- -- Создание бакетов и настройка политик безопасности для файлового хранилища
5
- -- Политики обеспечивают доступ к файлам только для их создателей и суперадминов
6
-
7
- -- ============================================
8
- -- 1. Создание бакетов
9
- -- ============================================
10
-
11
- -- Основной бакет для пользовательских файлов
12
- INSERT INTO storage.buckets (id, name, public)
13
- VALUES ('user-files', 'user-files', false)
14
- ON CONFLICT (id) DO NOTHING;
15
-
16
- -- Бакет для документов
17
- INSERT INTO storage.buckets (id, name, public)
18
- VALUES ('documents', 'documents', false)
19
- ON CONFLICT (id) DO NOTHING;
20
-
21
- -- Бакет для изображений
22
- INSERT INTO storage.buckets (id, name, public)
23
- VALUES ('images', 'images', false)
24
- ON CONFLICT (id) DO NOTHING;
25
-
26
- -- ============================================
27
- -- 2. Функция для проверки прав суперадмина
28
- -- ============================================
29
- -- Создаем функцию для проверки, является ли пользователь суперадмином
30
- -- Примечание: измените логику в зависимости от вашей схемы пользователей
31
-
32
- CREATE OR REPLACE FUNCTION public.is_super_admin(user_id uuid)
33
- RETURNS boolean AS $$
34
- BEGIN
35
- -- Пример: проверяем наличие записи в таблице profiles с ролью 'super_admin'
36
- -- Измените эту логику в соответствии с вашей схемой данных
37
- RETURN EXISTS (
38
- SELECT 1
39
- FROM public.profiles
40
- WHERE id = user_id
41
- AND role = 'super_admin'
42
- );
43
-
44
- -- Альтернативный вариант: проверка по email
45
- -- RETURN EXISTS (
46
- -- SELECT 1
47
- -- FROM auth.users
48
- -- WHERE id = user_id
49
- -- AND email IN ('admin@example.com', 'superadmin@example.com')
50
- -- );
51
- END;
52
- $$ LANGUAGE plpgsql SECURITY DEFINER;
53
-
54
- -- ============================================
55
- -- 3. Политики для бакета 'user-files'
56
- -- ============================================
57
-
58
- -- Пользователи могут загружать файлы только в свою папку
59
- CREATE POLICY "Users can upload files to their own folder"
60
- ON storage.objects
61
- FOR INSERT
62
- TO authenticated
63
- WITH CHECK (
64
- bucket_id = 'user-files'
65
- AND (storage.foldername(name))[1] = auth.uid()::text
66
- );
67
-
68
- -- Пользователи могут просматривать свои файлы или если они суперадмины
69
- CREATE POLICY "Users can view their own files or super admins can view all"
70
- ON storage.objects
71
- FOR SELECT
72
- TO authenticated
73
- USING (
74
- bucket_id = 'user-files'
75
- AND (
76
- (storage.foldername(name))[1] = auth.uid()::text
77
- OR public.is_super_admin(auth.uid())
78
- )
79
- );
80
-
81
- -- Пользователи могут обновлять свои файлы или суперадмины могут обновлять любые
82
- CREATE POLICY "Users can update their own files or super admins can update all"
83
- ON storage.objects
84
- FOR UPDATE
85
- TO authenticated
86
- USING (
87
- bucket_id = 'user-files'
88
- AND (
89
- (storage.foldername(name))[1] = auth.uid()::text
90
- OR public.is_super_admin(auth.uid())
91
- )
92
- );
93
-
94
- -- Пользователи могут удалять свои файлы или суперадмины могут удалять любые
95
- CREATE POLICY "Users can delete their own files or super admins can delete all"
96
- ON storage.objects
97
- FOR DELETE
98
- TO authenticated
99
- USING (
100
- bucket_id = 'user-files'
101
- AND (
102
- (storage.foldername(name))[1] = auth.uid()::text
103
- OR public.is_super_admin(auth.uid())
104
- )
105
- );
106
-
107
- -- ============================================
108
- -- 4. Политики для бакета 'documents'
109
- -- ============================================
110
-
111
- -- Аналогичные политики для бакета documents
112
- CREATE POLICY "Users can upload documents to their own folder"
113
- ON storage.objects
114
- FOR INSERT
115
- TO authenticated
116
- WITH CHECK (
117
- bucket_id = 'documents'
118
- AND (storage.foldername(name))[1] = auth.uid()::text
119
- );
120
-
121
- CREATE POLICY "Users can view their own documents or super admins can view all"
122
- ON storage.objects
123
- FOR SELECT
124
- TO authenticated
125
- USING (
126
- bucket_id = 'documents'
127
- AND (
128
- (storage.foldername(name))[1] = auth.uid()::text
129
- OR public.is_super_admin(auth.uid())
130
- )
131
- );
132
-
133
- CREATE POLICY "Users can update their own documents or super admins can update all"
134
- ON storage.objects
135
- FOR UPDATE
136
- TO authenticated
137
- USING (
138
- bucket_id = 'documents'
139
- AND (
140
- (storage.foldername(name))[1] = auth.uid()::text
141
- OR public.is_super_admin(auth.uid())
142
- )
143
- );
144
-
145
- CREATE POLICY "Users can delete their own documents or super admins can delete all"
146
- ON storage.objects
147
- FOR DELETE
148
- TO authenticated
149
- USING (
150
- bucket_id = 'documents'
151
- AND (
152
- (storage.foldername(name))[1] = auth.uid()::text
153
- OR public.is_super_admin(auth.uid())
154
- )
155
- );
156
-
157
- -- ============================================
158
- -- 5. Политики для бакета 'images'
159
- -- ============================================
160
-
161
- -- Аналогичные политики для бакета images
162
- CREATE POLICY "Users can upload images to their own folder"
163
- ON storage.objects
164
- FOR INSERT
165
- TO authenticated
166
- WITH CHECK (
167
- bucket_id = 'images'
168
- AND (storage.foldername(name))[1] = auth.uid()::text
169
- );
170
-
171
- CREATE POLICY "Users can view their own images or super admins can view all"
172
- ON storage.objects
173
- FOR SELECT
174
- TO authenticated
175
- USING (
176
- bucket_id = 'images'
177
- AND (
178
- (storage.foldername(name))[1] = auth.uid()::text
179
- OR public.is_super_admin(auth.uid())
180
- )
181
- );
182
-
183
- CREATE POLICY "Users can update their own images or super admins can update all"
184
- ON storage.objects
185
- FOR UPDATE
186
- TO authenticated
187
- USING (
188
- bucket_id = 'images'
189
- AND (
190
- (storage.foldername(name))[1] = auth.uid()::text
191
- OR public.is_super_admin(auth.uid())
192
- )
193
- );
194
-
195
- CREATE POLICY "Users can delete their own images or super admins can delete all"
196
- ON storage.objects
197
- FOR DELETE
198
- TO authenticated
199
- USING (
200
- bucket_id = 'images'
201
- AND (
202
- (storage.foldername(name))[1] = auth.uid()::text
203
- OR public.is_super_admin(auth.uid())
204
- )
205
- );
206
-
207
- -- ============================================
208
- -- 6. Включение RLS
209
- -- ============================================
210
-
211
- -- Убедитесь, что RLS включен для таблицы storage.objects
212
- ALTER TABLE storage.objects ENABLE ROW LEVEL SECURITY;
213
-
214
- -- ============================================
215
- -- ПРИМЕЧАНИЯ
216
- -- ============================================
217
- -- 1. Замените функцию is_super_admin() на вашу реализацию проверки прав
218
- -- 2. Структура папок: {userId}/{fileName}
219
- -- 3. Политики работают только для authenticated пользователей
220
- -- 4. Для публичного доступа нужно создать отдельные бакеты с public = true
221
- -- 5. Подписанные URL (signed URLs) работают независимо от RLS политик
222
-
223
-
package/src/api/auth.ts DELETED
@@ -1,78 +0,0 @@
1
- import { API } from './types/types';
2
-
3
- import { apiClientV2 } from '../utils/apiClientFactory';
4
- import { convertPhoneToSupabaseFormat } from '../utils/converters';
5
-
6
- export const telegramSignInPath = '/auth/sign-in/telegram'; // V2 path
7
- // export const telegramSignInPath = '/auth/signin/telegram'; // V1 path
8
-
9
- export const telegramSignUpPath = '/auth/sign-up/telegram';
10
- export const refreshTokenPath = '/auth/refresh/refresh-token';
11
-
12
- export const auth = {
13
- otp: {
14
- verify: {
15
- email: (email: string, token: string): Promise<API.Auth.VerifyOtp.Response> =>
16
- apiClientV2.postRequest<API.Auth.VerifyOtp.Response>('/auth/verify/email/otp', {
17
- data: { email, token, type: 'email' },
18
- context: { bypassUnauthorizedHandler: true },
19
- }),
20
- phone: (phone: string, token: string): Promise<API.Auth.VerifyOtp.Response> =>
21
- apiClientV2.postRequest<API.Auth.VerifyOtp.Response>('/auth/verify/phone/otp', {
22
- data: {
23
- phone: convertPhoneToSupabaseFormat(phone),
24
- token,
25
- type: 'sms',
26
- },
27
- context: { bypassUnauthorizedHandler: true },
28
- }),
29
- },
30
- },
31
- signin: {
32
- omni: {
33
- email: (data: API.Auth.SignIn.Omni.Email.OTP.Request): Promise<API.Auth.Tokens> =>
34
- apiClientV2.postRequest('/auth/sign-in/omni/email/otp', {
35
- data,
36
- context: { bypassUnauthorizedHandler: true },
37
- }),
38
- phone: ({ phone, ...data }: API.Auth.SignIn.Omni.Phone.OTP.Request): Promise<API.Auth.Tokens> =>
39
- apiClientV2.postRequest('/auth/sign-in/omni/phone/otp', {
40
- data: { phone: convertPhoneToSupabaseFormat(phone), ...data },
41
- context: { bypassUnauthorizedHandler: true },
42
- }),
43
- },
44
- byType: (data: API.Auth.SignIn.ByType.Request): Promise<API.Auth.Tokens> =>
45
- apiClientV2.postRequest('/auth/sign-in', {
46
- data,
47
- context: { bypassUnauthorizedHandler: true },
48
- }),
49
- telegram: (data: API.Auth.Telegram.Signin.Request): Promise<API.Auth.Telegram.Signin.Response> =>
50
- apiClientV2.postRequest<API.Auth.Telegram.Signin.Response>(telegramSignInPath, { data }),
51
- password: (
52
- email: string,
53
- password: string, // check on backend V2
54
- ): Promise<API.Auth.Tokens> =>
55
- apiClientV2.postRequest<API.Auth.Tokens>('/auth/sign-in/password/email', {
56
- data: { email, password },
57
- context: { bypassUnauthorizedHandler: true },
58
- }),
59
- },
60
- signup: {
61
- byType: (data: API.Auth.SignUp.ByType.Request): Promise<API.Auth.Tokens> =>
62
- apiClientV2.postRequest('/auth/sign-up', {
63
- data,
64
- context: { bypassUnauthorizedHandler: true },
65
- }),
66
- password: (email: string, password: string): Promise<API.Auth.Tokens> =>
67
- apiClientV2.postRequest<API.Auth.Tokens>('/auth/sign-up/password/email', {
68
- data: { email, password },
69
- context: { bypassUnauthorizedHandler: true },
70
- }),
71
- telegram: (data: API.Auth.Telegram.Signup.Request): Promise<API.Auth.Telegram.Signup.Response> =>
72
- apiClientV2.postRequest<API.Auth.Telegram.Signup.Response>(telegramSignUpPath, { data }),
73
- },
74
- refresh: {
75
- refresh_token: (data: API.Auth.RefreshToken.Request): Promise<API.Auth.RefreshToken.Response> =>
76
- apiClientV2.postRequest<API.Auth.RefreshToken.Response>(refreshTokenPath, { data }),
77
- },
78
- };
@@ -1,11 +0,0 @@
1
- import { apiClientV2 } from '../utils/apiClientFactory';
2
- import { API } from './types/types';
3
-
4
- export const bankData = {
5
- getBankDataByAccountNumber: (
6
- params: API.BankData.GetBankDataByAccountNumber.Request,
7
- ): Promise<API.BankData.GetBankDataByAccountNumber.Response> =>
8
- apiClientV2.getRequest<API.BankData.GetBankDataByAccountNumber.Response>(`/bank-data`, {
9
- params,
10
- }),
11
- };
@@ -1,73 +0,0 @@
1
- import { apiClientV2 } from '../utils/apiClientFactory';
2
- import { API } from './types/types';
3
-
4
- export const counterparties = {
5
- getAll: ({ wallet_id, ...params }: API.Counterparties.List.Request): Promise<API.Counterparties.List.Response> =>
6
- apiClientV2.getRequest<API.Counterparties.List.Response>(`/counterparties/${wallet_id}`, {
7
- params,
8
- }),
9
- getById: ({
10
- wallet_id,
11
- counterparty_account_id,
12
- }: API.Counterparties.GetById.Request): Promise<API.Counterparties.GetById.Response> =>
13
- apiClientV2.getRequest<API.Counterparties.GetById.Response>(
14
- `/counterparties/${wallet_id}/${counterparty_account_id}`,
15
- ),
16
- create: ({ wallet_id, ...data }: API.Counterparties.Create.Request): Promise<API.Counterparties.Create.Response> =>
17
- apiClientV2.postRequest<API.Counterparties.Create.Response>(`/counterparties/${wallet_id}`, { data }),
18
- update: ({
19
- wallet_id,
20
- counterparty_account_id,
21
- ...data
22
- }: API.Counterparties.Update.Request): Promise<API.Counterparties.Update.Response> =>
23
- apiClientV2.patchRequest<API.Counterparties.Update.Response>(
24
- `/counterparties/${wallet_id}/${counterparty_account_id}`,
25
- { data },
26
- ),
27
- destinations: {
28
- getAll: ({
29
- wallet_id,
30
- counterparty_account_id,
31
- ...params
32
- }: API.Counterparties.Destination.List.Request): Promise<API.Counterparties.Destination.List.Response> =>
33
- apiClientV2.getRequest<API.Counterparties.Destination.List.Response>(
34
- `/counterparties/${wallet_id}/${counterparty_account_id}/destinations`,
35
- { params },
36
- ),
37
- getById: ({
38
- wallet_id,
39
- counterparty_account_id,
40
- counterparty_destination_id,
41
- }: API.Counterparties.Destination.Detail.Request): Promise<API.Counterparties.Destination.Detail.Response> =>
42
- apiClientV2.getRequest<API.Counterparties.Destination.Detail.Response>(
43
- `/counterparties/${wallet_id}/${counterparty_account_id}/destinations/${counterparty_destination_id}`,
44
- ),
45
- create: ({
46
- wallet_id,
47
- counterparty_account_id,
48
- ...data
49
- }: API.Counterparties.Destination.Create.Request): Promise<API.Counterparties.Destination.Create.Response> =>
50
- apiClientV2.postRequest<API.Counterparties.Destination.Create.Response>(
51
- `/counterparties/${wallet_id}/${counterparty_account_id}/destinations`,
52
- { data },
53
- ),
54
- update: ({
55
- wallet_id,
56
- counterparty_account_id,
57
- counterparty_destination_id,
58
- ...data
59
- }: API.Counterparties.Destination.Update.Request): Promise<API.Counterparties.Destination.Update.Response> =>
60
- apiClientV2.patchRequest<API.Counterparties.Destination.Update.Response>(
61
- `/counterparties/${wallet_id}/${counterparty_account_id}/destinations/${counterparty_destination_id}`,
62
- { data },
63
- ),
64
- delete: ({
65
- wallet_id,
66
- counterparty_account_id,
67
- counterparty_destination_id,
68
- }: API.Counterparties.Destination.Delete.Request): Promise<void> =>
69
- apiClientV2.deleteRequest(
70
- `/counterparties/${wallet_id}/${counterparty_account_id}/destinations/${counterparty_destination_id}`,
71
- ),
72
- },
73
- };
@@ -1,20 +0,0 @@
1
- import { API } from './types/types';
2
-
3
- import { apiClientV1 } from '../utils/apiClientFactory';
4
-
5
- export const developer = {
6
- apiKeys: {
7
- getAll: (): Promise<API.Developer.ApiCode.ApiCode[]> =>
8
- apiClientV1.getRequest<API.Developer.ApiCode.ApiCode[]>('/developer/access/list'),
9
- create: (data: API.Developer.ApiCode.Create.Request): Promise<API.Developer.ApiCode.Create.Response> =>
10
- apiClientV1.postRequest<API.Developer.ApiCode.Create.Response>('/developer/access/create', { data }),
11
- rotate: (data: API.Developer.ApiCode.Rotate.Request): Promise<API.Developer.ApiCode.Rotate.Response> =>
12
- apiClientV1.postRequest<API.Developer.ApiCode.Rotate.Response>(`/developer/access/rotate`, { data }),
13
- update: (data: API.Developer.ApiCode.Update.Request): Promise<void> =>
14
- apiClientV1.postRequest(`/developer/access/update`, { data }),
15
- },
16
- vendors: {
17
- list: (): Promise<API.Developer.Vendors.Vendor[]> =>
18
- apiClientV1.getRequest<API.Developer.Vendors.Vendor[]>('/developer/vendors/list'),
19
- },
20
- };
@@ -1,44 +0,0 @@
1
- import { API } from './types/types';
2
-
3
- import { apiClientV1 } from '../utils/apiClientFactory';
4
-
5
- import { OrderType } from '../constants';
6
-
7
- type IExchangeByOrderType = {
8
- getByFromCurrency: (from_uuid: string) => Promise<API.Exchange.Exchange[]>;
9
- getByToCurrency: (to_uuid: string) => Promise<API.Exchange.Exchange[]>;
10
- getByOrderType: () => Promise<API.Exchange.Exchange[]>;
11
- };
12
-
13
- type IExchangeModule = {
14
- byOrderType: {
15
- [key in OrderType]: IExchangeByOrderType;
16
- };
17
- };
18
-
19
- const createOrderTypeMethods = (orderType: OrderType): IExchangeByOrderType => ({
20
- getByFromCurrency: (from_uuid: string): Promise<API.Exchange.Exchange[]> =>
21
- apiClientV1.getRequest<API.Exchange.Exchange[]>('/exchange/', {
22
- params: { from_uuid, order_type: orderType },
23
- }),
24
- getByToCurrency: (to_uuid: string): Promise<API.Exchange.Exchange[]> =>
25
- apiClientV1.getRequest<API.Exchange.Exchange[]>('/exchange/', {
26
- params: { to_uuid, order_type: orderType },
27
- }),
28
- getByOrderType: (): Promise<API.Exchange.Exchange[]> =>
29
- apiClientV1.getRequest<API.Exchange.Exchange[]>('/exchange/', {
30
- params: { order_type: orderType },
31
- }),
32
- });
33
-
34
- const orderTypes = Object.values(OrderType);
35
-
36
- export const exchange: IExchangeModule = {
37
- byOrderType: orderTypes.reduce(
38
- (acc, orderType) => {
39
- acc[orderType] = createOrderTypeMethods(orderType);
40
- return acc;
41
- },
42
- {} as Record<OrderType, IExchangeByOrderType>,
43
- ),
44
- };
@@ -1,20 +0,0 @@
1
- import { create } from 'domain';
2
- import { apiClientV1 } from '../utils/apiClientFactory';
3
- import { API } from './types/types';
4
-
5
- export const frontend = {
6
- access: {
7
- keys: {
8
- create: (data: API.Frontend.Access.Keys.Create.Request): Promise<API.Frontend.Access.Keys.Create.Response> =>
9
- apiClientV1.postRequest<API.Frontend.Access.Keys.Create.Response>('/frontend/access/keys', { data }),
10
- list: (): Promise<API.Frontend.Access.Keys.List.Response> =>
11
- apiClientV1.getRequest<API.Frontend.Access.Keys.List.Response>('/frontend/access/keys'),
12
- regenerate: (key_id: string): Promise<API.Frontend.Access.Keys.Regenerate.Response> =>
13
- apiClientV1.postRequest<API.Frontend.Access.Keys.Regenerate.Response>(
14
- `/frontend/access/keys/${key_id}/regenerate`,
15
- ),
16
- revoke: (key_id: string): Promise<API.Frontend.Access.Keys.Revoke.Response> =>
17
- apiClientV1.deleteRequest(`/frontend/access/keys/${key_id}`),
18
- },
19
- },
20
- };
package/src/api/index.ts DELETED
@@ -1,57 +0,0 @@
1
- import { auth } from './auth';
2
- import { bankData } from './bank-data';
3
- import { counterparties } from './counterparties';
4
- import { developer } from './developer';
5
- import { exchange } from './exchange';
6
- import { frontend } from './frontend';
7
- import { issuing } from './issuing';
8
- import { kyc } from './kyc';
9
- import { list } from './list';
10
- import { orders } from './orders';
11
- import { persona } from './persona';
12
- import { storage } from './storage';
13
- import { tenants } from './tenants';
14
- import { totp } from './totp';
15
- import { user } from './user';
16
- import { virtualAccounts } from './virtual-accounts';
17
- import { wallets } from './wallets';
18
-
19
- type Api = {
20
- auth: typeof auth;
21
- bankData: typeof bankData;
22
- counterparties: typeof counterparties;
23
- developer: typeof developer;
24
- exchange: typeof exchange;
25
- frontend: typeof frontend;
26
- issuing: typeof issuing;
27
- kyc: typeof kyc;
28
- list: typeof list;
29
- orders: typeof orders;
30
- persona: typeof persona;
31
- storage: typeof storage;
32
- tenants: typeof tenants;
33
- totp: typeof totp;
34
- user: typeof user;
35
- virtualAccounts: typeof virtualAccounts;
36
- wallets: typeof wallets;
37
- };
38
-
39
- export const squarefi_bff_api_client: Api = {
40
- auth,
41
- bankData,
42
- counterparties,
43
- developer,
44
- exchange,
45
- frontend,
46
- issuing,
47
- kyc,
48
- list,
49
- orders,
50
- persona,
51
- storage,
52
- tenants,
53
- totp,
54
- user,
55
- virtualAccounts,
56
- wallets,
57
- };