gitverse-api-sdk 5.1.0 → 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.
@@ -1,482 +1,102 @@
1
+ import type { GitVerseClient } from "../client";
2
+ import type { Comment, Issue, Label, TimelineComment } 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 Attachment {
19
- browser_download_url?: string;
20
- created_at?: string;
21
- download_count?: number;
22
- id?: number;
23
- name?: string;
24
- size?: number;
25
- uuid?: string;
26
- }
27
- interface UserPublicInfo {
28
- avatar_url?: string;
29
- followers_url?: string;
30
- following_url?: string;
31
- html_url?: string;
32
- id?: number;
33
- login?: string;
34
- organizations_url?: string;
35
- repos_url?: string;
36
- site_admin?: boolean;
37
- type?: string;
38
- url?: string;
39
- }
40
- interface Comment {
41
- author_association?: string;
42
- body?: string;
43
- created_at?: string;
44
- /** Адрес страницы с комметарием */
45
- html_url?: string;
46
- id?: number;
47
- /** Url для получения issue/PR */
48
- issue_url?: string;
49
- updated_at?: string;
50
- /** Url для получения пользователя */
51
- url?: string;
52
- user?: UserPublicInfo;
53
- }
54
- interface User {
55
- /** Адрес аватарки */
56
- avatar_url?: string;
57
- /** О себе */
58
- bio?: string;
59
- /** Дата создания учетной записи */
60
- created_at?: string;
61
- /** Почта */
62
- email?: string;
63
- /** Счетчики */
64
- followers?: number;
65
- /** Url для получения подписчиков пользователя */
66
- followers_url?: string;
67
- following?: number;
68
- /** Url для получения подписок пользователя */
69
- following_url?: string;
70
- /** Полное имя */
71
- full_name?: string;
72
- /** Адрес страницы пользователя */
73
- html_url?: string;
74
- /** Идентификатор */
75
- id?: number;
76
- /** Верифицирован? */
77
- is_verified?: boolean;
78
- /** Местоположение */
79
- location?: string;
80
- /** Логин пользователя */
81
- login?: string;
82
- /** Имя пользователя */
83
- name?: string;
84
- /** Url для получения организаций пользователя */
85
- organizations_url?: string;
86
- /** Публичные репозитории */
87
- public_repos?: number;
88
- /** Url для получения репозиториев пользователя */
89
- repos_url?: string;
90
- /** Есть ли права админа */
91
- site_admin?: boolean;
92
- /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
93
- starred_url?: string;
94
- /** Количество репозиториев в избранном */
95
- stars_count?: number;
96
- /** Url для получения подписок пользователя */
97
- subscriptions_url?: string;
98
- /** Тип пользователя */
99
- type?: string;
100
- /** Дата изменения учетной записи */
101
- updated_at?: string;
102
- /** Url для получения пользователя */
103
- url?: string;
104
- /** Вебсайт */
105
- website?: string;
106
- }
107
- interface Label {
108
- /** example: 00aabb */
109
- color?: string;
110
- description?: string;
111
- /** example: false */
112
- exclusive?: boolean;
113
- id?: number;
114
- /** example: false */
115
- is_archived?: boolean;
116
- name?: string;
117
- url?: string;
118
- }
119
- interface Milestone {
120
- closed_at?: string;
121
- closed_issues?: number;
122
- created_at?: string;
123
- description?: string;
124
- due_on?: string;
125
- id?: number;
126
- open_issues?: number;
127
- state?: string;
128
- title?: string;
129
- updated_at?: string;
130
- }
131
- interface PullRequestMeta {
132
- draft?: boolean;
133
- html_url?: string;
134
- merged?: boolean;
135
- merged_at?: string;
136
- }
137
- interface RepositoryMeta {
138
- full_name?: string;
139
- id?: number;
140
- name?: string;
141
- owner?: string;
142
- }
143
- interface Issue {
144
- assets?: Attachment[];
145
- assignee?: User;
146
- assignees?: User[];
147
- body?: string;
148
- closed_at?: string;
149
- comments?: number;
150
- created_at?: string;
151
- due_date?: string;
152
- html_url?: string;
153
- id?: number;
154
- is_locked?: boolean;
155
- labels?: Label[];
156
- milestone?: Milestone;
157
- number?: number;
158
- original_author?: string;
159
- original_author_id?: number;
160
- pull_request?: PullRequestMeta;
161
- ref?: string;
162
- repository?: RepositoryMeta;
163
- state?: string;
164
- title?: string;
165
- updated_at?: string;
166
- url?: string;
167
- user?: User;
168
- }
169
- interface Team {
170
- /** Полномочия на создание репозиториев */
171
- can_create_org_repo?: boolean;
172
- /** Описание команды */
173
- description?: string;
174
- /** Идентификатор */
175
- id?: number;
176
- /** Включает все репозитории */
177
- includes_all_repositories?: boolean;
178
- /** Название команды */
179
- name?: string;
180
- /** Количество участников */
181
- num_members?: number;
182
- /** Количество репозиториев */
183
- num_repos?: number;
184
- /** Полномочия */
185
- permission?: string;
186
- /** Полномочие на действия с ветками */
187
- permission_actions?: string;
188
- /** Код полномочия */
189
- permission_code?: string;
190
- /** Полномочие на пакеты */
191
- permission_packages?: string;
192
- /** Полномочие на отправку пулл-реквестов */
193
- permission_pulls?: string;
194
- /** Полномочие на релизы */
195
- permission_releases?: string;
196
- }
197
- interface TrackedTime {
198
- /** swagger:strfmt date-time */
199
- created?: string;
200
- id?: number;
201
- issue?: Issue;
202
- /** deprecated (only for backwards compatibility) */
203
- issue_id?: number;
204
- /** Time in seconds */
205
- time?: number;
206
- /** deprecated (only for backwards compatibility) */
207
- user_id?: number;
208
- user_name?: string;
209
- }
210
- interface TimelineComment {
211
- assignee?: User;
212
- assignee_team?: Team;
213
- body?: string;
214
- /** swagger:strfmt date-time */
215
- created_at?: string;
216
- dependent_issue?: Issue;
217
- html_url?: string;
218
- id?: number;
219
- issue_url?: string;
220
- label?: Label;
221
- milestone?: Milestone;
222
- new_ref?: string;
223
- new_title?: string;
224
- old_milestone?: Milestone;
225
- old_project_id?: number;
226
- old_ref?: string;
227
- old_title?: string;
228
- project_id?: number;
229
- pull_request_url?: string;
230
- ref_action?: string;
231
- ref_comment?: Comment;
232
- /** commit SHA where issue/PR was referenced */
233
- ref_commit_sha?: string;
234
- ref_issue?: Issue;
235
- /** whether the assignees were removed or added */
236
- removed_assignee?: boolean;
237
- resolve_doer?: User;
238
- review_id?: number;
239
- tracked_time?: TrackedTime;
240
- type?: string;
241
- /** swagger:strfmt date-time */
242
- updated_at?: string;
243
- user?: User;
244
- }
245
- /**
246
- * Предупреждение об устаревшей версии API
247
- */
248
- declare class ApiVersionWarning {
249
- /** Текущая используемая версия */
250
- readonly currentVersion: string;
251
- /** Последняя доступная версия */
252
- readonly latestVersion: string;
253
- /** Дата вывода из эксплуатации */
254
- readonly decommissioning?: string;
255
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
256
- /**
257
- * Возвращает сообщение о предупреждении
258
- */
259
- getMessage(): string;
260
- }
261
- declare const HTTPMethods: {
262
- readonly DELETE: "DELETE"
263
- readonly GET: "GET"
264
- readonly PATCH: "PATCH"
265
- readonly POST: "POST"
266
- readonly PUT: "PUT"
267
- };
268
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
269
- /**
270
- * Параметры для конфигурации GitVerse клиента
271
- */
272
- interface GitVerseClientConfig {
273
- /**
274
- * Базовый URL API GitVerse
275
- * @default 'https://api.gitverse.ru'
276
- */
277
- baseUrl?: string;
278
- /**
279
- * Токен доступа для авторизации в API
280
- */
281
- token?: string;
282
- /**
283
- * Версия API
284
- * @default '1'
285
- */
286
- apiVersion?: string;
287
- }
288
- /**
289
- * Основной класс для работы с GitVerse API
290
- */
291
- declare class GitVerseClient {
292
- private baseUrl;
293
- private token?;
294
- private apiVersion;
295
- /**
296
- * Callback для обработки предупреждений об устаревшей версии API
297
- */
298
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
299
- /**
300
- * Создает новый экземпляр GitVerse клиента
301
- * @param config Конфигурация клиента
302
- */
303
- constructor(config?: GitVerseClientConfig);
304
- /**
305
- * Устанавливает токен авторизации
306
- * @param token Токен доступа
307
- */
308
- setToken(token: string): void;
309
- /**
310
- * Извлекает информацию о Rate Limit из заголовков ответа
311
- */
312
- private extractRateLimitInfo;
313
- /**
314
- * Извлекает информацию о версии API из заголовков ответа
315
- */
316
- private extractApiVersionInfo;
317
- /**
318
- * Извлекает метаданные из заголовков ответа
319
- */
320
- private extractMetadata;
321
- /**
322
- * Выполняет API-запрос с учетом авторизации и версии API
323
- * @param path Путь к API-ресурсу
324
- * @param method HTTP-метод
325
- * @param body Тело запроса (опционально)
326
- * @param options Опции запроса (опционально)
327
- * @returns Ответ от API
328
- * @throws {RateLimitError} При превышении лимита запросов (429)
329
- * @throws {GitVerseApiError} При других ошибках API
330
- */
331
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
332
- /**
333
- * Выполняет GET-запрос
334
- * @param path Путь к API-ресурсу
335
- * @param options Опции запроса (опционально)
336
- * @returns Ответ от API
337
- */
338
- get<T>(path: string, options?: RequestOptions): Promise<T>;
339
- /**
340
- * Выполняет POST-запрос
341
- * @param path Путь к API-ресурсу
342
- * @param body Тело запроса
343
- * @param options Опции запроса (опционально)
344
- * @returns Ответ от API
345
- */
346
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
347
- /**
348
- * Выполняет PUT-запрос
349
- * @param path Путь к API-ресурсу
350
- * @param body Тело запроса
351
- * @param options Опции запроса (опционально)
352
- * @returns Ответ от API
353
- */
354
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
355
- /**
356
- * Выполняет DELETE-запрос
357
- * @param path Путь к API-ресурсу
358
- * @param body Тело запроса (опционально)
359
- * @param options Опции запроса (опционально)
360
- * @returns Ответ от API
361
- */
362
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
363
- /**
364
- * Выполняет PATCH-запрос
365
- * @param path Путь к API-ресурсу
366
- * @param body Тело запроса
367
- * @param options Опции запроса (опционально)
368
- * @returns Ответ от API
369
- */
370
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
371
- /**
372
- * Выполняет загрузку файла через multipart/form-data
373
- * @param path Путь к API-ресурсу
374
- * @param fieldName Имя поля для файла
375
- * @param file Файл для загрузки (Blob или ArrayBuffer)
376
- * @param fileName Имя файла
377
- * @param options Опции запроса (опционально)
378
- * @returns Ответ от API
379
- */
380
- uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
381
- }
382
- /**
383
- * API для работы с issues
384
- */
385
- declare class IssuesApi {
386
- private client;
387
- /**
388
- * Создает новый экземпляр API
389
- * @param client GitVerse клиент
390
- */
391
- constructor(client: GitVerseClient);
392
- /**
393
- * List issues and pull requests
394
- * @param owner Repository owner
395
- * @param repo Repository name
396
- * @param queryParams Параметры запроса
397
- * @param options Опции запроса
398
- * @returns Issue[]
399
- */
400
- list(owner: string, repo: string, queryParams?: {
401
- state?: string
402
- q?: string
403
- labels?: string
404
- milestones?: string
405
- created_by?: string
406
- assigned_by?: string
407
- mentioned_by?: string
408
- type?: string
409
- since?: string
410
- before?: string
411
- page?: number
412
- per_page?: number
413
- }, options?: {
414
- signal?: AbortSignal
415
- }): Promise<Issue[]>;
416
- /**
417
- * Get a specific issue comment
418
- * @param owner Repository owner
419
- * @param repo Repository name
420
- * @param id Comment ID
421
- * @param options Опции запроса
422
- * @returns Comment
423
- */
424
- getComment(owner: string, repo: string, id: number, options?: {
425
- signal?: AbortSignal
426
- }): Promise<Comment>;
427
- /**
428
- * Get issue or pull request
429
- * @param owner Repository owner
430
- * @param repo Repository name
431
- * @param index Issue or pull request index in the repository
432
- * @param options Опции запроса
433
- * @returns Issue
434
- */
435
- get(owner: string, repo: string, index: number, options?: {
436
- signal?: AbortSignal
437
- }): Promise<Issue>;
438
- /**
439
- * List issue comments
440
- * @param owner Repository owner
441
- * @param repo Repository name
442
- * @param index Issue or pull request index in the repository
443
- * @param queryParams Параметры запроса
444
- * @param options Опции запроса
445
- * @returns Comment[]
446
- */
447
- listComments(owner: string, repo: string, index: number, queryParams?: {
448
- since?: string
449
- before?: string
450
- }, options?: {
451
- signal?: AbortSignal
452
- }): Promise<Comment[]>;
453
- /**
454
- * List issue labels
455
- * @param owner Repository owner
456
- * @param repo Repository name
457
- * @param index Issue index in the repository
458
- * @param options Опции запроса
459
- * @returns Label[]
460
- */
461
- listLabels(owner: string, repo: string, index: number, options?: {
462
- signal?: AbortSignal
463
- }): Promise<Label[]>;
464
- /**
465
- * List issue comments and timeline events
466
- * @param owner Repository owner
467
- * @param repo Repository name
468
- * @param index Issue index in the repository
469
- * @param queryParams Параметры запроса
470
- * @param options Опции запроса
471
- * @returns TimelineComment[]
472
- */
473
- listTimeline(owner: string, repo: string, index: number, queryParams?: {
474
- page?: number
475
- per_page?: number
476
- since?: string
477
- before?: string
478
- }, options?: {
479
- signal?: AbortSignal
480
- }): Promise<TimelineComment[]>;
4
+ * API для работы с issues
5
+ */
6
+ export declare class IssuesApi {
7
+ private client;
8
+ /**
9
+ * Создает новый экземпляр API
10
+ * @param client GitVerse клиент
11
+ */
12
+ constructor(client: GitVerseClient);
13
+ /**
14
+ * List issues and pull requests
15
+ * @param owner Repository owner
16
+ * @param repo Repository name
17
+ * @param queryParams Параметры запроса
18
+ * @param options Опции запроса
19
+ * @returns Issue[]
20
+ */
21
+ list(owner: string, repo: string, queryParams?: {
22
+ state?: string;
23
+ q?: string;
24
+ labels?: string;
25
+ milestones?: string;
26
+ created_by?: string;
27
+ assigned_by?: string;
28
+ mentioned_by?: string;
29
+ type?: string;
30
+ since?: string;
31
+ before?: string;
32
+ page?: number;
33
+ per_page?: number;
34
+ }, options?: {
35
+ signal?: AbortSignal;
36
+ }): Promise<Issue[]>;
37
+ /**
38
+ * Get a specific issue comment
39
+ * @param owner Repository owner
40
+ * @param repo Repository name
41
+ * @param id Comment ID
42
+ * @param options Опции запроса
43
+ * @returns Comment
44
+ */
45
+ getComment(owner: string, repo: string, id: number, options?: {
46
+ signal?: AbortSignal;
47
+ }): Promise<Comment>;
48
+ /**
49
+ * Get issue or pull request
50
+ * @param owner Repository owner
51
+ * @param repo Repository name
52
+ * @param index Issue or pull request index in the repository
53
+ * @param options Опции запроса
54
+ * @returns Issue
55
+ */
56
+ get(owner: string, repo: string, index: number, options?: {
57
+ signal?: AbortSignal;
58
+ }): Promise<Issue>;
59
+ /**
60
+ * List issue comments
61
+ * @param owner Repository owner
62
+ * @param repo Repository name
63
+ * @param index Issue or pull request index in the repository
64
+ * @param queryParams Параметры запроса
65
+ * @param options Опции запроса
66
+ * @returns Comment[]
67
+ */
68
+ listComments(owner: string, repo: string, index: number, queryParams?: {
69
+ since?: string;
70
+ before?: string;
71
+ }, options?: {
72
+ signal?: AbortSignal;
73
+ }): Promise<Comment[]>;
74
+ /**
75
+ * List issue labels
76
+ * @param owner Repository owner
77
+ * @param repo Repository name
78
+ * @param index Issue index in the repository
79
+ * @param options Опции запроса
80
+ * @returns Label[]
81
+ */
82
+ listLabels(owner: string, repo: string, index: number, options?: {
83
+ signal?: AbortSignal;
84
+ }): Promise<Label[]>;
85
+ /**
86
+ * List issue comments and timeline events
87
+ * @param owner Repository owner
88
+ * @param repo Repository name
89
+ * @param index Issue index in the repository
90
+ * @param queryParams Параметры запроса
91
+ * @param options Опции запроса
92
+ * @returns TimelineComment[]
93
+ */
94
+ listTimeline(owner: string, repo: string, index: number, queryParams?: {
95
+ page?: number;
96
+ per_page?: number;
97
+ since?: string;
98
+ before?: string;
99
+ }, options?: {
100
+ signal?: AbortSignal;
101
+ }): Promise<TimelineComment[]>;
481
102
  }
482
- export { IssuesApi };