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.
- package/README.md +40 -19
- package/dist/api/contents.d.ts +304 -0
- package/dist/api/contents.js +4 -0
- package/dist/api/contents.js.map +10 -0
- package/dist/api/emails.d.ts +143 -0
- package/dist/api/emails.js +4 -0
- package/dist/api/emails.js.map +10 -0
- package/dist/api/forks.d.ts +291 -0
- package/dist/api/forks.js +4 -0
- package/dist/api/forks.js.map +10 -0
- package/dist/api/issues.d.ts +239 -0
- package/dist/api/issues.js +4 -0
- package/dist/api/issues.js.map +10 -0
- package/dist/api/pulls.d.ts +356 -0
- package/dist/api/pulls.js +4 -0
- package/dist/api/pulls.js.map +10 -0
- package/dist/api/repositories.d.ts +316 -0
- package/dist/api/repositories.js +4 -0
- package/dist/api/repositories.js.map +10 -0
- package/dist/api/stars.d.ts +109 -0
- package/dist/api/stars.js +4 -0
- package/dist/api/stars.js.map +10 -0
- package/dist/api/users.d.ts +203 -0
- package/dist/api/users.js +4 -0
- package/dist/api/users.js.map +10 -0
- package/dist/client.d.ts +81 -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 +3 -0
- package/dist/enums.js.map +10 -0
- package/dist/index.d.ts +484 -450
- package/dist/index.js +3 -1
- package/dist/index.js.map +10 -0
- package/dist/types.d.ts +669 -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 +52 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
class f{client;constructor(b){this.client=b}get(b,d){return this.client.get(`/repos/${b}/${d}`)}getLanguages(b,d){return this.client.get(`/repos/${b}/${d}/languages`)}listForAuthenticatedUser(){return this.client.get("/user/repos")}create(b){return this.client.post("/user/repos",b)}}export{f as RepositoriesApi};
|
|
2
|
+
export{f as c};
|
|
3
|
+
|
|
4
|
+
//# debugId=60DFB027DF77B52D64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/api/repositories.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { GitVerseClient } from \"../client\";\nimport type { CreateRepositoryParams, LanguagesResponse, Repository } from \"../types\";\n\n/**\n * API для работы с репозиториями\n */\nexport class RepositoriesApi {\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 get(owner: string, repo: string): Promise<Repository> {\n return this.client.get<Repository>(`/repos/${owner}/${repo}`);\n }\n\n /**\n * Получает информацию о языках программирования в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Объект с языками и количеством байт кода\n */\n getLanguages(owner: string, repo: string): Promise<LanguagesResponse> {\n return this.client.get<LanguagesResponse>(`/repos/${owner}/${repo}/languages`);\n }\n\n /**\n * Получает список репозиториев авторизованного пользователя\n * @returns Массив репозиториев пользователя\n */\n listForAuthenticatedUser(): Promise<Repository[]> {\n return this.client.get<Repository[]>(\"/user/repos\");\n }\n\n /**\n * Создает новый репозиторий для авторизованного пользователя\n * @param params Параметры создания репозитория\n * @returns Созданный репозиторий\n */\n create(params: CreateRepositoryParams): Promise<Repository> {\n return this.client.post<Repository>(\"/user/repos\", params);\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAMO,MAAM,CAAgB,CACnB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,GAAG,CAAC,EAAe,EAAmC,CACpD,OAAO,KAAK,OAAO,IAAgB,UAAU,KAAS,GAAM,EAS9D,YAAY,CAAC,EAAe,EAA0C,CACpE,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,aAAgB,EAO/E,wBAAwB,EAA0B,CAChD,OAAO,KAAK,OAAO,IAAkB,aAAa,EAQpD,MAAM,CAAC,EAAqD,CAC1D,OAAO,KAAK,OAAO,KAAiB,cAAe,CAAM,EAE7D",
|
|
8
|
+
"debugId": "60DFB027DF77B52D64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
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 class StarsApi {
|
|
85
|
+
private client;
|
|
86
|
+
constructor(client: GitVerseClient);
|
|
87
|
+
/**
|
|
88
|
+
* Добавить звезду репозиторию
|
|
89
|
+
* @param {string} owner - Владелец репозитория
|
|
90
|
+
* @param {string} repo - Название репозитория
|
|
91
|
+
* @returns {Promise<void>} Результат операции (204 No Content при успехе)
|
|
92
|
+
*/
|
|
93
|
+
add(owner: string, repo: string): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Проверить, отмечен ли репозиторий звездой
|
|
96
|
+
* @param {string} owner - Владелец репозитория
|
|
97
|
+
* @param {string} repo - Название репозитория
|
|
98
|
+
* @returns {Promise<boolean>} true если отмечен звездой, false если нет
|
|
99
|
+
*/
|
|
100
|
+
check(owner: string, repo: string): Promise<boolean>;
|
|
101
|
+
/**
|
|
102
|
+
* Убрать звезду с репозитория
|
|
103
|
+
* @param {string} owner - Владелец репозитория
|
|
104
|
+
* @param {string} repo - Название репозитория
|
|
105
|
+
* @returns {Promise<void>} Результат операции
|
|
106
|
+
*/
|
|
107
|
+
remove(owner: string, repo: string): Promise<void>;
|
|
108
|
+
}
|
|
109
|
+
export { StarsApi };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
class h{client;constructor(b){this.client=b}async add(b,c){await this.client.put(`/user/starred/${b}/${c}`)}async check(b,c){try{return await this.client.get(`/user/starred/${b}/${c}`),!0}catch(f){if(f instanceof Error&&f.message.includes("404"))return!1;throw f}}async remove(b,c){await this.client.delete(`/user/starred/${b}/${c}`)}}export{h as StarsApi};
|
|
2
|
+
export{h as d};
|
|
3
|
+
|
|
4
|
+
//# debugId=E7BD0884732B9EDA64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/api/stars.ts"],
|
|
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 Error && error.message.includes(\"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
|
+
],
|
|
7
|
+
"mappings": "AAKO,MAAM,CAAS,CACA,OAApB,WAAW,CAAS,EAAwB,CAAxB,mBAQd,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,CACvB,GAAI,aAAiB,OAAS,EAAM,QAAQ,SAAS,KAAK,EACxD,MAAO,GAET,MAAM,QAUJ,OAAM,CAAC,EAAe,EAA6B,CACvD,MAAM,KAAK,OAAO,OAAa,iBAAiB,KAAS,GAAM,EAEnE",
|
|
8
|
+
"debugId": "E7BD0884732B9EDA64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
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
|
+
* Получается из API метода /user
|
|
160
|
+
*/
|
|
161
|
+
interface CurrentUser {
|
|
162
|
+
/** Уникальный идентификатор пользователя */
|
|
163
|
+
id: number;
|
|
164
|
+
/** Имя пользователя (может быть пустым) */
|
|
165
|
+
name?: string;
|
|
166
|
+
/** Логин пользователя */
|
|
167
|
+
login: string;
|
|
168
|
+
/** Электронная почта пользователя (может быть недоступна) */
|
|
169
|
+
email?: string;
|
|
170
|
+
/** URL аватара пользователя */
|
|
171
|
+
avatar_url: string;
|
|
172
|
+
/** Веб-ссылка на профиль пользователя */
|
|
173
|
+
html_url: string;
|
|
174
|
+
/** Количество публичных репозиториев */
|
|
175
|
+
public_repos: number;
|
|
176
|
+
/** Количество подписчиков */
|
|
177
|
+
followers: number;
|
|
178
|
+
/** Дата создания аккаунта */
|
|
179
|
+
created_at: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* API для работы с пользователями
|
|
183
|
+
*/
|
|
184
|
+
declare class UsersApi {
|
|
185
|
+
private client;
|
|
186
|
+
/**
|
|
187
|
+
* Создает новый экземпляр API для работы с пользователями
|
|
188
|
+
* @param client GitVerse клиент
|
|
189
|
+
*/
|
|
190
|
+
constructor(client: GitVerseClient);
|
|
191
|
+
/**
|
|
192
|
+
* Получает информацию о текущем авторизованном пользователе
|
|
193
|
+
* @returns Данные о пользователе
|
|
194
|
+
*/
|
|
195
|
+
getCurrent(): Promise<CurrentUser>;
|
|
196
|
+
/**
|
|
197
|
+
* Получает информацию о пользователе по имени пользователя
|
|
198
|
+
* @param username Имя пользователя
|
|
199
|
+
* @returns Данные о пользователе
|
|
200
|
+
*/
|
|
201
|
+
getByUsername(username: string): Promise<User2>;
|
|
202
|
+
}
|
|
203
|
+
export { UsersApi };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/api/users.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
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
|
+
],
|
|
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": "3F3DA1741564DA0F64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
export { HTTPMethods, GitVerseClientConfig, GitVerseClient };
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var z={DELETE:"DELETE",GET:"GET",POST:"POST",PUT:"PUT"};class J{baseUrl;token;apiVersion;constructor(j={}){this.baseUrl=j.baseUrl||"https://api.gitverse.ru",this.token=j.token,this.apiVersion=j.apiVersion||"1"}setToken(j){this.token=j}async request(j,q,B){let C=new URL(j,this.baseUrl),v=new Headers;if(v.set("Content-Type","application/json"),v.set("Accept",`application/vnd.gitverse+json;version=${this.apiVersion}`),this.token)v.set("Authorization",`Bearer ${this.token}`);let F={body:B?JSON.stringify(B):void 0,headers:v,method:q},w=await fetch(C,F),x;try{x=await w.json()}catch{x=void 0}if(!w.ok){let G=x?.message||w.statusText;throw new Error(`${w.status} ${G}`)}return x}get(j){return this.request(j,z.GET)}post(j,q){return this.request(j,z.POST,q)}put(j,q){return this.request(j,z.PUT,q)}delete(j,q){return this.request(j,z.DELETE,q)}}export{z as HTTPMethods,J as GitVerseClient};
|
|
2
|
+
export{J as f};
|
|
3
|
+
|
|
4
|
+
//# debugId=9A0CB76E81CA21BE64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/client.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"// В этом файле больше не используем типы ApiError\n\nimport type { ApiError } from \"./types\";\n\nexport const HTTPMethods = {\n DELETE: \"DELETE\",\n GET: \"GET\",\n POST: \"POST\",\n PUT: \"PUT\",\n} as const;\n\nexport type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];\n\n/**\n * Параметры для конфигурации GitVerse клиента\n */\nexport interface GitVerseClientConfig {\n /**\n * Базовый URL API GitVerse\n * @default 'https://api.gitverse.ru'\n */\n baseUrl?: string;\n\n /**\n * Токен доступа для авторизации в API\n */\n token?: string;\n\n /**\n * Версия API\n * @default '1'\n */\n apiVersion?: string;\n}\n\n/**\n * Основной класс для работы с GitVerse API\n */\nexport class GitVerseClient {\n private baseUrl: string;\n private token?: string;\n private apiVersion: string;\n\n /**\n * Создает новый экземпляр GitVerse клиента\n * @param config Конфигурация клиента\n */\n constructor(config: GitVerseClientConfig = {}) {\n this.baseUrl = config.baseUrl || \"https://api.gitverse.ru\";\n this.token = config.token;\n this.apiVersion = config.apiVersion || \"1\";\n }\n\n /**\n * Устанавливает токен авторизации\n * @param token Токен доступа\n */\n setToken(token: string): void {\n this.token = token;\n }\n\n /**\n * Выполняет API-запрос с учетом авторизации и версии API\n * @param path Путь к API-ресурсу\n * @param method HTTP-метод\n * @param body Тело запроса (опционально)\n * @returns Ответ от API\n * @throws {Error} Если запрос завершится с ошибкой\n */\n async request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T> {\n const url = new URL(path, this.baseUrl);\n\n const headers = new Headers();\n\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"Accept\", `application/vnd.gitverse+json;version=${this.apiVersion}`);\n\n if (this.token) {\n headers.set(\"Authorization\", `Bearer ${this.token}`);\n }\n\n const options: RequestInit = {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n };\n\n const response = await fetch(url, options);\n let data: unknown;\n try {\n data = await response.json();\n } catch {\n data = undefined;\n }\n if (!response.ok) {\n const error = data as ApiError | undefined;\n const errorMessage = error?.message || response.statusText;\n throw new Error(`${response.status} ${errorMessage}`);\n }\n\n return data as T;\n }\n\n /**\n * Выполняет GET-запрос\n * @param path Путь к API-ресурсу\n * @returns Ответ от API\n */\n get<T>(path: string): Promise<T> {\n return this.request<T>(path, HTTPMethods.GET);\n }\n\n /**\n * Выполняет POST-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @returns Ответ от API\n */\n post<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.POST, body);\n }\n\n /**\n * Выполняет PUT-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @returns Ответ от API\n */\n put<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.PUT, body);\n }\n\n /**\n * Выполняет DELETE-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса (опционально)\n * @returns Ответ от API\n */\n delete<T>(path: string, body?: unknown): Promise<T> {\n return this.request<T>(path, HTTPMethods.DELETE, body);\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAIO,IAAM,EAAc,CACzB,OAAQ,SACR,IAAK,MACL,KAAM,OACN,IAAK,KACP,EA6BO,MAAM,CAAe,CAClB,QACA,MACA,WAMR,WAAW,CAAC,EAA+B,CAAC,EAAG,CAC7C,KAAK,QAAU,EAAO,SAAW,0BACjC,KAAK,MAAQ,EAAO,MACpB,KAAK,WAAa,EAAO,YAAc,IAOzC,QAAQ,CAAC,EAAqB,CAC5B,KAAK,MAAQ,OAWT,QAAU,CAAC,EAAc,EAAqB,EAA4B,CAC9E,IAAM,EAAM,IAAI,IAAI,EAAM,KAAK,OAAO,EAEhC,EAAU,IAAI,QAKpB,GAHA,EAAQ,IAAI,eAAgB,kBAAkB,EAC9C,EAAQ,IAAI,SAAU,yCAAyC,KAAK,YAAY,EAE5E,KAAK,MACP,EAAQ,IAAI,gBAAiB,UAAU,KAAK,OAAO,EAGrD,IAAM,EAAuB,CAC3B,KAAM,EAAO,KAAK,UAAU,CAAI,EAAI,OACpC,UACA,QACF,EAEM,EAAW,MAAM,MAAM,EAAK,CAAO,EACrC,EACJ,GAAI,CACF,EAAO,MAAM,EAAS,KAAK,EAC3B,KAAM,CACN,EAAO,OAET,IAAK,EAAS,GAAI,CAEhB,IAAM,EADQ,GACc,SAAW,EAAS,WAChD,MAAM,IAAI,MAAM,GAAG,EAAS,UAAU,GAAc,EAGtD,OAAO,EAQT,GAAM,CAAC,EAA0B,CAC/B,OAAO,KAAK,QAAW,EAAM,EAAY,GAAG,EAS9C,IAAO,CAAC,EAAc,EAA4B,CAChD,OAAO,KAAK,QAAW,EAAM,EAAY,KAAM,CAAI,EASrD,GAAM,CAAC,EAAc,EAA4B,CAC/C,OAAO,KAAK,QAAW,EAAM,EAAY,IAAK,CAAI,EASpD,MAAS,CAAC,EAAc,EAA4B,CAClD,OAAO,KAAK,QAAW,EAAM,EAAY,OAAQ,CAAI,EAEzD",
|
|
8
|
+
"debugId": "9A0CB76E81CA21BE64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
package/dist/enums.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
declare const ContentType: {
|
|
28
|
+
readonly Directory: "dir"
|
|
29
|
+
readonly File: "file"
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Тип для типов содержимого
|
|
33
|
+
*/
|
|
34
|
+
type ContentType = (typeof ContentType)[keyof typeof ContentType];
|
|
35
|
+
/**
|
|
36
|
+
* Состояния pull request
|
|
37
|
+
*/
|
|
38
|
+
declare const PullRequestState: {
|
|
39
|
+
readonly Closed: "closed"
|
|
40
|
+
readonly Open: "open"
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Тип для состояний pull request
|
|
44
|
+
*/
|
|
45
|
+
type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
|
|
46
|
+
/**
|
|
47
|
+
* Состояния issue
|
|
48
|
+
*/
|
|
49
|
+
declare const IssueState: {
|
|
50
|
+
readonly Closed: "closed"
|
|
51
|
+
readonly Open: "open"
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Тип для состояний issue
|
|
55
|
+
*/
|
|
56
|
+
type IssueState = (typeof IssueState)[keyof typeof IssueState];
|
|
57
|
+
export { VisibilityType, UserType, PullRequestState, IssueState, ContentType };
|
package/dist/enums.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var a={Organization:"Organization",User:"User"},b={Limited:"limited",Private:"private",Public:"public"},c={Directory:"dir",File:"file"},d={Closed:"closed",Open:"open"},f={Closed:"closed",Open:"open"};export{b as VisibilityType,a as UserType,d as PullRequestState,f as IssueState,c as ContentType};
|
|
2
|
+
|
|
3
|
+
//# debugId=9571BC5358CD8C1B64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/enums.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Типы пользователей в системе\n */\nexport const UserType = {\n Organization: \"Organization\",\n User: \"User\",\n} as const;\n\n/**\n * Тип для типов пользователей\n */\nexport type UserType = (typeof UserType)[keyof typeof UserType];\n\n/**\n * Типы видимости для репозиториев и пользователей\n */\nexport const VisibilityType = {\n Limited: \"limited\",\n Private: \"private\",\n Public: \"public\",\n} as const;\n\n/**\n * Тип для типов видимости\n */\nexport type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];\n\n/**\n * Типы содержимого в репозитории\n */\nexport const ContentType = {\n Directory: \"dir\",\n File: \"file\",\n} as const;\n\n/**\n * Тип для типов содержимого\n */\nexport type ContentType = (typeof ContentType)[keyof typeof ContentType];\n\n/**\n * Состояния pull request\n */\nexport const PullRequestState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\n/**\n * Тип для состояний pull request\n */\nexport type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];\n\n/**\n * Состояния issue\n */\nexport const IssueState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\n/**\n * Тип для состояний issue\n */\nexport type IssueState = (typeof IssueState)[keyof typeof IssueState];\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAGO,IAAM,EAAW,CACtB,aAAc,eACd,KAAM,MACR,EAUa,EAAiB,CAC5B,QAAS,UACT,QAAS,UACT,OAAQ,QACV,EAUa,EAAc,CACzB,UAAW,MACX,KAAM,MACR,EAUa,EAAmB,CAC9B,OAAQ,SACR,KAAM,MACR,EAUa,EAAa,CACxB,OAAQ,SACR,KAAM,MACR",
|
|
8
|
+
"debugId": "9571BC5358CD8C1B64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|