gitverse-api-sdk 1.0.0 → 1.1.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.
@@ -0,0 +1,291 @@
1
+ declare const HTTPMethods: {
2
+ readonly DELETE: "DELETE"
3
+ readonly GET: "GET"
4
+ readonly POST: "POST"
5
+ readonly PUT: "PUT"
6
+ };
7
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
8
+ /**
9
+ * Параметры для конфигурации GitVerse клиента
10
+ */
11
+ interface GitVerseClientConfig {
12
+ /**
13
+ * Базовый URL API GitVerse
14
+ * @default 'https://api.gitverse.ru'
15
+ */
16
+ baseUrl?: string;
17
+ /**
18
+ * Токен доступа для авторизации в API
19
+ */
20
+ token?: string;
21
+ /**
22
+ * Версия API
23
+ * @default '1'
24
+ */
25
+ apiVersion?: string;
26
+ }
27
+ /**
28
+ * Основной класс для работы с GitVerse API
29
+ */
30
+ declare class GitVerseClient {
31
+ private baseUrl;
32
+ private token?;
33
+ private apiVersion;
34
+ /**
35
+ * Создает новый экземпляр GitVerse клиента
36
+ * @param config Конфигурация клиента
37
+ */
38
+ constructor(config?: GitVerseClientConfig);
39
+ /**
40
+ * Устанавливает токен авторизации
41
+ * @param token Токен доступа
42
+ */
43
+ setToken(token: string): void;
44
+ /**
45
+ * Выполняет API-запрос с учетом авторизации и версии API
46
+ * @param path Путь к API-ресурсу
47
+ * @param method HTTP-метод
48
+ * @param body Тело запроса (опционально)
49
+ * @returns Ответ от API
50
+ * @throws {Error} Если запрос завершится с ошибкой
51
+ */
52
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
53
+ /**
54
+ * Выполняет GET-запрос
55
+ * @param path Путь к API-ресурсу
56
+ * @returns Ответ от API
57
+ */
58
+ get<T>(path: string): Promise<T>;
59
+ /**
60
+ * Выполняет POST-запрос
61
+ * @param path Путь к API-ресурсу
62
+ * @param body Тело запроса
63
+ * @returns Ответ от API
64
+ */
65
+ post<T>(path: string, body?: unknown): Promise<T>;
66
+ /**
67
+ * Выполняет PUT-запрос
68
+ * @param path Путь к API-ресурсу
69
+ * @param body Тело запроса
70
+ * @returns Ответ от API
71
+ */
72
+ put<T>(path: string, body?: unknown): Promise<T>;
73
+ /**
74
+ * Выполняет DELETE-запрос
75
+ * @param path Путь к API-ресурсу
76
+ * @param body Тело запроса (опционально)
77
+ * @returns Ответ от API
78
+ */
79
+ delete<T>(path: string, body?: unknown): Promise<T>;
80
+ }
81
+ /**
82
+ * Типы пользователей в системе
83
+ */
84
+ declare const UserType: {
85
+ readonly Organization: "Organization"
86
+ readonly User: "User"
87
+ };
88
+ /**
89
+ * Тип для типов пользователей
90
+ */
91
+ type UserType = (typeof UserType)[keyof typeof UserType];
92
+ /**
93
+ * Типы видимости для репозиториев и пользователей
94
+ */
95
+ declare const VisibilityType: {
96
+ readonly Limited: "limited"
97
+ readonly Private: "private"
98
+ readonly Public: "public"
99
+ };
100
+ /**
101
+ * Тип для типов видимости
102
+ */
103
+ type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
104
+ /**
105
+ * Интерфейс пользователя
106
+ */
107
+ interface User2 {
108
+ /** Уникальный идентификатор пользователя */
109
+ id: number;
110
+ /** Имя пользователя */
111
+ name?: string;
112
+ /** Логин пользователя */
113
+ login: string;
114
+ /** Полное имя пользователя */
115
+ full_name?: string;
116
+ /** Тип аккаунта: пользователь или организация */
117
+ type: UserType;
118
+ /** Биография пользователя */
119
+ bio?: string;
120
+ /** Электронная почта пользователя */
121
+ email?: string;
122
+ /** URL аватара пользователя */
123
+ avatar_url: string;
124
+ /** Веб-ссылка на профиль пользователя */
125
+ html_url: string;
126
+ /** API-ссылка на профиль пользователя */
127
+ url?: string;
128
+ /** API-ссылка на список подписчиков пользователя */
129
+ followers_url?: string;
130
+ /** API-ссылка на репозитории пользователя */
131
+ repos_url?: string;
132
+ /** API-ссылка на организации пользователя */
133
+ organizations_url?: string;
134
+ /** Права администратора */
135
+ site_admin: boolean;
136
+ /** Местоположение пользователя */
137
+ location?: string;
138
+ /** Верификация аккаунта */
139
+ is_verified?: boolean;
140
+ /** Настройки приватности профиля */
141
+ visibility?: VisibilityType;
142
+ /** Персональный веб-сайт */
143
+ website?: string;
144
+ /** Количество подписчиков */
145
+ followers?: number;
146
+ /** Количество подписок */
147
+ following?: number;
148
+ /** Количество публичных репозиториев */
149
+ public_repos?: number;
150
+ /** Количество репозиториев, отмеченных звездой */
151
+ stars_count?: number;
152
+ /** Дата создания аккаунта */
153
+ created_at: string;
154
+ /** Дата последнего обновления аккаунта */
155
+ updated_at?: string;
156
+ }
157
+ /**
158
+ * Интерфейс репозитория
159
+ */
160
+ interface Repository {
161
+ /** Уникальный идентификатор репозитория */
162
+ id: number;
163
+ /** Информация о владельце репозитория */
164
+ owner: User2;
165
+ /** Название репозитория */
166
+ name: string;
167
+ /** Полное название репозитория в формате {owner}/{repo} */
168
+ full_name: string;
169
+ /** Описание репозитория */
170
+ description?: string;
171
+ /** Список тем, связанных с репозиторием */
172
+ topics?: string[] | null;
173
+ /** Является ли репозиторий приватным */
174
+ private: boolean;
175
+ /** Является ли репозиторий форком другого репозитория */
176
+ fork: boolean;
177
+ /** Информация о родительском репозитории (если это форк) */
178
+ parent?: Repository | null;
179
+ /** Размер репозитория в килобайтах */
180
+ size: number;
181
+ /** Основной язык программирования, используемый в репозитории */
182
+ language?: string;
183
+ /** SSH-URL для клонирования репозитория */
184
+ ssh_url: string;
185
+ /** HTTPS-URL для клонирования репозитория */
186
+ clone_url: string;
187
+ /** Веб-ссылка на репозиторий */
188
+ html_url: string;
189
+ /** API-ссылка на репозиторий */
190
+ url: string;
191
+ /** Git-URL для клонирования репозитория */
192
+ git_url: string;
193
+ /** Зеркало репозитория (если доступно) */
194
+ mirror_url?: string;
195
+ /** Ссылка на вебсайт проекта */
196
+ website?: string;
197
+ /** Альтернативная ссылка на домашнюю страницу проекта */
198
+ homepage?: string;
199
+ /** Количество звезд у репозитория */
200
+ stargazers_count: number;
201
+ /** Количество форков репозитория */
202
+ forks: number;
203
+ /** Количество форков репозитория (дублирует поле forks) */
204
+ forks_count: number;
205
+ /** Количество наблюдателей за репозиторием */
206
+ watchers: number;
207
+ /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
208
+ watchers_count: number;
209
+ /** Количество репозиториев в сети (форков и оригинала) */
210
+ network_count: number;
211
+ /** Количество подписчиков на уведомления о репозитории */
212
+ subscribers_count: number;
213
+ /** Количество открытых задач (issues) в репозитории */
214
+ open_issues: number;
215
+ /** Количество открытых задач (дублирует поле open_issues) */
216
+ open_issues_count: number;
217
+ /** Количество открытых pull requests */
218
+ open_pr_counter: number;
219
+ /** Основная ветка репозитория */
220
+ default_branch: string;
221
+ /** Архивирован ли репозиторий */
222
+ archived: boolean;
223
+ /** Разрешено ли создание задач (issues) */
224
+ has_issues: boolean;
225
+ /** Разрешено ли использование проектов */
226
+ has_projects: boolean;
227
+ /** Разрешено ли использование обсуждений */
228
+ has_discussions: boolean;
229
+ /** Разрешено ли использование wiki */
230
+ has_wiki: boolean;
231
+ /** Разрешено ли использование GitHub Pages */
232
+ has_pages: boolean;
233
+ /** Отключен ли репозиторий */
234
+ disabled: boolean;
235
+ /** Настройки приватности репозитория */
236
+ visibility: VisibilityType;
237
+ /** Является ли репозиторий шаблоном */
238
+ is_template: boolean;
239
+ /** Информация о шаблоне репозитория (если доступно) */
240
+ template_repository?: Repository | null;
241
+ /** Разрешены ли слияния через merge commits */
242
+ allow_merge_commits: boolean;
243
+ /** Разрешены ли слияния через squash commits */
244
+ allow_squash_merge: boolean;
245
+ /** Удалять ли ветку после слияния по умолчанию */
246
+ default_delete_branch_after_merge: boolean;
247
+ /** Дата создания репозитория */
248
+ created_at: string;
249
+ /** Дата последнего обновления репозитория */
250
+ updated_at: string;
251
+ /** Дата последнего push-события в репозиторий */
252
+ pushed_at: string;
253
+ }
254
+ /**
255
+ * Интерфейс параметров для создания форка
256
+ */
257
+ interface CreateForkParams {
258
+ /** Имя нового форка */
259
+ name?: string;
260
+ /** Название организации, в которую будет создан форк */
261
+ organization?: string;
262
+ /** Описание нового форка */
263
+ description?: string;
264
+ }
265
+ /**
266
+ * API для работы с форками репозиториев
267
+ */
268
+ declare class ForksApi {
269
+ private client;
270
+ /**
271
+ * Создает новый экземпляр API для работы с форками
272
+ * @param client GitVerse клиент
273
+ */
274
+ constructor(client: GitVerseClient);
275
+ /**
276
+ * Создает форк репозитория
277
+ * @param owner Владелец исходного репозитория
278
+ * @param repo Название исходного репозитория
279
+ * @param params Параметры создания форка
280
+ * @returns Информация о созданном форке
281
+ */
282
+ create(owner: string, repo: string, params?: CreateForkParams): Promise<Repository>;
283
+ /**
284
+ * Получает список форков репозитория
285
+ * @param owner Владелец репозитория
286
+ * @param repo Название репозитория
287
+ * @returns Список форков
288
+ */
289
+ list(owner: string, repo: string): Promise<Repository[]>;
290
+ }
291
+ export { ForksApi };
@@ -0,0 +1,4 @@
1
+ class g{client;constructor(b){this.client=b}create(b,d,f){return this.client.post(`/public/api/repos/${b}/${d}/forks`,f)}list(b,d){return this.client.get(`/repos/${b}/${d}/forks`)}}export{g as ForksApi};
2
+ export{g as i};
3
+
4
+ //# debugId=A26F87C1380193FD64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/forks.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { CreateForkParams, Repository } from \"../types\";\n\n/**\n * API для работы с форками репозиториев\n */\nexport class ForksApi {\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?: CreateForkParams): Promise<Repository> {\n return this.client.post<Repository>(`/public/api/repos/${owner}/${repo}/forks`, params);\n }\n\n /**\n * Получает список форков репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список форков\n */\n list(owner: string, repo: string): Promise<Repository[]> {\n return this.client.get<Repository[]>(`/repos/${owner}/${repo}/forks`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAgD,CAClF,OAAO,KAAK,OAAO,KAAiB,qBAAqB,KAAS,UAAc,CAAM,EASxF,IAAI,CAAC,EAAe,EAAqC,CACvD,OAAO,KAAK,OAAO,IAAkB,UAAU,KAAS,SAAY,EAExE",
8
+ "debugId": "A26F87C1380193FD64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,239 @@
1
+ declare const HTTPMethods: {
2
+ readonly DELETE: "DELETE"
3
+ readonly GET: "GET"
4
+ readonly POST: "POST"
5
+ readonly PUT: "PUT"
6
+ };
7
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
8
+ /**
9
+ * Параметры для конфигурации GitVerse клиента
10
+ */
11
+ interface GitVerseClientConfig {
12
+ /**
13
+ * Базовый URL API GitVerse
14
+ * @default 'https://api.gitverse.ru'
15
+ */
16
+ baseUrl?: string;
17
+ /**
18
+ * Токен доступа для авторизации в API
19
+ */
20
+ token?: string;
21
+ /**
22
+ * Версия API
23
+ * @default '1'
24
+ */
25
+ apiVersion?: string;
26
+ }
27
+ /**
28
+ * Основной класс для работы с GitVerse API
29
+ */
30
+ declare class GitVerseClient {
31
+ private baseUrl;
32
+ private token?;
33
+ private apiVersion;
34
+ /**
35
+ * Создает новый экземпляр GitVerse клиента
36
+ * @param config Конфигурация клиента
37
+ */
38
+ constructor(config?: GitVerseClientConfig);
39
+ /**
40
+ * Устанавливает токен авторизации
41
+ * @param token Токен доступа
42
+ */
43
+ setToken(token: string): void;
44
+ /**
45
+ * Выполняет API-запрос с учетом авторизации и версии API
46
+ * @param path Путь к API-ресурсу
47
+ * @param method HTTP-метод
48
+ * @param body Тело запроса (опционально)
49
+ * @returns Ответ от API
50
+ * @throws {Error} Если запрос завершится с ошибкой
51
+ */
52
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
53
+ /**
54
+ * Выполняет GET-запрос
55
+ * @param path Путь к API-ресурсу
56
+ * @returns Ответ от API
57
+ */
58
+ get<T>(path: string): Promise<T>;
59
+ /**
60
+ * Выполняет POST-запрос
61
+ * @param path Путь к API-ресурсу
62
+ * @param body Тело запроса
63
+ * @returns Ответ от API
64
+ */
65
+ post<T>(path: string, body?: unknown): Promise<T>;
66
+ /**
67
+ * Выполняет PUT-запрос
68
+ * @param path Путь к API-ресурсу
69
+ * @param body Тело запроса
70
+ * @returns Ответ от API
71
+ */
72
+ put<T>(path: string, body?: unknown): Promise<T>;
73
+ /**
74
+ * Выполняет DELETE-запрос
75
+ * @param path Путь к API-ресурсу
76
+ * @param body Тело запроса (опционально)
77
+ * @returns Ответ от API
78
+ */
79
+ delete<T>(path: string, body?: unknown): Promise<T>;
80
+ }
81
+ /**
82
+ * Типы пользователей в системе
83
+ */
84
+ declare const UserType: {
85
+ readonly Organization: "Organization"
86
+ readonly User: "User"
87
+ };
88
+ /**
89
+ * Тип для типов пользователей
90
+ */
91
+ type UserType = (typeof UserType)[keyof typeof UserType];
92
+ /**
93
+ * Типы видимости для репозиториев и пользователей
94
+ */
95
+ declare const VisibilityType: {
96
+ readonly Limited: "limited"
97
+ readonly Private: "private"
98
+ readonly Public: "public"
99
+ };
100
+ /**
101
+ * Тип для типов видимости
102
+ */
103
+ type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
104
+ /**
105
+ * Состояния issue
106
+ */
107
+ declare const IssueState: {
108
+ readonly Closed: "closed"
109
+ readonly Open: "open"
110
+ };
111
+ /**
112
+ * Тип для состояний issue
113
+ */
114
+ type IssueState = (typeof IssueState)[keyof typeof IssueState];
115
+ /**
116
+ * Интерфейс пользователя
117
+ */
118
+ interface User2 {
119
+ /** Уникальный идентификатор пользователя */
120
+ id: number;
121
+ /** Имя пользователя */
122
+ name?: string;
123
+ /** Логин пользователя */
124
+ login: string;
125
+ /** Полное имя пользователя */
126
+ full_name?: string;
127
+ /** Тип аккаунта: пользователь или организация */
128
+ type: UserType;
129
+ /** Биография пользователя */
130
+ bio?: string;
131
+ /** Электронная почта пользователя */
132
+ email?: string;
133
+ /** URL аватара пользователя */
134
+ avatar_url: string;
135
+ /** Веб-ссылка на профиль пользователя */
136
+ html_url: string;
137
+ /** API-ссылка на профиль пользователя */
138
+ url?: string;
139
+ /** API-ссылка на список подписчиков пользователя */
140
+ followers_url?: string;
141
+ /** API-ссылка на репозитории пользователя */
142
+ repos_url?: string;
143
+ /** API-ссылка на организации пользователя */
144
+ organizations_url?: string;
145
+ /** Права администратора */
146
+ site_admin: boolean;
147
+ /** Местоположение пользователя */
148
+ location?: string;
149
+ /** Верификация аккаунта */
150
+ is_verified?: boolean;
151
+ /** Настройки приватности профиля */
152
+ visibility?: VisibilityType;
153
+ /** Персональный веб-сайт */
154
+ website?: string;
155
+ /** Количество подписчиков */
156
+ followers?: number;
157
+ /** Количество подписок */
158
+ following?: number;
159
+ /** Количество публичных репозиториев */
160
+ public_repos?: number;
161
+ /** Количество репозиториев, отмеченных звездой */
162
+ stars_count?: number;
163
+ /** Дата создания аккаунта */
164
+ created_at: string;
165
+ /** Дата последнего обновления аккаунта */
166
+ updated_at?: string;
167
+ }
168
+ /**
169
+ * Интерфейс метки (label) для issues и pull requests
170
+ */
171
+ interface Label {
172
+ /** Идентификатор метки */
173
+ id: number;
174
+ /** Имя метки */
175
+ name: string;
176
+ /** Описание метки */
177
+ description?: string;
178
+ /** Цвет метки в формате HEX */
179
+ color: string;
180
+ /** URL метки */
181
+ url?: string;
182
+ }
183
+ /**
184
+ * Интерфейс issue
185
+ */
186
+ interface Issue {
187
+ /** Уникальный идентификатор issue */
188
+ id: number;
189
+ /** Номер issue в репозитории */
190
+ number: number;
191
+ /** Заголовок issue */
192
+ title: string;
193
+ /** Описание issue */
194
+ body?: string;
195
+ /** Состояние issue */
196
+ state: IssueState;
197
+ /** Пользователь, создавший issue */
198
+ user: User2;
199
+ /** Список меток */
200
+ labels: Label[];
201
+ /** Назначенные пользователи */
202
+ assignees?: User2[];
203
+ /** Дата создания */
204
+ created_at: string;
205
+ /** Дата обновления */
206
+ updated_at: string;
207
+ /** Дата закрытия */
208
+ closed_at?: string | null;
209
+ /** Количество комментариев */
210
+ comments: number;
211
+ /** Веб-ссылка на issue */
212
+ html_url: string;
213
+ /** API-ссылка на issue */
214
+ url: string;
215
+ }
216
+ /**
217
+ * Класс для работы с issues репозитория
218
+ */
219
+ declare class IssuesApi {
220
+ private client;
221
+ constructor(client: GitVerseClient);
222
+ /**
223
+ * Получить список issues репозитория
224
+ * @param {string} owner - Владелец репозитория
225
+ * @param {string} repo - Название репозитория
226
+ * @param {IssueState} [state] - Фильтр по состоянию issue
227
+ * @returns {Promise<Issue[]>} Массив issues
228
+ */
229
+ list(owner: string, repo: string, state?: IssueState): Promise<Issue[]>;
230
+ /**
231
+ * Получить конкретный issue
232
+ * @param {string} owner - Владелец репозитория
233
+ * @param {string} repo - Название репозитория
234
+ * @param {number} number - Номер issue
235
+ * @returns {Promise<Issue>} Информация об issue
236
+ */
237
+ get(owner: string, repo: string, number: number): Promise<Issue>;
238
+ }
239
+ export { IssuesApi };
@@ -0,0 +1,4 @@
1
+ class v{client;constructor(c){this.client=c}list(c,f,d){let h=new URLSearchParams;if(d)h.append("state",d);let j=h.toString(),k=`/repos/${c}/${f}/issues${j?`?${j}`:""}`;return this.client.get(k)}get(c,f,d){return this.client.get(`/repos/${c}/${f}/issues/${d}`)}}export{v as IssuesApi};
2
+ export{v as a};
3
+
4
+ //# debugId=73227DE79476FD8B64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/issues.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { IssueState } from \"../enums\";\nimport type { Issue } from \"../types\";\n\n/**\n * Класс для работы с issues репозитория\n */\nexport class IssuesApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список issues репозитория\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {IssueState} [state] - Фильтр по состоянию issue\n * @returns {Promise<Issue[]>} Массив issues\n */\n list(owner: string, repo: string, state?: IssueState): Promise<Issue[]> {\n const params = new URLSearchParams();\n if (state) {\n params.append(\"state\", state);\n }\n\n const queryString = params.toString();\n const url = `/repos/${owner}/${repo}/issues${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Issue[]>(url);\n }\n\n /**\n * Получить конкретный issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} number - Номер issue\n * @returns {Promise<Issue>} Информация об issue\n */\n get(owner: string, repo: string, number: number): Promise<Issue> {\n return this.client.get<Issue>(`/repos/${owner}/${repo}/issues/${number}`);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAOO,MAAM,CAAU,CACD,OAApB,WAAW,CAAS,EAAwB,CAAxB,cASpB,IAAI,CAAC,EAAe,EAAc,EAAsC,CACtE,IAAM,EAAS,IAAI,gBACnB,GAAI,EACF,EAAO,OAAO,QAAS,CAAK,EAG9B,IAAM,EAAc,EAAO,SAAS,EAC9B,EAAM,UAAU,KAAS,WAAc,EAAc,IAAI,IAAgB,KAE/E,OAAO,KAAK,OAAO,IAAa,CAAG,EAUrC,GAAG,CAAC,EAAe,EAAc,EAAgC,CAC/D,OAAO,KAAK,OAAO,IAAW,UAAU,KAAS,YAAe,GAAQ,EAE5E",
8
+ "debugId": "73227DE79476FD8B64756E2164756E21",
9
+ "names": []
10
+ }