rustore 1.0.2 → 1.0.3

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.en.md ADDED
@@ -0,0 +1,331 @@
1
+ <div align="center">
2
+ <img src="assets/icon.png" alt="rustore CLI" width="128" height="128">
3
+ <h1>rustore<br>CLI for RuStore API</h1>
4
+ <p>Command-line interface for interacting with RuStore API</p>
5
+ <p>
6
+ <a href="README.en.md">English</a> | <a href="README.md">Русский</a>
7
+ </p>
8
+ </div>
9
+
10
+ [![NPM version][npm-image]][npm-url]
11
+ ![npm-typescript]
12
+ [![License][github-license]][github-license-url]
13
+
14
+ ## 🌟 Features
15
+
16
+ - 🔐 Authentication via private key from RuStore Console
17
+ - 🔑 Automatic access token management
18
+ - 📦 Work with RuStore API (payments, subscriptions, applications)
19
+ - 📄 JSON output format (`--json`) for convenient integration and processing
20
+ - ⚙️ Configuration saved in `~/.rustore/config.json`
21
+ - 🧪 Full test coverage
22
+
23
+ ## 🛠️ Installation
24
+
25
+ ### Global Installation
26
+
27
+ ```sh
28
+ npm install -g rustore
29
+ ```
30
+
31
+ After installation, use the command:
32
+
33
+ ```sh
34
+ rustore --help
35
+ ```
36
+
37
+ ### Using via npx (without installation)
38
+
39
+ You can use the CLI without installation via `npx`:
40
+
41
+ ```sh
42
+ npx rustore --help
43
+ npx rustore login --key-id <keyId> --key <privateKey>
44
+ npx rustore apps list
45
+ ```
46
+
47
+ ### Local Installation
48
+
49
+ ```sh
50
+ npm install rustore
51
+ ```
52
+
53
+ ## 📖 Usage
54
+
55
+ ### Initial Setup
56
+
57
+ Before using the CLI, you need to obtain a private key from [RuStore Console](https://console.rustore.ru/sign-in).
58
+
59
+ ### Authentication
60
+
61
+ ```sh
62
+ # Authentication with keyId and private key
63
+ rustore login --key-id <keyId> --key <base64-key>
64
+
65
+ # Or short form
66
+ rustore login -i <keyId> -k <base64-key>
67
+ ```
68
+
69
+ **Example:**
70
+
71
+ ```sh
72
+ rustore login --key-id 123456 --key MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC...
73
+ ```
74
+
75
+ ### Check Status
76
+
77
+ ```sh
78
+ # Show information about current authentication
79
+ rustore whoami
80
+ ```
81
+
82
+ ### Logout
83
+
84
+ ```sh
85
+ # Remove token (keys remain in config)
86
+ rustore logout
87
+ ```
88
+
89
+ ### Working with Applications
90
+
91
+ ```sh
92
+ # Get list of applications
93
+ rustore apps list
94
+
95
+ # Get all applications (with pagination)
96
+ rustore apps list --all
97
+
98
+ # Output result in JSON format (convenient for scripts and integrations)
99
+ rustore apps list --json
100
+
101
+ # Combining options: get all applications in JSON format
102
+ rustore apps list --all --json
103
+
104
+ # Filtering with JSON output
105
+ rustore apps list --app-name "MyApp" --json
106
+ rustore apps list --app-status PUBLISHED --json
107
+
108
+ # Create draft version of application
109
+ rustore apps create-draft --app-id 123456 --version-name "1.0.0" --version-code 1
110
+
111
+ # Create draft version with JSON output
112
+ rustore apps create-draft --app-id 123456 --version-name "2.0.0" --version-code 2 --json
113
+
114
+ # Upload APK file for version (is-main-apk is required)
115
+ rustore apps upload-apk --package-name com.example.app --version-id 789 --file ./app-release.apk --is-main-apk true
116
+
117
+ # Upload APK file with Huawei Mobile Services
118
+ rustore apps upload-apk --package-name com.example.app --version-id 789 --file ./app-release.apk --is-main-apk false --services-type HMS
119
+
120
+ # Upload APK file with JSON output
121
+ rustore apps upload-apk --package-name com.example.app --version-id 789 --file ./app-release.apk --is-main-apk true --json
122
+ ```
123
+
124
+ ### Working with Feedback
125
+
126
+ ```sh
127
+ # Get application feedback
128
+ rustore feedback list --package-name com.example.app
129
+
130
+ # Get all feedback (with pagination)
131
+ rustore feedback list --package-name com.example.app --all
132
+
133
+ # Get feedback in JSON format
134
+ rustore feedback list --package-name com.example.app --json
135
+
136
+ # Leave a response to feedback
137
+ rustore feedback answer --package-name com.example.app --comment-id 123456 --text "Thank you for your feedback!"
138
+
139
+ # Get feedback response status
140
+ rustore feedback status --package-name com.example.app --feedback-id 789
141
+
142
+ # Get all feedback responses
143
+ rustore feedback status --package-name com.example.app
144
+
145
+ # Update feedback response
146
+ rustore feedback update --package-name com.example.app --feedback-id 789 --text "Updated response"
147
+
148
+ # Delete feedback response
149
+ rustore feedback delete --package-name com.example.app --feedback-id 789
150
+ ```
151
+
152
+ **💡 Tip:** The `--json` flag is useful for:
153
+
154
+ - Automation and scripts
155
+ - Integration with other tools
156
+ - Data processing via `jq` or other JSON parsers
157
+ - Saving results to file: `rustore apps list --json > apps.json`
158
+
159
+ ## 📁 Configuration
160
+
161
+ The CLI saves configuration in `~/.rustore/config.json`:
162
+
163
+ ```json
164
+ {
165
+ "keyId": "your-key-id",
166
+ "privateKey": "your-private-key-base64",
167
+ "token": "jwe-token",
168
+ "tokenExpiresAt": 1234567890
169
+ }
170
+ ```
171
+
172
+ ## 🔧 Development
173
+
174
+ ### Installing Dependencies
175
+
176
+ ```sh
177
+ npm install
178
+ ```
179
+
180
+ ### Building
181
+
182
+ ```sh
183
+ npm run build
184
+ ```
185
+
186
+ ### Running in Development Mode
187
+
188
+ ```sh
189
+ npm start
190
+ ```
191
+
192
+ ### Testing
193
+
194
+ ```sh
195
+ # Run all tests
196
+ npm test
197
+
198
+ # Tests in watch mode
199
+ npm run test:watch
200
+
201
+ # With coverage
202
+ npm run test:coverage
203
+ ```
204
+
205
+ #### How to Test Current Changes
206
+
207
+ 1. **Build the project:**
208
+
209
+ ```sh
210
+ npm run build
211
+ ```
212
+
213
+ 2. **Type checking:**
214
+
215
+ ```sh
216
+ npm run type-check
217
+ # or
218
+ ./node_modules/.bin/tsc --noEmit
219
+ ```
220
+
221
+ 3. **Run tests:**
222
+
223
+ ```sh
224
+ npm test
225
+ ```
226
+
227
+ 4. **Test CLI locally:**
228
+
229
+ ```sh
230
+ # Run without installation (via tsx)
231
+ npm start -- login <keyId> --key <key>
232
+
233
+ # Or after build
234
+ node dist/bin.js whoami
235
+ ```
236
+
237
+ 5. **Linting:**
238
+ ```sh
239
+ npm run lint
240
+ npm run lint:fix
241
+ ```
242
+
243
+ ### Type Checking
244
+
245
+ ```sh
246
+ npm run type-check
247
+ ```
248
+
249
+ ### Linting
250
+
251
+ ```sh
252
+ npm run lint
253
+ npm run lint:fix
254
+ ```
255
+
256
+ ## 📚 API
257
+
258
+ ### API Structure
259
+
260
+ The API is organized by categories, as in RuStore documentation:
261
+
262
+ - **Apps API** (`appsApi`) - Application upload and publication (general methods)
263
+ - **Payments API** (`paymentsApi`) - Working with payments and subscriptions (general methods)
264
+ - **Payments App API** (`paymentsAppApi`) - Working with payments and subscriptions (application methods)
265
+ - **Catalog API** (`catalogApi`) - Product catalog API
266
+ - **Feedback API** (`feedbackApi`) - Working with application feedback
267
+
268
+ ### Programmatic Access
269
+
270
+ ```typescript
271
+ import {login, appsApi, paymentsApi, catalogApi, feedbackApi} from 'rustore';
272
+
273
+ // Authentication
274
+ await login('keyId', 'privateKey');
275
+
276
+ // Get list of applications
277
+ const appsResponse = await appsApi.getAppList();
278
+ console.log(appsResponse.body.content);
279
+
280
+ // Get all applications (with automatic pagination)
281
+ const allApps = await appsApi.getAllApps();
282
+
283
+ // Create draft version of application
284
+ const draftVersion = await appsApi.createDraftVersion(123456, {
285
+ versionName: '1.0.0',
286
+ versionCode: 1,
287
+ });
288
+
289
+ // Upload APK file for version
290
+ const uploadResult = await appsApi.uploadApkFile(
291
+ 'com.example.app', // packageName instead of appId
292
+ draftVersion.body?.versionId || 789,
293
+ './app-release.apk',
294
+ {
295
+ isMainApk: true, // required parameter
296
+ servicesType: 'Unknown', // optional: 'HMS' or 'Unknown'
297
+ },
298
+ );
299
+
300
+ // Get application feedback
301
+ const feedbackResponse = await feedbackApi.getFeedback('com.example.app');
302
+
303
+ // Leave a response to feedback
304
+ const answerResponse = await feedbackApi.createFeedbackAnswer('com.example.app', 123456, {
305
+ text: 'Thank you for your feedback!',
306
+ });
307
+
308
+ // Get feedback response status
309
+ const statusResponse = await feedbackApi.getFeedbackAnswerStatus('com.example.app', 789);
310
+
311
+ // Using other API categories
312
+ // await paymentsApi.refund(...);
313
+ // await catalogApi.getProducts(...);
314
+ ```
315
+
316
+ ## 🔗 Useful Links
317
+
318
+ - [RuStore API Documentation](https://www.rustore.ru/help/en/work-with-rustore-api)
319
+ - [Authorization Process](https://www.rustore.ru/help/work-with-rustore-api/api-authorization-token)
320
+ - [RuStore Console](https://console.rustore.ru/sign-in)
321
+
322
+ ## 📝 License
323
+
324
+ MIT
325
+
326
+ [package-name]: rustore
327
+ [npm-url]: https://www.npmjs.com/package/rustore
328
+ [npm-image]: https://img.shields.io/npm/v/rustore
329
+ [github-license]: https://img.shields.io/github/license/romankurnovskii/rustore
330
+ [github-license-url]: https://github.com/romankurnovskii/rustore/blob/main/LICENSE
331
+ [npm-typescript]: https://img.shields.io/npm/types/rustore
package/README.md CHANGED
@@ -1,8 +1,11 @@
1
- <h1 align="center">rustore<br>CLI для работы с RuStore API</h1>
2
-
3
- <p align="center">
4
- Командная строка для взаимодействия с RuStore API
5
- </p>
1
+ <div align="center">
2
+ <img src="assets/icon.png" alt="rustore CLI" width="128" height="128">
3
+ <h1>rustore<br>CLI для работы с RuStore API</h1>
4
+ <p>Командная строка для взаимодействия с RuStore API</p>
5
+ <p>
6
+ <a href="README.en.md">English</a> | <a href="README.md">Русский</a>
7
+ </p>
8
+ </div>
6
9
 
7
10
  [![NPM version][npm-image]][npm-url]
8
11
  ![npm-typescript]
@@ -19,11 +22,29 @@
19
22
 
20
23
  ## 🛠️ Установка
21
24
 
25
+ ### Глобальная установка
26
+
22
27
  ```sh
23
28
  npm install -g rustore
24
29
  ```
25
30
 
26
- или локально:
31
+ После установки используйте команду:
32
+
33
+ ```sh
34
+ rustore --help
35
+ ```
36
+
37
+ ### Использование через npx (без установки)
38
+
39
+ Вы можете использовать CLI без установки через `npx`:
40
+
41
+ ```sh
42
+ npx rustore --help
43
+ npx rustore login --key-id <keyId> --key <privateKey>
44
+ npx rustore apps list
45
+ ```
46
+
47
+ ### Локальная установка
27
48
 
28
49
  ```sh
29
50
  npm install rustore
@@ -90,11 +111,14 @@ rustore apps create-draft --app-id 123456 --version-name "1.0.0" --version-code
90
111
  # Создать черновую версию с JSON выводом
91
112
  rustore apps create-draft --app-id 123456 --version-name "2.0.0" --version-code 2 --json
92
113
 
93
- # Загрузить APK/AAB файл для версии
94
- rustore apps upload-apk --app-id 123456 --version-id 789 --file ./app-release.apk
114
+ # Загрузить APK файл для версии (обязательно указать is-main-apk)
115
+ rustore apps upload-apk --package-name com.example.app --version-id 789 --file ./app-release.apk --is-main-apk true
116
+
117
+ # Загрузить APK файл с Huawei Mobile Services
118
+ rustore apps upload-apk --package-name com.example.app --version-id 789 --file ./app-release.apk --is-main-apk false --services-type HMS
95
119
 
96
- # Загрузить APK/AAB файл с JSON выводом
97
- rustore apps upload-apk --app-id 123456 --version-id 789 --file ./app-release.aab --json
120
+ # Загрузить APK файл с JSON выводом
121
+ rustore apps upload-apk --package-name com.example.app --version-id 789 --file ./app-release.apk --is-main-apk true --json
98
122
  ```
99
123
 
100
124
  ### Работа с отзывами
@@ -261,11 +285,15 @@ const draftVersion = await appsApi.createDraftVersion(123456, {
261
285
  versionCode: 1,
262
286
  });
263
287
 
264
- // Загрузить APK/AAB файл для версии
288
+ // Загрузить APK файл для версии
265
289
  const uploadResult = await appsApi.uploadApkFile(
266
- 123456,
290
+ 'com.example.app', // packageName вместо appId
267
291
  draftVersion.body?.versionId || 789,
268
292
  './app-release.apk',
293
+ {
294
+ isMainApk: true, // обязательный параметр
295
+ servicesType: 'Unknown', // опциональный: 'HMS' или 'Unknown'
296
+ },
269
297
  );
270
298
 
271
299
  // Получить отзывы приложения
@@ -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 } from '../types.js';
8
+ import type { GetAppListResponse, App, GetAppListOptions, CreateDraftVersionRequest, CreateDraftVersionResponse, UploadApkFileResponse, UploadApkFileOptions } from '../types.js';
9
9
  /**
10
10
  * Клиент для работы с приложениями
11
11
  */
@@ -37,31 +37,34 @@ export declare class AppsApi extends RustoreApiClient {
37
37
  getAllApps(options?: Omit<GetAppListOptions, 'continuationToken'>): Promise<App[]>;
38
38
  /**
39
39
  * Создать черновую версию приложения
40
- * POST /public/v1/application/{appId}/draft-version
40
+ * POST /public/v1/application/{packageName}/version
41
41
  *
42
- * Метод позволяет создать черновую версию приложения для последующей загрузки APK/AAB.
42
+ * Метод позволяет создать черновик версии и заполнить его основной информацией.
43
+ * Обязательный параметр: minAndroidVersion (от 1 до 16).
43
44
  *
44
- * @param appId - ID приложения
45
- * @param data - Данные для создания черновой версии (versionName, versionCode)
45
+ * @param packageName - Наименование пакета приложения (например, com.example.app)
46
+ * @param data - Данные для создания черновой версии
46
47
  * @returns Информация о созданной черновой версии
47
48
  *
48
49
  * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/create-draft-version
49
50
  */
50
- createDraftVersion(appId: number, data: CreateDraftVersionRequest): Promise<CreateDraftVersionResponse>;
51
+ createDraftVersion(packageName: string, data: CreateDraftVersionRequest): Promise<CreateDraftVersionResponse>;
51
52
  /**
52
- * Загрузить APK/AAB файл для версии приложения
53
- * POST /public/v1/application/{appId}/version/{versionId}/apk-file
53
+ * Загрузить APK файл для версии приложения
54
+ * POST /public/v1/application/{packageName}/version/{versionId}/apk
54
55
  *
55
- * Метод позволяет загрузить APK или AAB файл для черновой версии приложения.
56
+ * Метод позволяет загрузить APK файл для версии приложения.
57
+ * Согласно документации API, endpoint использует packageName, а не appId.
56
58
  *
57
- * @param appId - ID приложения
59
+ * @param packageName - Имя пакета приложения (например, com.example.app)
58
60
  * @param versionId - ID версии (полученный из createDraftVersion)
59
- * @param filePath - Путь к APK/AAB файлу
61
+ * @param filePath - Путь к APK файлу
62
+ * @param options - Параметры загрузки (isMainApk - обязательный, servicesType - опциональный)
60
63
  * @returns Информация о загруженном файле
61
64
  *
62
- * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-file-upload
65
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-file-upload/file-upload-apk
63
66
  */
64
- uploadApkFile(appId: number, versionId: number, filePath: string): Promise<UploadApkFileResponse>;
67
+ uploadApkFile(packageName: string, versionId: number, filePath: string, options: UploadApkFileOptions): Promise<UploadApkFileResponse>;
65
68
  }
66
69
  /**
67
70
  * Экспортируемый экземпляр клиента для работы с приложениями
@@ -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,EACtB,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;;;;;;;;;;;OAWG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAKtC;;;;;;;;;;;;OAYG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC;CA+ClC;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,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"}
package/dist/api/apps.js CHANGED
@@ -70,71 +70,102 @@ export class AppsApi extends RustoreApiClient {
70
70
  }
71
71
  /**
72
72
  * Создать черновую версию приложения
73
- * POST /public/v1/application/{appId}/draft-version
73
+ * POST /public/v1/application/{packageName}/version
74
74
  *
75
- * Метод позволяет создать черновую версию приложения для последующей загрузки APK/AAB.
75
+ * Метод позволяет создать черновик версии и заполнить его основной информацией.
76
+ * Обязательный параметр: minAndroidVersion (от 1 до 16).
76
77
  *
77
- * @param appId - ID приложения
78
- * @param data - Данные для создания черновой версии (versionName, versionCode)
78
+ * @param packageName - Наименование пакета приложения (например, com.example.app)
79
+ * @param data - Данные для создания черновой версии
79
80
  * @returns Информация о созданной черновой версии
80
81
  *
81
82
  * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/create-draft-version
82
83
  */
83
- async createDraftVersion(appId, data) {
84
- const endpoint = `/public/v1/application/${appId}/draft-version`;
84
+ async createDraftVersion(packageName, data) {
85
+ const endpoint = `/public/v1/application/${packageName}/version`;
85
86
  return this.post(endpoint, data);
86
87
  }
87
88
  /**
88
- * Загрузить APK/AAB файл для версии приложения
89
- * POST /public/v1/application/{appId}/version/{versionId}/apk-file
89
+ * Загрузить APK файл для версии приложения
90
+ * POST /public/v1/application/{packageName}/version/{versionId}/apk
90
91
  *
91
- * Метод позволяет загрузить APK или AAB файл для черновой версии приложения.
92
+ * Метод позволяет загрузить APK файл для версии приложения.
93
+ * Согласно документации API, endpoint использует packageName, а не appId.
92
94
  *
93
- * @param appId - ID приложения
95
+ * @param packageName - Имя пакета приложения (например, com.example.app)
94
96
  * @param versionId - ID версии (полученный из createDraftVersion)
95
- * @param filePath - Путь к APK/AAB файлу
97
+ * @param filePath - Путь к APK файлу
98
+ * @param options - Параметры загрузки (isMainApk - обязательный, servicesType - опциональный)
96
99
  * @returns Информация о загруженном файле
97
100
  *
98
- * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-file-upload
101
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/apk-file-upload/file-upload-apk
99
102
  */
100
- async uploadApkFile(appId, versionId, filePath) {
101
- const endpoint = `/public/v1/application/${appId}/version/${versionId}/apk-file`;
103
+ async uploadApkFile(packageName, versionId, filePath, options) {
104
+ // Формируем query параметры
105
+ const queryParams = new URLSearchParams();
106
+ queryParams.append('isMainApk', String(options.isMainApk));
107
+ if (options.servicesType) {
108
+ queryParams.append('servicesType', options.servicesType);
109
+ }
110
+ else {
111
+ queryParams.append('servicesType', 'Unknown');
112
+ }
113
+ const endpoint = `/public/v1/application/${packageName}/version/${versionId}/apk?${queryParams.toString()}`;
102
114
  // Читаем файл
103
115
  const fileBuffer = readFileSync(filePath);
104
116
  const fileName = filePath.split('/').pop() || 'app.apk';
105
117
  // Создаём FormData для multipart/form-data запроса
118
+ // В Node.js 18+ FormData поддерживается нативно
106
119
  const formData = new FormData();
107
- const blob = new Blob([fileBuffer], {
120
+ // Используем File вместо Blob для лучшей совместимости
121
+ const file = new File([fileBuffer], fileName, {
108
122
  type: 'application/vnd.android.package-archive',
109
123
  });
110
- formData.append('file', blob, fileName);
124
+ formData.append('file', file);
111
125
  // Выполняем запрос с FormData
112
126
  const token = await getToken();
113
127
  const url = `${this.baseUrl}${endpoint}`;
114
128
  if (process.env.DEBUG) {
115
- console.error(`[DEBUG] API Request: ${url} (uploading ${fileName})`);
129
+ const fileSizeMB = (fileBuffer.length / (1024 * 1024)).toFixed(2);
130
+ console.error(`[DEBUG] API Request: ${url} (uploading ${fileName}, size: ${fileSizeMB} MB)`);
116
131
  }
117
132
  const response = await fetch(url, {
118
133
  method: 'POST',
119
134
  headers: {
120
135
  'Public-Token': token,
121
- // Не устанавливаем Content-Type - браузер установит автоматически с boundary
136
+ // Не устанавливаем Content-Type - fetch установит автоматически с boundary
122
137
  },
123
138
  body: formData,
124
139
  });
140
+ // Получаем текст ответа для логирования и парсинга
141
+ const responseText = await response.text();
142
+ // Debug: логируем сырой ответ API
143
+ if (process.env.DEBUG) {
144
+ console.error(`[DEBUG] API Response Status: ${response.status} ${response.statusText}`);
145
+ console.error(`[DEBUG] API Response Headers:`, Object.fromEntries(response.headers.entries()));
146
+ console.error(`[DEBUG] API Response Body:`, responseText);
147
+ }
125
148
  if (!response.ok) {
126
- const errorText = await response.text();
127
149
  let errorData;
128
150
  try {
129
- errorData = JSON.parse(errorText);
151
+ errorData = JSON.parse(responseText);
130
152
  }
131
153
  catch {
132
154
  // Игнорируем ошибку парсинга
133
155
  }
134
- const errorMessage = errorData?.message ?? errorText;
156
+ const errorMessage = errorData?.message ?? responseText;
135
157
  throw new Error(`Ошибка API (${response.status}): ${errorMessage}`);
136
158
  }
137
- return (await response.json());
159
+ // Парсим JSON ответ
160
+ try {
161
+ return JSON.parse(responseText);
162
+ }
163
+ catch (parseError) {
164
+ if (process.env.DEBUG) {
165
+ console.error(`[DEBUG] Failed to parse JSON response:`, parseError);
166
+ }
167
+ throw new Error(`Ошибка парсинга ответа API: ${responseText}`);
168
+ }
138
169
  }
139
170
  }
140
171
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/api/apps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAUnC;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,gBAAgB;IAC3C;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CAAC,OAA2B;QAC1C,sEAAsE;QACtE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;QACjE,MAAM,YAAY,GAAG,cAAc,IAAI,wBAAwB,CAAC;QAEhE,4BAA4B;QAC5B,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBAC1D,wDAAwD;oBACxD,mDAAmD;oBACnD,qEAAqE;oBACrE,8DAA8D;oBAC9D,4FAA4F;oBAC5F,oFAAoF;oBACpF,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/E,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAE/E,OAAO,IAAI,CAAC,GAAG,CAAqB,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CACd,OAAsD;QAEtD,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,IAAI,iBAAqC,CAAC;QAE1C,GAAG,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAC,GAAG,OAAO,EAAE,iBAAiB,EAAC,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACtD,CAAC,QAAQ,iBAAiB,EAAE;QAE5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,IAA+B;QAE/B,MAAM,QAAQ,GAAG,0BAA0B,KAAK,gBAAgB,CAAC;QACjE,OAAO,IAAI,CAAC,IAAI,CAA6B,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,SAAiB,EACjB,QAAgB;QAEhB,MAAM,QAAQ,GAAG,0BAA0B,KAAK,YAAY,SAAS,WAAW,CAAC;QAEjF,cAAc;QACd,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;QAExD,mDAAmD;QACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE;YAClC,IAAI,EAAE,yCAAyC;SAChD,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAEzC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,eAAe,QAAQ,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,KAAK;gBACrB,6EAA6E;aAC9E;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,SAAwD,CAAC;YAE7D,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,MAAM,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;IAC1D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/api/apps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,OAAO,GAAE,MAAqB;IAI1C;;OAEG;cACa,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IA+CnF;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1C;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAO3D;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAO1D;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,OAAO,GAAE,MAAqB;IAI1C;;OAEG;cACa,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IAmFnF;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1C;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAO3D;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAO1D;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
@@ -22,9 +22,23 @@ export class RustoreApiClient {
22
22
  async request(endpoint, options = {}) {
23
23
  const token = await getToken();
24
24
  const url = `${this.baseUrl}${endpoint}`;
25
- // Debug: логируем URL для отладки (можно убрать в production)
25
+ // Debug: логируем URL и тело запроса для отладки
26
26
  if (process.env.DEBUG) {
27
- console.error(`[DEBUG] API Request: ${url}`);
27
+ console.error(`[DEBUG] API Request: ${options.method || 'GET'} ${url}`);
28
+ if (options.body && !(options.body instanceof FormData)) {
29
+ try {
30
+ const bodyText = typeof options.body === 'string'
31
+ ? options.body
32
+ : JSON.stringify(options.body);
33
+ console.error(`[DEBUG] API Request Body:`, bodyText);
34
+ }
35
+ catch {
36
+ console.error(`[DEBUG] API Request Body: [unable to stringify]`);
37
+ }
38
+ }
39
+ if (options.body instanceof FormData) {
40
+ console.error(`[DEBUG] API Request Body: [FormData - multipart/form-data]`);
41
+ }
28
42
  }
29
43
  // Определяем заголовки: для multipart/form-data не устанавливаем Content-Type
30
44
  // (браузер/fetch установит его автоматически с boundary)
@@ -43,20 +57,36 @@ export class RustoreApiClient {
43
57
  ...options,
44
58
  headers,
45
59
  });
60
+ // Получаем текст ответа для логирования и парсинга
61
+ const responseText = await response.text();
62
+ // Debug: логируем сырой ответ API
63
+ if (process.env.DEBUG) {
64
+ console.error(`[DEBUG] API Response Status: ${response.status} ${response.statusText}`);
65
+ console.error(`[DEBUG] API Response Headers:`, Object.fromEntries(response.headers.entries()));
66
+ console.error(`[DEBUG] API Response Body:`, responseText);
67
+ }
46
68
  if (!response.ok) {
47
- const errorText = await response.text();
48
69
  let errorData;
49
70
  try {
50
- errorData = JSON.parse(errorText);
71
+ errorData = JSON.parse(responseText);
51
72
  }
52
73
  catch {
53
74
  // Игнорируем ошибку парсинга
54
75
  }
55
76
  // Более информативное сообщение об ошибке
56
- const errorMessage = errorData?.message ?? errorText;
77
+ const errorMessage = errorData?.message ?? responseText;
57
78
  throw new Error(`Ошибка API (${response.status}): ${errorMessage}`);
58
79
  }
59
- return (await response.json());
80
+ // Парсим JSON ответ
81
+ try {
82
+ return JSON.parse(responseText);
83
+ }
84
+ catch (parseError) {
85
+ if (process.env.DEBUG) {
86
+ console.error(`[DEBUG] Failed to parse JSON response:`, parseError);
87
+ }
88
+ throw new Error(`Ошибка парсинга ответа API: ${responseText}`);
89
+ }
60
90
  }
61
91
  /**
62
92
  * GET запрос
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAGnC,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACjB,OAAO,CAAS;IAE1B,YAAY,UAAkB,YAAY;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAO,CAAI,QAAgB,EAAE,UAAuB,EAAE;QACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAEzC,iDAAiD;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;YACxE,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,QAAQ,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC;oBACH,MAAM,QAAQ,GACZ,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;wBAC9B,CAAC,CAAC,OAAO,CAAC,IAAI;wBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;gBACvD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,YAAY,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,yDAAyD;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,YAAY,QAAQ,CAAC;QACrD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,KAAK,EAAE,yDAAyD;YAChF,GAAI,OAAO,CAAC,OAAkC;SAC/C,CAAC;QAEF,2CAA2C;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,4DAA4D;QAC5D,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,GAAG,OAAO;YACV,OAAO;SACR,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,kCAAkC;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CACX,gCAAgC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACzE,CAAC;YACF,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,SAA+B,CAAC;YAEpC,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAa,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,0CAA0C;YAC1C,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,IAAI,YAAY,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,MAAM,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAM,CAAC;QACvC,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,QAAgB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAI,QAAgB,EAAE,IAAc;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,QAAgB,EAAE,IAAc;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAI,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
package/dist/bin.js CHANGED
@@ -136,13 +136,54 @@ appsCommand
136
136
  appsCommand
137
137
  .command('create-draft')
138
138
  .description('Создать черновую версию приложения')
139
- .requiredOption('--app-id <id>', 'ID приложения', parseInt)
140
- .requiredOption('--version-name <name>', 'Имя версии (например, 1.0.0)')
141
- .requiredOption('--version-code <code>', 'Код версии (число)', parseInt)
139
+ .allowUnknownOption() // Разрешаем произвольные параметры для поддержки всех параметров API
140
+ .allowExcessArguments()
141
+ .requiredOption('--packageName <name>', 'Имя пакета приложения (например, com.example.app)')
142
+ .requiredOption('--minAndroidVersion <version>', 'Минимальная версия Android (1-16)', parseInt)
142
143
  .option('-j, --json', 'Вывести результат в формате JSON')
143
144
  .action(async (options) => {
144
145
  try {
145
- await createDraftVersionCommand(options.appId, options.versionName, options.versionCode, options.json);
146
+ // Собираем все параметры из CLI, исключая известные опции
147
+ const knownOptions = ['packageName', 'minAndroidVersion', 'json'];
148
+ const apiParams = {
149
+ minAndroidVersion: options.minAndroidVersion,
150
+ };
151
+ // Парсим неизвестные опции из process.argv
152
+ const createDraftIndex = process.argv.indexOf('create-draft');
153
+ if (createDraftIndex >= 0) {
154
+ for (let i = createDraftIndex + 1; i < process.argv.length; i++) {
155
+ const arg = process.argv[i];
156
+ if (arg?.startsWith('--') && !knownOptions.some(opt => arg.includes(opt))) {
157
+ const key = arg.replace(/^--/, '');
158
+ const value = process.argv[i + 1];
159
+ if (value && !value.startsWith('--')) {
160
+ // Парсим значение
161
+ let parsedValue = value;
162
+ const lowerValue = value.toLowerCase();
163
+ if (lowerValue === 'true') {
164
+ parsedValue = true;
165
+ }
166
+ else if (lowerValue === 'false') {
167
+ parsedValue = false;
168
+ }
169
+ else if (!isNaN(Number(value)) && value.trim() !== '') {
170
+ parsedValue = Number(value);
171
+ }
172
+ else if (value.startsWith('[') || value.startsWith('{')) {
173
+ try {
174
+ parsedValue = JSON.parse(value);
175
+ }
176
+ catch {
177
+ parsedValue = value;
178
+ }
179
+ }
180
+ apiParams[key] = parsedValue;
181
+ i++;
182
+ }
183
+ }
184
+ }
185
+ }
186
+ await createDraftVersionCommand(options.packageName, apiParams, options.json);
146
187
  }
147
188
  catch (error) {
148
189
  console.error('Ошибка:', error instanceof Error ? error.message : String(error));
@@ -151,14 +192,29 @@ appsCommand
151
192
  });
152
193
  appsCommand
153
194
  .command('upload-apk')
154
- .description('Загрузить APK/AAB файл для версии приложения')
155
- .requiredOption('--app-id <id>', 'ID приложения', parseInt)
156
- .requiredOption('--version-id <id>', 'ID версии (из create-draft)', parseInt)
157
- .requiredOption('--file <path>', 'Путь к APK/AAB файлу')
195
+ .description('Загрузить APK файл для версии приложения')
196
+ .allowUnknownOption() // Разрешаем произвольные параметры
197
+ .allowExcessArguments()
198
+ .requiredOption('--packageName <name>', 'Имя пакета приложения (например, com.example.app)')
199
+ .requiredOption('--versionId <id>', 'ID версии (из create-draft)', parseInt)
200
+ .requiredOption('--file <path>', 'Путь к APK файлу')
201
+ .requiredOption('--isMainApk <true|false>', 'Признак основного APK-файла (true - основной, false - дополнительный)', (value) => {
202
+ const lower = value.toLowerCase();
203
+ if (lower === 'true')
204
+ return true;
205
+ if (lower === 'false')
206
+ return false;
207
+ throw new Error('isMainApk должен быть true или false');
208
+ })
209
+ .option('--servicesType <type>', 'Тип сервиса (HMS - для Huawei Mobile Services, Unknown - по умолчанию)', (value) => {
210
+ if (value === 'HMS' || value === 'Unknown')
211
+ return value;
212
+ throw new Error('servicesType должен быть HMS или Unknown');
213
+ })
158
214
  .option('-j, --json', 'Вывести результат в формате JSON')
159
215
  .action(async (options) => {
160
216
  try {
161
- await uploadApkFileCommand(options.appId, options.versionId, options.file, options.json);
217
+ await uploadApkFileCommand(options.packageName, options.versionId, options.file, options.isMainApk, options.servicesType, options.json);
162
218
  }
163
219
  catch (error) {
164
220
  console.error('Ошибка:', error instanceof Error ? error.message : String(error));
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Команды для работы с приложениями
3
3
  */
4
+ import type { CreateDraftVersionRequest } from '../types.js';
4
5
  /**
5
6
  * Команда получения списка приложений
6
7
  */
@@ -15,10 +16,19 @@ export declare function listAppsCommand(options: {
15
16
  }): Promise<void>;
16
17
  /**
17
18
  * Команда создания черновой версии приложения
19
+ *
20
+ * Создает черновую версию приложения для последующей загрузки APK/AAB файла.
21
+ * Обязательный параметр: minAndroidVersion (от 1 до 16).
22
+ *
23
+ * @param packageName - Имя пакета приложения (например, com.example.app)
24
+ * @param data - Данные для создания черновой версии
25
+ * @param json - Вывести результат в формате JSON
26
+ *
27
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/create-draft-version
18
28
  */
19
- export declare function createDraftVersionCommand(appId: number, versionName: string, versionCode: number, json?: boolean): Promise<void>;
29
+ export declare function createDraftVersionCommand(packageName: string, data: CreateDraftVersionRequest, json?: boolean): Promise<void>;
20
30
  /**
21
- * Команда загрузки APK/AAB файла
31
+ * Команда загрузки APK файла
22
32
  */
23
- export declare function uploadApkFileCommand(appId: number, versionId: number, filePath: string, json?: boolean): Promise<void>;
33
+ export declare function uploadApkFileCommand(packageName: string, versionId: number, filePath: string, isMainApk: boolean, servicesType?: 'HMS' | 'Unknown', json?: boolean): Promise<void>;
24
34
  //# sourceMappingURL=apps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB;AAgDD;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAM,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAEhE;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB;AAwED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,yBAAyB,EAC/B,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA6Df;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,EAChC,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -70,29 +70,85 @@ function outputApps(apps, json = false) {
70
70
  if (app.iconUrl) {
71
71
  console.log(` Иконка: ${app.iconUrl}`);
72
72
  }
73
+ // Выводим все дополнительные поля из API ответа
74
+ Object.entries(app).forEach(([key, value]) => {
75
+ const knownKeys = [
76
+ 'appName',
77
+ 'packageName',
78
+ 'appId',
79
+ 'appStatus',
80
+ 'versionName',
81
+ 'versionCode',
82
+ 'versionType',
83
+ 'companyName',
84
+ 'companyId',
85
+ 'role',
86
+ 'deviceType',
87
+ 'activePrice',
88
+ 'paid',
89
+ 'appVerUpdatedAt',
90
+ 'shortDescription',
91
+ 'iconUrl',
92
+ ];
93
+ if (!knownKeys.includes(key) && value !== undefined && value !== null) {
94
+ console.log(` ${key}: ${JSON.stringify(value)}`);
95
+ }
96
+ });
73
97
  console.log('');
74
98
  });
75
99
  }
76
100
  /**
77
101
  * Команда создания черновой версии приложения
102
+ *
103
+ * Создает черновую версию приложения для последующей загрузки APK/AAB файла.
104
+ * Обязательный параметр: minAndroidVersion (от 1 до 16).
105
+ *
106
+ * @param packageName - Имя пакета приложения (например, com.example.app)
107
+ * @param data - Данные для создания черновой версии
108
+ * @param json - Вывести результат в формате JSON
109
+ *
110
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/create-draft-version
78
111
  */
79
- export async function createDraftVersionCommand(appId, versionName, versionCode, json = false) {
112
+ export async function createDraftVersionCommand(packageName, data, json = false) {
80
113
  try {
81
- const data = {
82
- versionName,
83
- versionCode,
84
- };
85
- const response = await appsApi.createDraftVersion(appId, data);
114
+ const response = await appsApi.createDraftVersion(packageName, data);
86
115
  if (json) {
87
116
  console.log(JSON.stringify(response, null, 2));
88
117
  return;
89
118
  }
90
119
  if (response.code === 'OK' || response.code === '200') {
91
120
  console.log('✅ Черновая версия успешно создана!');
92
- if (response.body) {
93
- console.log(` ID версии: ${response.body.versionId || 'N/A'}`);
94
- console.log(` Имя версии: ${response.body.versionName || versionName}`);
95
- console.log(` Код версии: ${response.body.versionCode || versionCode}`);
121
+ if (response.body !== undefined && response.body !== null) {
122
+ // API возвращает versionId напрямую как число в поле body
123
+ // Пример: {"code":"OK","body":2064432562,"timestamp":"..."}
124
+ let versionId;
125
+ if (typeof response.body === 'number') {
126
+ // body - это сам versionId (число)
127
+ versionId = response.body;
128
+ }
129
+ else if (typeof response.body === 'object') {
130
+ // body - это объект, пытаемся найти versionId в разных возможных полях
131
+ versionId =
132
+ response.body.versionId ||
133
+ response.body.id ||
134
+ response.body.version_id;
135
+ // Выводим все доступные поля из объекта body
136
+ Object.entries(response.body).forEach(([key, value]) => {
137
+ if (key !== 'versionId' &&
138
+ key !== 'id' &&
139
+ key !== 'version_id' &&
140
+ value !== undefined &&
141
+ value !== null) {
142
+ console.log(` ${key}: ${JSON.stringify(value)}`);
143
+ }
144
+ });
145
+ }
146
+ if (versionId) {
147
+ console.log(` ID версии: ${versionId}`);
148
+ }
149
+ else {
150
+ console.log(` ID версии: N/A`);
151
+ }
96
152
  }
97
153
  }
98
154
  else {
@@ -100,21 +156,31 @@ export async function createDraftVersionCommand(appId, versionName, versionCode,
100
156
  }
101
157
  }
102
158
  catch (error) {
103
- throw new Error(`Ошибка создания черновой версии: ${error instanceof Error ? error.message : String(error)}`);
159
+ const errorMessage = error instanceof Error ? error.message : String(error);
160
+ // Пытаемся извлечь versionId из сообщения об ошибке, если версия уже существует
161
+ const versionIdMatch = errorMessage.match(/ID\s*=\s*(\d+)/i);
162
+ if (versionIdMatch) {
163
+ const existingVersionId = versionIdMatch[1];
164
+ throw new Error(`${errorMessage}\n\n💡 У вас уже есть черновая версия с ID: ${existingVersionId}\n Используйте этот ID для загрузки APK файла.`);
165
+ }
166
+ throw new Error(`Ошибка создания черновой версии: ${errorMessage}`);
104
167
  }
105
168
  }
106
169
  /**
107
- * Команда загрузки APK/AAB файла
170
+ * Команда загрузки APK файла
108
171
  */
109
- export async function uploadApkFileCommand(appId, versionId, filePath, json = false) {
172
+ export async function uploadApkFileCommand(packageName, versionId, filePath, isMainApk, servicesType, json = false) {
110
173
  try {
111
- const response = await appsApi.uploadApkFile(appId, versionId, filePath);
174
+ const response = await appsApi.uploadApkFile(packageName, versionId, filePath, {
175
+ isMainApk,
176
+ servicesType: servicesType || 'Unknown',
177
+ });
112
178
  if (json) {
113
179
  console.log(JSON.stringify(response, null, 2));
114
180
  return;
115
181
  }
116
182
  if (response.code === 'OK' || response.code === '200') {
117
- console.log('✅ APK/AAB файл успешно загружен!');
183
+ console.log('✅ APK файл успешно загружен!');
118
184
  if (response.body) {
119
185
  console.log(` ID файла: ${response.body.fileId || 'N/A'}`);
120
186
  console.log(` Имя файла: ${response.body.fileName || 'N/A'}`);
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -78,20 +78,126 @@ export interface GetAppListOptions {
78
78
  }
79
79
  /**
80
80
  * Параметры для создания черновой версии приложения
81
- * POST /public/v1/application/{appId}/draft-version
81
+ * POST /public/v1/application/{packageName}/version
82
+ *
83
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/create-draft-version
82
84
  */
83
85
  export interface CreateDraftVersionRequest {
84
- versionName: string;
85
- versionCode: number;
86
+ /**
87
+ * Наименование версии приложения
88
+ * Максимальная длина — 5 символов
89
+ */
90
+ appName?: string;
91
+ /**
92
+ * Тип версии приложения
93
+ * GAMES - для игр
94
+ * MAIN - для неигровых приложений
95
+ */
96
+ appType?: 'GAMES' | 'MAIN';
97
+ /**
98
+ * Категории версии
99
+ * Максимальное количество категорий — 2 категории
100
+ */
101
+ categories?: string[];
102
+ /**
103
+ * Возрастная категория
104
+ * Возможные варианты: 18+, 16+, 12+, 6+, 0+
105
+ */
106
+ ageLegal?: '18+' | '16+' | '12+' | '6+' | '0+';
107
+ /**
108
+ * Краткое описание версии
109
+ * Максимальная длина — 80 символов
110
+ */
111
+ shortDescription?: string;
112
+ /**
113
+ * Полное описание версии
114
+ * Максимальная длина — 4 000 символов
115
+ */
116
+ fullDescription?: string;
117
+ /**
118
+ * Описание «Что нового»
119
+ * Максимальная длина — 5000 символов
120
+ */
121
+ whatsNew?: string;
122
+ /**
123
+ * Комментарий разработчика для модератора
124
+ * Максимальная длина — 180 символов
125
+ */
126
+ moderInfo?: string;
127
+ /**
128
+ * Стоимость приложения в минимальных единицах валюты (в копейках)
129
+ * Например: «87.99 руб.» = 8799
130
+ * Значение должно быть >0
131
+ */
132
+ priceValue?: string;
133
+ /**
134
+ * ID поисковых тегов из списка
135
+ * Максимальное количество — 5
136
+ * Все теги должны быть либо только для GAMES, либо только для MAIN
137
+ */
138
+ seoTagIds?: number[];
139
+ /**
140
+ * Тип публикации
141
+ * MANUAL - ручная публикация
142
+ * INSTANTLY - автоматическая публикация, сразу после прохождения модерации (по умолчанию)
143
+ * DELAYED - отложенная публикация
144
+ */
145
+ publishType?: 'MANUAL' | 'INSTANTLY' | 'DELAYED';
146
+ /**
147
+ * Дата и время для отложенной публикации
148
+ * Формат: yyyy-MM-dd'T'HH:mm:ssXXX
149
+ * Обязателен только если publishType = DELAYED
150
+ * Дата должна быть не раньше 24 часов и не позже 60 дней с планируемой даты отправки на модерацию
151
+ */
152
+ publishDateTime?: string;
153
+ /**
154
+ * Процент для частичной публикации приложения
155
+ * Возможные значения: 5%, 10%, 25%, 50%, 75%, 100%
156
+ */
157
+ partialValue?: 5 | 10 | 25 | 50 | 75 | 100;
158
+ /**
159
+ * Минимальная версия Android (обязательное поле)
160
+ * Числовое поле от 1 до 16
161
+ */
162
+ minAndroidVersion: number;
163
+ /**
164
+ * Контакты разработчика
165
+ * email - обязательное текстовое поле в формате @.* (например test@mail.ru)
166
+ * website - необязательное текстовое поле (например https://www.rustore.ru/)
167
+ * vkCommunity - необязательное текстовое поле в формате https://vk.com/* (например https://vk.com/rustore_official)
168
+ */
169
+ developerContacts?: Array<{
170
+ email: string;
171
+ website?: string;
172
+ vkCommunity?: string;
173
+ }>;
174
+ /**
175
+ * Список часто задаваемых вопросов и ответов для карточки приложения
176
+ * Максимум 10 элементов
177
+ * question ≤ 120 символов
178
+ * answer ≤ 500 символов
179
+ */
180
+ faq?: Array<{
181
+ question: string;
182
+ answer: string;
183
+ }>;
86
184
  [key: string]: unknown;
87
185
  }
88
186
  /**
89
187
  * Ответ на создание черновой версии приложения
188
+ *
189
+ * API возвращает versionId напрямую в поле body как число, а не как объект.
190
+ *
191
+ * @see https://www.rustore.ru/help/work-with-rustore-api/api-upload-publication-app/create-draft-version
90
192
  */
91
193
  export interface CreateDraftVersionResponse {
92
194
  code: string;
93
195
  message?: string;
94
- body?: {
196
+ /**
197
+ * ID версии (versionId) возвращается напрямую как число, а не как объект
198
+ * Пример: {"code":"OK","body":2064432562,"timestamp":"..."}
199
+ */
200
+ body?: number | {
95
201
  versionId?: number;
96
202
  versionName?: string;
97
203
  versionCode?: number;
@@ -99,9 +205,26 @@ export interface CreateDraftVersionResponse {
99
205
  };
100
206
  timestamp: string;
101
207
  }
208
+ /**
209
+ * Параметры загрузки APK файла
210
+ */
211
+ export interface UploadApkFileOptions {
212
+ /**
213
+ * Признак основного APK-файла (обязательный)
214
+ * true - основной APK-файл
215
+ * false - дополнительный APK-файл
216
+ */
217
+ isMainApk: boolean;
218
+ /**
219
+ * Тип сервиса, используемый в приложении (опциональный)
220
+ * HMS - для APK-файлов c Huawei Mobile Servises
221
+ * Unknown - по умолчанию
222
+ */
223
+ servicesType?: 'HMS' | 'Unknown';
224
+ }
102
225
  /**
103
226
  * Ответ на загрузку APK/AAB файла
104
- * POST /public/v1/application/{appId}/version/{versionId}/apk-file
227
+ * POST /public/v1/application/{packageName}/version/{versionId}/apk
105
228
  */
106
229
  export interface UploadApkFileResponse {
107
230
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rustore",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "CLI для работы с RuStore API",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/romankurnovskii/rustore#readme",
@@ -15,8 +15,10 @@
15
15
  "rustore",
16
16
  "api",
17
17
  "cli",
18
- "russia",
19
- "app-store"
18
+ "android",
19
+ "app-store",
20
+ "apk",
21
+ "aab"
20
22
  ],
21
23
  "author": {
22
24
  "name": "Roman Kurnovskii",