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.
- package/README.md +328 -114
- 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 +345 -0
- package/dist/api/contents.js +4 -0
- package/dist/api/contents.js.map +10 -0
- package/dist/api/emails.d.ts +184 -0
- package/dist/api/emails.js +4 -0
- package/dist/api/emails.js.map +10 -0
- package/dist/api/forks.d.ts +325 -0
- package/dist/api/forks.js +4 -0
- package/dist/api/forks.js.map +10 -0
- 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 +380 -0
- package/dist/api/issues.js +4 -0
- package/dist/api/issues.js.map +10 -0
- 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 +517 -0
- package/dist/api/pulls.js +4 -0
- package/dist/api/pulls.js.map +10 -0
- 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 +502 -0
- package/dist/api/repositories.js +4 -0
- package/dist/api/repositories.js.map +10 -0
- package/dist/api/stars.d.ts +328 -0
- package/dist/api/stars.js +4 -0
- package/dist/api/stars.js.map +10 -0
- 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 +244 -0
- package/dist/api/users.js +4 -0
- package/dist/api/users.js.map +10 -0
- package/dist/client.d.ts +122 -0
- package/dist/client.js +4 -0
- package/dist/client.js.map +10 -0
- package/dist/enums.d.ts +57 -0
- package/dist/enums.js +4 -0
- package/dist/enums.js.map +10 -0
- 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 +1801 -453
- package/dist/index.js +3 -1
- package/dist/index.js.map +10 -0
- package/dist/types.d.ts +1256 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +9 -0
- package/dist/utils.d.ts +39 -0
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +10 -0
- package/package.json +99 -7
|
@@ -0,0 +1,140 @@
|
|
|
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
|
+
}
|
|
17
|
+
declare const HTTPMethods: {
|
|
18
|
+
readonly DELETE: "DELETE"
|
|
19
|
+
readonly GET: "GET"
|
|
20
|
+
readonly PATCH: "PATCH"
|
|
21
|
+
readonly POST: "POST"
|
|
22
|
+
readonly PUT: "PUT"
|
|
23
|
+
};
|
|
24
|
+
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
25
|
+
/**
|
|
26
|
+
* Параметры для конфигурации GitVerse клиента
|
|
27
|
+
*/
|
|
28
|
+
interface GitVerseClientConfig {
|
|
29
|
+
/**
|
|
30
|
+
* Базовый URL API GitVerse
|
|
31
|
+
* @default 'https://api.gitverse.ru'
|
|
32
|
+
*/
|
|
33
|
+
baseUrl?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Токен доступа для авторизации в API
|
|
36
|
+
*/
|
|
37
|
+
token?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Версия API
|
|
40
|
+
* @default '1'
|
|
41
|
+
*/
|
|
42
|
+
apiVersion?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Основной класс для работы с GitVerse API
|
|
46
|
+
*/
|
|
47
|
+
declare class GitVerseClient {
|
|
48
|
+
private baseUrl;
|
|
49
|
+
private token?;
|
|
50
|
+
private apiVersion;
|
|
51
|
+
/**
|
|
52
|
+
* Callback для обработки предупреждений об устаревшей версии API
|
|
53
|
+
*/
|
|
54
|
+
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Создает новый экземпляр GitVerse клиента
|
|
57
|
+
* @param config Конфигурация клиента
|
|
58
|
+
*/
|
|
59
|
+
constructor(config?: GitVerseClientConfig);
|
|
60
|
+
/**
|
|
61
|
+
* Устанавливает токен авторизации
|
|
62
|
+
* @param token Токен доступа
|
|
63
|
+
*/
|
|
64
|
+
setToken(token: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
67
|
+
*/
|
|
68
|
+
private extractRateLimitInfo;
|
|
69
|
+
/**
|
|
70
|
+
* Извлекает информацию о версии API из заголовков ответа
|
|
71
|
+
*/
|
|
72
|
+
private extractApiVersionInfo;
|
|
73
|
+
/**
|
|
74
|
+
* Извлекает метаданные из заголовков ответа
|
|
75
|
+
*/
|
|
76
|
+
private extractMetadata;
|
|
77
|
+
/**
|
|
78
|
+
* Выполняет API-запрос с учетом авторизации и версии API
|
|
79
|
+
* @param path Путь к API-ресурсу
|
|
80
|
+
* @param method HTTP-метод
|
|
81
|
+
* @param body Тело запроса (опционально)
|
|
82
|
+
* @returns Ответ от API
|
|
83
|
+
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
84
|
+
* @throws {GitVerseApiError} При других ошибках API
|
|
85
|
+
*/
|
|
86
|
+
request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
|
|
87
|
+
/**
|
|
88
|
+
* Выполняет GET-запрос
|
|
89
|
+
* @param path Путь к API-ресурсу
|
|
90
|
+
* @returns Ответ от API
|
|
91
|
+
*/
|
|
92
|
+
get<T>(path: string): Promise<T>;
|
|
93
|
+
/**
|
|
94
|
+
* Выполняет POST-запрос
|
|
95
|
+
* @param path Путь к API-ресурсу
|
|
96
|
+
* @param body Тело запроса
|
|
97
|
+
* @returns Ответ от API
|
|
98
|
+
*/
|
|
99
|
+
post<T>(path: string, body?: unknown): Promise<T>;
|
|
100
|
+
/**
|
|
101
|
+
* Выполняет PUT-запрос
|
|
102
|
+
* @param path Путь к API-ресурсу
|
|
103
|
+
* @param body Тело запроса
|
|
104
|
+
* @returns Ответ от API
|
|
105
|
+
*/
|
|
106
|
+
put<T>(path: string, body?: unknown): Promise<T>;
|
|
107
|
+
/**
|
|
108
|
+
* Выполняет DELETE-запрос
|
|
109
|
+
* @param path Путь к API-ресурсу
|
|
110
|
+
* @param body Тело запроса (опционально)
|
|
111
|
+
* @returns Ответ от API
|
|
112
|
+
*/
|
|
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>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* API для работы с организациями
|
|
124
|
+
*/
|
|
125
|
+
declare class OrganizationsApi {
|
|
126
|
+
private client;
|
|
127
|
+
/**
|
|
128
|
+
* Создает новый экземпляр API для работы с организациями
|
|
129
|
+
* @param client GitVerse клиент
|
|
130
|
+
*/
|
|
131
|
+
constructor(client: GitVerseClient);
|
|
132
|
+
/**
|
|
133
|
+
* Проверяет членство пользователя в организации
|
|
134
|
+
* @param org Название организации
|
|
135
|
+
* @param username Имя пользователя
|
|
136
|
+
* @returns true если пользователь является членом организации, false если нет
|
|
137
|
+
*/
|
|
138
|
+
checkMembership(org: string, username: string): Promise<boolean>;
|
|
139
|
+
}
|
|
140
|
+
export { OrganizationsApi };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
class j{client;constructor(b){this.client=b}async checkMembership(b,h){try{return await this.client.get(`/orgs/${b}/members/${h}`),!0}catch(d){if(d instanceof Error&&d.message.includes("404"))return!1;throw d}}}export{j as OrganizationsApi};
|
|
2
|
+
export{j as a};
|
|
3
|
+
|
|
4
|
+
//# debugId=C13270CF8AD6E2A964756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/api/organizations.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { GitVerseClient } from \"../client\";\n\n/**\n * API для работы с организациями\n */\nexport class OrganizationsApi {\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 * @param username Имя пользователя\n * @returns true если пользователь является членом организации, false если нет\n */\n async checkMembership(org: string, username: string): Promise<boolean> {\n try {\n await this.client.get<void>(`/orgs/${org}/members/${username}`);\n return true;\n } catch (error: unknown) {\n if (error instanceof Error && error.message.includes(\"404\")) {\n return false;\n }\n throw error;\n }\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAKO,MAAM,CAAiB,CACpB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OASV,gBAAe,CAAC,EAAa,EAAoC,CACrE,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,SAAS,aAAe,GAAU,EACvD,GACP,MAAO,EAAgB,CACvB,GAAI,aAAiB,OAAS,EAAM,QAAQ,SAAS,KAAK,EACxD,MAAO,GAET,MAAM,GAGZ",
|
|
8
|
+
"debugId": "C13270CF8AD6E2A964756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,517 @@
|
|
|
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
|
+
* Состояния pull request
|
|
26
|
+
*/
|
|
27
|
+
declare const PullRequestState: {
|
|
28
|
+
readonly Closed: "closed"
|
|
29
|
+
readonly Open: "open"
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Тип для состояний pull request
|
|
33
|
+
*/
|
|
34
|
+
type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
|
|
35
|
+
/**
|
|
36
|
+
* Интерфейс пользователя
|
|
37
|
+
*/
|
|
38
|
+
interface User2 {
|
|
39
|
+
/** Уникальный идентификатор пользователя */
|
|
40
|
+
id: number;
|
|
41
|
+
/** Имя пользователя */
|
|
42
|
+
name?: string;
|
|
43
|
+
/** Логин пользователя */
|
|
44
|
+
login: string;
|
|
45
|
+
/** Полное имя пользователя */
|
|
46
|
+
full_name?: string;
|
|
47
|
+
/** Тип аккаунта: пользователь или организация */
|
|
48
|
+
type: UserType;
|
|
49
|
+
/** Биография пользователя */
|
|
50
|
+
bio?: string;
|
|
51
|
+
/** Электронная почта пользователя */
|
|
52
|
+
email?: string;
|
|
53
|
+
/** URL аватара пользователя */
|
|
54
|
+
avatar_url: string;
|
|
55
|
+
/** Веб-ссылка на профиль пользователя */
|
|
56
|
+
html_url: string;
|
|
57
|
+
/** API-ссылка на профиль пользователя */
|
|
58
|
+
url?: string;
|
|
59
|
+
/** API-ссылка на список подписчиков пользователя */
|
|
60
|
+
followers_url?: string;
|
|
61
|
+
/** API-ссылка на репозитории пользователя */
|
|
62
|
+
repos_url?: string;
|
|
63
|
+
/** API-ссылка на организации пользователя */
|
|
64
|
+
organizations_url?: string;
|
|
65
|
+
/** Права администратора */
|
|
66
|
+
site_admin: boolean;
|
|
67
|
+
/** Местоположение пользователя */
|
|
68
|
+
location?: string;
|
|
69
|
+
/** Верификация аккаунта */
|
|
70
|
+
is_verified?: boolean;
|
|
71
|
+
/** Настройки приватности профиля */
|
|
72
|
+
visibility?: VisibilityType;
|
|
73
|
+
/** Персональный веб-сайт */
|
|
74
|
+
website?: string;
|
|
75
|
+
/** Количество подписчиков */
|
|
76
|
+
followers?: number;
|
|
77
|
+
/** Количество подписок */
|
|
78
|
+
following?: number;
|
|
79
|
+
/** Количество публичных репозиториев */
|
|
80
|
+
public_repos?: number;
|
|
81
|
+
/** Количество репозиториев, отмеченных звездой */
|
|
82
|
+
stars_count?: number;
|
|
83
|
+
/** Дата создания аккаунта */
|
|
84
|
+
created_at: string;
|
|
85
|
+
/** Дата последнего обновления аккаунта */
|
|
86
|
+
updated_at?: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Интерфейс базовой или целевой ветки для pull request
|
|
90
|
+
*/
|
|
91
|
+
interface PullRequestBase {
|
|
92
|
+
/** Метка ветки */
|
|
93
|
+
label: string;
|
|
94
|
+
/** Имя ветки */
|
|
95
|
+
ref: string;
|
|
96
|
+
/** SHA-хеш последнего коммита в ветке */
|
|
97
|
+
sha: string;
|
|
98
|
+
/** ID репозитория */
|
|
99
|
+
repo_id: number;
|
|
100
|
+
/** Информация о репозитории */
|
|
101
|
+
repo: {
|
|
102
|
+
/** ID репозитория */
|
|
103
|
+
id: number
|
|
104
|
+
/** Название репозитория */
|
|
105
|
+
name: string
|
|
106
|
+
/** Полное название репозитория в формате {owner}/{repo} */
|
|
107
|
+
full_name: string
|
|
108
|
+
/** Является ли репозиторий приватным */
|
|
109
|
+
private: boolean
|
|
110
|
+
/** Основная ветка репозитория */
|
|
111
|
+
default_branch: string
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Интерфейс pull request
|
|
116
|
+
*/
|
|
117
|
+
interface PullRequest {
|
|
118
|
+
/** Уникальный идентификатор pull request */
|
|
119
|
+
id: number;
|
|
120
|
+
/** API-ссылка на pull request */
|
|
121
|
+
url: string;
|
|
122
|
+
/** Номер pull request в репозитории */
|
|
123
|
+
number: number;
|
|
124
|
+
/** Информация о пользователе, создавшем pull request */
|
|
125
|
+
user: {
|
|
126
|
+
/** ID пользователя */
|
|
127
|
+
id: number
|
|
128
|
+
/** Логин пользователя */
|
|
129
|
+
login: string
|
|
130
|
+
/** Тип аккаунта */
|
|
131
|
+
type: string
|
|
132
|
+
/** URL аватара пользователя */
|
|
133
|
+
avatar_url: string
|
|
134
|
+
/** Веб-ссылка на профиль пользователя */
|
|
135
|
+
html_url: string
|
|
136
|
+
/** Права администратора */
|
|
137
|
+
site_admin: boolean
|
|
138
|
+
};
|
|
139
|
+
/** Заголовок pull request */
|
|
140
|
+
title: string;
|
|
141
|
+
/** Описание pull request */
|
|
142
|
+
body?: string;
|
|
143
|
+
/** Список меток */
|
|
144
|
+
labels: Label[];
|
|
145
|
+
/** Информация о майлстоуне */
|
|
146
|
+
milestone?: Milestone;
|
|
147
|
+
/** Информация о назначенном пользователе */
|
|
148
|
+
assignee?: User2;
|
|
149
|
+
/** Список назначенных пользователей */
|
|
150
|
+
assignees?: User2[];
|
|
151
|
+
/** Состояние pull request (открыт/закрыт) */
|
|
152
|
+
state: PullRequestState;
|
|
153
|
+
/** Заблокирован ли pull request */
|
|
154
|
+
locked: boolean;
|
|
155
|
+
/** Количество комментариев */
|
|
156
|
+
comments: number;
|
|
157
|
+
/** Веб-ссылка на pull request */
|
|
158
|
+
html_url: string;
|
|
159
|
+
/** Ссылка на diff файл */
|
|
160
|
+
diff_url: string;
|
|
161
|
+
/** Ссылка на patch файл */
|
|
162
|
+
patch_url: string;
|
|
163
|
+
/** Можно ли слить pull request */
|
|
164
|
+
mergeable: boolean;
|
|
165
|
+
/** Был ли pull request слит */
|
|
166
|
+
merged: boolean;
|
|
167
|
+
/** Дата слияния (если был слит) */
|
|
168
|
+
merged_at?: string | null;
|
|
169
|
+
/** SHA-хеш коммита слияния (если был слит) */
|
|
170
|
+
merge_commit_sha?: string | null;
|
|
171
|
+
/** Пользователь, выполнивший слияние */
|
|
172
|
+
merged_by?: User2 | null;
|
|
173
|
+
/** Может ли мейнтейнер изменять pull request */
|
|
174
|
+
maintainer_can_modify: boolean;
|
|
175
|
+
/** Информация о целевой ветке */
|
|
176
|
+
base: PullRequestBase;
|
|
177
|
+
/** Информация о ветке с изменениями */
|
|
178
|
+
head: PullRequestBase;
|
|
179
|
+
/** Дата создания pull request */
|
|
180
|
+
created_at: string;
|
|
181
|
+
/** Дата обновления pull request */
|
|
182
|
+
updated_at: string;
|
|
183
|
+
/** Дата закрытия pull request (если закрыт) */
|
|
184
|
+
closed_at?: string | null;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Интерфейс параметров для создания pull request
|
|
188
|
+
*/
|
|
189
|
+
interface CreatePullRequestParams {
|
|
190
|
+
/** Заголовок pull request */
|
|
191
|
+
title: string;
|
|
192
|
+
/** Описание pull request */
|
|
193
|
+
body?: string;
|
|
194
|
+
/** Имя ветки, из которой предлагаются изменения */
|
|
195
|
+
head: string;
|
|
196
|
+
/** Имя ветки, в которую будут внесены изменения */
|
|
197
|
+
base: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Интерфейс метки (label) для issues и pull requests
|
|
201
|
+
*/
|
|
202
|
+
interface Label {
|
|
203
|
+
/** Идентификатор метки */
|
|
204
|
+
id: number;
|
|
205
|
+
/** Имя метки */
|
|
206
|
+
name: string;
|
|
207
|
+
/** Описание метки */
|
|
208
|
+
description?: string;
|
|
209
|
+
/** Цвет метки в формате HEX */
|
|
210
|
+
color: string;
|
|
211
|
+
/** URL метки */
|
|
212
|
+
url?: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Интерфейс майлстоуна (milestone)
|
|
216
|
+
*/
|
|
217
|
+
interface Milestone {
|
|
218
|
+
/** Идентификатор майлстоуна */
|
|
219
|
+
id: number;
|
|
220
|
+
/** Номер майлстоуна */
|
|
221
|
+
number: number;
|
|
222
|
+
/** Название майлстоуна */
|
|
223
|
+
title: string;
|
|
224
|
+
/** Описание майлстоуна */
|
|
225
|
+
description?: string;
|
|
226
|
+
/** Создатель майлстоуна */
|
|
227
|
+
creator: User2;
|
|
228
|
+
/** Состояние майлстоуна (open/closed) */
|
|
229
|
+
state: "open" | "closed";
|
|
230
|
+
/** Количество открытых задач */
|
|
231
|
+
open_issues: number;
|
|
232
|
+
/** Количество закрытых задач */
|
|
233
|
+
closed_issues: number;
|
|
234
|
+
/** Дата создания */
|
|
235
|
+
created_at: string;
|
|
236
|
+
/** Дата обновления */
|
|
237
|
+
updated_at: string;
|
|
238
|
+
/** Дата окончания (due date) */
|
|
239
|
+
due_on?: string;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Интерфейс коммита
|
|
243
|
+
*/
|
|
244
|
+
interface Commit {
|
|
245
|
+
/** SHA-хеш коммита */
|
|
246
|
+
sha: string;
|
|
247
|
+
/** Node ID коммита */
|
|
248
|
+
node_id?: string;
|
|
249
|
+
/** Информация о коммите */
|
|
250
|
+
commit: {
|
|
251
|
+
/** Автор коммита */
|
|
252
|
+
author: {
|
|
253
|
+
name: string
|
|
254
|
+
email: string
|
|
255
|
+
date: string
|
|
256
|
+
}
|
|
257
|
+
/** Коммиттер */
|
|
258
|
+
committer: {
|
|
259
|
+
name: string
|
|
260
|
+
email: string
|
|
261
|
+
date: string
|
|
262
|
+
}
|
|
263
|
+
/** Сообщение коммита */
|
|
264
|
+
message: string
|
|
265
|
+
/** Дерево коммита */
|
|
266
|
+
tree: {
|
|
267
|
+
sha: string
|
|
268
|
+
url: string
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
/** Автор (пользователь GitVerse) */
|
|
272
|
+
author?: User2 | null;
|
|
273
|
+
/** Коммиттер (пользователь GitVerse) */
|
|
274
|
+
committer?: User2 | null;
|
|
275
|
+
/** Родительские коммиты */
|
|
276
|
+
parents: Array<{
|
|
277
|
+
sha: string
|
|
278
|
+
url: string
|
|
279
|
+
html_url: string
|
|
280
|
+
}>;
|
|
281
|
+
/** API-ссылка на коммит */
|
|
282
|
+
url: string;
|
|
283
|
+
/** Веб-ссылка на коммит */
|
|
284
|
+
html_url: string;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Параметры для обновления pull request
|
|
288
|
+
*/
|
|
289
|
+
interface UpdatePullRequestParams {
|
|
290
|
+
/** Новый заголовок */
|
|
291
|
+
title?: string;
|
|
292
|
+
/** Новое описание */
|
|
293
|
+
body?: string;
|
|
294
|
+
/** Новое состояние */
|
|
295
|
+
state?: PullRequestState;
|
|
296
|
+
/** Базовая ветка */
|
|
297
|
+
base?: string;
|
|
298
|
+
/** Можно ли мейнтейнерам модифицировать */
|
|
299
|
+
maintainer_can_modify?: boolean;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Интерфейс файла в pull request
|
|
303
|
+
*/
|
|
304
|
+
interface PullRequestFile {
|
|
305
|
+
/** SHA-хеш файла */
|
|
306
|
+
sha: string;
|
|
307
|
+
/** Имя файла */
|
|
308
|
+
filename: string;
|
|
309
|
+
/** Статус изменения */
|
|
310
|
+
status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
|
|
311
|
+
/** Количество добавленных строк */
|
|
312
|
+
additions: number;
|
|
313
|
+
/** Количество удалённых строк */
|
|
314
|
+
deletions: number;
|
|
315
|
+
/** Общее количество изменений */
|
|
316
|
+
changes: number;
|
|
317
|
+
/** URL для получения содержимого */
|
|
318
|
+
blob_url: string;
|
|
319
|
+
/** Raw URL */
|
|
320
|
+
raw_url: string;
|
|
321
|
+
/** API URL */
|
|
322
|
+
contents_url: string;
|
|
323
|
+
/** Patch для файла */
|
|
324
|
+
patch?: string;
|
|
325
|
+
/** Предыдущее имя файла (для переименованных) */
|
|
326
|
+
previous_filename?: string;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Предупреждение об устаревшей версии API
|
|
330
|
+
*/
|
|
331
|
+
declare class ApiVersionWarning {
|
|
332
|
+
/** Текущая используемая версия */
|
|
333
|
+
readonly currentVersion: string;
|
|
334
|
+
/** Последняя доступная версия */
|
|
335
|
+
readonly latestVersion: string;
|
|
336
|
+
/** Дата вывода из эксплуатации */
|
|
337
|
+
readonly decommissioning?: string;
|
|
338
|
+
constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
|
|
339
|
+
/**
|
|
340
|
+
* Возвращает сообщение о предупреждении
|
|
341
|
+
*/
|
|
342
|
+
getMessage(): string;
|
|
343
|
+
}
|
|
344
|
+
declare const HTTPMethods: {
|
|
345
|
+
readonly DELETE: "DELETE"
|
|
346
|
+
readonly GET: "GET"
|
|
347
|
+
readonly PATCH: "PATCH"
|
|
348
|
+
readonly POST: "POST"
|
|
349
|
+
readonly PUT: "PUT"
|
|
350
|
+
};
|
|
351
|
+
type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
|
|
352
|
+
/**
|
|
353
|
+
* Параметры для конфигурации GitVerse клиента
|
|
354
|
+
*/
|
|
355
|
+
interface GitVerseClientConfig {
|
|
356
|
+
/**
|
|
357
|
+
* Базовый URL API GitVerse
|
|
358
|
+
* @default 'https://api.gitverse.ru'
|
|
359
|
+
*/
|
|
360
|
+
baseUrl?: string;
|
|
361
|
+
/**
|
|
362
|
+
* Токен доступа для авторизации в API
|
|
363
|
+
*/
|
|
364
|
+
token?: string;
|
|
365
|
+
/**
|
|
366
|
+
* Версия API
|
|
367
|
+
* @default '1'
|
|
368
|
+
*/
|
|
369
|
+
apiVersion?: string;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Основной класс для работы с GitVerse API
|
|
373
|
+
*/
|
|
374
|
+
declare class GitVerseClient {
|
|
375
|
+
private baseUrl;
|
|
376
|
+
private token?;
|
|
377
|
+
private apiVersion;
|
|
378
|
+
/**
|
|
379
|
+
* Callback для обработки предупреждений об устаревшей версии API
|
|
380
|
+
*/
|
|
381
|
+
onApiVersionWarning?: (warning: ApiVersionWarning) => void;
|
|
382
|
+
/**
|
|
383
|
+
* Создает новый экземпляр GitVerse клиента
|
|
384
|
+
* @param config Конфигурация клиента
|
|
385
|
+
*/
|
|
386
|
+
constructor(config?: GitVerseClientConfig);
|
|
387
|
+
/**
|
|
388
|
+
* Устанавливает токен авторизации
|
|
389
|
+
* @param token Токен доступа
|
|
390
|
+
*/
|
|
391
|
+
setToken(token: string): void;
|
|
392
|
+
/**
|
|
393
|
+
* Извлекает информацию о Rate Limit из заголовков ответа
|
|
394
|
+
*/
|
|
395
|
+
private extractRateLimitInfo;
|
|
396
|
+
/**
|
|
397
|
+
* Извлекает информацию о версии API из заголовков ответа
|
|
398
|
+
*/
|
|
399
|
+
private extractApiVersionInfo;
|
|
400
|
+
/**
|
|
401
|
+
* Извлекает метаданные из заголовков ответа
|
|
402
|
+
*/
|
|
403
|
+
private extractMetadata;
|
|
404
|
+
/**
|
|
405
|
+
* Выполняет API-запрос с учетом авторизации и версии API
|
|
406
|
+
* @param path Путь к API-ресурсу
|
|
407
|
+
* @param method HTTP-метод
|
|
408
|
+
* @param body Тело запроса (опционально)
|
|
409
|
+
* @returns Ответ от API
|
|
410
|
+
* @throws {RateLimitError} При превышении лимита запросов (429)
|
|
411
|
+
* @throws {GitVerseApiError} При других ошибках API
|
|
412
|
+
*/
|
|
413
|
+
request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
|
|
414
|
+
/**
|
|
415
|
+
* Выполняет GET-запрос
|
|
416
|
+
* @param path Путь к API-ресурсу
|
|
417
|
+
* @returns Ответ от API
|
|
418
|
+
*/
|
|
419
|
+
get<T>(path: string): Promise<T>;
|
|
420
|
+
/**
|
|
421
|
+
* Выполняет POST-запрос
|
|
422
|
+
* @param path Путь к API-ресурсу
|
|
423
|
+
* @param body Тело запроса
|
|
424
|
+
* @returns Ответ от API
|
|
425
|
+
*/
|
|
426
|
+
post<T>(path: string, body?: unknown): Promise<T>;
|
|
427
|
+
/**
|
|
428
|
+
* Выполняет PUT-запрос
|
|
429
|
+
* @param path Путь к API-ресурсу
|
|
430
|
+
* @param body Тело запроса
|
|
431
|
+
* @returns Ответ от API
|
|
432
|
+
*/
|
|
433
|
+
put<T>(path: string, body?: unknown): Promise<T>;
|
|
434
|
+
/**
|
|
435
|
+
* Выполняет DELETE-запрос
|
|
436
|
+
* @param path Путь к API-ресурсу
|
|
437
|
+
* @param body Тело запроса (опционально)
|
|
438
|
+
* @returns Ответ от API
|
|
439
|
+
*/
|
|
440
|
+
delete<T>(path: string, body?: unknown): Promise<T>;
|
|
441
|
+
/**
|
|
442
|
+
* Выполняет PATCH-запрос
|
|
443
|
+
* @param path Путь к API-ресурсу
|
|
444
|
+
* @param body Тело запроса
|
|
445
|
+
* @returns Ответ от API
|
|
446
|
+
*/
|
|
447
|
+
patch<T>(path: string, body?: unknown): Promise<T>;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* API для работы с запросами на слияние (пулл-реквестами)
|
|
451
|
+
*/
|
|
452
|
+
declare class PullsApi {
|
|
453
|
+
private client;
|
|
454
|
+
/**
|
|
455
|
+
* Создает новый экземпляр API для работы с пулл-реквестами
|
|
456
|
+
* @param client GitVerse клиент
|
|
457
|
+
*/
|
|
458
|
+
constructor(client: GitVerseClient);
|
|
459
|
+
/**
|
|
460
|
+
* Создает новый запрос на слияние в репозитории
|
|
461
|
+
* @param owner Владелец репозитория
|
|
462
|
+
* @param repo Название репозитория
|
|
463
|
+
* @param params Параметры создания запроса на слияние
|
|
464
|
+
* @returns Информация о созданном запросе на слияние
|
|
465
|
+
*/
|
|
466
|
+
create(owner: string, repo: string, params: CreatePullRequestParams): Promise<PullRequest>;
|
|
467
|
+
/**
|
|
468
|
+
* Получает запрос на слияние по его номеру
|
|
469
|
+
* @param owner Владелец репозитория
|
|
470
|
+
* @param repo Название репозитория
|
|
471
|
+
* @param number Номер запроса на слияние
|
|
472
|
+
* @returns Информация о запросе на слияние
|
|
473
|
+
*/
|
|
474
|
+
get(owner: string, repo: string, number: number): Promise<PullRequest>;
|
|
475
|
+
/**
|
|
476
|
+
* Получает список запросов на слияние в репозитории
|
|
477
|
+
* @param owner Владелец репозитория
|
|
478
|
+
* @param repo Название репозитория
|
|
479
|
+
* @param state Состояние запросов на слияние (открытые/закрытые/все)
|
|
480
|
+
* @returns Список запросов на слияние
|
|
481
|
+
*/
|
|
482
|
+
list(owner: string, repo: string, state?: PullRequestState): Promise<PullRequest[]>;
|
|
483
|
+
/**
|
|
484
|
+
* Обновляет pull request
|
|
485
|
+
* @param owner Владелец репозитория
|
|
486
|
+
* @param repo Название репозитория
|
|
487
|
+
* @param number Номер pull request
|
|
488
|
+
* @param params Параметры для обновления
|
|
489
|
+
* @returns Обновлённый pull request
|
|
490
|
+
*/
|
|
491
|
+
update(owner: string, repo: string, number: number, params: UpdatePullRequestParams): Promise<PullRequest>;
|
|
492
|
+
/**
|
|
493
|
+
* Получает список файлов в pull request
|
|
494
|
+
* @param owner Владелец репозитория
|
|
495
|
+
* @param repo Название репозитория
|
|
496
|
+
* @param number Номер pull request
|
|
497
|
+
* @returns Список изменённых файлов
|
|
498
|
+
*/
|
|
499
|
+
getFiles(owner: string, repo: string, number: number): Promise<PullRequestFile[]>;
|
|
500
|
+
/**
|
|
501
|
+
* Обновляет ветку pull request с базовой веткой
|
|
502
|
+
* @param owner Владелец репозитория
|
|
503
|
+
* @param repo Название репозитория
|
|
504
|
+
* @param number Номер pull request
|
|
505
|
+
* @returns Результат операции
|
|
506
|
+
*/
|
|
507
|
+
updateBranch(owner: string, repo: string, number: number): Promise<void>;
|
|
508
|
+
/**
|
|
509
|
+
* Получает список коммитов в pull request
|
|
510
|
+
* @param owner Владелец репозитория
|
|
511
|
+
* @param repo Название репозитория
|
|
512
|
+
* @param number Номер pull request
|
|
513
|
+
* @returns Список коммитов
|
|
514
|
+
*/
|
|
515
|
+
getCommits(owner: string, repo: string, number: number): Promise<Commit[]>;
|
|
516
|
+
}
|
|
517
|
+
export { PullsApi };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
class v{client;constructor(d){this.client=d}create(d,g,f){return this.client.post(`/repos/${d}/${g}/pulls`,f)}get(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}`)}list(d,g,f){let k=new URL(`/repos/${d}/${g}/pulls`,"http://localhost");if(f)k.searchParams.set("state",f);return this.client.get(k.href.replace("http://localhost",""))}update(d,g,f,j){return this.client.patch(`/repos/${d}/${g}/pulls/${f}`,j)}getFiles(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}/files`)}updateBranch(d,g,f){return this.client.put(`/repos/${d}/${g}/pulls/${f}/update-branch`,{})}getCommits(d,g,f){return this.client.get(`/repos/${d}/${g}/pulls/${f}/commits`)}}export{v as PullsApi};
|
|
2
|
+
export{v as m};
|
|
3
|
+
|
|
4
|
+
//# debugId=35A0A924DAC8BD1664756E2164756E21
|