rustore 1.0.3 → 1.0.4

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 (44) hide show
  1. package/README.md +86 -1
  2. package/dist/api/apps.d.ts +126 -1
  3. package/dist/api/apps.d.ts.map +1 -1
  4. package/dist/api/apps.js +396 -9
  5. package/dist/api/apps.js.map +1 -1
  6. package/dist/api/catalog.d.ts +25 -0
  7. package/dist/api/catalog.d.ts.map +1 -1
  8. package/dist/api/catalog.js +41 -0
  9. package/dist/api/catalog.js.map +1 -1
  10. package/dist/api/payments-app.d.ts +40 -0
  11. package/dist/api/payments-app.d.ts.map +1 -1
  12. package/dist/api/payments-app.js +70 -0
  13. package/dist/api/payments-app.js.map +1 -1
  14. package/dist/api/payments.d.ts +37 -0
  15. package/dist/api/payments.d.ts.map +1 -1
  16. package/dist/api/payments.js +56 -0
  17. package/dist/api/payments.js.map +1 -1
  18. package/dist/bin.js +493 -2
  19. package/dist/bin.js.map +1 -1
  20. package/dist/commands/apps.d.ts +81 -1
  21. package/dist/commands/apps.d.ts.map +1 -1
  22. package/dist/commands/apps.js +361 -0
  23. package/dist/commands/apps.js.map +1 -1
  24. package/dist/commands/catalog.d.ts +31 -0
  25. package/dist/commands/catalog.d.ts.map +1 -0
  26. package/dist/commands/catalog.js +117 -0
  27. package/dist/commands/catalog.js.map +1 -0
  28. package/dist/commands/feedback.js +2 -2
  29. package/dist/commands/feedback.js.map +1 -1
  30. package/dist/commands/payments-app.d.ts +50 -0
  31. package/dist/commands/payments-app.d.ts.map +1 -0
  32. package/dist/commands/payments-app.js +197 -0
  33. package/dist/commands/payments-app.js.map +1 -0
  34. package/dist/commands/payments.d.ts +42 -0
  35. package/dist/commands/payments.d.ts.map +1 -0
  36. package/dist/commands/payments.js +152 -0
  37. package/dist/commands/payments.js.map +1 -0
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +9 -1
  40. package/dist/config.js.map +1 -1
  41. package/dist/types.d.ts +445 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/README.en.md +0 -331
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  <h1>rustore<br>CLI для работы с RuStore API</h1>
4
4
  <p>Командная строка для взаимодействия с RuStore API</p>
5
5
  <p>
6
- <a href="README.en.md">English</a> | <a href="README.md">Русский</a>
6
+ <a href="docs/about/README.en.md">English</a> | <a href="README.md">Русский</a> | <a href="docs/about/README.hi.md">हिंदी</a> | <a href="docs/about/README.zh.md">中文</a>
7
7
  </p>
8
8
  </div>
9
9
 
@@ -317,6 +317,91 @@ const statusResponse = await feedbackApi.getFeedbackAnswerStatus('com.example.ap
317
317
  - [Документация RuStore API](https://www.rustore.ru/help/en/work-with-rustore-api)
318
318
  - [Процесс авторизации](https://www.rustore.ru/help/work-with-rustore-api/api-authorization-token)
319
319
  - [RuStore Консоль](https://console.rustore.ru/sign-in)
320
+ - [Как отправить APK в продакшн](docs/how-to-submit-apk-for-production.md)
321
+ - [Документация на других языках](docs/about/)
322
+
323
+ ## 📋 TODO: API Endpoints Implementation Status
324
+
325
+ Статус реализации всех endpoints RuStore API. См. [TODO_API_ENDPOINTS.md](./docs/TODO_API_ENDPOINTS.md) для подробной информации.
326
+
327
+ ### ✅ Реализовано (Implemented & Tested)
328
+
329
+ #### Authorization (Авторизация)
330
+
331
+ - ✅ 🧪 Get Authorization Token - `POST /public/auth/`
332
+
333
+ #### Upload & Publication App (Загрузка и публикация приложений)
334
+
335
+ - ✅ 🧪 Get App List - `GET /public/v1/application`
336
+ - ✅ 🧪 Create Draft Version - `POST /public/v1/application/{packageName}/version`
337
+ - ✅ 🧪 Upload APK File - `POST /public/v1/application/{packageName}/version/{versionId}/apk`
338
+ - ✅ 🧪 Send Draft for Moderation - `POST /public/v1/application/{packageName}/version/{versionId}/commit`
339
+ - ✅ 🧪 Get Version Info - `GET /public/v1/application/{packageName}/version/{versionId}`
340
+ - ✅ 🧪 Get Version List - `GET /public/v1/application/{packageName}/version`
341
+ - ✅ 🧪 Get App Tag List - `GET /public/v1/application/tag`
342
+ - ✅ 🧪 Upload AAB File - `POST /public/v1/application/{packageName}/version/{versionId}/aab`
343
+ - ✅ 🧪 Update Draft Version - `PUT /public/v1/application/{packageName}/version/{versionId}`
344
+ - ✅ 🧪 Delete Draft Version - `DELETE /public/v1/application/{packageName}/version/{versionId}`
345
+ - ✅ 🧪 Upload Screens - `POST /public/v1/application/{packageName}/version/{versionId}/screens`
346
+ - ✅ 🧪 Get Version Status - `GET /public/v1/application/{packageName}/version/{versionId}/status`
347
+
348
+ #### Feedback Process (Работа с отзывами)
349
+
350
+ - ✅ 🧪 Get Feedback - `GET /public/v1/application/{packageName}/feedback`
351
+ - ✅ 🧪 Create Feedback Answer - `POST /public/v1/application/{packageName}/feedback/{commentId}/answer`
352
+ - ✅ 🧪 Get Feedback Answer Status - `GET /public/v1/application/{packageName}/feedback/{feedbackId}`
353
+ - ✅ 🧪 Update Feedback Answer - `PUT /public/v1/application/{packageName}/feedback/{feedbackId}`
354
+ - ✅ 🧪 Delete Feedback Answer - `DELETE /public/v1/application/{packageName}/feedback/{feedbackId}`
355
+
356
+ ### ❌ Не реализовано (Not Implemented)
357
+
358
+ #### Upload & Publication App
359
+
360
+ - Все основные endpoints реализованы ✅
361
+
362
+ #### Payments & Subscriptions (Общие методы)
363
+
364
+ **Base URL**: `https://www.rustore.ru/help/work-with-rustore-api/api-payments-subscriptions`
365
+
366
+ - ✅ 🧪 Get Payment - `GET /public/v1/payment/{paymentId}`
367
+ - ✅ 🧪 Get Subscription - `GET /public/v1/subscription/{subscriptionId}`
368
+ - ✅ 🧪 Get Subscription List - `GET /public/v1/subscription`
369
+ - ❌ Refund - `POST /public/v1/payment/refund`
370
+ - ❌ Cancel Subscription - `POST /public/v1/subscription/{subscriptionId}/cancel`
371
+
372
+ #### Payments & Subscriptions App (Методы приложений)
373
+
374
+ **Base URL**: `https://www.rustore.ru/help/work-with-rustore-api/api-payments-subscriptions-app`
375
+
376
+ - ✅ 🧪 Get Invoices - `GET /public/v1/application/{packageName}/invoice`
377
+ - ✅ 🧪 Get Purchase - `GET /public/v1/application/{packageName}/purchase/{purchaseId}`
378
+ - ✅ 🧪 Get Purchase List - `GET /public/v1/application/{packageName}/purchase`
379
+ - ❌ Confirm Purchase - `POST /public/v1/application/{packageName}/purchase/confirm`
380
+ - ❌ Cancel Purchase - `POST /public/v1/application/{packageName}/purchase/cancel`
381
+
382
+ #### Catalog (Продуктовый каталог)
383
+
384
+ **Base URL**: `https://www.rustore.ru/help/work-with-rustore-api/api-catalog`
385
+
386
+ - ✅ 🧪 Get Products - `GET /public/v1/catalog/product`
387
+ - ✅ 🧪 Get Product - `GET /public/v1/catalog/product/{productId}`
388
+ - ❌ Create Product - `POST /public/v1/catalog/product`
389
+ - ❌ Update Product - `PUT /public/v1/catalog/product/{productId}`
390
+ - ❌ Delete Product - `DELETE /public/v1/catalog/product/{productId}`
391
+
392
+ **Легенда статусов:**
393
+
394
+ - ✅ **Implemented** - Полностью реализовано, протестировано и задокументировано
395
+ - 🧪 **Tested** - Реализовано и имеет тесты
396
+ - ⚠️ **Issues** - Реализовано, но есть известные проблемы
397
+ - 🚧 **Beta** - Реализовано, но требует дополнительного тестирования/верификации
398
+ - ❌ **Not Implemented** - Еще не реализовано
399
+
400
+ **Приоритеты реализации:**
401
+
402
+ 1. ✅ **High Priority**: Upload AAB File, Update Draft Version, Delete Draft Version - **Реализовано**
403
+ 2. **Medium Priority**: POST/PUT/DELETE Payment/Subscription endpoints
404
+ 3. **Low Priority**: POST/PUT/DELETE Catalog endpoints, advanced payment operations
320
405
 
321
406
  ## 📝 Лицензия
322
407
 
@@ -5,7 +5,7 @@
5
5
  * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app
6
6
  */
7
7
  import { RustoreApiClient } from './client.js';
8
- import type { GetAppListResponse, App, GetAppListOptions, CreateDraftVersionRequest, CreateDraftVersionResponse, UploadApkFileResponse, UploadApkFileOptions } from '../types.js';
8
+ import type { GetAppListResponse, App, GetAppListOptions, CreateDraftVersionRequest, CreateDraftVersionResponse, UploadApkFileResponse, UploadApkFileOptions, SendForModerationResponse, SendForModerationOptions, GetVersionInfoResponse, GetVersionListResponse, GetVersionListOptions, GetAppTagListResponse, GetAppTagListOptions, UpdateDraftVersionRequest, UpdateDraftVersionResponse, DeleteDraftVersionResponse, UploadScreensOptions, UploadScreensResponse, GetVersionStatusResponse } from '../types.js';
9
9
  /**
10
10
  * Клиент для работы с приложениями
11
11
  */
@@ -65,6 +65,131 @@ export declare class AppsApi extends RustoreApiClient {
65
65
  * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-file-upload/file-upload-apk
66
66
  */
67
67
  uploadApkFile(packageName: string, versionId: number, filePath: string, options: UploadApkFileOptions): Promise<UploadApkFileResponse>;
68
+ /**
69
+ * Отправить черновую версию приложения на модерацию
70
+ * POST /public/v1/application/{packageName}/version/{versionId}/commit
71
+ *
72
+ * Метод для отправки на модерацию черновика версии приложения.
73
+ * Перед отправкой убедитесь, что загружен хотя бы один основной APK-файл.
74
+ *
75
+ * @param packageName - Имя пакета приложения (например, com.example.app)
76
+ * @param versionId - ID версии (полученный из createDraftVersion)
77
+ * @param options - Параметры отправки (priorityUpdate - опциональный, от 0 до 5)
78
+ * @returns Информация об отправке на модерацию
79
+ *
80
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/send-draft-app-for-moderation
81
+ */
82
+ sendForModeration(packageName: string, versionId: number, options?: SendForModerationOptions): Promise<SendForModerationResponse>;
83
+ /**
84
+ * Получить информацию о версии приложения
85
+ * GET /public/v1/application/{packageName}/version/{versionId}
86
+ *
87
+ * Метод позволяет получить детальную информацию о конкретной версии приложения.
88
+ *
89
+ * @param packageName - Имя пакета приложения (например, com.example.app)
90
+ * @param versionId - ID версии
91
+ * @returns Информация о версии приложения
92
+ *
93
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/get-version-info
94
+ */
95
+ getVersionInfo(packageName: string, versionId: number): Promise<GetVersionInfoResponse>;
96
+ /**
97
+ * Получить список версий приложения
98
+ * GET /public/v1/application/{packageName}/version
99
+ *
100
+ * Метод позволяет получить список всех версий приложения с поддержкой пагинации.
101
+ *
102
+ * @param packageName - Имя пакета приложения (например, com.example.app)
103
+ * @param options - Параметры запроса (continuationToken, pageSize и др.)
104
+ * @returns Список версий приложения
105
+ *
106
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/get-version-list
107
+ */
108
+ getVersionList(packageName: string, options?: GetVersionListOptions): Promise<GetVersionListResponse>;
109
+ /**
110
+ * Получить список тегов приложений
111
+ * GET /public/v1/application/tag
112
+ *
113
+ * Метод позволяет получить список доступных тегов для приложений.
114
+ * Теги используются при создании черновой версии (seoTagIds).
115
+ *
116
+ * @param options - Параметры запроса (continuationToken, pageSize и др.)
117
+ * @returns Список тегов приложений
118
+ *
119
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/get-app-tag-list
120
+ */
121
+ getAppTagList(options?: GetAppTagListOptions): Promise<GetAppTagListResponse>;
122
+ /**
123
+ * Загрузить AAB файл для версии приложения
124
+ * POST /public/v1/application/{packageName}/version/{versionId}/aab
125
+ *
126
+ * Метод позволяет загрузить AAB (Android App Bundle) файл для версии приложения.
127
+ * Аналогичен uploadApkFile, но для AAB формата.
128
+ *
129
+ * @param packageName - Имя пакета приложения (например, com.example.app)
130
+ * @param versionId - ID версии (полученный из createDraftVersion)
131
+ * @param filePath - Путь к AAB файлу
132
+ * @param options - Параметры загрузки (isMainApk - обязательный, servicesType - опциональный)
133
+ * @returns Информация о загруженном файле
134
+ *
135
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-file-upload/file-upload-aab
136
+ */
137
+ uploadAabFile(packageName: string, versionId: number, filePath: string, options: UploadApkFileOptions): Promise<UploadApkFileResponse>;
138
+ /**
139
+ * Обновить черновую версию приложения
140
+ * PUT /public/v1/application/{packageName}/version/{versionId}
141
+ *
142
+ * Метод позволяет обновить информацию о черновой версии приложения.
143
+ *
144
+ * @param packageName - Имя пакета приложения (например, com.example.app)
145
+ * @param versionId - ID версии
146
+ * @param data - Данные для обновления черновой версии
147
+ * @returns Информация об обновлённой черновой версии
148
+ *
149
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/update-draft-version
150
+ */
151
+ updateDraftVersion(packageName: string, versionId: number, data: UpdateDraftVersionRequest): Promise<UpdateDraftVersionResponse>;
152
+ /**
153
+ * Удалить черновую версию приложения
154
+ * DELETE /public/v1/application/{packageName}/version/{versionId}
155
+ *
156
+ * Метод позволяет удалить черновую версию приложения.
157
+ *
158
+ * @param packageName - Имя пакета приложения (например, com.example.app)
159
+ * @param versionId - ID версии
160
+ * @returns Результат удаления
161
+ *
162
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/delete-draft-version
163
+ */
164
+ deleteDraftVersion(packageName: string, versionId: number): Promise<DeleteDraftVersionResponse>;
165
+ /**
166
+ * Загрузить скриншоты для версии приложения
167
+ * POST /public/v1/application/{packageName}/version/{versionId}/screens
168
+ *
169
+ * Метод позволяет загрузить скриншоты приложения для разных типов устройств.
170
+ *
171
+ * @param packageName - Имя пакета приложения (например, com.example.app)
172
+ * @param versionId - ID версии
173
+ * @param filePaths - Массив путей к файлам скриншотов
174
+ * @param options - Параметры загрузки (deviceType - обязательный)
175
+ * @returns Информация о загруженных скриншотах
176
+ *
177
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-screens-upload
178
+ */
179
+ uploadScreens(packageName: string, versionId: number, filePaths: string[], options: UploadScreensOptions): Promise<UploadScreensResponse>;
180
+ /**
181
+ * Получить статус версии приложения
182
+ * GET /public/v1/application/{packageName}/version/{versionId}/status
183
+ *
184
+ * Метод позволяет получить статус модерации версии приложения.
185
+ *
186
+ * @param packageName - Имя пакета приложения (например, com.example.app)
187
+ * @param versionId - ID версии
188
+ * @returns Статус версии приложения
189
+ *
190
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/get-version-status
191
+ */
192
+ getVersionStatus(packageName: string, versionId: number): Promise<GetVersionStatusResponse>;
68
193
  }
69
194
  /**
70
195
  * Экспортируемый экземпляр клиента для работы с приложениями
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/api/apps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EACV,kBAAkB,EAClB,GAAG,EACH,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,gBAAgB;IAC3C;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4B1E;;;;;;;;;;OAUG;IACG,UAAU,CACd,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IAcjB;;;;;;;;;;;;OAYG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAKtC;;;;;;;;;;;;;;OAcG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;CAmFlC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,SAAgB,CAAC"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/api/apps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EACV,kBAAkB,EAClB,GAAG,EACH,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,gBAAgB;IAC3C;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4B1E;;;;;;;;;;OAUG;IACG,UAAU,CACd,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IAcjB;;;;;;;;;;;;OAYG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAKtC;;;;;;;;;;;;;;OAcG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAyJjC;;;;;;;;;;;;;OAaG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,CAAC;IAcrC;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAKlC;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,sBAAsB,CAAC;IAmBlC;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmBnF;;;;;;;;;;;;;;OAcG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAsHjC;;;;;;;;;;;;OAYG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAKtC;;;;;;;;;;;OAWG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,CAAC;IAKtC;;;;;;;;;;;;;OAaG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA0FjC;;;;;;;;;;;OAWG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,CAAC;CAIrC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,SAAgB,CAAC"}