gitverse-api-sdk 5.0.1 → 5.2.0

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 (49) hide show
  1. package/README.md +112 -7
  2. package/dist/api/actions.d.ts +313 -520
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +41 -206
  6. package/dist/api/emails.js +2 -2
  7. package/dist/api/emails.js.map +1 -1
  8. package/dist/api/issues.d.ts +100 -480
  9. package/dist/api/issues.js +2 -2
  10. package/dist/api/issues.js.map +1 -1
  11. package/dist/api/organizations.d.ts +67 -228
  12. package/dist/api/organizations.js +2 -2
  13. package/dist/api/organizations.js.map +1 -1
  14. package/dist/api/pages.d.ts +35 -0
  15. package/dist/api/pages.js +4 -0
  16. package/dist/api/pages.js.map +10 -0
  17. package/dist/api/pulls.d.ts +75 -520
  18. package/dist/api/pulls.js +2 -2
  19. package/dist/api/pulls.js.map +1 -1
  20. package/dist/api/releases.d.ts +135 -384
  21. package/dist/api/releases.js +2 -2
  22. package/dist/api/releases.js.map +1 -1
  23. package/dist/api/repositories.d.ts +354 -1067
  24. package/dist/api/repositories.js +2 -2
  25. package/dist/api/repositories.js.map +3 -3
  26. package/dist/api/stars.d.ts +55 -272
  27. package/dist/api/stars.js +2 -2
  28. package/dist/api/stars.js.map +1 -1
  29. package/dist/api/teams.d.ts +51 -288
  30. package/dist/api/teams.js +2 -2
  31. package/dist/api/teams.js.map +1 -1
  32. package/dist/api/users.d.ts +52 -263
  33. package/dist/api/users.js +2 -2
  34. package/dist/api/users.js.map +1 -1
  35. package/dist/client.d.ts +118 -150
  36. package/dist/client.js +2 -2
  37. package/dist/client.js.map +1 -1
  38. package/dist/enums.d.ts +47 -48
  39. package/dist/enums.js +2 -2
  40. package/dist/enums.js.map +1 -1
  41. package/dist/errors.d.ts +39 -73
  42. package/dist/errors.js +2 -2
  43. package/dist/errors.js.map +1 -1
  44. package/dist/index.d.ts +54 -2373
  45. package/dist/index.js +2 -2
  46. package/dist/index.js.map +3 -3
  47. package/dist/types.d.ts +1028 -880
  48. package/dist/utils.d.ts +72 -61
  49. package/package.json +1 -3
@@ -1,290 +1,53 @@
1
+ import type { GitVerseClient } from "../client";
2
+ import type { Team, TeamRepoPermissions, User } from "../types";
1
3
  /**
2
- * Типы данных для GitVerse API
3
- * @generated Сгенерировано автоматически из OpenAPI спецификации
4
- */
5
- /**
6
- * Опции для выполнения HTTP-запросов
7
- */
8
- interface RequestOptions {
9
- /**
10
- * AbortSignal для отмены запроса
11
- * @example
12
- * const controller = new AbortController();
13
- * const promise = client.users.getCurrent({ signal: controller.signal });
14
- * controller.abort(); // Отменяет запрос
15
- */
16
- signal?: AbortSignal;
17
- }
18
- interface TeamRepoPermissions {
19
- permission?: string;
20
- }
21
- interface User {
22
- /** Адрес аватарки */
23
- avatar_url?: string;
24
- /** О себе */
25
- bio?: string;
26
- /** Дата создания учетной записи */
27
- created_at?: string;
28
- /** Почта */
29
- email?: string;
30
- /** Счетчики */
31
- followers?: number;
32
- /** Url для получения подписчиков пользователя */
33
- followers_url?: string;
34
- following?: number;
35
- /** Url для получения подписок пользователя */
36
- following_url?: string;
37
- /** Полное имя */
38
- full_name?: string;
39
- /** Адрес страницы пользователя */
40
- html_url?: string;
41
- /** Идентификатор */
42
- id?: number;
43
- /** Верифицирован? */
44
- is_verified?: boolean;
45
- /** Местоположение */
46
- location?: string;
47
- /** Логин пользователя */
48
- login?: string;
49
- /** Имя пользователя */
50
- name?: string;
51
- /** Url для получения организаций пользователя */
52
- organizations_url?: string;
53
- /** Публичные репозитории */
54
- public_repos?: number;
55
- /** Url для получения репозиториев пользователя */
56
- repos_url?: string;
57
- /** Есть ли права админа */
58
- site_admin?: boolean;
59
- /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
60
- starred_url?: string;
61
- /** Количество репозиториев в избранном */
62
- stars_count?: number;
63
- /** Url для получения подписок пользователя */
64
- subscriptions_url?: string;
65
- /** Тип пользователя */
66
- type?: string;
67
- /** Дата изменения учетной записи */
68
- updated_at?: string;
69
- /** Url для получения пользователя */
70
- url?: string;
71
- /** Вебсайт */
72
- website?: string;
73
- }
74
- interface Team {
75
- /** Полномочия на создание репозиториев */
76
- can_create_org_repo?: boolean;
77
- /** Описание команды */
78
- description?: string;
79
- /** Идентификатор */
80
- id?: number;
81
- /** Включает все репозитории */
82
- includes_all_repositories?: boolean;
83
- /** Название команды */
84
- name?: string;
85
- /** Количество участников */
86
- num_members?: number;
87
- /** Количество репозиториев */
88
- num_repos?: number;
89
- /** Полномочия */
90
- permission?: string;
91
- /** Полномочие на действия с ветками */
92
- permission_actions?: string;
93
- /** Код полномочия */
94
- permission_code?: string;
95
- /** Полномочие на пакеты */
96
- permission_packages?: string;
97
- /** Полномочие на отправку пулл-реквестов */
98
- permission_pulls?: string;
99
- /** Полномочие на релизы */
100
- permission_releases?: string;
101
- }
102
- /**
103
- * Предупреждение об устаревшей версии API
104
- */
105
- declare class ApiVersionWarning {
106
- /** Текущая используемая версия */
107
- readonly currentVersion: string;
108
- /** Последняя доступная версия */
109
- readonly latestVersion: string;
110
- /** Дата вывода из эксплуатации */
111
- readonly decommissioning?: string;
112
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
113
- /**
114
- * Возвращает сообщение о предупреждении
115
- */
116
- getMessage(): string;
117
- }
118
- declare const HTTPMethods: {
119
- readonly DELETE: "DELETE"
120
- readonly GET: "GET"
121
- readonly PATCH: "PATCH"
122
- readonly POST: "POST"
123
- readonly PUT: "PUT"
124
- };
125
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
126
- /**
127
- * Параметры для конфигурации GitVerse клиента
128
- */
129
- interface GitVerseClientConfig {
130
- /**
131
- * Базовый URL API GitVerse
132
- * @default 'https://api.gitverse.ru'
133
- */
134
- baseUrl?: string;
135
- /**
136
- * Токен доступа для авторизации в API
137
- */
138
- token?: string;
139
- /**
140
- * Версия API
141
- * @default '1'
142
- */
143
- apiVersion?: string;
144
- }
145
- /**
146
- * Основной класс для работы с GitVerse API
147
- */
148
- declare class GitVerseClient {
149
- private baseUrl;
150
- private token?;
151
- private apiVersion;
152
- /**
153
- * Callback для обработки предупреждений об устаревшей версии API
154
- */
155
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
156
- /**
157
- * Создает новый экземпляр GitVerse клиента
158
- * @param config Конфигурация клиента
159
- */
160
- constructor(config?: GitVerseClientConfig);
161
- /**
162
- * Устанавливает токен авторизации
163
- * @param token Токен доступа
164
- */
165
- setToken(token: string): void;
166
- /**
167
- * Извлекает информацию о Rate Limit из заголовков ответа
168
- */
169
- private extractRateLimitInfo;
170
- /**
171
- * Извлекает информацию о версии API из заголовков ответа
172
- */
173
- private extractApiVersionInfo;
174
- /**
175
- * Извлекает метаданные из заголовков ответа
176
- */
177
- private extractMetadata;
178
- /**
179
- * Выполняет API-запрос с учетом авторизации и версии API
180
- * @param path Путь к API-ресурсу
181
- * @param method HTTP-метод
182
- * @param body Тело запроса (опционально)
183
- * @param options Опции запроса (опционально)
184
- * @returns Ответ от API
185
- * @throws {RateLimitError} При превышении лимита запросов (429)
186
- * @throws {GitVerseApiError} При других ошибках API
187
- */
188
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
189
- /**
190
- * Выполняет GET-запрос
191
- * @param path Путь к API-ресурсу
192
- * @param options Опции запроса (опционально)
193
- * @returns Ответ от API
194
- */
195
- get<T>(path: string, options?: RequestOptions): Promise<T>;
196
- /**
197
- * Выполняет POST-запрос
198
- * @param path Путь к API-ресурсу
199
- * @param body Тело запроса
200
- * @param options Опции запроса (опционально)
201
- * @returns Ответ от API
202
- */
203
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
204
- /**
205
- * Выполняет PUT-запрос
206
- * @param path Путь к API-ресурсу
207
- * @param body Тело запроса
208
- * @param options Опции запроса (опционально)
209
- * @returns Ответ от API
210
- */
211
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
212
- /**
213
- * Выполняет DELETE-запрос
214
- * @param path Путь к API-ресурсу
215
- * @param body Тело запроса (опционально)
216
- * @param options Опции запроса (опционально)
217
- * @returns Ответ от API
218
- */
219
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
220
- /**
221
- * Выполняет PATCH-запрос
222
- * @param path Путь к API-ресурсу
223
- * @param body Тело запроса
224
- * @param options Опции запроса (опционально)
225
- * @returns Ответ от API
226
- */
227
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
228
- /**
229
- * Выполняет загрузку файла через multipart/form-data
230
- * @param path Путь к API-ресурсу
231
- * @param fieldName Имя поля для файла
232
- * @param file Файл для загрузки (Blob или ArrayBuffer)
233
- * @param fileName Имя файла
234
- * @param options Опции запроса (опционально)
235
- * @returns Ответ от API
236
- */
237
- uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
238
- }
239
- /**
240
- * API для работы с командами
241
- */
242
- declare class TeamsApi {
243
- private client;
244
- /**
245
- * Создает новый экземпляр API
246
- * @param client GitVerse клиент
247
- */
248
- constructor(client: GitVerseClient);
249
- /**
250
- * Lists teams
251
- * @param org The organization name.
252
- * @param queryParams Параметры запроса
253
- * @param options Опции запроса
254
- * @returns Team[]
255
- */
256
- list(org: string, queryParams?: {
257
- page?: number
258
- per_page?: number
259
- }, options?: {
260
- signal?: AbortSignal
261
- }): Promise<Team[]>;
262
- /**
263
- * Lists team members
264
- * @param org The organization name.
265
- * @param team The slug of the team name.
266
- * @param queryParams Параметры запроса
267
- * @param options Опции запроса
268
- * @returns User[]
269
- */
270
- listMembers(org: string, team: string, queryParams?: {
271
- page?: number
272
- per_page?: number
273
- }, options?: {
274
- signal?: AbortSignal
275
- }): Promise<User[]>;
276
- /**
277
- * Add or update team repository permissions
278
- * @param org The organization name.
279
- * @param team The slug of the team name.
280
- * @param owner Repository owner
281
- * @param repo Repository name
282
- * @param params New repository permissions
283
- * @param options Опции запроса
284
- * @returns void
285
- */
286
- updateRepo(org: string, team: string, owner: string, repo: string, params: TeamRepoPermissions, options?: {
287
- signal?: AbortSignal
288
- }): Promise<void>;
4
+ * API для работы с командами
5
+ */
6
+ export declare class TeamsApi {
7
+ private client;
8
+ /**
9
+ * Создает новый экземпляр API
10
+ * @param client GitVerse клиент
11
+ */
12
+ constructor(client: GitVerseClient);
13
+ /**
14
+ * Lists teams
15
+ * @param org The organization name.
16
+ * @param queryParams Параметры запроса
17
+ * @param options Опции запроса
18
+ * @returns Team[]
19
+ */
20
+ list(org: string, queryParams?: {
21
+ page?: number;
22
+ per_page?: number;
23
+ }, options?: {
24
+ signal?: AbortSignal;
25
+ }): Promise<Team[]>;
26
+ /**
27
+ * Lists team members
28
+ * @param org The organization name.
29
+ * @param team The slug of the team name.
30
+ * @param queryParams Параметры запроса
31
+ * @param options Опции запроса
32
+ * @returns User[]
33
+ */
34
+ listMembers(org: string, team: string, queryParams?: {
35
+ page?: number;
36
+ per_page?: number;
37
+ }, options?: {
38
+ signal?: AbortSignal;
39
+ }): Promise<User[]>;
40
+ /**
41
+ * Add or update team repository permissions
42
+ * @param org The organization name.
43
+ * @param team The slug of the team name.
44
+ * @param owner Repository owner
45
+ * @param repo Repository name
46
+ * @param params New repository permissions
47
+ * @param options Опции запроса
48
+ * @returns void
49
+ */
50
+ updateRepo(org: string, team: string, owner: string, repo: string, params: TeamRepoPermissions, options?: {
51
+ signal?: AbortSignal;
52
+ }): Promise<void>;
289
53
  }
290
- export { TeamsApi };
package/dist/api/teams.js CHANGED
@@ -1,4 +1,4 @@
1
1
  class E{client;constructor(x){this.client=x}list(x,b,j){let B=new URLSearchParams;if(b?.page!==void 0)B.append("page",String(b.page));if(b?.per_page!==void 0)B.append("per_page",String(b.per_page));let k=B.toString(),C=`/orgs/${x}/teams${k?`?${k}`:""}`;return this.client.get(C,j)}listMembers(x,b,j,B){let k=new URLSearchParams;if(j?.page!==void 0)k.append("page",String(j.page));if(j?.per_page!==void 0)k.append("per_page",String(j.per_page));let C=k.toString(),D=`/orgs/${x}/teams/${b}/members${C?`?${C}`:""}`;return this.client.get(D,B)}updateRepo(x,b,j,B,k,C){return this.client.put(`/orgs/${x}/teams/${b}/repos/${j}/${B}`,k,C)}}export{E as TeamsApi};
2
- export{E as c};
2
+ export{E as e};
3
3
 
4
- //# debugId=36BDAA9AEEEF3C6D64756E2164756E21
4
+ //# debugId=BDC64A6AF00153C464756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { Team, TeamRepoPermissions, User } from \"../types\";\n\n/**\n * API для работы с командами\n */\nexport class TeamsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Lists teams\n * @param org The organization name.\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Team[]\n */\n list(\n org: string,\n queryParams?: { page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<Team[]> {\n const searchParams = new URLSearchParams();\n if (queryParams?.page !== undefined) searchParams.append(\"page\", String(queryParams.page));\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", String(queryParams.per_page));\n const queryString = searchParams.toString();\n const url = `/orgs/${org}/teams${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Team[]>(url, options);\n }\n\n /**\n * Lists team members\n * @param org The organization name.\n * @param team The slug of the team name.\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns User[]\n */\n listMembers(\n org: string,\n team: string,\n queryParams?: { page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<User[]> {\n const searchParams = new URLSearchParams();\n if (queryParams?.page !== undefined) searchParams.append(\"page\", String(queryParams.page));\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", String(queryParams.per_page));\n const queryString = searchParams.toString();\n const url = `/orgs/${org}/teams/${team}/members${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<User[]>(url, options);\n }\n\n /**\n * Add or update team repository permissions\n * @param org The organization name.\n * @param team The slug of the team name.\n * @param owner Repository owner\n * @param repo Repository name\n * @param params New repository permissions\n * @param options Опции запроса\n * @returns void\n */\n updateRepo(\n org: string,\n team: string,\n owner: string,\n repo: string,\n params: TeamRepoPermissions,\n options?: { signal?: AbortSignal },\n ): Promise<void> {\n return this.client.put<void>(`/orgs/${org}/teams/${team}/repos/${owner}/${repo}`, params, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,IAAI,CACF,EACA,EACA,EACiB,CACjB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,SAAS,UAAY,EAAc,IAAI,IAAgB,KACnE,OAAO,KAAK,OAAO,IAAY,EAAK,CAAO,EAW7C,WAAW,CACT,EACA,EACA,EACA,EACiB,CACjB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,SAAS,WAAa,YAAe,EAAc,IAAI,IAAgB,KACnF,OAAO,KAAK,OAAO,IAAY,EAAK,CAAO,EAa7C,UAAU,CACR,EACA,EACA,EACA,EACA,EACA,EACe,CACf,OAAO,KAAK,OAAO,IAAU,SAAS,WAAa,WAAc,KAAS,IAAQ,EAAQ,CAAO,EAErG",
8
- "debugId": "36BDAA9AEEEF3C6D64756E2164756E21",
8
+ "debugId": "BDC64A6AF00153C464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,265 +1,54 @@
1
+ import type { GitVerseClient } from "../client";
2
+ import type { User, UserPrefsArray } from "../types";
1
3
  /**
2
- * Типы данных для GitVerse API
3
- * @generated Сгенерировано автоматически из OpenAPI спецификации
4
- */
5
- /**
6
- * Опции для выполнения HTTP-запросов
7
- */
8
- interface RequestOptions {
9
- /**
10
- * AbortSignal для отмены запроса
11
- * @example
12
- * const controller = new AbortController();
13
- * const promise = client.users.getCurrent({ signal: controller.signal });
14
- * controller.abort(); // Отменяет запрос
15
- */
16
- signal?: AbortSignal;
17
- }
18
- interface User {
19
- /** Адрес аватарки */
20
- avatar_url?: string;
21
- /** О себе */
22
- bio?: string;
23
- /** Дата создания учетной записи */
24
- created_at?: string;
25
- /** Почта */
26
- email?: string;
27
- /** Счетчики */
28
- followers?: number;
29
- /** Url для получения подписчиков пользователя */
30
- followers_url?: string;
31
- following?: number;
32
- /** Url для получения подписок пользователя */
33
- following_url?: string;
34
- /** Полное имя */
35
- full_name?: string;
36
- /** Адрес страницы пользователя */
37
- html_url?: string;
38
- /** Идентификатор */
39
- id?: number;
40
- /** Верифицирован? */
41
- is_verified?: boolean;
42
- /** Местоположение */
43
- location?: string;
44
- /** Логин пользователя */
45
- login?: string;
46
- /** Имя пользователя */
47
- name?: string;
48
- /** Url для получения организаций пользователя */
49
- organizations_url?: string;
50
- /** Публичные репозитории */
51
- public_repos?: number;
52
- /** Url для получения репозиториев пользователя */
53
- repos_url?: string;
54
- /** Есть ли права админа */
55
- site_admin?: boolean;
56
- /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
57
- starred_url?: string;
58
- /** Количество репозиториев в избранном */
59
- stars_count?: number;
60
- /** Url для получения подписок пользователя */
61
- subscriptions_url?: string;
62
- /** Тип пользователя */
63
- type?: string;
64
- /** Дата изменения учетной записи */
65
- updated_at?: string;
66
- /** Url для получения пользователя */
67
- url?: string;
68
- /** Вебсайт */
69
- website?: string;
70
- }
71
- interface UserPrefsArray {
72
- incomplete_results?: boolean;
73
- items?: User[];
74
- total_count?: number;
75
- }
76
- /**
77
- * Предупреждение об устаревшей версии API
78
- */
79
- declare class ApiVersionWarning {
80
- /** Текущая используемая версия */
81
- readonly currentVersion: string;
82
- /** Последняя доступная версия */
83
- readonly latestVersion: string;
84
- /** Дата вывода из эксплуатации */
85
- readonly decommissioning?: string;
86
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
87
- /**
88
- * Возвращает сообщение о предупреждении
89
- */
90
- getMessage(): string;
91
- }
92
- declare const HTTPMethods: {
93
- readonly DELETE: "DELETE"
94
- readonly GET: "GET"
95
- readonly PATCH: "PATCH"
96
- readonly POST: "POST"
97
- readonly PUT: "PUT"
98
- };
99
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
100
- /**
101
- * Параметры для конфигурации GitVerse клиента
102
- */
103
- interface GitVerseClientConfig {
104
- /**
105
- * Базовый URL API GitVerse
106
- * @default 'https://api.gitverse.ru'
107
- */
108
- baseUrl?: string;
109
- /**
110
- * Токен доступа для авторизации в API
111
- */
112
- token?: string;
113
- /**
114
- * Версия API
115
- * @default '1'
116
- */
117
- apiVersion?: string;
118
- }
119
- /**
120
- * Основной класс для работы с GitVerse API
121
- */
122
- declare class GitVerseClient {
123
- private baseUrl;
124
- private token?;
125
- private apiVersion;
126
- /**
127
- * Callback для обработки предупреждений об устаревшей версии API
128
- */
129
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
130
- /**
131
- * Создает новый экземпляр GitVerse клиента
132
- * @param config Конфигурация клиента
133
- */
134
- constructor(config?: GitVerseClientConfig);
135
- /**
136
- * Устанавливает токен авторизации
137
- * @param token Токен доступа
138
- */
139
- setToken(token: string): void;
140
- /**
141
- * Извлекает информацию о Rate Limit из заголовков ответа
142
- */
143
- private extractRateLimitInfo;
144
- /**
145
- * Извлекает информацию о версии API из заголовков ответа
146
- */
147
- private extractApiVersionInfo;
148
- /**
149
- * Извлекает метаданные из заголовков ответа
150
- */
151
- private extractMetadata;
152
- /**
153
- * Выполняет API-запрос с учетом авторизации и версии API
154
- * @param path Путь к API-ресурсу
155
- * @param method HTTP-метод
156
- * @param body Тело запроса (опционально)
157
- * @param options Опции запроса (опционально)
158
- * @returns Ответ от API
159
- * @throws {RateLimitError} При превышении лимита запросов (429)
160
- * @throws {GitVerseApiError} При других ошибках API
161
- */
162
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
163
- /**
164
- * Выполняет GET-запрос
165
- * @param path Путь к API-ресурсу
166
- * @param options Опции запроса (опционально)
167
- * @returns Ответ от API
168
- */
169
- get<T>(path: string, options?: RequestOptions): Promise<T>;
170
- /**
171
- * Выполняет POST-запрос
172
- * @param path Путь к API-ресурсу
173
- * @param body Тело запроса
174
- * @param options Опции запроса (опционально)
175
- * @returns Ответ от API
176
- */
177
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
178
- /**
179
- * Выполняет PUT-запрос
180
- * @param path Путь к API-ресурсу
181
- * @param body Тело запроса
182
- * @param options Опции запроса (опционально)
183
- * @returns Ответ от API
184
- */
185
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
186
- /**
187
- * Выполняет DELETE-запрос
188
- * @param path Путь к API-ресурсу
189
- * @param body Тело запроса (опционально)
190
- * @param options Опции запроса (опционально)
191
- * @returns Ответ от API
192
- */
193
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
194
- /**
195
- * Выполняет PATCH-запрос
196
- * @param path Путь к API-ресурсу
197
- * @param body Тело запроса
198
- * @param options Опции запроса (опционально)
199
- * @returns Ответ от API
200
- */
201
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
202
- /**
203
- * Выполняет загрузку файла через multipart/form-data
204
- * @param path Путь к API-ресурсу
205
- * @param fieldName Имя поля для файла
206
- * @param file Файл для загрузки (Blob или ArrayBuffer)
207
- * @param fileName Имя файла
208
- * @param options Опции запроса (опционально)
209
- * @returns Ответ от API
210
- */
211
- uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
212
- }
213
- /**
214
- * API для работы с пользователями
215
- */
216
- declare class UsersApi {
217
- private client;
218
- /**
219
- * Создает новый экземпляр API
220
- * @param client GitVerse клиент
221
- */
222
- constructor(client: GitVerseClient);
223
- /**
224
- * Search users by query
225
- * @param queryParams Параметры запроса
226
- * @param options Опции запроса
227
- * @returns UserPrefsArray
228
- */
229
- list(queryParams?: {
230
- q: string
231
- sort?: string
232
- order?: string
233
- page?: number
234
- per_page?: number
235
- }, options?: {
236
- signal?: AbortSignal
237
- }): Promise<UserPrefsArray>;
238
- /**
239
- * Get authenticated user information
240
- * @param options Опции запроса
241
- * @returns User
242
- */
243
- getAuthenticated(options?: {
244
- signal?: AbortSignal
245
- }): Promise<User>;
246
- /**
247
- * Get user information by ID
248
- * @param account_id Account_id parameter
249
- * @param options Опции запроса
250
- * @returns User
251
- */
252
- get(account_id: number, options?: {
253
- signal?: AbortSignal
254
- }): Promise<User>;
255
- /**
256
- * Get user information by username
257
- * @param username User name
258
- * @param options Опции запроса
259
- * @returns User
260
- */
261
- getByUsername(username: string, options?: {
262
- signal?: AbortSignal
263
- }): Promise<User>;
4
+ * API для работы с пользователями
5
+ */
6
+ export declare class UsersApi {
7
+ private client;
8
+ /**
9
+ * Создает новый экземпляр API
10
+ * @param client GitVerse клиент
11
+ */
12
+ constructor(client: GitVerseClient);
13
+ /**
14
+ * Search users by query
15
+ * @param queryParams Параметры запроса
16
+ * @param options Опции запроса
17
+ * @returns UserPrefsArray
18
+ */
19
+ list(queryParams?: {
20
+ q: string;
21
+ sort?: string;
22
+ order?: string;
23
+ page?: number;
24
+ per_page?: number;
25
+ }, options?: {
26
+ signal?: AbortSignal;
27
+ }): Promise<UserPrefsArray>;
28
+ /**
29
+ * Get authenticated user information
30
+ * @param options Опции запроса
31
+ * @returns User
32
+ */
33
+ getAuthenticated(options?: {
34
+ signal?: AbortSignal;
35
+ }): Promise<User>;
36
+ /**
37
+ * Get user information by ID
38
+ * @param account_id Account_id parameter
39
+ * @param options Опции запроса
40
+ * @returns User
41
+ */
42
+ get(account_id: number, options?: {
43
+ signal?: AbortSignal;
44
+ }): Promise<User>;
45
+ /**
46
+ * Get user information by username
47
+ * @param username User name
48
+ * @param options Опции запроса
49
+ * @returns User
50
+ */
51
+ getByUsername(username: string, options?: {
52
+ signal?: AbortSignal;
53
+ }): Promise<User>;
264
54
  }
265
- export { UsersApi };