gitverse-api-sdk 1.1.1 → 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.
- package/README.md +318 -125
- package/dist/api/actions.d.ts +506 -0
- package/dist/api/actions.js +4 -0
- package/dist/api/actions.js.map +10 -0
- package/dist/api/branches.d.ts +154 -0
- package/dist/api/branches.js +4 -0
- package/dist/api/branches.js.map +10 -0
- package/dist/api/collaborators.d.ts +224 -0
- package/dist/api/collaborators.js +4 -0
- package/dist/api/collaborators.js.map +10 -0
- package/dist/api/commits.d.ts +302 -0
- package/dist/api/commits.js +4 -0
- package/dist/api/commits.js.map +10 -0
- package/dist/api/contents.d.ts +121 -80
- package/dist/api/contents.js +3 -3
- package/dist/api/contents.js.map +3 -3
- package/dist/api/emails.d.ts +80 -39
- package/dist/api/emails.js +2 -2
- package/dist/api/emails.js.map +1 -1
- package/dist/api/forks.d.ts +121 -87
- package/dist/api/forks.js +3 -3
- package/dist/api/forks.js.map +3 -3
- package/dist/api/git.d.ts +228 -0
- package/dist/api/git.js +4 -0
- package/dist/api/git.js.map +10 -0
- package/dist/api/issues.d.ts +223 -82
- package/dist/api/issues.js +3 -3
- package/dist/api/issues.js.map +3 -3
- package/dist/api/organizations.d.ts +140 -0
- package/dist/api/organizations.js +4 -0
- package/dist/api/organizations.js.map +10 -0
- package/dist/api/pulls.d.ts +241 -80
- package/dist/api/pulls.js +3 -3
- package/dist/api/pulls.js.map +3 -3
- package/dist/api/releases.d.ts +400 -0
- package/dist/api/releases.js +4 -0
- package/dist/api/releases.js.map +10 -0
- package/dist/api/repositories.d.ts +266 -80
- package/dist/api/repositories.js +3 -3
- package/dist/api/repositories.js.map +3 -3
- package/dist/api/stars.d.ts +220 -1
- package/dist/api/stars.js +3 -3
- package/dist/api/stars.js.map +3 -3
- package/dist/api/teams.d.ts +287 -0
- package/dist/api/teams.js +4 -0
- package/dist/api/teams.js.map +10 -0
- package/dist/api/users.d.ts +121 -80
- package/dist/api/users.js +2 -2
- package/dist/api/users.js.map +1 -1
- package/dist/client.d.ts +42 -1
- package/dist/client.js +3 -3
- package/dist/client.js.map +3 -3
- package/dist/enums.js +2 -1
- package/dist/enums.js.map +1 -1
- package/dist/errors.d.ts +78 -0
- package/dist/errors.js +4 -0
- package/dist/errors.js.map +10 -0
- package/dist/index.d.ts +1535 -221
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +588 -1
- package/dist/utils.js.map +1 -1
- package/package.json +51 -7
package/dist/api/stars.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/api/stars.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type { GitVerseClient } from \"../client\";\n\n/**\n * Класс для работы со звездами репозиториев\n */\nexport class StarsApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Добавить звезду репозиторию\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции (204 No Content при успехе)\n */\n async add(owner: string, repo: string): Promise<void> {\n await this.client.put<void>(`/user/starred/${owner}/${repo}`);\n }\n\n /**\n * Проверить, отмечен ли репозиторий звездой\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<boolean>} true если отмечен звездой, false если нет\n */\n async check(owner: string, repo: string): Promise<boolean> {\n try {\n await this.client.get<void>(`/user/starred/${owner}/${repo}`);\n return true;\n } catch (error: unknown) {\n if (error instanceof
|
|
5
|
+
"import type { GitVerseClient } from \"../client\";\nimport { GitVerseApiError } from \"../errors\";\nimport type { Repository } from \"../types\";\n\n/**\n * Класс для работы со звездами репозиториев\n */\nexport class StarsApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список репозиториев, отмеченных звездой\n * @returns {Promise<Repository[]>} Массив репозиториев, отмеченных звездой\n */\n list(): Promise<Repository[]> {\n return this.client.get<Repository[]>(\"/user/starred\");\n }\n\n /**\n * Добавить звезду репозиторию\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции (204 No Content при успехе)\n */\n async add(owner: string, repo: string): Promise<void> {\n await this.client.put<void>(`/user/starred/${owner}/${repo}`);\n }\n\n /**\n * Проверить, отмечен ли репозиторий звездой\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<boolean>} true если отмечен звездой, false если нет\n */\n async check(owner: string, repo: string): Promise<boolean> {\n try {\n await this.client.get<void>(`/user/starred/${owner}/${repo}`);\n return true;\n } catch (error: unknown) {\n // 404 означает, что репозиторий не отмечен звездой\n if (error instanceof GitVerseApiError && error.status === 404) {\n return false;\n }\n throw error;\n }\n }\n\n /**\n * Убрать звезду с репозитория\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции\n */\n async remove(owner: string, repo: string): Promise<void> {\n await this.client.delete<void>(`/user/starred/${owner}/${repo}`);\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "iCAOO,MAAM,CAAS,CACA,OAApB,WAAW,CAAS,EAAwB,CAAxB,cAMpB,IAAI,EAA0B,CAC5B,OAAO,KAAK,OAAO,IAAkB,eAAe,OAShD,IAAG,CAAC,EAAe,EAA6B,CACpD,MAAM,KAAK,OAAO,IAAU,iBAAiB,KAAS,GAAM,OASxD,MAAK,CAAC,EAAe,EAAgC,CACzD,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,iBAAiB,KAAS,GAAM,EACrD,GACP,MAAO,EAAgB,CAEvB,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,QAUJ,OAAM,CAAC,EAAe,EAA6B,CACvD,MAAM,KAAK,OAAO,OAAa,iBAAiB,KAAS,GAAM,EAEnE",
|
|
8
|
+
"debugId": "957D1B7B77093AA464756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -0,0 +1,287 @@
|
|
|
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
|
+
* Интерфейс команды (team)
|
|
79
|
+
*/
|
|
80
|
+
interface Team {
|
|
81
|
+
/** Идентификатор команды */
|
|
82
|
+
id: number;
|
|
83
|
+
/** Node ID команды */
|
|
84
|
+
node_id?: string;
|
|
85
|
+
/** Название команды */
|
|
86
|
+
name: string;
|
|
87
|
+
/** Slug команды */
|
|
88
|
+
slug: string;
|
|
89
|
+
/** Описание команды */
|
|
90
|
+
description?: string;
|
|
91
|
+
/** Приватность команды */
|
|
92
|
+
privacy?: "secret" | "closed";
|
|
93
|
+
/** Права доступа */
|
|
94
|
+
permission: "pull" | "push" | "admin";
|
|
95
|
+
/** Количество участников */
|
|
96
|
+
members_count?: number;
|
|
97
|
+
/** Количество репозиториев */
|
|
98
|
+
repos_count?: number;
|
|
99
|
+
/** Организация */
|
|
100
|
+
organization?: {
|
|
101
|
+
login: string
|
|
102
|
+
id: number
|
|
103
|
+
};
|
|
104
|
+
/** Веб-ссылка */
|
|
105
|
+
html_url: string;
|
|
106
|
+
/** API-ссылка */
|
|
107
|
+
url: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Интерфейс приглашения в команду
|
|
111
|
+
*/
|
|
112
|
+
interface Invitation {
|
|
113
|
+
/** Идентификатор приглашения */
|
|
114
|
+
id: number;
|
|
115
|
+
/** Приглашённый пользователь */
|
|
116
|
+
login: string;
|
|
117
|
+
/** Email приглашённого */
|
|
118
|
+
email?: string;
|
|
119
|
+
/** Роль */
|
|
120
|
+
role: string;
|
|
121
|
+
/** Дата создания */
|
|
122
|
+
created_at: string;
|
|
123
|
+
/** Приглашающий */
|
|
124
|
+
inviter: User2;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Предупреждение об устаревшей версии API
|
|
128
|
+
*/
|
|
129
|
+
declare class ApiVersionWarning {
|
|
130
|
+
/** Текущая используемая версия */
|
|
131
|
+
readonly currentVersion: string;
|
|
132
|
+
/** Последняя доступная версия */
|
|
133
|
+
readonly latestVersion: string;
|
|
134
|
+
/** Дата вывода из эксплуатации */
|
|
135
|
+
readonly decommissioning?: string;
|
|
136
|
+
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
137
|
+
/**
|
|
138
|
+
* Возвращает сообщение о предупреждении
|
|
139
|
+
*/
|
|
140
|
+
getMessage(): string;
|
|
141
|
+
}
|
|
142
|
+
declare const HTTPMethods: {
|
|
143
|
+
readonly DELETE: "DELETE"
|
|
144
|
+
readonly GET: "GET"
|
|
145
|
+
readonly PATCH: "PATCH"
|
|
146
|
+
readonly POST: "POST"
|
|
147
|
+
readonly PUT: "PUT"
|
|
148
|
+
};
|
|
149
|
+
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
150
|
+
/**
|
|
151
|
+
* Параметры для конфигурации GitVerse клиента
|
|
152
|
+
*/
|
|
153
|
+
interface GitVerseClientConfig {
|
|
154
|
+
/**
|
|
155
|
+
* Базовый URL API GitVerse
|
|
156
|
+
* @default 'https://api.gitverse.ru'
|
|
157
|
+
*/
|
|
158
|
+
baseUrl?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Токен доступа для авторизации в API
|
|
161
|
+
*/
|
|
162
|
+
token?: string;
|
|
163
|
+
/**
|
|
164
|
+
* Версия API
|
|
165
|
+
* @default '1'
|
|
166
|
+
*/
|
|
167
|
+
apiVersion?: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Основной класс для работы с GitVerse API
|
|
171
|
+
*/
|
|
172
|
+
declare class GitVerseClient {
|
|
173
|
+
private baseUrl;
|
|
174
|
+
private token?;
|
|
175
|
+
private apiVersion;
|
|
176
|
+
/**
|
|
177
|
+
* Callback для обработки предупреждений об устаревшей версии API
|
|
178
|
+
*/
|
|
179
|
+
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
180
|
+
/**
|
|
181
|
+
* Создает новый экземпляр GitVerse клиента
|
|
182
|
+
* @param config Конфигурация клиента
|
|
183
|
+
*/
|
|
184
|
+
constructor(config?: GitVerseClientConfig);
|
|
185
|
+
/**
|
|
186
|
+
* Устанавливает токен авторизации
|
|
187
|
+
* @param token Токен доступа
|
|
188
|
+
*/
|
|
189
|
+
setToken(token: string): void;
|
|
190
|
+
/**
|
|
191
|
+
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
192
|
+
*/
|
|
193
|
+
private extractRateLimitInfo;
|
|
194
|
+
/**
|
|
195
|
+
* Извлекает информацию о версии API из заголовков ответа
|
|
196
|
+
*/
|
|
197
|
+
private extractApiVersionInfo;
|
|
198
|
+
/**
|
|
199
|
+
* Извлекает метаданные из заголовков ответа
|
|
200
|
+
*/
|
|
201
|
+
private extractMetadata;
|
|
202
|
+
/**
|
|
203
|
+
* Выполняет API-запрос с учетом авторизации и версии API
|
|
204
|
+
* @param path Путь к API-ресурсу
|
|
205
|
+
* @param method HTTP-метод
|
|
206
|
+
* @param body Тело запроса (опционально)
|
|
207
|
+
* @returns Ответ от API
|
|
208
|
+
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
209
|
+
* @throws {GitVerseApiError} При других ошибках API
|
|
210
|
+
*/
|
|
211
|
+
request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
|
|
212
|
+
/**
|
|
213
|
+
* Выполняет GET-запрос
|
|
214
|
+
* @param path Путь к API-ресурсу
|
|
215
|
+
* @returns Ответ от API
|
|
216
|
+
*/
|
|
217
|
+
get<T>(path: string): Promise<T>;
|
|
218
|
+
/**
|
|
219
|
+
* Выполняет POST-запрос
|
|
220
|
+
* @param path Путь к API-ресурсу
|
|
221
|
+
* @param body Тело запроса
|
|
222
|
+
* @returns Ответ от API
|
|
223
|
+
*/
|
|
224
|
+
post<T>(path: string, body?: unknown): Promise<T>;
|
|
225
|
+
/**
|
|
226
|
+
* Выполняет PUT-запрос
|
|
227
|
+
* @param path Путь к API-ресурсу
|
|
228
|
+
* @param body Тело запроса
|
|
229
|
+
* @returns Ответ от API
|
|
230
|
+
*/
|
|
231
|
+
put<T>(path: string, body?: unknown): Promise<T>;
|
|
232
|
+
/**
|
|
233
|
+
* Выполняет DELETE-запрос
|
|
234
|
+
* @param path Путь к API-ресурсу
|
|
235
|
+
* @param body Тело запроса (опционально)
|
|
236
|
+
* @returns Ответ от API
|
|
237
|
+
*/
|
|
238
|
+
delete<T>(path: string, body?: unknown): Promise<T>;
|
|
239
|
+
/**
|
|
240
|
+
* Выполняет PATCH-запрос
|
|
241
|
+
* @param path Путь к API-ресурсу
|
|
242
|
+
* @param body Тело запроса
|
|
243
|
+
* @returns Ответ от API
|
|
244
|
+
*/
|
|
245
|
+
patch<T>(path: string, body?: unknown): Promise<T>;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* API для работы с командами организации
|
|
249
|
+
*/
|
|
250
|
+
declare class TeamsApi {
|
|
251
|
+
private client;
|
|
252
|
+
/**
|
|
253
|
+
* Создает новый экземпляр API для работы с командами
|
|
254
|
+
* @param client GitVerse клиент
|
|
255
|
+
*/
|
|
256
|
+
constructor(client: GitVerseClient);
|
|
257
|
+
/**
|
|
258
|
+
* Получает список команд организации
|
|
259
|
+
* @param org Название организации
|
|
260
|
+
* @returns Список команд
|
|
261
|
+
*/
|
|
262
|
+
list(org: string): Promise<Team[]>;
|
|
263
|
+
/**
|
|
264
|
+
* Получает список приглашений команды
|
|
265
|
+
* @param org Название организации
|
|
266
|
+
* @param team Название команды
|
|
267
|
+
* @returns Список приглашений
|
|
268
|
+
*/
|
|
269
|
+
getInvitations(org: string, team: string): Promise<Invitation[]>;
|
|
270
|
+
/**
|
|
271
|
+
* Получает список членов команды
|
|
272
|
+
* @param org Название организации
|
|
273
|
+
* @param team Название команды
|
|
274
|
+
* @returns Список членов команды
|
|
275
|
+
*/
|
|
276
|
+
getMembers(org: string, team: string): Promise<User2[]>;
|
|
277
|
+
/**
|
|
278
|
+
* Добавляет репозиторий к команде
|
|
279
|
+
* @param org Название организации
|
|
280
|
+
* @param team Название команды
|
|
281
|
+
* @param owner Владелец репозитория
|
|
282
|
+
* @param repo Название репозитория
|
|
283
|
+
* @returns Результат операции
|
|
284
|
+
*/
|
|
285
|
+
addRepository(org: string, team: string, owner: string, repo: string): Promise<void>;
|
|
286
|
+
}
|
|
287
|
+
export { TeamsApi };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
class j{client;constructor(b){this.client=b}list(b){return this.client.get(`/orgs/${b}/teams`)}getInvitations(b,d){return this.client.get(`/orgs/${b}/teams/${d}/invitations`)}getMembers(b,d){return this.client.get(`/orgs/${b}/teams/${d}/members`)}addRepository(b,d,f,h){return this.client.put(`/orgs/${b}/teams/${d}/repos/${f}/${h}`,{})}}export{j as TeamsApi};
|
|
2
|
+
export{j};
|
|
3
|
+
|
|
4
|
+
//# debugId=3ECAF54B3CA1F91764756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/api/teams.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { GitVerseClient } from \"../client\";\nimport type { Invitation, Team, 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 * Получает список команд организации\n * @param org Название организации\n * @returns Список команд\n */\n list(org: string): Promise<Team[]> {\n return this.client.get<Team[]>(`/orgs/${org}/teams`);\n }\n\n /**\n * Получает список приглашений команды\n * @param org Название организации\n * @param team Название команды\n * @returns Список приглашений\n */\n getInvitations(org: string, team: string): Promise<Invitation[]> {\n return this.client.get<Invitation[]>(`/orgs/${org}/teams/${team}/invitations`);\n }\n\n /**\n * Получает список членов команды\n * @param org Название организации\n * @param team Название команды\n * @returns Список членов команды\n */\n getMembers(org: string, team: string): Promise<User[]> {\n return this.client.get<User[]>(`/orgs/${org}/teams/${team}/members`);\n }\n\n /**\n * Добавляет репозиторий к команде\n * @param org Название организации\n * @param team Название команды\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Результат операции\n */\n addRepository(org: string, team: string, owner: string, repo: string): Promise<void> {\n return this.client.put<void>(`/orgs/${org}/teams/${team}/repos/${owner}/${repo}`, {});\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAQhB,IAAI,CAAC,EAA8B,CACjC,OAAO,KAAK,OAAO,IAAY,SAAS,SAAW,EASrD,cAAc,CAAC,EAAa,EAAqC,CAC/D,OAAO,KAAK,OAAO,IAAkB,SAAS,WAAa,eAAkB,EAS/E,UAAU,CAAC,EAAa,EAA+B,CACrD,OAAO,KAAK,OAAO,IAAY,SAAS,WAAa,WAAc,EAWrE,aAAa,CAAC,EAAa,EAAc,EAAe,EAA6B,CACnF,OAAO,KAAK,OAAO,IAAU,SAAS,WAAa,WAAc,KAAS,IAAQ,CAAC,CAAC,EAExF",
|
|
8
|
+
"debugId": "3ECAF54B3CA1F91764756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
package/dist/api/users.d.ts
CHANGED
|
@@ -1,83 +1,3 @@
|
|
|
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
1
|
/**
|
|
82
2
|
* Типы пользователей в системе
|
|
83
3
|
*/
|
|
@@ -179,6 +99,127 @@ interface CurrentUser {
|
|
|
179
99
|
created_at: string;
|
|
180
100
|
}
|
|
181
101
|
/**
|
|
102
|
+
* Предупреждение об устаревшей версии API
|
|
103
|
+
*/
|
|
104
|
+
declare class ApiVersionWarning {
|
|
105
|
+
/** Текущая используемая версия */
|
|
106
|
+
readonly currentVersion: string;
|
|
107
|
+
/** Последняя доступная версия */
|
|
108
|
+
readonly latestVersion: string;
|
|
109
|
+
/** Дата вывода из эксплуатации */
|
|
110
|
+
readonly decommissioning?: string;
|
|
111
|
+
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
112
|
+
/**
|
|
113
|
+
* Возвращает сообщение о предупреждении
|
|
114
|
+
*/
|
|
115
|
+
getMessage(): string;
|
|
116
|
+
}
|
|
117
|
+
declare const HTTPMethods: {
|
|
118
|
+
readonly DELETE: "DELETE"
|
|
119
|
+
readonly GET: "GET"
|
|
120
|
+
readonly PATCH: "PATCH"
|
|
121
|
+
readonly POST: "POST"
|
|
122
|
+
readonly PUT: "PUT"
|
|
123
|
+
};
|
|
124
|
+
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
125
|
+
/**
|
|
126
|
+
* Параметры для конфигурации GitVerse клиента
|
|
127
|
+
*/
|
|
128
|
+
interface GitVerseClientConfig {
|
|
129
|
+
/**
|
|
130
|
+
* Базовый URL API GitVerse
|
|
131
|
+
* @default 'https://api.gitverse.ru'
|
|
132
|
+
*/
|
|
133
|
+
baseUrl?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Токен доступа для авторизации в API
|
|
136
|
+
*/
|
|
137
|
+
token?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Версия API
|
|
140
|
+
* @default '1'
|
|
141
|
+
*/
|
|
142
|
+
apiVersion?: string;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Основной класс для работы с GitVerse API
|
|
146
|
+
*/
|
|
147
|
+
declare class GitVerseClient {
|
|
148
|
+
private baseUrl;
|
|
149
|
+
private token?;
|
|
150
|
+
private apiVersion;
|
|
151
|
+
/**
|
|
152
|
+
* Callback для обработки предупреждений об устаревшей версии API
|
|
153
|
+
*/
|
|
154
|
+
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
155
|
+
/**
|
|
156
|
+
* Создает новый экземпляр GitVerse клиента
|
|
157
|
+
* @param config Конфигурация клиента
|
|
158
|
+
*/
|
|
159
|
+
constructor(config?: GitVerseClientConfig);
|
|
160
|
+
/**
|
|
161
|
+
* Устанавливает токен авторизации
|
|
162
|
+
* @param token Токен доступа
|
|
163
|
+
*/
|
|
164
|
+
setToken(token: string): void;
|
|
165
|
+
/**
|
|
166
|
+
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
167
|
+
*/
|
|
168
|
+
private extractRateLimitInfo;
|
|
169
|
+
/**
|
|
170
|
+
* Извлекает информацию о версии API из заголовков ответа
|
|
171
|
+
*/
|
|
172
|
+
private extractApiVersionInfo;
|
|
173
|
+
/**
|
|
174
|
+
* Извлекает метаданные из заголовков ответа
|
|
175
|
+
*/
|
|
176
|
+
private extractMetadata;
|
|
177
|
+
/**
|
|
178
|
+
* Выполняет API-запрос с учетом авторизации и версии API
|
|
179
|
+
* @param path Путь к API-ресурсу
|
|
180
|
+
* @param method HTTP-метод
|
|
181
|
+
* @param body Тело запроса (опционально)
|
|
182
|
+
* @returns Ответ от API
|
|
183
|
+
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
184
|
+
* @throws {GitVerseApiError} При других ошибках API
|
|
185
|
+
*/
|
|
186
|
+
request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
|
|
187
|
+
/**
|
|
188
|
+
* Выполняет GET-запрос
|
|
189
|
+
* @param path Путь к API-ресурсу
|
|
190
|
+
* @returns Ответ от API
|
|
191
|
+
*/
|
|
192
|
+
get<T>(path: string): Promise<T>;
|
|
193
|
+
/**
|
|
194
|
+
* Выполняет POST-запрос
|
|
195
|
+
* @param path Путь к API-ресурсу
|
|
196
|
+
* @param body Тело запроса
|
|
197
|
+
* @returns Ответ от API
|
|
198
|
+
*/
|
|
199
|
+
post<T>(path: string, body?: unknown): Promise<T>;
|
|
200
|
+
/**
|
|
201
|
+
* Выполняет PUT-запрос
|
|
202
|
+
* @param path Путь к API-ресурсу
|
|
203
|
+
* @param body Тело запроса
|
|
204
|
+
* @returns Ответ от API
|
|
205
|
+
*/
|
|
206
|
+
put<T>(path: string, body?: unknown): Promise<T>;
|
|
207
|
+
/**
|
|
208
|
+
* Выполняет DELETE-запрос
|
|
209
|
+
* @param path Путь к API-ресурсу
|
|
210
|
+
* @param body Тело запроса (опционально)
|
|
211
|
+
* @returns Ответ от API
|
|
212
|
+
*/
|
|
213
|
+
delete<T>(path: string, body?: unknown): Promise<T>;
|
|
214
|
+
/**
|
|
215
|
+
* Выполняет PATCH-запрос
|
|
216
|
+
* @param path Путь к API-ресурсу
|
|
217
|
+
* @param body Тело запроса
|
|
218
|
+
* @returns Ответ от API
|
|
219
|
+
*/
|
|
220
|
+
patch<T>(path: string, body?: unknown): Promise<T>;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
182
223
|
* API для работы с пользователями
|
|
183
224
|
*/
|
|
184
225
|
declare class UsersApi {
|
package/dist/api/users.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
class d{client;constructor(b){this.client=b}getCurrent(){return this.client.get("/user")}getByUsername(b){return this.client.get(`/users/${b}`)}}export{d as UsersApi};
|
|
2
|
-
export{d as
|
|
2
|
+
export{d as x};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=BA5DF27C9A156B5764756E2164756E21
|
package/dist/api/users.js.map
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type { GitVerseClient } from \"../client\";\nimport type { CurrentUser, User } from \"../types\";\n\n/**\n * API для работы с пользователями\n */\nexport class UsersApi {\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 * @returns Данные о пользователе\n */\n getCurrent(): Promise<CurrentUser> {\n return this.client.get<CurrentUser>(\"/user\");\n }\n\n /**\n * Получает информацию о пользователе по имени пользователя\n * @param username Имя пользователя\n * @returns Данные о пользователе\n */\n getByUsername(username: string): Promise<User> {\n return this.client.get<User>(`/users/${username}`);\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAOhB,UAAU,EAAyB,CACjC,OAAO,KAAK,OAAO,IAAiB,OAAO,EAQ7C,aAAa,CAAC,EAAiC,CAC7C,OAAO,KAAK,OAAO,IAAU,UAAU,GAAU,EAErD",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "BA5DF27C9A156B5764756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Предупреждение об устаревшей версии API
|
|
3
|
+
*/
|
|
4
|
+
declare class ApiVersionWarning {
|
|
5
|
+
/** Текущая используемая версия */
|
|
6
|
+
readonly currentVersion: string;
|
|
7
|
+
/** Последняя доступная версия */
|
|
8
|
+
readonly latestVersion: string;
|
|
9
|
+
/** Дата вывода из эксплуатации */
|
|
10
|
+
readonly decommissioning?: string;
|
|
11
|
+
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
12
|
+
/**
|
|
13
|
+
* Возвращает сообщение о предупреждении
|
|
14
|
+
*/
|
|
15
|
+
getMessage(): string;
|
|
16
|
+
}
|
|
1
17
|
declare const HTTPMethods: {
|
|
2
18
|
readonly DELETE: "DELETE"
|
|
3
19
|
readonly GET: "GET"
|
|
20
|
+
readonly PATCH: "PATCH"
|
|
4
21
|
readonly POST: "POST"
|
|
5
22
|
readonly PUT: "PUT"
|
|
6
23
|
};
|
|
@@ -32,6 +49,10 @@ declare class GitVerseClient {
|
|
|
32
49
|
private token?;
|
|
33
50
|
private apiVersion;
|
|
34
51
|
/**
|
|
52
|
+
* Callback для обработки предупреждений об устаревшей версии API
|
|
53
|
+
*/
|
|
54
|
+
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
55
|
+
/**
|
|
35
56
|
* Создает новый экземпляр GitVerse клиента
|
|
36
57
|
* @param config Конфигурация клиента
|
|
37
58
|
*/
|
|
@@ -42,12 +63,25 @@ declare class GitVerseClient {
|
|
|
42
63
|
*/
|
|
43
64
|
setToken(token: string): void;
|
|
44
65
|
/**
|
|
66
|
+
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
67
|
+
*/
|
|
68
|
+
private extractRateLimitInfo;
|
|
69
|
+
/**
|
|
70
|
+
* Извлекает информацию о версии API из заголовков ответа
|
|
71
|
+
*/
|
|
72
|
+
private extractApiVersionInfo;
|
|
73
|
+
/**
|
|
74
|
+
* Извлекает метаданные из заголовков ответа
|
|
75
|
+
*/
|
|
76
|
+
private extractMetadata;
|
|
77
|
+
/**
|
|
45
78
|
* Выполняет API-запрос с учетом авторизации и версии API
|
|
46
79
|
* @param path Путь к API-ресурсу
|
|
47
80
|
* @param method HTTP-метод
|
|
48
81
|
* @param body Тело запроса (опционально)
|
|
49
82
|
* @returns Ответ от API
|
|
50
|
-
* @throws {
|
|
83
|
+
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
84
|
+
* @throws {GitVerseApiError} При других ошибках API
|
|
51
85
|
*/
|
|
52
86
|
request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
|
|
53
87
|
/**
|
|
@@ -77,5 +111,12 @@ declare class GitVerseClient {
|
|
|
77
111
|
* @returns Ответ от API
|
|
78
112
|
*/
|
|
79
113
|
delete<T>(path: string, body?: unknown): Promise<T>;
|
|
114
|
+
/**
|
|
115
|
+
* Выполняет PATCH-запрос
|
|
116
|
+
* @param path Путь к API-ресурсу
|
|
117
|
+
* @param body Тело запроса
|
|
118
|
+
* @returns Ответ от API
|
|
119
|
+
*/
|
|
120
|
+
patch<T>(path: string, body?: unknown): Promise<T>;
|
|
80
121
|
}
|
|
81
122
|
export { HTTPMethods, GitVerseClientConfig, GitVerseClient };
|
package/dist/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
2
|
-
export{
|
|
1
|
+
import{u as Q,v as S,w as U}from"./errors.js";var F={DELETE:"DELETE",GET:"GET",PATCH:"PATCH",POST:"POST",PUT:"PUT"};class Y{baseUrl;token;apiVersion;onApiVersionWarning;constructor(j={}){this.baseUrl=j.baseUrl||"https://api.gitverse.ru",this.token=j.token,this.apiVersion=j.apiVersion||"1"}setToken(j){this.token=j}extractRateLimitInfo(j){let q=j.get("GitVerse-RateLimit-Limit"),x=j.get("GitVerse-RateLimit-Remaining"),z=j.get("GitVerse-RateLimit-Retry-After"),B=j.get("Gitverse-Ratelimit-Reset");if(!(q&&x&&z&&B))return;return{limit:Number.parseInt(q,10),remaining:Number.parseInt(x,10),reset:Number.parseInt(B,10),retryAfter:Number.parseInt(z,10)}}extractApiVersionInfo(j){let q=j.get("Gitverse-Api-Version"),x=j.get("Gitverse-Api-Latest-Version"),z=j.get("Gitverse-Api-Deprecation")==="true",B=j.get("Gitverse-Api-Decommissioning");if(!(q&&x))return;return{decommissioning:B||void 0,deprecated:z,latestVersion:x,version:q}}extractMetadata(j){let q=this.extractRateLimitInfo(j),x=this.extractApiVersionInfo(j);if(x?.deprecated&&this.onApiVersionWarning){let z=new U(x.version,x.latestVersion,x.decommissioning);this.onApiVersionWarning(z)}return{apiVersion:x,rateLimit:q}}async request(j,q,x){let z=j.startsWith("/")?j.slice(1):j,B=`${this.baseUrl}/${z}`,J=new Headers;if(J.set("Content-Type","application/json"),J.set("Accept",`application/vnd.gitverse.object+json; version=${this.apiVersion}`),this.token)J.set("Authorization",`Bearer ${this.token}`);let X={body:x?JSON.stringify(x):void 0,headers:J,method:q},D=await fetch(B,X),K=this.extractMetadata(D.headers),N;try{N=await D.json()}catch{N=void 0}if(!D.ok){let O=N?.message||D.statusText;if(D.status===429&&K.rateLimit)throw new S(O||"Превышен лимит запросов. Попробуйте позже.",K.rateLimit,K);throw new Q(D.status,O,K)}return N}get(j){return this.request(j,F.GET)}post(j,q){return this.request(j,F.POST,q)}put(j,q){return this.request(j,F.PUT,q)}delete(j,q){return this.request(j,F.DELETE,q)}patch(j,q){return this.request(j,F.PATCH,q)}}export{F as HTTPMethods,Y as GitVerseClient};
|
|
2
|
+
export{Y as o};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=13122ADA45B36DC764756E2164756E21
|