gitverse-api-sdk 5.0.0 → 5.0.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 (65) hide show
  1. package/README.md +1 -21
  2. package/dist/api/actions.d.ts +302 -378
  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 -46
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +264 -391
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +68 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/pulls.d.ts +309 -526
  15. package/dist/api/pulls.js +3 -3
  16. package/dist/api/pulls.js.map +3 -3
  17. package/dist/api/releases.d.ts +183 -244
  18. package/dist/api/releases.js +3 -3
  19. package/dist/api/releases.js.map +3 -3
  20. package/dist/api/repositories.d.ts +859 -395
  21. package/dist/api/repositories.js +3 -3
  22. package/dist/api/repositories.js.map +3 -3
  23. package/dist/api/stars.d.ts +95 -231
  24. package/dist/api/stars.js +3 -3
  25. package/dist/api/stars.js.map +3 -3
  26. package/dist/api/teams.d.ts +96 -122
  27. package/dist/api/teams.js +3 -3
  28. package/dist/api/teams.js.map +3 -3
  29. package/dist/api/users.d.ts +78 -170
  30. package/dist/api/users.js +3 -3
  31. package/dist/api/users.js.map +3 -3
  32. package/dist/client.d.ts +4 -0
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +1 -1
  35. package/dist/enums.d.ts +27 -71
  36. package/dist/enums.js +3 -3
  37. package/dist/enums.js.map +3 -3
  38. package/dist/errors.d.ts +12 -10
  39. package/dist/errors.js +2 -2
  40. package/dist/errors.js.map +1 -1
  41. package/dist/index.d.ts +1816 -2442
  42. package/dist/index.js +2 -2
  43. package/dist/index.js.map +3 -3
  44. package/dist/types.d.ts +754 -1696
  45. package/dist/utils.js +1 -2
  46. package/dist/utils.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/api/branches.d.ts +0 -205
  49. package/dist/api/branches.js +0 -4
  50. package/dist/api/branches.js.map +0 -10
  51. package/dist/api/collaborators.d.ts +0 -440
  52. package/dist/api/collaborators.js +0 -4
  53. package/dist/api/collaborators.js.map +0 -10
  54. package/dist/api/commits.d.ts +0 -406
  55. package/dist/api/commits.js +0 -4
  56. package/dist/api/commits.js.map +0 -10
  57. package/dist/api/contents.d.ts +0 -389
  58. package/dist/api/contents.js +0 -4
  59. package/dist/api/contents.js.map +0 -10
  60. package/dist/api/forks.d.ts +0 -387
  61. package/dist/api/forks.js +0 -4
  62. package/dist/api/forks.js.map +0 -10
  63. package/dist/api/git.d.ts +0 -277
  64. package/dist/api/git.js +0 -4
  65. package/dist/api/git.js.map +0 -10
@@ -1,440 +0,0 @@
1
- /**
2
- * Типы пользователей в системе
3
- */
4
- declare const UserType: {
5
- readonly Organization: "Organization"
6
- readonly User: "User"
7
- };
8
- /**
9
- * Тип для типов пользователей
10
- */
11
- type UserType = (typeof UserType)[keyof typeof UserType];
12
- /**
13
- * Типы видимости для репозиториев и пользователей
14
- */
15
- declare const VisibilityType: {
16
- readonly Limited: "limited"
17
- readonly Private: "private"
18
- readonly Public: "public"
19
- };
20
- /**
21
- * Тип для типов видимости
22
- */
23
- type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
- /**
25
- * Опции для выполнения HTTP-запросов
26
- */
27
- interface RequestOptions {
28
- /**
29
- * AbortSignal для отмены запроса
30
- * @example
31
- * const controller = new AbortController();
32
- * const promise = client.users.getCurrent({ signal: controller.signal });
33
- * controller.abort(); // Отменяет запрос
34
- */
35
- signal?: AbortSignal;
36
- }
37
- /**
38
- * Базовые параметры пагинации
39
- */
40
- interface PaginationParams {
41
- /** Номер страницы (начиная с 1) */
42
- page?: number;
43
- /** Количество элементов на странице */
44
- per_page?: number;
45
- }
46
- /**
47
- * Интерфейс пользователя
48
- */
49
- interface User2 {
50
- /** Уникальный идентификатор пользователя */
51
- id: number;
52
- /** Имя пользователя */
53
- name?: string;
54
- /** Логин пользователя */
55
- login: string;
56
- /** Полное имя пользователя */
57
- full_name?: string;
58
- /** Тип аккаунта: пользователь или организация */
59
- type: UserType;
60
- /** Биография пользователя */
61
- bio?: string;
62
- /** Электронная почта пользователя */
63
- email?: string;
64
- /** URL аватара пользователя */
65
- avatar_url: string;
66
- /** Веб-ссылка на профиль пользователя */
67
- html_url: string;
68
- /** API-ссылка на профиль пользователя */
69
- url?: string;
70
- /** API-ссылка на список подписчиков пользователя */
71
- followers_url?: string;
72
- /** API-ссылка на репозитории пользователя */
73
- repos_url?: string;
74
- /** API-ссылка на организации пользователя */
75
- organizations_url?: string;
76
- /** Права администратора */
77
- site_admin: boolean;
78
- /** Местоположение пользователя */
79
- location?: string;
80
- /** Верификация аккаунта */
81
- is_verified?: boolean;
82
- /** Настройки приватности профиля */
83
- visibility?: VisibilityType;
84
- /** Персональный веб-сайт */
85
- website?: string;
86
- /** Количество подписчиков */
87
- followers?: number;
88
- /** Количество подписок */
89
- following?: number;
90
- /** Количество публичных репозиториев */
91
- public_repos?: number;
92
- /** Количество репозиториев, отмеченных звездой */
93
- stars_count?: number;
94
- /** API-ссылка на подписки пользователя */
95
- following_url?: string;
96
- /** API-ссылка на избранные репозитории */
97
- starred_url?: string;
98
- /** API-ссылка на подписки на уведомления */
99
- subscriptions_url?: string;
100
- /** Дата создания аккаунта */
101
- created_at: string;
102
- /** Дата последнего обновления аккаунта */
103
- updated_at?: string;
104
- }
105
- /**
106
- * Параметры для получения списка коллабораторов
107
- */
108
- interface ListCollaboratorsParams extends PaginationParams {
109
- /** Фильтр по типу связи (direct, outside, all) */
110
- affiliation?: "direct" | "outside" | "all";
111
- /** Фильтр по уровню доступа */
112
- permission?: "read" | "write" | "admin";
113
- }
114
- /**
115
- * Параметры для добавления коллаборатора
116
- */
117
- interface AddCollaboratorParams {
118
- /** Уровень доступа коллаборатора */
119
- permission?: "read" | "write" | "admin";
120
- }
121
- /**
122
- * Коллаборатор репозитория (пользователь с правами доступа)
123
- */
124
- interface Collaborator extends User2 {
125
- /** Права доступа к репозиторию */
126
- permissions?: {
127
- admin: boolean
128
- push: boolean
129
- pull: boolean
130
- };
131
- }
132
- /**
133
- * Интерфейс приглашения коллаборатора
134
- */
135
- interface CollaboratorInvitation {
136
- /** Уникальный идентификатор приглашения */
137
- id: number;
138
- /** Дата создания приглашения */
139
- created_at: string;
140
- /** Приглашённый пользователь */
141
- invitee: User2;
142
- /** Пользователь, отправивший приглашение */
143
- inviter: User2;
144
- /** Уровень доступа */
145
- permissions: string;
146
- /** Репозиторий */
147
- repository: Repository;
148
- }
149
- /**
150
- * Права доступа к репозиторию
151
- */
152
- interface Permissions {
153
- /** Право администратора */
154
- admin: boolean;
155
- /** Право на запись */
156
- push: boolean;
157
- /** Право на чтение */
158
- pull: boolean;
159
- }
160
- /**
161
- * Интерфейс репозитория
162
- */
163
- interface Repository {
164
- /** Уникальный идентификатор репозитория */
165
- id: number;
166
- /** Информация о владельце репозитория */
167
- owner: User2;
168
- /** Название репозитория */
169
- name: string;
170
- /** Полное название репозитория в формате {owner}/{repo} */
171
- full_name: string;
172
- /** Описание репозитория */
173
- description?: string;
174
- /** Список тем, связанных с репозиторием */
175
- topics?: string[] | null;
176
- /** Является ли репозиторий приватным */
177
- private: boolean;
178
- /** Является ли репозиторий форком другого репозитория */
179
- fork: boolean;
180
- /** Информация о родительском репозитории (если это форк) */
181
- parent?: Repository | null;
182
- /** Размер репозитория в килобайтах */
183
- size: number;
184
- /** Основной язык программирования, используемый в репозитории */
185
- language?: string;
186
- /** SSH-URL для клонирования репозитория */
187
- ssh_url: string;
188
- /** HTTPS-URL для клонирования репозитория */
189
- clone_url: string;
190
- /** Веб-ссылка на репозиторий */
191
- html_url: string;
192
- /** API-ссылка на репозиторий */
193
- url: string;
194
- /** Git-URL для клонирования репозитория */
195
- git_url: string;
196
- /** Зеркало репозитория (если доступно) */
197
- mirror_url?: string;
198
- /** Ссылка на вебсайт проекта */
199
- website?: string;
200
- /** Альтернативная ссылка на домашнюю страницу проекта */
201
- homepage?: string;
202
- /** Количество звезд у репозитория */
203
- stargazers_count: number;
204
- /** Количество форков репозитория */
205
- forks: number;
206
- /** Количество форков репозитория (дублирует поле forks) */
207
- forks_count: number;
208
- /** Количество наблюдателей за репозиторием */
209
- watchers: number;
210
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
211
- watchers_count: number;
212
- /** Количество репозиториев в сети (форков и оригинала) */
213
- network_count: number;
214
- /** Количество подписчиков на уведомления о репозитории */
215
- subscribers_count: number;
216
- /** Количество открытых задач (issues) в репозитории */
217
- open_issues: number;
218
- /** Количество открытых задач (дублирует поле open_issues) */
219
- open_issues_count: number;
220
- /** Количество открытых pull requests */
221
- open_pr_counter: number;
222
- /** Основная ветка репозитория */
223
- default_branch: string;
224
- /** Архивирован ли репозиторий */
225
- archived: boolean;
226
- /** Разрешено ли создание задач (issues) */
227
- has_issues: boolean;
228
- /** Разрешено ли использование проектов */
229
- has_projects: boolean;
230
- /** Разрешено ли использование обсуждений */
231
- has_discussions: boolean;
232
- /** Разрешено ли использование wiki */
233
- has_wiki: boolean;
234
- /** Разрешено ли использование GitHub Pages */
235
- has_pages: boolean;
236
- /** Отключен ли репозиторий */
237
- disabled: boolean;
238
- /** Настройки приватности репозитория */
239
- visibility: VisibilityType;
240
- /** Является ли репозиторий шаблоном */
241
- is_template: boolean;
242
- /** Информация о шаблоне репозитория (если доступно) */
243
- template_repository?: Repository | null;
244
- /** Разрешены ли слияния через merge commits */
245
- allow_merge_commit: boolean;
246
- /** Разрешены ли слияния через squash commits */
247
- allow_squash_merge: boolean;
248
- /** Разрешены ли слияния через rebase */
249
- allow_rebase_merge?: boolean;
250
- /** Удалять ли ветку после слияния по умолчанию */
251
- default_delete_branch_after_merge: boolean;
252
- /** Права доступа текущего пользователя к репозиторию */
253
- permissions?: Permissions;
254
- /** API-ссылка на содержимое репозитория */
255
- contents_url?: string;
256
- /** API-ссылка на форки репозитория */
257
- forks_url?: string;
258
- /** API-ссылка на issues репозитория */
259
- issues_url?: string;
260
- /** API-ссылка на pull requests репозитория */
261
- pulls_url?: string;
262
- /** API-ссылка на языки репозитория */
263
- languages_url?: string;
264
- /** Шаблон API-ссылки на комментарии issues */
265
- issue_comment_url?: string;
266
- /** Дата создания репозитория */
267
- created_at: string;
268
- /** Дата последнего обновления репозитория */
269
- updated_at: string;
270
- /** Дата последнего push-события в репозиторий */
271
- pushed_at: string;
272
- }
273
- /**
274
- * Предупреждение об устаревшей версии API
275
- */
276
- declare class ApiVersionWarning {
277
- /** Текущая используемая версия */
278
- readonly currentVersion: string;
279
- /** Последняя доступная версия */
280
- readonly latestVersion: string;
281
- /** Дата вывода из эксплуатации */
282
- readonly decommissioning?: string;
283
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
284
- /**
285
- * Возвращает сообщение о предупреждении
286
- */
287
- getMessage(): string;
288
- }
289
- declare const HTTPMethods: {
290
- readonly DELETE: "DELETE"
291
- readonly GET: "GET"
292
- readonly PATCH: "PATCH"
293
- readonly POST: "POST"
294
- readonly PUT: "PUT"
295
- };
296
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
297
- /**
298
- * Параметры для конфигурации GitVerse клиента
299
- */
300
- interface GitVerseClientConfig {
301
- /**
302
- * Базовый URL API GitVerse
303
- * @default 'https://api.gitverse.ru'
304
- */
305
- baseUrl?: string;
306
- /**
307
- * Токен доступа для авторизации в API
308
- */
309
- token?: string;
310
- /**
311
- * Версия API
312
- * @default '1'
313
- */
314
- apiVersion?: string;
315
- }
316
- /**
317
- * Основной класс для работы с GitVerse API
318
- */
319
- declare class GitVerseClient {
320
- private baseUrl;
321
- private token?;
322
- private apiVersion;
323
- /**
324
- * Callback для обработки предупреждений об устаревшей версии API
325
- */
326
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
327
- /**
328
- * Создает новый экземпляр GitVerse клиента
329
- * @param config Конфигурация клиента
330
- */
331
- constructor(config?: GitVerseClientConfig);
332
- /**
333
- * Устанавливает токен авторизации
334
- * @param token Токен доступа
335
- */
336
- setToken(token: string): void;
337
- /**
338
- * Извлекает информацию о Rate Limit из заголовков ответа
339
- */
340
- private extractRateLimitInfo;
341
- /**
342
- * Извлекает информацию о версии API из заголовков ответа
343
- */
344
- private extractApiVersionInfo;
345
- /**
346
- * Извлекает метаданные из заголовков ответа
347
- */
348
- private extractMetadata;
349
- /**
350
- * Выполняет API-запрос с учетом авторизации и версии API
351
- * @param path Путь к API-ресурсу
352
- * @param method HTTP-метод
353
- * @param body Тело запроса (опционально)
354
- * @param options Опции запроса (опционально)
355
- * @returns Ответ от API
356
- * @throws {RateLimitError} При превышении лимита запросов (429)
357
- * @throws {GitVerseApiError} При других ошибках API
358
- */
359
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
360
- /**
361
- * Выполняет GET-запрос
362
- * @param path Путь к API-ресурсу
363
- * @param options Опции запроса (опционально)
364
- * @returns Ответ от API
365
- */
366
- get<T>(path: string, options?: RequestOptions): Promise<T>;
367
- /**
368
- * Выполняет POST-запрос
369
- * @param path Путь к API-ресурсу
370
- * @param body Тело запроса
371
- * @param options Опции запроса (опционально)
372
- * @returns Ответ от API
373
- */
374
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
375
- /**
376
- * Выполняет PUT-запрос
377
- * @param path Путь к API-ресурсу
378
- * @param body Тело запроса
379
- * @param options Опции запроса (опционально)
380
- * @returns Ответ от API
381
- */
382
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
383
- /**
384
- * Выполняет DELETE-запрос
385
- * @param path Путь к API-ресурсу
386
- * @param body Тело запроса (опционально)
387
- * @param options Опции запроса (опционально)
388
- * @returns Ответ от API
389
- */
390
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
391
- /**
392
- * Выполняет PATCH-запрос
393
- * @param path Путь к API-ресурсу
394
- * @param body Тело запроса
395
- * @param options Опции запроса (опционально)
396
- * @returns Ответ от API
397
- */
398
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
399
- /**
400
- * Выполняет загрузку файла через multipart/form-data
401
- * @param path Путь к API-ресурсу
402
- * @param fieldName Имя поля для файла
403
- * @param file Файл для загрузки (Blob или ArrayBuffer)
404
- * @param fileName Имя файла
405
- * @param options Опции запроса (опционально)
406
- * @returns Ответ от API
407
- */
408
- uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
409
- }
410
- /**
411
- * API для работы с коллабораторами репозитория
412
- */
413
- declare class CollaboratorsApi {
414
- private client;
415
- /**
416
- * Создает новый экземпляр API для работы с коллабораторами
417
- * @param client GitVerse клиент
418
- */
419
- constructor(client: GitVerseClient);
420
- /**
421
- * Получает список коллабораторов репозитория
422
- * @param owner Владелец репозитория
423
- * @param repo Название репозитория
424
- * @param params Параметры пагинации и фильтрации
425
- * @param options Опции запроса
426
- * @returns Список коллабораторов
427
- */
428
- list(owner: string, repo: string, params?: ListCollaboratorsParams, options?: RequestOptions): Promise<Collaborator[]>;
429
- /**
430
- * Добавляет коллаборатора к репозиторию
431
- * @param owner Владелец репозитория
432
- * @param repo Название репозитория
433
- * @param collaborator Имя пользователя коллаборатора
434
- * @param params Параметры добавления (уровень доступа)
435
- * @param options Опции запроса
436
- * @returns Приглашение коллаборатора
437
- */
438
- add(owner: string, repo: string, collaborator: string, params?: AddCollaboratorParams, options?: RequestOptions): Promise<CollaboratorInvitation>;
439
- }
440
- export { CollaboratorsApi };
@@ -1,4 +0,0 @@
1
- class A{client;constructor(j){this.client=j}list(j,k,d,v){let f=new URLSearchParams;if(d?.affiliation)f.append("affiliation",d.affiliation);if(d?.permission)f.append("permission",d.permission);if(d?.page)f.append("page",String(d.page));if(d?.per_page)f.append("per_page",String(d.per_page));let x=f.toString(),z=`/repos/${j}/${k}/collaborators${x?`?${x}`:""}`;return this.client.get(z,v)}add(j,k,d,v,f){return this.client.put(`/repos/${j}/${k}/collaborators/${d}`,v||{},f)}}export{A as CollaboratorsApi};
2
- export{A as f};
3
-
4
- //# debugId=750FB05BEEDDDD6864756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/api/collaborators.ts"],
4
- "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type {\n AddCollaboratorParams,\n Collaborator,\n CollaboratorInvitation,\n ListCollaboratorsParams,\n RequestOptions,\n} from \"../types\";\n\n/**\n * API для работы с коллабораторами репозитория\n */\nexport class CollaboratorsApi {\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 * Получает список коллабораторов репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры пагинации и фильтрации\n * @param options Опции запроса\n * @returns Список коллабораторов\n */\n list(\n owner: string,\n repo: string,\n params?: ListCollaboratorsParams,\n options?: RequestOptions,\n ): Promise<Collaborator[]> {\n const searchParams = new URLSearchParams();\n if (params?.affiliation) searchParams.append(\"affiliation\", params.affiliation);\n if (params?.permission) searchParams.append(\"permission\", params.permission);\n if (params?.page) searchParams.append(\"page\", String(params.page));\n if (params?.per_page) searchParams.append(\"per_page\", String(params.per_page));\n\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/collaborators${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Collaborator[]>(url, options);\n }\n\n /**\n * Добавляет коллаборатора к репозиторию\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param collaborator Имя пользователя коллаборатора\n * @param params Параметры добавления (уровень доступа)\n * @param options Опции запроса\n * @returns Приглашение коллаборатора\n */\n add(\n owner: string,\n repo: string,\n collaborator: string,\n params?: AddCollaboratorParams,\n options?: RequestOptions,\n ): Promise<CollaboratorInvitation> {\n return this.client.put<CollaboratorInvitation>(\n `/repos/${owner}/${repo}/collaborators/${collaborator}`,\n params || {},\n options,\n );\n }\n}\n"
6
- ],
7
- "mappings": "AAYO,MAAM,CAAiB,CACpB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAWhB,IAAI,CACF,EACA,EACA,EACA,EACyB,CACzB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAQ,YAAa,EAAa,OAAO,cAAe,EAAO,WAAW,EAC9E,GAAI,GAAQ,WAAY,EAAa,OAAO,aAAc,EAAO,UAAU,EAC3E,GAAI,GAAQ,KAAM,EAAa,OAAO,OAAQ,OAAO,EAAO,IAAI,CAAC,EACjE,GAAI,GAAQ,SAAU,EAAa,OAAO,WAAY,OAAO,EAAO,QAAQ,CAAC,EAE7E,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,UAAU,KAAS,kBAAqB,EAAc,IAAI,IAAgB,KAEtF,OAAO,KAAK,OAAO,IAAoB,EAAK,CAAO,EAYrD,GAAG,CACD,EACA,EACA,EACA,EACA,EACiC,CACjC,OAAO,KAAK,OAAO,IACjB,UAAU,KAAS,mBAAsB,IACzC,GAAU,CAAC,EACX,CACF,EAEJ",
8
- "debugId": "750FB05BEEDDDD6864756E2164756E21",
9
- "names": []
10
- }