gitverse-api-sdk 1.0.0 → 2.0.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 (68) hide show
  1. package/README.md +328 -114
  2. package/dist/api/actions.d.ts +506 -0
  3. package/dist/api/actions.js +4 -0
  4. package/dist/api/actions.js.map +10 -0
  5. package/dist/api/branches.d.ts +154 -0
  6. package/dist/api/branches.js +4 -0
  7. package/dist/api/branches.js.map +10 -0
  8. package/dist/api/collaborators.d.ts +224 -0
  9. package/dist/api/collaborators.js +4 -0
  10. package/dist/api/collaborators.js.map +10 -0
  11. package/dist/api/commits.d.ts +302 -0
  12. package/dist/api/commits.js +4 -0
  13. package/dist/api/commits.js.map +10 -0
  14. package/dist/api/contents.d.ts +345 -0
  15. package/dist/api/contents.js +4 -0
  16. package/dist/api/contents.js.map +10 -0
  17. package/dist/api/emails.d.ts +184 -0
  18. package/dist/api/emails.js +4 -0
  19. package/dist/api/emails.js.map +10 -0
  20. package/dist/api/forks.d.ts +325 -0
  21. package/dist/api/forks.js +4 -0
  22. package/dist/api/forks.js.map +10 -0
  23. package/dist/api/git.d.ts +228 -0
  24. package/dist/api/git.js +4 -0
  25. package/dist/api/git.js.map +10 -0
  26. package/dist/api/issues.d.ts +380 -0
  27. package/dist/api/issues.js +4 -0
  28. package/dist/api/issues.js.map +10 -0
  29. package/dist/api/organizations.d.ts +140 -0
  30. package/dist/api/organizations.js +4 -0
  31. package/dist/api/organizations.js.map +10 -0
  32. package/dist/api/pulls.d.ts +517 -0
  33. package/dist/api/pulls.js +4 -0
  34. package/dist/api/pulls.js.map +10 -0
  35. package/dist/api/releases.d.ts +400 -0
  36. package/dist/api/releases.js +4 -0
  37. package/dist/api/releases.js.map +10 -0
  38. package/dist/api/repositories.d.ts +502 -0
  39. package/dist/api/repositories.js +4 -0
  40. package/dist/api/repositories.js.map +10 -0
  41. package/dist/api/stars.d.ts +328 -0
  42. package/dist/api/stars.js +4 -0
  43. package/dist/api/stars.js.map +10 -0
  44. package/dist/api/teams.d.ts +287 -0
  45. package/dist/api/teams.js +4 -0
  46. package/dist/api/teams.js.map +10 -0
  47. package/dist/api/users.d.ts +244 -0
  48. package/dist/api/users.js +4 -0
  49. package/dist/api/users.js.map +10 -0
  50. package/dist/client.d.ts +122 -0
  51. package/dist/client.js +4 -0
  52. package/dist/client.js.map +10 -0
  53. package/dist/enums.d.ts +57 -0
  54. package/dist/enums.js +4 -0
  55. package/dist/enums.js.map +10 -0
  56. package/dist/errors.d.ts +78 -0
  57. package/dist/errors.js +4 -0
  58. package/dist/errors.js.map +10 -0
  59. package/dist/index.d.ts +1801 -453
  60. package/dist/index.js +3 -1
  61. package/dist/index.js.map +10 -0
  62. package/dist/types.d.ts +1256 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +9 -0
  65. package/dist/utils.d.ts +39 -0
  66. package/dist/utils.js +3 -0
  67. package/dist/utils.js.map +10 -0
  68. package/package.json +99 -7
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/pulls.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { PullRequestState } from \"../enums\";\nimport type { Commit, CreatePullRequestParams, PullRequest, PullRequestFile, UpdatePullRequestParams } from \"../types\";\n\n/**\n * API для работы с запросами на слияние (пулл-реквестами)\n */\nexport class PullsApi {\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 * @returns Информация о созданном запросе на слияние\n */\n create(owner: string, repo: string, params: CreatePullRequestParams): Promise<PullRequest> {\n return this.client.post<PullRequest>(`/repos/${owner}/${repo}/pulls`, params);\n }\n\n /**\n * Получает запрос на слияние по его номеру\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер запроса на слияние\n * @returns Информация о запросе на слияние\n */\n get(owner: string, repo: string, number: number): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`);\n }\n\n /**\n * Получает список запросов на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param state Состояние запросов на слияние (открытые/закрытые/все)\n * @returns Список запросов на слияние\n */\n list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]> {\n const TEMP = \"http://localhost\";\n\n const path = new URL(`/repos/${owner}/${repo}/pulls`, TEMP);\n if (state) {\n path.searchParams.set(\"state\", state);\n }\n return this.client.get<PullRequest[]>(path.href.replace(TEMP, \"\"));\n }\n\n /**\n * Обновляет pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @param params Параметры для обновления\n * @returns Обновлённый pull request\n */\n update(owner: string, repo: string, number: number, params: UpdatePullRequestParams): Promise<PullRequest> {\n return this.client.patch<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, params);\n }\n\n /**\n * Получает список файлов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список изменённых файлов\n */\n getFiles(owner: string, repo: string, number: number): Promise<PullRequestFile[]> {\n return this.client.get<PullRequestFile[]>(`/repos/${owner}/${repo}/pulls/${number}/files`);\n }\n\n /**\n * Обновляет ветку pull request с базовой веткой\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Результат операции\n */\n updateBranch(owner: string, repo: string, number: number): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/pulls/${number}/update-branch`, {});\n }\n\n /**\n * Получает список коммитов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список коммитов\n */\n getCommits(owner: string, repo: string, number: number): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/pulls/${number}/commits`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAOO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAuD,CACzF,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,CAAM,EAU9E,GAAG,CAAC,EAAe,EAAc,EAAsC,CACrE,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,GAAQ,EAU/E,IAAI,CAAC,EAAe,EAAc,EAAkD,CAGlF,IAAM,EAAO,IAAI,IAAI,UAAU,KAAS,UAF3B,kBAE6C,EAC1D,GAAI,EACF,EAAK,aAAa,IAAI,QAAS,CAAK,EAEtC,OAAO,KAAK,OAAO,IAAmB,EAAK,KAAK,QANnC,mBAMiD,EAAE,CAAC,EAWnE,MAAM,CAAC,EAAe,EAAc,EAAgB,EAAuD,CACzG,OAAO,KAAK,OAAO,MAAmB,UAAU,KAAS,WAAc,IAAU,CAAM,EAUzF,QAAQ,CAAC,EAAe,EAAc,EAA4C,CAChF,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,WAAc,SAAc,EAU3F,YAAY,CAAC,EAAe,EAAc,EAA+B,CACvE,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,kBAAwB,CAAC,CAAC,EAU1F,UAAU,CAAC,EAAe,EAAc,EAAmC,CACzE,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,WAAgB,EAEtF",
8
+ "debugId": "35A0A924DAC8BD1664756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,400 @@
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
+ * Интерфейс пользователя
26
+ */
27
+ interface User2 {
28
+ /** Уникальный идентификатор пользователя */
29
+ id: number;
30
+ /** Имя пользователя */
31
+ name?: string;
32
+ /** Логин пользователя */
33
+ login: string;
34
+ /** Полное имя пользователя */
35
+ full_name?: string;
36
+ /** Тип аккаунта: пользователь или организация */
37
+ type: UserType;
38
+ /** Биография пользователя */
39
+ bio?: string;
40
+ /** Электронная почта пользователя */
41
+ email?: string;
42
+ /** URL аватара пользователя */
43
+ avatar_url: string;
44
+ /** Веб-ссылка на профиль пользователя */
45
+ html_url: string;
46
+ /** API-ссылка на профиль пользователя */
47
+ url?: string;
48
+ /** API-ссылка на список подписчиков пользователя */
49
+ followers_url?: string;
50
+ /** API-ссылка на репозитории пользователя */
51
+ repos_url?: string;
52
+ /** API-ссылка на организации пользователя */
53
+ organizations_url?: string;
54
+ /** Права администратора */
55
+ site_admin: boolean;
56
+ /** Местоположение пользователя */
57
+ location?: string;
58
+ /** Верификация аккаунта */
59
+ is_verified?: boolean;
60
+ /** Настройки приватности профиля */
61
+ visibility?: VisibilityType;
62
+ /** Персональный веб-сайт */
63
+ website?: string;
64
+ /** Количество подписчиков */
65
+ followers?: number;
66
+ /** Количество подписок */
67
+ following?: number;
68
+ /** Количество публичных репозиториев */
69
+ public_repos?: number;
70
+ /** Количество репозиториев, отмеченных звездой */
71
+ stars_count?: number;
72
+ /** Дата создания аккаунта */
73
+ created_at: string;
74
+ /** Дата последнего обновления аккаунта */
75
+ updated_at?: string;
76
+ }
77
+ /**
78
+ * Интерфейс релиза
79
+ */
80
+ interface Release {
81
+ /** Идентификатор релиза */
82
+ id: number;
83
+ /** Тег релиза */
84
+ tag_name: string;
85
+ /** Целевой коммит */
86
+ target_commitish: string;
87
+ /** Название релиза */
88
+ name: string;
89
+ /** Описание релиза */
90
+ body?: string;
91
+ /** Черновик ли релиз */
92
+ draft: boolean;
93
+ /** Пре-релиз ли */
94
+ prerelease: boolean;
95
+ /** Автор релиза */
96
+ author: User2;
97
+ /** Дата создания */
98
+ created_at: string;
99
+ /** Дата публикации */
100
+ published_at?: string;
101
+ /** Веб-ссылка */
102
+ html_url: string;
103
+ /** API-ссылка */
104
+ url: string;
105
+ /** Ссылка на архив tar.gz */
106
+ tarball_url: string;
107
+ /** Ссылка на архив zip */
108
+ zipball_url: string;
109
+ /** Список ассетов */
110
+ assets: Asset[];
111
+ }
112
+ /**
113
+ * Параметры для создания релиза
114
+ */
115
+ interface CreateReleaseParams {
116
+ /** Тег релиза */
117
+ tag_name: string;
118
+ /** Целевой коммит (по умолчанию основная ветка) */
119
+ target_commitish?: string;
120
+ /** Название релиза */
121
+ name?: string;
122
+ /** Описание релиза */
123
+ body?: string;
124
+ /** Черновик ли релиз */
125
+ draft?: boolean;
126
+ /** Пре-релиз ли */
127
+ prerelease?: boolean;
128
+ }
129
+ /**
130
+ * Параметры для обновления релиза
131
+ */
132
+ interface UpdateReleaseParams {
133
+ /** Тег релиза */
134
+ tag_name?: string;
135
+ /** Целевой коммит */
136
+ target_commitish?: string;
137
+ /** Название релиза */
138
+ name?: string;
139
+ /** Описание релиза */
140
+ body?: string;
141
+ /** Черновик ли релиз */
142
+ draft?: boolean;
143
+ /** Пре-релиз ли */
144
+ prerelease?: boolean;
145
+ }
146
+ /**
147
+ * Интерфейс ассета релиза
148
+ */
149
+ interface Asset {
150
+ /** Идентификатор ассета */
151
+ id: number;
152
+ /** Название файла */
153
+ name: string;
154
+ /** Метка ассета */
155
+ label?: string;
156
+ /** Content-Type */
157
+ content_type: string;
158
+ /** Состояние ассета */
159
+ state: "uploaded" | "open";
160
+ /** Размер в байтах */
161
+ size: number;
162
+ /** Количество скачиваний */
163
+ download_count: number;
164
+ /** Дата создания */
165
+ created_at: string;
166
+ /** Дата обновления */
167
+ updated_at: string;
168
+ /** Загрузивший пользователь */
169
+ uploader: User2;
170
+ /** URL для скачивания */
171
+ browser_download_url: string;
172
+ /** API-ссылка */
173
+ url: string;
174
+ }
175
+ /**
176
+ * Параметры для загрузки ассета
177
+ */
178
+ interface UploadAssetParams {
179
+ /** Название файла */
180
+ name: string;
181
+ /** Метка ассета */
182
+ label?: string;
183
+ /** Содержимое файла */
184
+ data: ArrayBuffer | Blob;
185
+ }
186
+ /**
187
+ * Предупреждение об устаревшей версии API
188
+ */
189
+ declare class ApiVersionWarning {
190
+ /** Текущая используемая версия */
191
+ readonly currentVersion: string;
192
+ /** Последняя доступная версия */
193
+ readonly latestVersion: string;
194
+ /** Дата вывода из эксплуатации */
195
+ readonly decommissioning?: string;
196
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
197
+ /**
198
+ * Возвращает сообщение о предупреждении
199
+ */
200
+ getMessage(): string;
201
+ }
202
+ declare const HTTPMethods: {
203
+ readonly DELETE: "DELETE"
204
+ readonly GET: "GET"
205
+ readonly PATCH: "PATCH"
206
+ readonly POST: "POST"
207
+ readonly PUT: "PUT"
208
+ };
209
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
210
+ /**
211
+ * Параметры для конфигурации GitVerse клиента
212
+ */
213
+ interface GitVerseClientConfig {
214
+ /**
215
+ * Базовый URL API GitVerse
216
+ * @default 'https://api.gitverse.ru'
217
+ */
218
+ baseUrl?: string;
219
+ /**
220
+ * Токен доступа для авторизации в API
221
+ */
222
+ token?: string;
223
+ /**
224
+ * Версия API
225
+ * @default '1'
226
+ */
227
+ apiVersion?: string;
228
+ }
229
+ /**
230
+ * Основной класс для работы с GitVerse API
231
+ */
232
+ declare class GitVerseClient {
233
+ private baseUrl;
234
+ private token?;
235
+ private apiVersion;
236
+ /**
237
+ * Callback для обработки предупреждений об устаревшей версии API
238
+ */
239
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
240
+ /**
241
+ * Создает новый экземпляр GitVerse клиента
242
+ * @param config Конфигурация клиента
243
+ */
244
+ constructor(config?: GitVerseClientConfig);
245
+ /**
246
+ * Устанавливает токен авторизации
247
+ * @param token Токен доступа
248
+ */
249
+ setToken(token: string): void;
250
+ /**
251
+ * Извлекает информацию о Rate Limit из заголовков ответа
252
+ */
253
+ private extractRateLimitInfo;
254
+ /**
255
+ * Извлекает информацию о версии API из заголовков ответа
256
+ */
257
+ private extractApiVersionInfo;
258
+ /**
259
+ * Извлекает метаданные из заголовков ответа
260
+ */
261
+ private extractMetadata;
262
+ /**
263
+ * Выполняет API-запрос с учетом авторизации и версии API
264
+ * @param path Путь к API-ресурсу
265
+ * @param method HTTP-метод
266
+ * @param body Тело запроса (опционально)
267
+ * @returns Ответ от API
268
+ * @throws {RateLimitError} При превышении лимита запросов (429)
269
+ * @throws {GitVerseApiError} При других ошибках API
270
+ */
271
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
272
+ /**
273
+ * Выполняет GET-запрос
274
+ * @param path Путь к API-ресурсу
275
+ * @returns Ответ от API
276
+ */
277
+ get<T>(path: string): Promise<T>;
278
+ /**
279
+ * Выполняет POST-запрос
280
+ * @param path Путь к API-ресурсу
281
+ * @param body Тело запроса
282
+ * @returns Ответ от API
283
+ */
284
+ post<T>(path: string, body?: unknown): Promise<T>;
285
+ /**
286
+ * Выполняет PUT-запрос
287
+ * @param path Путь к API-ресурсу
288
+ * @param body Тело запроса
289
+ * @returns Ответ от API
290
+ */
291
+ put<T>(path: string, body?: unknown): Promise<T>;
292
+ /**
293
+ * Выполняет DELETE-запрос
294
+ * @param path Путь к API-ресурсу
295
+ * @param body Тело запроса (опционально)
296
+ * @returns Ответ от API
297
+ */
298
+ delete<T>(path: string, body?: unknown): Promise<T>;
299
+ /**
300
+ * Выполняет PATCH-запрос
301
+ * @param path Путь к API-ресурсу
302
+ * @param body Тело запроса
303
+ * @returns Ответ от API
304
+ */
305
+ patch<T>(path: string, body?: unknown): Promise<T>;
306
+ }
307
+ /**
308
+ * API для работы с релизами репозитория
309
+ */
310
+ declare class ReleasesApi {
311
+ private client;
312
+ /**
313
+ * Создает новый экземпляр API для работы с релизами
314
+ * @param client GitVerse клиент
315
+ */
316
+ constructor(client: GitVerseClient);
317
+ /**
318
+ * Получает список релизов репозитория
319
+ * @param owner Владелец репозитория
320
+ * @param repo Название репозитория
321
+ * @returns Список релизов
322
+ */
323
+ list(owner: string, repo: string): Promise<Release[]>;
324
+ /**
325
+ * Создает новый релиз
326
+ * @param owner Владелец репозитория
327
+ * @param repo Название репозитория
328
+ * @param params Параметры создания релиза
329
+ * @returns Созданный релиз
330
+ */
331
+ create(owner: string, repo: string, params: CreateReleaseParams): Promise<Release>;
332
+ /**
333
+ * Получает релиз по тегу
334
+ * @param owner Владелец репозитория
335
+ * @param repo Название репозитория
336
+ * @param tag Тег релиза
337
+ * @returns Информация о релизе
338
+ */
339
+ getByTag(owner: string, repo: string, tag: string): Promise<Release>;
340
+ /**
341
+ * Удаляет релиз по тегу
342
+ * @param owner Владелец репозитория
343
+ * @param repo Название репозитория
344
+ * @param tag Тег релиза
345
+ * @returns Результат операции
346
+ */
347
+ deleteByTag(owner: string, repo: string, tag: string): Promise<void>;
348
+ /**
349
+ * Получает релиз по ID
350
+ * @param owner Владелец репозитория
351
+ * @param repo Название репозитория
352
+ * @param releaseId ID релиза
353
+ * @returns Информация о релизе
354
+ */
355
+ get(owner: string, repo: string, releaseId: number): Promise<Release>;
356
+ /**
357
+ * Удаляет релиз по ID
358
+ * @param owner Владелец репозитория
359
+ * @param repo Название репозитория
360
+ * @param releaseId ID релиза
361
+ * @returns Результат операции
362
+ */
363
+ delete(owner: string, repo: string, releaseId: number): Promise<void>;
364
+ /**
365
+ * Обновляет релиз
366
+ * @param owner Владелец репозитория
367
+ * @param repo Название репозитория
368
+ * @param releaseId ID релиза
369
+ * @param params Параметры обновления релиза
370
+ * @returns Обновлённый релиз
371
+ */
372
+ update(owner: string, repo: string, releaseId: number, params: UpdateReleaseParams): Promise<Release>;
373
+ /**
374
+ * Получает список ассетов релиза
375
+ * @param owner Владелец репозитория
376
+ * @param repo Название репозитория
377
+ * @param releaseId ID релиза
378
+ * @returns Список ассетов
379
+ */
380
+ getAssets(owner: string, repo: string, releaseId: number): Promise<Asset[]>;
381
+ /**
382
+ * Загружает ассет к релизу
383
+ * @param owner Владелец репозитория
384
+ * @param repo Название репозитория
385
+ * @param releaseId ID релиза
386
+ * @param params Параметры загрузки ассета
387
+ * @returns Загруженный ассет
388
+ */
389
+ uploadAsset(owner: string, repo: string, releaseId: number, params: UploadAssetParams): Promise<Asset>;
390
+ /**
391
+ * Удаляет ассет релиза
392
+ * @param owner Владелец репозитория
393
+ * @param repo Название репозитория
394
+ * @param releaseId ID релиза
395
+ * @param assetId ID ассета
396
+ * @returns Результат операции
397
+ */
398
+ deleteAsset(owner: string, repo: string, releaseId: number, assetId: number): Promise<void>;
399
+ }
400
+ export { ReleasesApi };
@@ -0,0 +1,4 @@
1
+ class k{client;constructor(b){this.client=b}list(b,f){return this.client.get(`/repos/${b}/${f}/releases`)}create(b,f,h){return this.client.post(`/repos/${b}/${f}/releases`,h)}getByTag(b,f,h){return this.client.get(`/repos/${b}/${f}/releases/tags/${h}`)}deleteByTag(b,f,h){return this.client.delete(`/repos/${b}/${f}/releases/tags/${h}`)}get(b,f,h){return this.client.get(`/repos/${b}/${f}/releases/${h}`)}delete(b,f,h){return this.client.delete(`/repos/${b}/${f}/releases/${h}`)}update(b,f,h,j){return this.client.patch(`/repos/${b}/${f}/releases/${h}`,j)}getAssets(b,f,h){return this.client.get(`/repos/${b}/${f}/releases/${h}/assets`)}uploadAsset(b,f,h,j){return this.client.post(`/repos/${b}/${f}/releases/${h}/assets`,j)}deleteAsset(b,f,h,j){return this.client.delete(`/repos/${b}/${f}/releases/${h}/assets/${j}`)}}export{k as ReleasesApi};
2
+ export{k as l};
3
+
4
+ //# debugId=7CD31A4CC1DE9F7664756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/releases.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { Asset, CreateReleaseParams, Release, UpdateReleaseParams, UploadAssetParams } from \"../types\";\n\n/**\n * API для работы с релизами репозитория\n */\nexport class ReleasesApi {\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 * @returns Список релизов\n */\n list(owner: string, repo: string): Promise<Release[]> {\n return this.client.get<Release[]>(`/repos/${owner}/${repo}/releases`);\n }\n\n /**\n * Создает новый релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания релиза\n * @returns Созданный релиз\n */\n create(owner: string, repo: string, params: CreateReleaseParams): Promise<Release> {\n return this.client.post<Release>(`/repos/${owner}/${repo}/releases`, params);\n }\n\n /**\n * Получает релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Информация о релизе\n */\n getByTag(owner: string, repo: string, tag: string): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/tags/${tag}`);\n }\n\n /**\n * Удаляет релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Результат операции\n */\n deleteByTag(owner: string, repo: string, tag: string): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/tags/${tag}`);\n }\n\n /**\n * Получает релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Информация о релизе\n */\n get(owner: string, repo: string, releaseId: number): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`);\n }\n\n /**\n * Удаляет релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Результат операции\n */\n delete(owner: string, repo: string, releaseId: number): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/${releaseId}`);\n }\n\n /**\n * Обновляет релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры обновления релиза\n * @returns Обновлённый релиз\n */\n update(owner: string, repo: string, releaseId: number, params: UpdateReleaseParams): Promise<Release> {\n return this.client.patch<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`, params);\n }\n\n /**\n * Получает список ассетов релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Список ассетов\n */\n getAssets(owner: string, repo: string, releaseId: number): Promise<Asset[]> {\n return this.client.get<Asset[]>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`);\n }\n\n /**\n * Загружает ассет к релизу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры загрузки ассета\n * @returns Загруженный ассет\n */\n uploadAsset(owner: string, repo: string, releaseId: number, params: UploadAssetParams): Promise<Asset> {\n return this.client.post<Asset>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`, params);\n }\n\n /**\n * Удаляет ассет релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param assetId ID ассета\n * @returns Результат операции\n */\n deleteAsset(owner: string, repo: string, releaseId: number, assetId: number): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/${releaseId}/assets/${assetId}`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAMO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAkC,CACpD,OAAO,KAAK,OAAO,IAAe,UAAU,KAAS,YAAe,EAUtE,MAAM,CAAC,EAAe,EAAc,EAA+C,CACjF,OAAO,KAAK,OAAO,KAAc,UAAU,KAAS,aAAiB,CAAM,EAU7E,QAAQ,CAAC,EAAe,EAAc,EAA+B,CACnE,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,mBAAsB,GAAK,EAUhF,WAAW,CAAC,EAAe,EAAc,EAA4B,CACnE,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,mBAAsB,GAAK,EAUhF,GAAG,CAAC,EAAe,EAAc,EAAqC,CACpE,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,GAAW,EAUjF,MAAM,CAAC,EAAe,EAAc,EAAkC,CACpE,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,cAAiB,GAAW,EAWjF,MAAM,CAAC,EAAe,EAAc,EAAmB,EAA+C,CACpG,OAAO,KAAK,OAAO,MAAe,UAAU,KAAS,cAAiB,IAAa,CAAM,EAU3F,SAAS,CAAC,EAAe,EAAc,EAAqC,CAC1E,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,UAAkB,EAWxF,WAAW,CAAC,EAAe,EAAc,EAAmB,EAA2C,CACrG,OAAO,KAAK,OAAO,KAAY,UAAU,KAAS,cAAiB,WAAoB,CAAM,EAW/F,WAAW,CAAC,EAAe,EAAc,EAAmB,EAAgC,CAC1F,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,cAAiB,YAAoB,GAAS,EAErG",
8
+ "debugId": "7CD31A4CC1DE9F7664756E2164756E21",
9
+ "names": []
10
+ }