gitverse-api-sdk 4.0.2 → 5.0.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.
Files changed (65) hide show
  1. package/README.md +106 -270
  2. package/dist/api/actions.d.ts +360 -363
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +56 -51
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +297 -214
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +78 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/pulls.d.ts +338 -427
  15. package/dist/api/pulls.js +3 -3
  16. package/dist/api/pulls.js.map +3 -3
  17. package/dist/api/releases.d.ts +198 -231
  18. package/dist/api/releases.js +3 -3
  19. package/dist/api/releases.js.map +3 -3
  20. package/dist/api/repositories.d.ts +878 -330
  21. package/dist/api/repositories.js +3 -3
  22. package/dist/api/repositories.js.map +3 -3
  23. package/dist/api/stars.d.ts +109 -182
  24. package/dist/api/stars.js +3 -3
  25. package/dist/api/stars.js.map +3 -3
  26. package/dist/api/teams.d.ts +118 -134
  27. package/dist/api/teams.js +3 -3
  28. package/dist/api/teams.js.map +3 -3
  29. package/dist/api/users.d.ts +99 -97
  30. package/dist/api/users.js +3 -3
  31. package/dist/api/users.js.map +3 -3
  32. package/dist/client.d.ts +14 -0
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +3 -3
  35. package/dist/enums.d.ts +27 -71
  36. package/dist/enums.js +3 -3
  37. package/dist/enums.js.map +3 -3
  38. package/dist/errors.d.ts +12 -10
  39. package/dist/errors.js +2 -2
  40. package/dist/errors.js.map +1 -1
  41. package/dist/index.d.ts +2042 -2130
  42. package/dist/index.js +2 -2
  43. package/dist/index.js.map +3 -3
  44. package/dist/types.d.ts +779 -1223
  45. package/dist/utils.js +1 -2
  46. package/dist/utils.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/api/branches.d.ts +0 -173
  49. package/dist/api/branches.js +0 -4
  50. package/dist/api/branches.js.map +0 -10
  51. package/dist/api/collaborators.d.ts +0 -243
  52. package/dist/api/collaborators.js +0 -4
  53. package/dist/api/collaborators.js.map +0 -10
  54. package/dist/api/commits.d.ts +0 -321
  55. package/dist/api/commits.js +0 -4
  56. package/dist/api/commits.js.map +0 -10
  57. package/dist/api/contents.d.ts +0 -364
  58. package/dist/api/contents.js +0 -4
  59. package/dist/api/contents.js.map +0 -10
  60. package/dist/api/forks.d.ts +0 -344
  61. package/dist/api/forks.js +0 -4
  62. package/dist/api/forks.js.map +0 -10
  63. package/dist/api/git.d.ts +0 -247
  64. package/dist/api/git.js +0 -4
  65. package/dist/api/git.js.map +0 -10
@@ -1,26 +1,7 @@
1
1
  /**
2
- * Типы пользователей в системе
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
3
4
  */
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
5
  /**
25
6
  * Опции для выполнения HTTP-запросов
26
7
  */
@@ -34,107 +15,89 @@ interface RequestOptions {
34
15
  */
35
16
  signal?: AbortSignal;
36
17
  }
37
- /**
38
- * Интерфейс пользователя
39
- */
40
- interface User2 {
41
- /** Уникальный идентификатор пользователя */
42
- id: number;
43
- /** Имя пользователя */
44
- name?: string;
45
- /** Логин пользователя */
46
- login: string;
47
- /** Полное имя пользователя */
48
- full_name?: string;
49
- /** Тип аккаунта: пользователь или организация */
50
- type: UserType;
51
- /** Биография пользователя */
18
+ interface TeamRepoPermissions {
19
+ permission?: string;
20
+ }
21
+ interface User {
22
+ /** Адрес аватарки */
23
+ avatar_url?: string;
24
+ /** О себе */
52
25
  bio?: string;
53
- /** Электронная почта пользователя */
26
+ /** Дата создания учетной записи */
27
+ created_at?: string;
28
+ /** Почта */
54
29
  email?: string;
55
- /** URL аватара пользователя */
56
- avatar_url: string;
57
- /** Веб-ссылка на профиль пользователя */
58
- html_url: string;
59
- /** API-ссылка на профиль пользователя */
60
- url?: string;
61
- /** API-ссылка на список подписчиков пользователя */
62
- followers_url?: string;
63
- /** API-ссылка на репозитории пользователя */
64
- repos_url?: string;
65
- /** API-ссылка на организации пользователя */
66
- organizations_url?: string;
67
- /** Права администратора */
68
- site_admin: boolean;
69
- /** Местоположение пользователя */
70
- location?: string;
71
- /** Верификация аккаунта */
72
- is_verified?: boolean;
73
- /** Настройки приватности профиля */
74
- visibility?: VisibilityType;
75
- /** Персональный веб-сайт */
76
- website?: string;
77
- /** Количество подписчиков */
30
+ /** Счетчики */
78
31
  followers?: number;
79
- /** Количество подписок */
32
+ /** Url для получения подписчиков пользователя */
33
+ followers_url?: string;
80
34
  following?: number;
81
- /** Количество публичных репозиториев */
35
+ /** Url для получения подписок пользователя */
36
+ following_url?: string;
37
+ /** Полное имя */
38
+ full_name?: string;
39
+ /** Адрес страницы пользователя */
40
+ html_url?: string;
41
+ /** Идентификатор */
42
+ id?: number;
43
+ /** Верифицирован? */
44
+ is_verified?: boolean;
45
+ /** Местоположение */
46
+ location?: string;
47
+ /** Логин пользователя */
48
+ login?: string;
49
+ /** Имя пользователя */
50
+ name?: string;
51
+ /** Url для получения организаций пользователя */
52
+ organizations_url?: string;
53
+ /** Публичные репозитории */
82
54
  public_repos?: number;
83
- /** Количество репозиториев, отмеченных звездой */
55
+ /** Url для получения репозиториев пользователя */
56
+ repos_url?: string;
57
+ /** Есть ли права админа */
58
+ site_admin?: boolean;
59
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
60
+ starred_url?: string;
61
+ /** Количество репозиториев в избранном */
84
62
  stars_count?: number;
85
- /** Дата создания аккаунта */
86
- created_at: string;
87
- /** Дата последнего обновления аккаунта */
63
+ /** Url для получения подписок пользователя */
64
+ subscriptions_url?: string;
65
+ /** Тип пользователя */
66
+ type?: string;
67
+ /** Дата изменения учетной записи */
88
68
  updated_at?: string;
69
+ /** Url для получения пользователя */
70
+ url?: string;
71
+ /** Вебсайт */
72
+ website?: string;
89
73
  }
90
- /**
91
- * Интерфейс команды (team)
92
- */
93
74
  interface Team {
94
- /** Идентификатор команды */
95
- id: number;
96
- /** Node ID команды */
97
- node_id?: string;
98
- /** Название команды */
99
- name: string;
100
- /** Slug команды */
101
- slug: string;
75
+ /** Полномочия на создание репозиториев */
76
+ can_create_org_repo?: boolean;
102
77
  /** Описание команды */
103
78
  description?: string;
104
- /** Приватность команды */
105
- privacy?: "secret" | "closed";
106
- /** Права доступа */
107
- permission: "pull" | "push" | "admin";
79
+ /** Идентификатор */
80
+ id?: number;
81
+ /** Включает все репозитории */
82
+ includes_all_repositories?: boolean;
83
+ /** Название команды */
84
+ name?: string;
108
85
  /** Количество участников */
109
- members_count?: number;
86
+ num_members?: number;
110
87
  /** Количество репозиториев */
111
- repos_count?: number;
112
- /** Организация */
113
- organization?: {
114
- login: string
115
- id: number
116
- };
117
- /** Веб-ссылка */
118
- html_url: string;
119
- /** API-ссылка */
120
- url: string;
121
- }
122
- /**
123
- * Интерфейс приглашения в команду
124
- */
125
- interface Invitation {
126
- /** Идентификатор приглашения */
127
- id: number;
128
- /** Приглашённый пользователь */
129
- login: string;
130
- /** Email приглашённого */
131
- email?: string;
132
- /** Роль */
133
- role: string;
134
- /** Дата создания */
135
- created_at: string;
136
- /** Приглашающий */
137
- inviter: User2;
88
+ num_repos?: number;
89
+ /** Полномочия */
90
+ permission?: string;
91
+ /** Полномочие на действия с ветками */
92
+ permission_actions?: string;
93
+ /** Код полномочия */
94
+ permission_code?: string;
95
+ /** Полномочие на пакеты */
96
+ permission_packages?: string;
97
+ /** Полномочие на отправку пулл-реквестов */
98
+ permission_pulls?: string;
99
+ /** Полномочие на релизы */
100
+ permission_releases?: string;
138
101
  }
139
102
  /**
140
103
  * Предупреждение об устаревшей версии API
@@ -262,45 +225,66 @@ declare class GitVerseClient {
262
225
  * @returns Ответ от API
263
226
  */
264
227
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
228
+ /**
229
+ * Выполняет загрузку файла через multipart/form-data
230
+ * @param path Путь к API-ресурсу
231
+ * @param fieldName Имя поля для файла
232
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
233
+ * @param fileName Имя файла
234
+ * @param options Опции запроса (опционально)
235
+ * @returns Ответ от API
236
+ */
237
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
265
238
  }
266
239
  /**
267
- * API для работы с командами организации
240
+ * API для работы с командами
268
241
  */
269
242
  declare class TeamsApi {
270
243
  private client;
271
244
  /**
272
- * Создает новый экземпляр API для работы с командами
245
+ * Создает новый экземпляр API
273
246
  * @param client GitVerse клиент
274
247
  */
275
248
  constructor(client: GitVerseClient);
276
249
  /**
277
- * Получает список команд организации
278
- * @param org Название организации
279
- * @returns Список команд
280
- */
281
- list(org: string, options?: RequestOptions): Promise<Team[]>;
282
- /**
283
- * Получает список приглашений команды
284
- * @param org Название организации
285
- * @param team Название команды
286
- * @returns Список приглашений
250
+ * Lists teams
251
+ * @param org The organization name.
252
+ * @param queryParams Параметры запроса
253
+ * @param options Опции запроса
254
+ * @returns Team[]
287
255
  */
288
- getInvitations(org: string, team: string, options?: RequestOptions): Promise<Invitation[]>;
256
+ list(org: string, queryParams?: {
257
+ page?: number
258
+ per_page?: number
259
+ }, options?: {
260
+ signal?: AbortSignal
261
+ }): Promise<Team[]>;
289
262
  /**
290
- * Получает список членов команды
291
- * @param org Название организации
292
- * @param team Название команды
293
- * @returns Список членов команды
263
+ * Lists team members
264
+ * @param org The organization name.
265
+ * @param team The slug of the team name.
266
+ * @param queryParams Параметры запроса
267
+ * @param options Опции запроса
268
+ * @returns User[]
294
269
  */
295
- getMembers(org: string, team: string, options?: RequestOptions): Promise<User2[]>;
270
+ listMembers(org: string, team: string, queryParams?: {
271
+ page?: number
272
+ per_page?: number
273
+ }, options?: {
274
+ signal?: AbortSignal
275
+ }): Promise<User[]>;
296
276
  /**
297
- * Добавляет репозиторий к команде
298
- * @param org Название организации
299
- * @param team Название команды
300
- * @param owner Владелец репозитория
301
- * @param repo Название репозитория
302
- * @returns Результат операции
277
+ * Add or update team repository permissions
278
+ * @param org The organization name.
279
+ * @param team The slug of the team name.
280
+ * @param owner Repository owner
281
+ * @param repo Repository name
282
+ * @param params New repository permissions
283
+ * @param options Опции запроса
284
+ * @returns void
303
285
  */
304
- addRepository(org: string, team: string, owner: string, repo: string, options?: RequestOptions): Promise<void>;
286
+ updateRepo(org: string, team: string, owner: string, repo: string, params: TeamRepoPermissions, options?: {
287
+ signal?: AbortSignal
288
+ }): Promise<void>;
305
289
  }
306
290
  export { TeamsApi };
package/dist/api/teams.js CHANGED
@@ -1,4 +1,4 @@
1
- class k{client;constructor(b){this.client=b}list(b,d){return this.client.get(`/orgs/${b}/teams`,d)}getInvitations(b,d,f){return this.client.get(`/orgs/${b}/teams/${d}/invitations`,f)}getMembers(b,d,f){return this.client.get(`/orgs/${b}/teams/${d}/members`,f)}addRepository(b,d,f,h,j){return this.client.put(`/orgs/${b}/teams/${d}/repos/${f}/${h}`,{},j)}}export{k as TeamsApi};
2
- export{k as a};
1
+ class E{client;constructor(x){this.client=x}list(x,b,j){let B=new URLSearchParams;if(b?.page!==void 0)B.append("page",String(b.page));if(b?.per_page!==void 0)B.append("per_page",String(b.per_page));let k=B.toString(),C=`/orgs/${x}/teams${k?`?${k}`:""}`;return this.client.get(C,j)}listMembers(x,b,j,B){let k=new URLSearchParams;if(j?.page!==void 0)k.append("page",String(j.page));if(j?.per_page!==void 0)k.append("per_page",String(j.per_page));let C=k.toString(),D=`/orgs/${x}/teams/${b}/members${C?`?${C}`:""}`;return this.client.get(D,B)}updateRepo(x,b,j,B,k,C){return this.client.put(`/orgs/${x}/teams/${b}/repos/${j}/${B}`,k,C)}}export{E as TeamsApi};
2
+ export{E as c};
3
3
 
4
- //# debugId=D51ED66717DDEF6064756E2164756E21
4
+ //# debugId=36BDAA9AEEEF3C6D64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/teams.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { Invitation, RequestOptions, 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, options?: RequestOptions): Promise<Team[]> {\n return this.client.get<Team[]>(`/orgs/${org}/teams`, options);\n }\n\n /**\n * Получает список приглашений команды\n * @param org Название организации\n * @param team Название команды\n * @returns Список приглашений\n */\n getInvitations(org: string, team: string, options?: RequestOptions): Promise<Invitation[]> {\n return this.client.get<Invitation[]>(`/orgs/${org}/teams/${team}/invitations`, options);\n }\n\n /**\n * Получает список членов команды\n * @param org Название организации\n * @param team Название команды\n * @returns Список членов команды\n */\n getMembers(org: string, team: string, options?: RequestOptions): Promise<User[]> {\n return this.client.get<User[]>(`/orgs/${org}/teams/${team}/members`, options);\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, options?: RequestOptions): Promise<void> {\n return this.client.put<void>(`/orgs/${org}/teams/${team}/repos/${owner}/${repo}`, {}, options);\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { Team, TeamRepoPermissions, 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 * Lists teams\n * @param org The organization name.\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns Team[]\n */\n list(\n org: string,\n queryParams?: { page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<Team[]> {\n const searchParams = new URLSearchParams();\n if (queryParams?.page !== undefined) searchParams.append(\"page\", String(queryParams.page));\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", String(queryParams.per_page));\n const queryString = searchParams.toString();\n const url = `/orgs/${org}/teams${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<Team[]>(url, options);\n }\n\n /**\n * Lists team members\n * @param org The organization name.\n * @param team The slug of the team name.\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns User[]\n */\n listMembers(\n org: string,\n team: string,\n queryParams?: { page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<User[]> {\n const searchParams = new URLSearchParams();\n if (queryParams?.page !== undefined) searchParams.append(\"page\", String(queryParams.page));\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", String(queryParams.per_page));\n const queryString = searchParams.toString();\n const url = `/orgs/${org}/teams/${team}/members${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<User[]>(url, options);\n }\n\n /**\n * Add or update team repository permissions\n * @param org The organization name.\n * @param team The slug of the team name.\n * @param owner Repository owner\n * @param repo Repository name\n * @param params New repository permissions\n * @param options Опции запроса\n * @returns void\n */\n updateRepo(\n org: string,\n team: string,\n owner: string,\n repo: string,\n params: TeamRepoPermissions,\n options?: { signal?: AbortSignal },\n ): Promise<void> {\n return this.client.put<void>(`/orgs/${org}/teams/${team}/repos/${owner}/${repo}`, params, options);\n }\n}\n"
6
6
  ],
7
- "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAQhB,IAAI,CAAC,EAAa,EAA2C,CAC3D,OAAO,KAAK,OAAO,IAAY,SAAS,UAAa,CAAO,EAS9D,cAAc,CAAC,EAAa,EAAc,EAAiD,CACzF,OAAO,KAAK,OAAO,IAAkB,SAAS,WAAa,gBAAoB,CAAO,EASxF,UAAU,CAAC,EAAa,EAAc,EAA2C,CAC/E,OAAO,KAAK,OAAO,IAAY,SAAS,WAAa,YAAgB,CAAO,EAW9E,aAAa,CAAC,EAAa,EAAc,EAAe,EAAc,EAAyC,CAC7G,OAAO,KAAK,OAAO,IAAU,SAAS,WAAa,WAAc,KAAS,IAAQ,CAAC,EAAG,CAAO,EAEjG",
8
- "debugId": "D51ED66717DDEF6064756E2164756E21",
7
+ "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,IAAI,CACF,EACA,EACA,EACiB,CACjB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,SAAS,UAAY,EAAc,IAAI,IAAgB,KACnE,OAAO,KAAK,OAAO,IAAY,EAAK,CAAO,EAW7C,WAAW,CACT,EACA,EACA,EACA,EACiB,CACjB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,SAAS,WAAa,YAAe,EAAc,IAAI,IAAgB,KACnF,OAAO,KAAK,OAAO,IAAY,EAAK,CAAO,EAa7C,UAAU,CACR,EACA,EACA,EACA,EACA,EACA,EACe,CACf,OAAO,KAAK,OAAO,IAAU,SAAS,WAAa,WAAc,KAAS,IAAQ,EAAQ,CAAO,EAErG",
8
+ "debugId": "36BDAA9AEEEF3C6D64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,26 +1,7 @@
1
1
  /**
2
- * Типы пользователей в системе
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
3
4
  */
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
5
  /**
25
6
  * Опции для выполнения HTTP-запросов
26
7
  */
@@ -34,82 +15,63 @@ interface RequestOptions {
34
15
  */
35
16
  signal?: AbortSignal;
36
17
  }
37
- /**
38
- * Интерфейс пользователя
39
- */
40
- interface User2 {
41
- /** Уникальный идентификатор пользователя */
42
- id: number;
43
- /** Имя пользователя */
44
- name?: string;
45
- /** Логин пользователя */
46
- login: string;
47
- /** Полное имя пользователя */
48
- full_name?: string;
49
- /** Тип аккаунта: пользователь или организация */
50
- type: UserType;
51
- /** Биография пользователя */
18
+ interface User {
19
+ /** Адрес аватарки */
20
+ avatar_url?: string;
21
+ /** О себе */
52
22
  bio?: string;
53
- /** Электронная почта пользователя */
23
+ /** Дата создания учетной записи */
24
+ created_at?: string;
25
+ /** Почта */
54
26
  email?: string;
55
- /** URL аватара пользователя */
56
- avatar_url: string;
57
- /** Веб-ссылка на профиль пользователя */
58
- html_url: string;
59
- /** API-ссылка на профиль пользователя */
60
- url?: string;
61
- /** API-ссылка на список подписчиков пользователя */
62
- followers_url?: string;
63
- /** API-ссылка на репозитории пользователя */
64
- repos_url?: string;
65
- /** API-ссылка на организации пользователя */
66
- organizations_url?: string;
67
- /** Права администратора */
68
- site_admin: boolean;
69
- /** Местоположение пользователя */
70
- location?: string;
71
- /** Верификация аккаунта */
72
- is_verified?: boolean;
73
- /** Настройки приватности профиля */
74
- visibility?: VisibilityType;
75
- /** Персональный веб-сайт */
76
- website?: string;
77
- /** Количество подписчиков */
27
+ /** Счетчики */
78
28
  followers?: number;
79
- /** Количество подписок */
29
+ /** Url для получения подписчиков пользователя */
30
+ followers_url?: string;
80
31
  following?: number;
81
- /** Количество публичных репозиториев */
32
+ /** Url для получения подписок пользователя */
33
+ following_url?: string;
34
+ /** Полное имя */
35
+ full_name?: string;
36
+ /** Адрес страницы пользователя */
37
+ html_url?: string;
38
+ /** Идентификатор */
39
+ id?: number;
40
+ /** Верифицирован? */
41
+ is_verified?: boolean;
42
+ /** Местоположение */
43
+ location?: string;
44
+ /** Логин пользователя */
45
+ login?: string;
46
+ /** Имя пользователя */
47
+ name?: string;
48
+ /** Url для получения организаций пользователя */
49
+ organizations_url?: string;
50
+ /** Публичные репозитории */
82
51
  public_repos?: number;
83
- /** Количество репозиториев, отмеченных звездой */
52
+ /** Url для получения репозиториев пользователя */
53
+ repos_url?: string;
54
+ /** Есть ли права админа */
55
+ site_admin?: boolean;
56
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
57
+ starred_url?: string;
58
+ /** Количество репозиториев в избранном */
84
59
  stars_count?: number;
85
- /** Дата создания аккаунта */
86
- created_at: string;
87
- /** Дата последнего обновления аккаунта */
60
+ /** Url для получения подписок пользователя */
61
+ subscriptions_url?: string;
62
+ /** Тип пользователя */
63
+ type?: string;
64
+ /** Дата изменения учетной записи */
88
65
  updated_at?: string;
66
+ /** Url для получения пользователя */
67
+ url?: string;
68
+ /** Вебсайт */
69
+ website?: string;
89
70
  }
90
- /**
91
- * Интерфейс текущего авторизованного пользователя
92
- * Получается из API метода /user
93
- */
94
- interface CurrentUser {
95
- /** Уникальный идентификатор пользователя */
96
- id: number;
97
- /** Имя пользователя (может быть пустым) */
98
- name?: string;
99
- /** Логин пользователя */
100
- login: string;
101
- /** Электронная почта пользователя (может быть недоступна) */
102
- email?: string;
103
- /** URL аватара пользователя */
104
- avatar_url: string;
105
- /** Веб-ссылка на профиль пользователя */
106
- html_url: string;
107
- /** Количество публичных репозиториев */
108
- public_repos: number;
109
- /** Количество подписчиков */
110
- followers: number;
111
- /** Дата создания аккаунта */
112
- created_at: string;
71
+ interface UserPrefsArray {
72
+ incomplete_results?: boolean;
73
+ items?: User[];
74
+ total_count?: number;
113
75
  }
114
76
  /**
115
77
  * Предупреждение об устаревшей версии API
@@ -237,6 +199,16 @@ declare class GitVerseClient {
237
199
  * @returns Ответ от API
238
200
  */
239
201
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
202
+ /**
203
+ * Выполняет загрузку файла через multipart/form-data
204
+ * @param path Путь к API-ресурсу
205
+ * @param fieldName Имя поля для файла
206
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
207
+ * @param fileName Имя файла
208
+ * @param options Опции запроса (опционально)
209
+ * @returns Ответ от API
210
+ */
211
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
240
212
  }
241
213
  /**
242
214
  * API для работы с пользователями
@@ -244,20 +216,50 @@ declare class GitVerseClient {
244
216
  declare class UsersApi {
245
217
  private client;
246
218
  /**
247
- * Создает новый экземпляр API для работы с пользователями
219
+ * Создает новый экземпляр API
248
220
  * @param client GitVerse клиент
249
221
  */
250
222
  constructor(client: GitVerseClient);
251
223
  /**
252
- * Получает информацию о текущем авторизованном пользователе
253
- * @returns Данные о пользователе
224
+ * Search users by query
225
+ * @param queryParams Параметры запроса
226
+ * @param options Опции запроса
227
+ * @returns UserPrefsArray
228
+ */
229
+ list(queryParams?: {
230
+ q: string
231
+ sort?: string
232
+ order?: string
233
+ page?: number
234
+ per_page?: number
235
+ }, options?: {
236
+ signal?: AbortSignal
237
+ }): Promise<UserPrefsArray>;
238
+ /**
239
+ * Get authenticated user information
240
+ * @param options Опции запроса
241
+ * @returns User
242
+ */
243
+ getAuthenticated(options?: {
244
+ signal?: AbortSignal
245
+ }): Promise<User>;
246
+ /**
247
+ * Get user information by ID
248
+ * @param account_id Account_id parameter
249
+ * @param options Опции запроса
250
+ * @returns User
254
251
  */
255
- getCurrent(options?: RequestOptions): Promise<CurrentUser>;
252
+ get(account_id: number, options?: {
253
+ signal?: AbortSignal
254
+ }): Promise<User>;
256
255
  /**
257
- * Получает информацию о пользователе по имени пользователя
258
- * @param username Имя пользователя
259
- * @returns Данные о пользователе
256
+ * Get user information by username
257
+ * @param username User name
258
+ * @param options Опции запроса
259
+ * @returns User
260
260
  */
261
- getByUsername(username: string, options?: RequestOptions): Promise<User2>;
261
+ getByUsername(username: string, options?: {
262
+ signal?: AbortSignal
263
+ }): Promise<User>;
262
264
  }
263
265
  export { UsersApi };
package/dist/api/users.js CHANGED
@@ -1,4 +1,4 @@
1
- class f{client;constructor(b){this.client=b}getCurrent(b){return this.client.get("/user",b)}getByUsername(b,d){return this.client.get(`/users/${b}`,d)}}export{f as UsersApi};
2
- export{f as m};
1
+ class z{client;constructor(j){this.client=j}list(j,v){let k=new URLSearchParams;if(j?.q!==void 0)k.append("q",j.q);if(j?.sort!==void 0)k.append("sort",j.sort);if(j?.order!==void 0)k.append("order",j.order);if(j?.page!==void 0)k.append("page",String(j.page));if(j?.per_page!==void 0)k.append("per_page",String(j.per_page));let w=k.toString(),x=`/search/users${w?`?${w}`:""}`;return this.client.get(x,v)}getAuthenticated(j){return this.client.get("/user",j)}get(j,v){return this.client.get(`/user/${j}`,v)}getByUsername(j,v){return this.client.get(`/users/${j}`,v)}}export{z as UsersApi};
2
+ export{z as u};
3
3
 
4
- //# debugId=1D7A90B6197B27CE64756E2164756E21
4
+ //# debugId=D9D74895262F1C7B64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/users.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { CurrentUser, RequestOptions, 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(options?: RequestOptions): Promise<CurrentUser> {\n return this.client.get<CurrentUser>(\"/user\", options);\n }\n\n /**\n * Получает информацию о пользователе по имени пользователя\n * @param username Имя пользователя\n * @returns Данные о пользователе\n */\n getByUsername(username: string, options?: RequestOptions): Promise<User> {\n return this.client.get<User>(`/users/${username}`, options);\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { User, UserPrefsArray } 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 * Search users by query\n * @param queryParams Параметры запроса\n * @param options Опции запроса\n * @returns UserPrefsArray\n */\n list(\n queryParams?: { q: string; sort?: string; order?: string; page?: number; per_page?: number },\n options?: { signal?: AbortSignal },\n ): Promise<UserPrefsArray> {\n const searchParams = new URLSearchParams();\n if (queryParams?.q !== undefined) searchParams.append(\"q\", queryParams.q);\n if (queryParams?.sort !== undefined) searchParams.append(\"sort\", queryParams.sort);\n if (queryParams?.order !== undefined) searchParams.append(\"order\", queryParams.order);\n if (queryParams?.page !== undefined) searchParams.append(\"page\", String(queryParams.page));\n if (queryParams?.per_page !== undefined) searchParams.append(\"per_page\", String(queryParams.per_page));\n const queryString = searchParams.toString();\n const url = `/search/users${queryString ? `?${queryString}` : \"\"}`;\n return this.client.get<UserPrefsArray>(url, options);\n }\n\n /**\n * Get authenticated user information\n * @param options Опции запроса\n * @returns User\n */\n getAuthenticated(options?: { signal?: AbortSignal }): Promise<User> {\n return this.client.get<User>(\"/user\", options);\n }\n\n /**\n * Get user information by ID\n * @param account_id Account_id parameter\n * @param options Опции запроса\n * @returns User\n */\n get(account_id: number, options?: { signal?: AbortSignal }): Promise<User> {\n return this.client.get<User>(`/user/${account_id}`, options);\n }\n\n /**\n * Get user information by username\n * @param username User name\n * @param options Опции запроса\n * @returns User\n */\n getByUsername(username: string, options?: { signal?: AbortSignal }): Promise<User> {\n return this.client.get<User>(`/users/${username}`, options);\n }\n}\n"
6
6
  ],
7
- "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAOhB,UAAU,CAAC,EAAgD,CACzD,OAAO,KAAK,OAAO,IAAiB,QAAS,CAAO,EAQtD,aAAa,CAAC,EAAkB,EAAyC,CACvE,OAAO,KAAK,OAAO,IAAU,UAAU,IAAY,CAAO,EAE9D",
8
- "debugId": "1D7A90B6197B27CE64756E2164756E21",
7
+ "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CACF,EACA,EACyB,CACzB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAa,IAAM,OAAW,EAAa,OAAO,IAAK,EAAY,CAAC,EACxE,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,EAAY,IAAI,EACjF,GAAI,GAAa,QAAU,OAAW,EAAa,OAAO,QAAS,EAAY,KAAK,EACpF,GAAI,GAAa,OAAS,OAAW,EAAa,OAAO,OAAQ,OAAO,EAAY,IAAI,CAAC,EACzF,GAAI,GAAa,WAAa,OAAW,EAAa,OAAO,WAAY,OAAO,EAAY,QAAQ,CAAC,EACrG,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,gBAAgB,EAAc,IAAI,IAAgB,KAC9D,OAAO,KAAK,OAAO,IAAoB,EAAK,CAAO,EAQrD,gBAAgB,CAAC,EAAmD,CAClE,OAAO,KAAK,OAAO,IAAU,QAAS,CAAO,EAS/C,GAAG,CAAC,EAAoB,EAAmD,CACzE,OAAO,KAAK,OAAO,IAAU,SAAS,IAAc,CAAO,EAS7D,aAAa,CAAC,EAAkB,EAAmD,CACjF,OAAO,KAAK,OAAO,IAAU,UAAU,IAAY,CAAO,EAE9D",
8
+ "debugId": "D9D74895262F1C7B64756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/client.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  /**
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
4
+ */
5
+ /**
2
6
  * Опции для выполнения HTTP-запросов
3
7
  */
4
8
  interface RequestOptions {
@@ -137,5 +141,15 @@ declare class GitVerseClient {
137
141
  * @returns Ответ от API
138
142
  */
139
143
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
144
+ /**
145
+ * Выполняет загрузку файла через multipart/form-data
146
+ * @param path Путь к API-ресурсу
147
+ * @param fieldName Имя поля для файла
148
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
149
+ * @param fileName Имя файла
150
+ * @param options Опции запроса (опционально)
151
+ * @returns Ответ от API
152
+ */
153
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
140
154
  }
141
155
  export { HTTPMethods, GitVerseClientConfig, GitVerseClient };