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.
- package/dist/api/auth.d.ts +29 -0
- package/dist/api/auth.js +59 -0
- package/dist/api/bank-data.d.ts +4 -0
- package/dist/api/bank-data.js +6 -0
- package/dist/api/counterparties.d.ts +14 -0
- package/dist/api/counterparties.js +16 -0
- package/dist/api/developer.d.ts +12 -0
- package/dist/api/developer.js +12 -0
- package/dist/api/exchange.d.ts +14 -0
- package/dist/api/exchange.js +20 -0
- package/dist/api/frontend.d.ts +11 -0
- package/dist/api/frontend.js +11 -0
- package/dist/api/index.d.ts +38 -0
- package/dist/api/index.js +36 -0
- package/dist/api/issuing.d.ts +64 -0
- package/dist/api/issuing.js +140 -0
- package/dist/api/kyc.d.ts +21 -0
- package/dist/api/kyc.js +21 -0
- package/dist/api/list.d.ts +16 -0
- package/dist/api/list.js +16 -0
- package/dist/api/orders.d.ts +49 -0
- package/dist/api/orders.js +84 -0
- package/dist/api/persona.d.ts +7 -0
- package/dist/api/persona.js +7 -0
- package/dist/api/storage.d.ts +8 -0
- package/dist/api/storage.js +16 -0
- package/dist/api/tenants.d.ts +6 -0
- package/dist/api/tenants.js +6 -0
- package/dist/api/totp.d.ts +17 -0
- package/dist/api/totp.js +45 -0
- package/{src/api/types/autogen/apiV2.types.ts → dist/api/types/autogen/apiV2.types.d.ts} +0 -1
- package/dist/api/types/autogen/apiV2.types.js +5 -0
- package/dist/api/types/types.d.ts +2258 -0
- package/dist/api/types/types.js +1 -0
- package/dist/api/user.d.ts +18 -0
- package/dist/api/user.js +18 -0
- package/dist/api/virtual-accounts.d.ts +9 -0
- package/dist/api/virtual-accounts.js +9 -0
- package/dist/api/wallets.d.ts +24 -0
- package/dist/api/wallets.js +30 -0
- package/dist/constants.d.ts +303 -0
- package/dist/constants.js +332 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/useCalc.d.ts +25 -0
- package/dist/hooks/useCalc.js +115 -0
- package/dist/hooks/useFileUpload.d.ts +49 -0
- package/dist/hooks/useFileUpload.js +100 -0
- package/dist/hooks/useSupabaseSubscription/config.d.ts +2 -0
- package/dist/hooks/useSupabaseSubscription/config.js +5 -0
- package/dist/hooks/useSupabaseSubscription/index.js +2 -0
- package/dist/hooks/useSupabaseSubscription/specialized.d.ts +5 -0
- package/{src/hooks/useSupabaseSubscription/specialized.ts → dist/hooks/useSupabaseSubscription/specialized.js} +2 -5
- package/dist/hooks/useSupabaseSubscription/types.d.ts +16 -0
- package/dist/hooks/useSupabaseSubscription/types.js +1 -0
- package/dist/hooks/useSupabaseSubscription/useSupabaseSubscription.d.ts +5 -0
- package/dist/hooks/useSupabaseSubscription/useSupabaseSubscription.js +37 -0
- package/dist/index.d.ts +7 -0
- package/dist/utils/apiClientFactory.d.ts +31 -0
- package/dist/utils/apiClientFactory.js +138 -0
- package/dist/utils/converters.d.ts +1 -0
- package/dist/utils/converters.js +1 -0
- package/dist/utils/encrypt.d.ts +10 -0
- package/dist/utils/encrypt.js +77 -0
- package/dist/utils/fileStorage.d.ts +120 -0
- package/dist/utils/fileStorage.js +292 -0
- package/dist/utils/storage.d.ts +3 -0
- package/dist/utils/storage.js +24 -0
- package/dist/utils/supabase.d.ts +1 -0
- package/dist/utils/supabase.js +12 -0
- package/dist/utils/tokensFactory.d.ts +12 -0
- package/dist/utils/tokensFactory.js +42 -0
- package/package.json +4 -1
- package/.env.example +0 -1
- package/.husky/pre-commit +0 -2
- package/.prettierignore +0 -6
- package/.prettierrc +0 -7
- package/CHANGELOG.md +0 -1415
- package/FIXED_RLS_ERROR.md +0 -146
- package/QUICK_TEST.md +0 -127
- package/STORAGE_MODULE_SUMMARY.md +0 -228
- package/TEST_INSTRUCTIONS.md +0 -122
- package/docs/AUTH_TOKEN_USAGE.md +0 -290
- package/docs/BACKEND_SERVICE_URL.md +0 -334
- package/docs/FRONTEND_STORAGE_GUIDE.md +0 -529
- package/docs/STORAGE_MODULE.md +0 -490
- package/docs/STORAGE_QUICK_START.md +0 -76
- package/scripts/generate-openapi-types.ts +0 -41
- package/scripts/supabase-storage-setup.sql +0 -223
- package/src/api/auth.ts +0 -78
- package/src/api/bank-data.ts +0 -11
- package/src/api/counterparties.ts +0 -73
- package/src/api/developer.ts +0 -20
- package/src/api/exchange.ts +0 -44
- package/src/api/frontend.ts +0 -20
- package/src/api/index.ts +0 -57
- package/src/api/issuing.ts +0 -214
- package/src/api/kyc.ts +0 -41
- package/src/api/list.ts +0 -26
- package/src/api/orders.ts +0 -255
- package/src/api/persona.ts +0 -16
- package/src/api/storage.ts +0 -24
- package/src/api/tenants.ts +0 -8
- package/src/api/totp.ts +0 -51
- package/src/api/types/types.ts +0 -2820
- package/src/api/user.ts +0 -27
- package/src/api/virtual-accounts.ts +0 -15
- package/src/api/wallets.ts +0 -65
- package/src/constants.ts +0 -343
- package/src/hooks/useCalc.ts +0 -181
- package/src/hooks/useFileUpload.ts +0 -129
- package/src/hooks/useSupabaseSubscription/config.ts +0 -7
- package/src/hooks/useSupabaseSubscription/types.ts +0 -18
- package/src/hooks/useSupabaseSubscription/useSupabaseSubscription.ts +0 -53
- package/src/utils/apiClientFactory.ts +0 -194
- package/src/utils/converters.ts +0 -1
- package/src/utils/encrypt.ts +0 -96
- package/src/utils/fileStorage.ts +0 -353
- package/src/utils/storage.ts +0 -29
- package/src/utils/supabase.ts +0 -16
- package/src/utils/tokensFactory.ts +0 -59
- package/tsconfig.json +0 -15
- package/types.d.ts +0 -11
- /package/{src/hooks/index.ts → dist/hooks/index.d.ts} +0 -0
- /package/{src/hooks/useSupabaseSubscription/index.ts → dist/hooks/useSupabaseSubscription/index.d.ts} +0 -0
- /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
|
-
};
|
package/src/api/bank-data.ts
DELETED
|
@@ -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
|
-
};
|
package/src/api/developer.ts
DELETED
|
@@ -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
|
-
};
|
package/src/api/exchange.ts
DELETED
|
@@ -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
|
-
};
|
package/src/api/frontend.ts
DELETED
|
@@ -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
|
-
};
|