@purpleschool/rugpt-lib-common 0.0.101 → 0.0.103

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.
@@ -1,4 +1,278 @@
1
1
  export declare const ERRORS: {
2
+ /** Ошибки каталога и проверки App Store; успешная проверка подписи ещё не означает начисление. */
3
+ APPLE_IAP: {
4
+ /** Персональный запрет новой тестовой оплаты; не отказывает в replay уже выданной покупки. */
5
+ SANDBOX_ACCOUNT_NOT_ALLOWED: {
6
+ code: string;
7
+ message: string;
8
+ httpCode: number;
9
+ };
10
+ SUBSCRIPTION_REFUND_NOT_APPLICABLE: {
11
+ code: string;
12
+ message: string;
13
+ httpCode: number;
14
+ };
15
+ REFUND_SUBSCRIPTION_ERROR: {
16
+ code: string;
17
+ message: string;
18
+ httpCode: number;
19
+ };
20
+ /** Полный refund применяется только к существующему личному пакету после сверки Apple. */
21
+ PRODUCT_REFUND_NOT_APPLICABLE: {
22
+ code: string;
23
+ message: string;
24
+ httpCode: number;
25
+ };
26
+ REFUND_PRODUCT_ERROR: {
27
+ code: string;
28
+ message: string;
29
+ httpCode: number;
30
+ };
31
+ /** Обычное истечение требует подтверждённого завершённого периода и уже учтённой оплаты. */
32
+ SUBSCRIPTION_EXPIRY_NOT_APPLICABLE: {
33
+ code: string;
34
+ message: string;
35
+ httpCode: number;
36
+ };
37
+ EXPIRE_SUBSCRIPTION_ERROR: {
38
+ code: string;
39
+ message: string;
40
+ httpCode: number;
41
+ };
42
+ /** Billing retry не подтверждает новую оплату и не даёт права применять grace-доступ. */
43
+ BILLING_RETRY_NOT_APPLICABLE: {
44
+ code: string;
45
+ message: string;
46
+ httpCode: number;
47
+ };
48
+ APPLY_BILLING_RETRY_ERROR: {
49
+ code: string;
50
+ message: string;
51
+ httpCode: number;
52
+ };
53
+ /** Настройку нельзя применить без уже учтённой действующей оплаты этой Apple-цепочки. */
54
+ RENEWAL_STATE_NOT_APPLICABLE: {
55
+ code: string;
56
+ message: string;
57
+ httpCode: number;
58
+ };
59
+ SYNC_RENEWAL_STATE_ERROR: {
60
+ code: string;
61
+ message: string;
62
+ httpCode: number;
63
+ };
64
+ NOTIFICATION_DEFERRED: {
65
+ code: string;
66
+ message: string;
67
+ httpCode: number;
68
+ };
69
+ NOTIFICATION_RETRYABLE: {
70
+ code: string;
71
+ message: string;
72
+ httpCode: number;
73
+ };
74
+ NOTIFICATION_CONFLICT: {
75
+ code: string;
76
+ message: string;
77
+ httpCode: number;
78
+ };
79
+ PROCESS_NOTIFICATION_ERROR: {
80
+ code: string;
81
+ message: string;
82
+ httpCode: number;
83
+ };
84
+ PERSIST_NOTIFICATION_ERROR: {
85
+ code: string;
86
+ message: string;
87
+ httpCode: number;
88
+ };
89
+ /** Для уведомления пока нет существующего неудалённого владельца с доказанной привязкой. */
90
+ NOTIFICATION_OWNER_UNRESOLVED: {
91
+ code: string;
92
+ message: string;
93
+ httpCode: number;
94
+ };
95
+ RESOLVE_NOTIFICATION_OWNER_ERROR: {
96
+ code: string;
97
+ message: string;
98
+ httpCode: number;
99
+ };
100
+ /** Отказ проверки подписи/формы уведомления; неподдержанный тип сам по себе не является этой ошибкой. */
101
+ INVALID_NOTIFICATION: {
102
+ code: string;
103
+ message: string;
104
+ httpCode: number;
105
+ };
106
+ VERIFY_NOTIFICATION_ERROR: {
107
+ code: string;
108
+ message: string;
109
+ httpCode: number;
110
+ };
111
+ SUBSCRIPTIONS_DISABLED: {
112
+ code: string;
113
+ message: string;
114
+ httpCode: number;
115
+ };
116
+ /** Проверенная покупка не подходит для первой выдачи текущего оплаченного периода. */
117
+ SUBSCRIPTION_NOT_APPLICABLE: {
118
+ code: string;
119
+ message: string;
120
+ httpCode: number;
121
+ };
122
+ SUBSCRIPTION_NOT_CONFIGURED: {
123
+ code: string;
124
+ message: string;
125
+ httpCode: number;
126
+ };
127
+ /** Чтение состояния не включено; сам verifier может работать без Server API credentials. */
128
+ SERVER_API_NOT_CONFIGURED: {
129
+ code: string;
130
+ message: string;
131
+ httpCode: number;
132
+ };
133
+ SERVER_API_UNAUTHORIZED: {
134
+ code: string;
135
+ message: string;
136
+ httpCode: number;
137
+ };
138
+ /** Включает отменённый по timeout запрос, ограничения частоты и временные ошибки Apple. */
139
+ SERVER_API_UNAVAILABLE: {
140
+ code: string;
141
+ message: string;
142
+ httpCode: number;
143
+ };
144
+ SUBSCRIPTION_NOT_FOUND: {
145
+ code: string;
146
+ message: string;
147
+ httpCode: number;
148
+ };
149
+ INVALID_SUBSCRIPTION_STATE: {
150
+ code: string;
151
+ message: string;
152
+ httpCode: number;
153
+ };
154
+ GET_SUBSCRIPTION_STATE_ERROR: {
155
+ code: string;
156
+ message: string;
157
+ httpCode: number;
158
+ };
159
+ INVALID_TRANSACTION_HISTORY: {
160
+ code: string;
161
+ message: string;
162
+ httpCode: number;
163
+ };
164
+ GET_TRANSACTION_HISTORY_ERROR: {
165
+ code: string;
166
+ message: string;
167
+ httpCode: number;
168
+ };
169
+ RECONCILIATION_INCOMPLETE: {
170
+ code: string;
171
+ message: string;
172
+ httpCode: number;
173
+ };
174
+ RECONCILE_SUBSCRIPTION_ERROR: {
175
+ code: string;
176
+ message: string;
177
+ httpCode: number;
178
+ };
179
+ INVALID_RENEWAL_INFO: {
180
+ code: string;
181
+ message: string;
182
+ httpCode: number;
183
+ };
184
+ VERIFY_RENEWAL_INFO_ERROR: {
185
+ code: string;
186
+ message: string;
187
+ httpCode: number;
188
+ };
189
+ /** Обработка ещё не начиналась: бюджет массива исчерпан либо проверка Apple временно недоступна. */
190
+ TRANSACTION_NOT_PROCESSED: {
191
+ code: string;
192
+ message: string;
193
+ httpCode: number;
194
+ };
195
+ /** Подпись настоящая, но покупка не связана с текущим аккаунтом ruGPT. */
196
+ ACCOUNT_MISMATCH: {
197
+ code: string;
198
+ message: string;
199
+ httpCode: number;
200
+ };
201
+ /** Проверенная покупка выходит за поддержанный сценарий текущего обработчика. */
202
+ UNSUPPORTED_PURCHASE: {
203
+ code: string;
204
+ message: string;
205
+ httpCode: number;
206
+ };
207
+ REVOKED_TRANSACTION: {
208
+ code: string;
209
+ message: string;
210
+ httpCode: number;
211
+ };
212
+ /** ID уже сохранён, но подтверждения именно этой выдачи нет; повторно начислять опасно. */
213
+ TRANSACTION_CONFLICT: {
214
+ code: string;
215
+ message: string;
216
+ httpCode: number;
217
+ };
218
+ /** Отсутствующие данные не подменяются нулевой ценой или рублями. */
219
+ MISSING_PRICE: {
220
+ code: string;
221
+ message: string;
222
+ httpCode: number;
223
+ };
224
+ PRODUCT_NOT_CONFIGURED: {
225
+ code: string;
226
+ message: string;
227
+ httpCode: number;
228
+ };
229
+ APPLY_TRANSACTION_ERROR: {
230
+ code: string;
231
+ message: string;
232
+ httpCode: number;
233
+ };
234
+ /** Серверный verifier выключен; не является отказом Apple в оплате. */
235
+ VERIFICATION_NOT_CONFIGURED: {
236
+ code: string;
237
+ message: string;
238
+ httpCode: number;
239
+ };
240
+ /** Неверная подпись/сертификаты либо неполные или неподдерживаемые данные подписанного payload. */
241
+ INVALID_TRANSACTION: {
242
+ code: string;
243
+ message: string;
244
+ httpCode: number;
245
+ };
246
+ /** bundleId покупки не совпал с нашим приложением; это не проверка владельца ruGPT. */
247
+ APP_MISMATCH: {
248
+ code: string;
249
+ message: string;
250
+ httpCode: number;
251
+ };
252
+ /** Среда покупки не совпала с явно выбранной сервером: Sandbox или Production. */
253
+ ENVIRONMENT_MISMATCH: {
254
+ code: string;
255
+ message: string;
256
+ httpCode: number;
257
+ };
258
+ /** Временный сбой проверки сертификатов; повтор допустим, неподлинность покупки не установлена. */
259
+ VERIFICATION_UNAVAILABLE: {
260
+ code: string;
261
+ message: string;
262
+ httpCode: number;
263
+ };
264
+ /** Неожиданный сбой адаптера; подробности SDK не должны попадать в ответ клиенту. */
265
+ VERIFY_TRANSACTION_ERROR: {
266
+ code: string;
267
+ message: string;
268
+ httpCode: number;
269
+ };
270
+ GET_PRODUCTS_ERROR: {
271
+ code: string;
272
+ message: string;
273
+ httpCode: number;
274
+ };
275
+ };
2
276
  PARTNER_CODES: {
3
277
  readonly ISSUE_REQUEST_CONFLICT: {
4
278
  readonly code: "issue_request_conflict";
@@ -3149,6 +3423,11 @@ export declare const ERRORS: {
3149
3423
  };
3150
3424
  };
3151
3425
  PAYMENT: {
3426
+ REFUND_NOT_SUPPORTED: {
3427
+ code: string;
3428
+ message: string;
3429
+ httpCode: number;
3430
+ };
3152
3431
  CREATE_ERROR: {
3153
3432
  code: string;
3154
3433
  httpCode: number;
@@ -4067,6 +4346,16 @@ export declare const ERRORS: {
4067
4346
  };
4068
4347
  };
4069
4348
  SUBSCRIPTION: {
4349
+ MANAGED_BY_APPLE: {
4350
+ code: string;
4351
+ message: string;
4352
+ httpCode: number;
4353
+ };
4354
+ ACTIVE_APPLE_SUBSCRIPTION: {
4355
+ code: string;
4356
+ message: string;
4357
+ httpCode: number;
4358
+ };
4070
4359
  ALREADY_HAS: {
4071
4360
  code: string;
4072
4361
  httpCode: number;
@@ -5087,6 +5376,16 @@ export declare const ERRORS: {
5087
5376
  httpCode: number;
5088
5377
  message: string;
5089
5378
  };
5379
+ FIRST_FRAME_REQUIRED: {
5380
+ code: string;
5381
+ httpCode: number;
5382
+ message: string;
5383
+ };
5384
+ WEBP_NOT_SUPPORTED: {
5385
+ code: string;
5386
+ httpCode: number;
5387
+ message: string;
5388
+ };
5090
5389
  JOB_DELETE_ERROR: {
5091
5390
  code: string;
5092
5391
  httpCode: number;
@@ -2,6 +2,281 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ERRORS = void 0;
4
4
  exports.ERRORS = {
5
+ /** Ошибки каталога и проверки App Store; успешная проверка подписи ещё не означает начисление. */
6
+ APPLE_IAP: {
7
+ /** Персональный запрет новой тестовой оплаты; не отказывает в replay уже выданной покупки. */
8
+ SANDBOX_ACCOUNT_NOT_ALLOWED: {
9
+ code: "APPLE_IAP.SANDBOX_ACCOUNT_NOT_ALLOWED",
10
+ message: "Тестовые покупки App Store недоступны для этого аккаунта",
11
+ httpCode: 403,
12
+ },
13
+ SUBSCRIPTION_REFUND_NOT_APPLICABLE: {
14
+ code: "APPLE_IAP.SUBSCRIPTION_REFUND_NOT_APPLICABLE",
15
+ message: "Состояние App Store пока не позволяет применить полный возврат подписки",
16
+ httpCode: 409,
17
+ },
18
+ REFUND_SUBSCRIPTION_ERROR: {
19
+ code: "APPLE_IAP.REFUND_SUBSCRIPTION_ERROR",
20
+ message: "Не удалось обработать возврат подписки App Store",
21
+ httpCode: 500,
22
+ },
23
+ /** Полный refund применяется только к существующему личному пакету после сверки Apple. */
24
+ PRODUCT_REFUND_NOT_APPLICABLE: {
25
+ code: "APPLE_IAP.PRODUCT_REFUND_NOT_APPLICABLE",
26
+ message: "Состояние App Store пока не позволяет применить полный возврат пакета звёзд",
27
+ httpCode: 409,
28
+ },
29
+ REFUND_PRODUCT_ERROR: {
30
+ code: "APPLE_IAP.REFUND_PRODUCT_ERROR",
31
+ message: "Не удалось обработать возврат пакета звёзд App Store",
32
+ httpCode: 500,
33
+ },
34
+ /** Обычное истечение требует подтверждённого завершённого периода и уже учтённой оплаты. */
35
+ SUBSCRIPTION_EXPIRY_NOT_APPLICABLE: {
36
+ code: "APPLE_IAP.SUBSCRIPTION_EXPIRY_NOT_APPLICABLE",
37
+ message: "Состояние App Store пока не позволяет завершить учтённый период подписки",
38
+ httpCode: 409,
39
+ },
40
+ EXPIRE_SUBSCRIPTION_ERROR: {
41
+ code: "APPLE_IAP.EXPIRE_SUBSCRIPTION_ERROR",
42
+ message: "Не удалось завершить истёкший период подписки App Store",
43
+ httpCode: 500,
44
+ },
45
+ /** Billing retry не подтверждает новую оплату и не даёт права применять grace-доступ. */
46
+ BILLING_RETRY_NOT_APPLICABLE: {
47
+ code: "APPLE_IAP.BILLING_RETRY_NOT_APPLICABLE",
48
+ message: "Состояние App Store пока не позволяет отметить неудачное продление подписки",
49
+ httpCode: 409,
50
+ },
51
+ APPLY_BILLING_RETRY_ERROR: {
52
+ code: "APPLE_IAP.APPLY_BILLING_RETRY_ERROR",
53
+ message: "Не удалось обработать неудачное продление подписки App Store",
54
+ httpCode: 500,
55
+ },
56
+ /** Настройку нельзя применить без уже учтённой действующей оплаты этой Apple-цепочки. */
57
+ RENEWAL_STATE_NOT_APPLICABLE: {
58
+ code: "APPLE_IAP.RENEWAL_STATE_NOT_APPLICABLE",
59
+ message: "Состояние App Store пока не позволяет обновить автопродление учтённой подписки",
60
+ httpCode: 409,
61
+ },
62
+ SYNC_RENEWAL_STATE_ERROR: {
63
+ code: "APPLE_IAP.SYNC_RENEWAL_STATE_ERROR",
64
+ message: "Не удалось обновить состояние автопродления подписки App Store",
65
+ httpCode: 500,
66
+ },
67
+ // Webhook D2/A: незавершённая доставка не подтверждается кодом 200.
68
+ NOTIFICATION_DEFERRED: {
69
+ code: "APPLE_IAP.NOTIFICATION_DEFERRED",
70
+ message: "Обработка уведомления Apple отложена до выполнения необходимых условий",
71
+ httpCode: 503,
72
+ },
73
+ NOTIFICATION_RETRYABLE: {
74
+ code: "APPLE_IAP.NOTIFICATION_RETRYABLE",
75
+ message: "Не удалось завершить обработку уведомления Apple, повторите доставку",
76
+ httpCode: 503,
77
+ },
78
+ NOTIFICATION_CONFLICT: {
79
+ code: "APPLE_IAP.NOTIFICATION_CONFLICT",
80
+ message: "Данные уведомления Apple противоречат сохранённым данным покупки или владельца",
81
+ httpCode: 409,
82
+ },
83
+ PROCESS_NOTIFICATION_ERROR: {
84
+ code: "APPLE_IAP.PROCESS_NOTIFICATION_ERROR",
85
+ message: "Не удалось обработать уведомление Apple",
86
+ httpCode: 500,
87
+ },
88
+ PERSIST_NOTIFICATION_ERROR: {
89
+ code: "APPLE_IAP.PERSIST_NOTIFICATION_ERROR",
90
+ message: "Не удалось сохранить результат доставки уведомления Apple",
91
+ httpCode: 503,
92
+ },
93
+ /** Для уведомления пока нет существующего неудалённого владельца с доказанной привязкой. */
94
+ NOTIFICATION_OWNER_UNRESOLVED: {
95
+ code: "APPLE_IAP.NOTIFICATION_OWNER_UNRESOLVED",
96
+ message: "Пока не удалось определить владельца уведомления App Store",
97
+ httpCode: 503,
98
+ },
99
+ RESOLVE_NOTIFICATION_OWNER_ERROR: {
100
+ code: "APPLE_IAP.RESOLVE_NOTIFICATION_OWNER_ERROR",
101
+ message: "Не удалось проверить владельца уведомления App Store",
102
+ httpCode: 500,
103
+ },
104
+ /** Отказ проверки подписи/формы уведомления; неподдержанный тип сам по себе не является этой ошибкой. */
105
+ INVALID_NOTIFICATION: {
106
+ code: "APPLE_IAP.INVALID_NOTIFICATION",
107
+ message: "Не удалось подтвердить уведомление App Store",
108
+ httpCode: 400,
109
+ },
110
+ VERIFY_NOTIFICATION_ERROR: {
111
+ code: "APPLE_IAP.VERIFY_NOTIFICATION_ERROR",
112
+ message: "Не удалось проверить уведомление App Store",
113
+ httpCode: 500,
114
+ },
115
+ SUBSCRIPTIONS_DISABLED: {
116
+ code: "APPLE_IAP.SUBSCRIPTIONS_DISABLED",
117
+ message: "Выдача подписок App Store временно недоступна",
118
+ httpCode: 503,
119
+ },
120
+ /** Проверенная покупка не подходит для первой выдачи текущего оплаченного периода. */
121
+ SUBSCRIPTION_NOT_APPLICABLE: {
122
+ code: "APPLE_IAP.SUBSCRIPTION_NOT_APPLICABLE",
123
+ message: "Покупка App Store не подтверждает доступный для выдачи оплаченный период подписки",
124
+ httpCode: 409,
125
+ },
126
+ SUBSCRIPTION_NOT_CONFIGURED: {
127
+ code: "APPLE_IAP.SUBSCRIPTION_NOT_CONFIGURED",
128
+ message: "Для подписки App Store не настроен тариф ruGPT",
129
+ httpCode: 503,
130
+ },
131
+ /** Чтение состояния не включено; сам verifier может работать без Server API credentials. */
132
+ SERVER_API_NOT_CONFIGURED: {
133
+ code: "APPLE_IAP.SERVER_API_NOT_CONFIGURED",
134
+ message: "Получение состояния подписок App Store не настроено",
135
+ httpCode: 503,
136
+ },
137
+ SERVER_API_UNAUTHORIZED: {
138
+ code: "APPLE_IAP.SERVER_API_UNAUTHORIZED",
139
+ message: "Не удалось авторизовать серверный запрос к App Store",
140
+ httpCode: 502,
141
+ },
142
+ /** Включает отменённый по timeout запрос, ограничения частоты и временные ошибки Apple. */
143
+ SERVER_API_UNAVAILABLE: {
144
+ code: "APPLE_IAP.SERVER_API_UNAVAILABLE",
145
+ message: "Состояние подписки App Store временно недоступно. Повторите попытку позже",
146
+ httpCode: 503,
147
+ },
148
+ SUBSCRIPTION_NOT_FOUND: {
149
+ code: "APPLE_IAP.SUBSCRIPTION_NOT_FOUND",
150
+ message: "Запрошенная подписка App Store не найдена",
151
+ httpCode: 404,
152
+ },
153
+ INVALID_SUBSCRIPTION_STATE: {
154
+ code: "APPLE_IAP.INVALID_SUBSCRIPTION_STATE",
155
+ message: "Не удалось подтвердить согласованное состояние подписки App Store",
156
+ httpCode: 502,
157
+ },
158
+ GET_SUBSCRIPTION_STATE_ERROR: {
159
+ code: "APPLE_IAP.GET_SUBSCRIPTION_STATE_ERROR",
160
+ message: "Не удалось получить состояние подписки App Store",
161
+ httpCode: 500,
162
+ },
163
+ INVALID_TRANSACTION_HISTORY: {
164
+ code: "APPLE_IAP.INVALID_TRANSACTION_HISTORY",
165
+ message: "Не удалось подтвердить полную и согласованную историю покупок App Store",
166
+ httpCode: 502,
167
+ },
168
+ GET_TRANSACTION_HISTORY_ERROR: {
169
+ code: "APPLE_IAP.GET_TRANSACTION_HISTORY_ERROR",
170
+ message: "Не удалось получить историю покупок App Store",
171
+ httpCode: 500,
172
+ },
173
+ RECONCILIATION_INCOMPLETE: {
174
+ code: "APPLE_IAP.RECONCILIATION_INCOMPLETE",
175
+ message: "Не удалось завершить сверку оплат подписки App Store",
176
+ httpCode: 503,
177
+ },
178
+ RECONCILE_SUBSCRIPTION_ERROR: {
179
+ code: "APPLE_IAP.RECONCILE_SUBSCRIPTION_ERROR",
180
+ message: "Не удалось восстановить оплату подписки App Store",
181
+ httpCode: 500,
182
+ },
183
+ INVALID_RENEWAL_INFO: {
184
+ code: "APPLE_IAP.INVALID_RENEWAL_INFO",
185
+ message: "Не удалось подтвердить сведения о продлении подписки App Store",
186
+ httpCode: 400,
187
+ },
188
+ VERIFY_RENEWAL_INFO_ERROR: {
189
+ code: "APPLE_IAP.VERIFY_RENEWAL_INFO_ERROR",
190
+ message: "Не удалось проверить сведения о продлении подписки App Store",
191
+ httpCode: 500,
192
+ },
193
+ /** Обработка ещё не начиналась: бюджет массива исчерпан либо проверка Apple временно недоступна. */
194
+ TRANSACTION_NOT_PROCESSED: {
195
+ code: "APPLE_IAP.TRANSACTION_NOT_PROCESSED",
196
+ message: "Покупка App Store пока не обработана. Повторите отправку позже",
197
+ httpCode: 503,
198
+ },
199
+ /** Подпись настоящая, но покупка не связана с текущим аккаунтом ruGPT. */
200
+ ACCOUNT_MISMATCH: {
201
+ code: "APPLE_IAP.ACCOUNT_MISMATCH",
202
+ message: "Покупка App Store относится к другому аккаунту или не содержит привязки к аккаунту",
203
+ httpCode: 403,
204
+ },
205
+ /** Проверенная покупка выходит за поддержанный сценарий текущего обработчика. */
206
+ UNSUPPORTED_PURCHASE: {
207
+ code: "APPLE_IAP.UNSUPPORTED_PURCHASE",
208
+ message: "Этот вид покупки App Store пока не поддерживается",
209
+ httpCode: 400,
210
+ },
211
+ REVOKED_TRANSACTION: {
212
+ code: "APPLE_IAP.REVOKED_TRANSACTION",
213
+ message: "Покупка App Store отозвана",
214
+ httpCode: 400,
215
+ },
216
+ /** ID уже сохранён, но подтверждения именно этой выдачи нет; повторно начислять опасно. */
217
+ TRANSACTION_CONFLICT: {
218
+ code: "APPLE_IAP.TRANSACTION_CONFLICT",
219
+ message: "Сохранённые данные покупки App Store требуют проверки",
220
+ httpCode: 409,
221
+ },
222
+ /** Отсутствующие данные не подменяются нулевой ценой или рублями. */
223
+ MISSING_PRICE: {
224
+ code: "APPLE_IAP.MISSING_PRICE",
225
+ message: "В покупке App Store отсутствуют сведения о цене или валюте",
226
+ httpCode: 400,
227
+ },
228
+ PRODUCT_NOT_CONFIGURED: {
229
+ code: "APPLE_IAP.PRODUCT_NOT_CONFIGURED",
230
+ message: "Для покупки App Store не настроен пакет ruGPT",
231
+ httpCode: 503,
232
+ },
233
+ APPLY_TRANSACTION_ERROR: {
234
+ code: "APPLE_IAP.APPLY_TRANSACTION_ERROR",
235
+ message: "Не удалось применить покупку App Store. Повторите попытку позже",
236
+ httpCode: 500,
237
+ },
238
+ /** Серверный verifier выключен; не является отказом Apple в оплате. */
239
+ VERIFICATION_NOT_CONFIGURED: {
240
+ code: "APPLE_IAP.VERIFICATION_NOT_CONFIGURED",
241
+ message: "Проверка покупок App Store не настроена",
242
+ httpCode: 503,
243
+ },
244
+ /** Неверная подпись/сертификаты либо неполные или неподдерживаемые данные подписанного payload. */
245
+ INVALID_TRANSACTION: {
246
+ code: "APPLE_IAP.INVALID_TRANSACTION",
247
+ message: "Не удалось подтвердить подлинность или данные покупки App Store",
248
+ httpCode: 400,
249
+ },
250
+ /** bundleId покупки не совпал с нашим приложением; это не проверка владельца ruGPT. */
251
+ APP_MISMATCH: {
252
+ code: "APPLE_IAP.APP_MISMATCH",
253
+ message: "Покупка App Store относится к другому приложению",
254
+ httpCode: 400,
255
+ },
256
+ /** Среда покупки не совпала с явно выбранной сервером: Sandbox или Production. */
257
+ ENVIRONMENT_MISMATCH: {
258
+ code: "APPLE_IAP.ENVIRONMENT_MISMATCH",
259
+ message: "Покупка App Store относится к другому окружению",
260
+ httpCode: 400,
261
+ },
262
+ /** Временный сбой проверки сертификатов; повтор допустим, неподлинность покупки не установлена. */
263
+ VERIFICATION_UNAVAILABLE: {
264
+ code: "APPLE_IAP.VERIFICATION_UNAVAILABLE",
265
+ message: "Проверка покупки App Store временно недоступна. Повторите попытку позже",
266
+ httpCode: 503,
267
+ },
268
+ /** Неожиданный сбой адаптера; подробности SDK не должны попадать в ответ клиенту. */
269
+ VERIFY_TRANSACTION_ERROR: {
270
+ code: "APPLE_IAP.VERIFY_TRANSACTION_ERROR",
271
+ message: "Не удалось проверить покупку App Store",
272
+ httpCode: 500,
273
+ },
274
+ GET_PRODUCTS_ERROR: {
275
+ code: "APPLE_IAP.GET_PRODUCTS_ERROR",
276
+ message: "Не удалось получить каталог покупок App Store",
277
+ httpCode: 500,
278
+ },
279
+ },
5
280
  PARTNER_CODES: {
6
281
  ISSUE_REQUEST_CONFLICT: {
7
282
  code: "issue_request_conflict",
@@ -3152,6 +3427,11 @@ exports.ERRORS = {
3152
3427
  },
3153
3428
  },
3154
3429
  PAYMENT: {
3430
+ REFUND_NOT_SUPPORTED: {
3431
+ code: "PAYMENT.REFUND_NOT_SUPPORTED",
3432
+ message: "Возврат этой покупки оформляется через App Store",
3433
+ httpCode: 409,
3434
+ },
3155
3435
  CREATE_ERROR: {
3156
3436
  code: "PAYMENT.CREATE_ERROR",
3157
3437
  httpCode: 500,
@@ -4070,6 +4350,16 @@ exports.ERRORS = {
4070
4350
  },
4071
4351
  },
4072
4352
  SUBSCRIPTION: {
4353
+ MANAGED_BY_APPLE: {
4354
+ code: "SUBSCRIPTION.MANAGED_BY_APPLE",
4355
+ message: "Управляйте этой подпиской в настройках подписок Apple",
4356
+ httpCode: 409,
4357
+ },
4358
+ ACTIVE_APPLE_SUBSCRIPTION: {
4359
+ code: "SUBSCRIPTION.ACTIVE_APPLE_SUBSCRIPTION",
4360
+ message: "Перед покупкой тарифа на сайте отключите автопродление подписки Apple",
4361
+ httpCode: 409,
4362
+ },
4073
4363
  ALREADY_HAS: {
4074
4364
  code: "SUBSCRIPTION.ALREADY_HAS",
4075
4365
  httpCode: 409,
@@ -5090,6 +5380,16 @@ exports.ERRORS = {
5090
5380
  httpCode: 400,
5091
5381
  message: "Загрузите изображение, на котором хорошо виден человек",
5092
5382
  },
5383
+ FIRST_FRAME_REQUIRED: {
5384
+ code: "VIDEO.FIRST_FRAME_REQUIRED",
5385
+ httpCode: 400,
5386
+ message: "Выбранная модель не может создать видео только по последнему кадру. Добавьте первый кадр",
5387
+ },
5388
+ WEBP_NOT_SUPPORTED: {
5389
+ code: "VIDEO.WEBP_NOT_SUPPORTED",
5390
+ httpCode: 400,
5391
+ message: "Выбранная модель не поддерживает изображения в формате WEBP. Загрузите изображение в формате JPG или PNG",
5392
+ },
5093
5393
  JOB_DELETE_ERROR: {
5094
5394
  code: "VIDEO.JOB_DELETE_ERROR",
5095
5395
  httpCode: 500,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/rugpt-lib-common",
3
- "version": "0.0.101",
3
+ "version": "0.0.103",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",