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 +331 -0
- package/README.md +40 -12
- package/dist/api/apps.d.ts +16 -13
- package/dist/api/apps.d.ts.map +1 -1
- package/dist/api/apps.js +53 -22
- package/dist/api/apps.js.map +1 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +36 -6
- package/dist/api/client.js.map +1 -1
- package/dist/bin.js +65 -9
- package/dist/bin.js.map +1 -1
- package/dist/commands/apps.d.ts +13 -3
- package/dist/commands/apps.d.ts.map +1 -1
- package/dist/commands/apps.js +81 -15
- package/dist/commands/apps.js.map +1 -1
- package/dist/types.d.ts +128 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -3
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
|
-
<
|
|
2
|
-
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
94
|
-
rustore apps upload-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
|
|
97
|
-
rustore apps upload-apk --
|
|
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
|
|
288
|
+
// Загрузить APK файл для версии
|
|
265
289
|
const uploadResult = await appsApi.uploadApkFile(
|
|
266
|
-
|
|
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
|
// Получить отзывы приложения
|
package/dist/api/apps.d.ts
CHANGED
|
@@ -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/{
|
|
40
|
+
* POST /public/v1/application/{packageName}/version
|
|
41
41
|
*
|
|
42
|
-
* Метод позволяет создать
|
|
42
|
+
* Метод позволяет создать черновик версии и заполнить его основной информацией.
|
|
43
|
+
* Обязательный параметр: minAndroidVersion (от 1 до 16).
|
|
43
44
|
*
|
|
44
|
-
* @param
|
|
45
|
-
* @param data - Данные для создания черновой версии
|
|
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(
|
|
51
|
+
createDraftVersion(packageName: string, data: CreateDraftVersionRequest): Promise<CreateDraftVersionResponse>;
|
|
51
52
|
/**
|
|
52
|
-
* Загрузить APK
|
|
53
|
-
* POST /public/v1/application/{
|
|
53
|
+
* Загрузить APK файл для версии приложения
|
|
54
|
+
* POST /public/v1/application/{packageName}/version/{versionId}/apk
|
|
54
55
|
*
|
|
55
|
-
* Метод позволяет загрузить APK
|
|
56
|
+
* Метод позволяет загрузить APK файл для версии приложения.
|
|
57
|
+
* Согласно документации API, endpoint использует packageName, а не appId.
|
|
56
58
|
*
|
|
57
|
-
* @param
|
|
59
|
+
* @param packageName - Имя пакета приложения (например, com.example.app)
|
|
58
60
|
* @param versionId - ID версии (полученный из createDraftVersion)
|
|
59
|
-
* @param filePath - Путь к APK
|
|
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(
|
|
67
|
+
uploadApkFile(packageName: string, versionId: number, filePath: string, options: UploadApkFileOptions): Promise<UploadApkFileResponse>;
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
67
70
|
* Экспортируемый экземпляр клиента для работы с приложениями
|
package/dist/api/apps.d.ts.map
CHANGED
|
@@ -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,
|
|
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/{
|
|
73
|
+
* POST /public/v1/application/{packageName}/version
|
|
74
74
|
*
|
|
75
|
-
* Метод позволяет создать
|
|
75
|
+
* Метод позволяет создать черновик версии и заполнить его основной информацией.
|
|
76
|
+
* Обязательный параметр: minAndroidVersion (от 1 до 16).
|
|
76
77
|
*
|
|
77
|
-
* @param
|
|
78
|
-
* @param data - Данные для создания черновой версии
|
|
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(
|
|
84
|
-
const endpoint = `/public/v1/application/${
|
|
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
|
|
89
|
-
* POST /public/v1/application/{
|
|
89
|
+
* Загрузить APK файл для версии приложения
|
|
90
|
+
* POST /public/v1/application/{packageName}/version/{versionId}/apk
|
|
90
91
|
*
|
|
91
|
-
* Метод позволяет загрузить APK
|
|
92
|
+
* Метод позволяет загрузить APK файл для версии приложения.
|
|
93
|
+
* Согласно документации API, endpoint использует packageName, а не appId.
|
|
92
94
|
*
|
|
93
|
-
* @param
|
|
95
|
+
* @param packageName - Имя пакета приложения (например, com.example.app)
|
|
94
96
|
* @param versionId - ID версии (полученный из createDraftVersion)
|
|
95
|
-
* @param filePath - Путь к APK
|
|
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(
|
|
101
|
-
|
|
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
|
-
|
|
120
|
+
// Используем File вместо Blob для лучшей совместимости
|
|
121
|
+
const file = new File([fileBuffer], fileName, {
|
|
108
122
|
type: 'application/vnd.android.package-archive',
|
|
109
123
|
});
|
|
110
|
-
formData.append('file',
|
|
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
|
-
|
|
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 -
|
|
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(
|
|
151
|
+
errorData = JSON.parse(responseText);
|
|
130
152
|
}
|
|
131
153
|
catch {
|
|
132
154
|
// Игнорируем ошибку парсинга
|
|
133
155
|
}
|
|
134
|
-
const errorMessage = errorData?.message ??
|
|
156
|
+
const errorMessage = errorData?.message ?? responseText;
|
|
135
157
|
throw new Error(`Ошибка API (${response.status}): ${errorMessage}`);
|
|
136
158
|
}
|
|
137
|
-
|
|
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
|
/**
|
package/dist/api/apps.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/api/apps.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/api/client.js
CHANGED
|
@@ -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
|
|
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(
|
|
71
|
+
errorData = JSON.parse(responseText);
|
|
51
72
|
}
|
|
52
73
|
catch {
|
|
53
74
|
// Игнорируем ошибку парсинга
|
|
54
75
|
}
|
|
55
76
|
// Более информативное сообщение об ошибке
|
|
56
|
-
const errorMessage = errorData?.message ??
|
|
77
|
+
const errorMessage = errorData?.message ?? responseText;
|
|
57
78
|
throw new Error(`Ошибка API (${response.status}): ${errorMessage}`);
|
|
58
79
|
}
|
|
59
|
-
|
|
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 запрос
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.js
CHANGED
|
@@ -136,13 +136,54 @@ appsCommand
|
|
|
136
136
|
appsCommand
|
|
137
137
|
.command('create-draft')
|
|
138
138
|
.description('Создать черновую версию приложения')
|
|
139
|
-
.
|
|
140
|
-
.
|
|
141
|
-
.requiredOption('--
|
|
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
|
-
|
|
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
|
|
155
|
-
.
|
|
156
|
-
.
|
|
157
|
-
.requiredOption('--
|
|
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.
|
|
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":";AACA;;GAEG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,kCAAkC;AAClC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC;KACxC,cAAc,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;KACrE,cAAc,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACH,aAAa,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACH,aAAa,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,oCAAoC;AACpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAEjF,WAAW;KACR,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4BAA4B,CAAC;KACzC,kBAAkB,EAAE,CAAC,sEAAsE;KAC3F,oBAAoB,EAAE,CAAC,qCAAqC;KAC5D,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CACL,oBAAoB,EACpB,qDAAqD,EACrD,QAAQ,CACT;KACA,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;KACzD,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;KACzD,MAAM,CACL,uBAAuB,EACvB,wDAAwD,CACzD;KACA,MAAM,CACL,qBAAqB,EACrB,oEAAoE,CACrE;KACA,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,2CAA2C;QAC3C,mEAAmE;QACnE,iEAAiE;QACjE,MAAM,cAAc,GAA8C,EAAE,CAAC;QACrE,MAAM,gBAAgB,GAAG;YACvB,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,QAAQ;YACR,aAAa;YACb,YAAY;YACZ,gBAAgB;YAChB,cAAc;SACf,CAAC;QAEF,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,gCAAgC;YAChC,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,2DAA2D;wBAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAC1B,WAAW,EACX,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CACzD,CAAC;wBAEF,8CAA8C;wBAC9C,IAAI,WAAsC,CAAC;wBAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;wBACvC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;4BAC1B,WAAW,GAAG,IAAI,CAAC;wBACrB,CAAC;6BAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;4BAClC,WAAW,GAAG,KAAK,CAAC;wBACtB,CAAC;6BAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;4BACxD,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACN,WAAW,GAAG,KAAK,CAAC;wBACtB,CAAC;wBAED,cAAc,CAAC,QAAQ,CAAC,GAAG,WAAwC,CAAC;wBACpE,CAAC,EAAE,CAAC,CAAC,sBAAsB;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,iEAAiE;QACjE,gEAAgE;QAChE,MAAM,eAAe,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,cAAc,EAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,oCAAoC,CAAC;KACjD,cAAc,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC;KAC1D,cAAc,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;KACvE,cAAc,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,QAAQ,CAAC;KACvE,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,yBAAyB,CAC7B,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,cAAc,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC;KAC1D,cAAc,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,QAAQ,CAAC;KAC5E,cAAc,CAAC,eAAe,EAAE,sBAAsB,CAAC;KACvD,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,oBAAoB,CACxB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gCAAgC;AAChC,MAAM,eAAe,GAAG,OAAO;KAC5B,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,eAAe;KACZ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4BAA4B,CAAC;KACzC,cAAc,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,oCAAoC,CAAC;KACzD,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,QAAQ,CAAC;KACzD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yBAAyB,CAAC;KACtC,cAAc,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KAClE,cAAc,CAAC,mBAAmB,EAAE,WAAW,EAAE,QAAQ,CAAC;KAC1D,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC;KAC/C,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,2BAA2B,CAC/B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,cAAc,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KAClE,MAAM,CACL,oBAAoB,EACpB,kDAAkD,EAClD,QAAQ,CACT;KACA,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,8BAA8B,CAClC,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yBAAyB,CAAC;KACtC,cAAc,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KAClE,cAAc,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,CAAC;KACpE,cAAc,CAAC,eAAe,EAAE,oBAAoB,CAAC;KACrD,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,2BAA2B,CAC/B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wBAAwB,CAAC;KACrC,cAAc,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;KAClE,cAAc,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,CAAC;KACpE,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,2BAA2B,CAC/B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,6CAA6C;AAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/apps.d.ts
CHANGED
|
@@ -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(
|
|
29
|
+
export declare function createDraftVersionCommand(packageName: string, data: CreateDraftVersionRequest, json?: boolean): Promise<void>;
|
|
20
30
|
/**
|
|
21
|
-
* Команда загрузки APK
|
|
31
|
+
* Команда загрузки APK файла
|
|
22
32
|
*/
|
|
23
|
-
export declare function uploadApkFileCommand(
|
|
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;
|
|
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"}
|
package/dist/commands/apps.js
CHANGED
|
@@ -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(
|
|
112
|
+
export async function createDraftVersionCommand(packageName, data, json = false) {
|
|
80
113
|
try {
|
|
81
|
-
const
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
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
|
|
170
|
+
* Команда загрузки APK файла
|
|
108
171
|
*/
|
|
109
|
-
export async function uploadApkFileCommand(
|
|
172
|
+
export async function uploadApkFileCommand(packageName, versionId, filePath, isMainApk, servicesType, json = false) {
|
|
110
173
|
try {
|
|
111
|
-
const response = await appsApi.uploadApkFile(
|
|
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
|
|
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/{
|
|
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
|
-
|
|
85
|
-
|
|
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
|
-
|
|
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/{
|
|
227
|
+
* POST /public/v1/application/{packageName}/version/{versionId}/apk
|
|
105
228
|
*/
|
|
106
229
|
export interface UploadApkFileResponse {
|
|
107
230
|
code: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED
|
|
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.
|
|
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
|
-
"
|
|
19
|
-
"app-store"
|
|
18
|
+
"android",
|
|
19
|
+
"app-store",
|
|
20
|
+
"apk",
|
|
21
|
+
"aab"
|
|
20
22
|
],
|
|
21
23
|
"author": {
|
|
22
24
|
"name": "Roman Kurnovskii",
|