Skip to content

Commit 5fa48c1

Browse files
Issue #470 Add validation on /settleorder (#567)
* feat(settleorder): implement check in settleorder command disallow settlement of orders with PAID_HOLD_INVOICE status * refactor(settleorder): implement check in settleorder command
1 parent 84f3a0f commit 5fa48c1

File tree

11 files changed

+16
-0
lines changed

11 files changed

+16
-0
lines changed

Diff for: bot/start.ts

+6
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,12 @@ const initialize = (botToken: string, options: Partial<Telegraf.Options<MainCont
464464
const order = await Order.findOne({ _id: orderId });
465465
if (!order) return;
466466

467+
// Check if the order status is already PAID_HOLD_INVOICE
468+
if (order.status === 'PAID_HOLD_INVOICE') {
469+
await ctx.reply(ctx.i18n.t('order_already_settled'));
470+
return;
471+
}
472+
467473
// We look for a dispute for this order
468474
const dispute = await Dispute.findOne({ order_id: order._id });
469475

Diff for: locales/de.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ invoice_require_hash: LN-Rechnung braucht einen Hash
9696
order_id_invalid: Ungültige Auftrags-ID
9797
order_invalid_type: Der ${type} Auftrag ist ungültig
9898
order_already_taken: Dieser Auftrag wurde bereits von einem anderen Nutzer übernommen.
99+
order_already_settled: Diese Bestellung wurde bereits abgewickelt und die Halte-Rechnung wurde bezahlt.
99100
invalid_data: Du hast ungültige Daten gesendet, versuche es erneut.
100101
begin_take_buy: |
101102
🤖 Drücke auf Weiter, um das Angebot anzunehmen. Wenn du auf Abbrechen drückst, wird der Auftrag freigegeben und neu veröffentlicht. Du hast ${expirationTime} Minuten, bevor dieser Auftrag abläuft.

Diff for: locales/en.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ invoice_require_hash: Invoice needs a hash
9898
order_id_invalid: Invalid order ID
9999
order_invalid_type: This ${type} order is invalid
100100
order_already_taken: This order has already been taken by another user.
101+
order_already_settled: This order has already been settled and the hold invoice has been paid.
101102
invalid_data: You have sent invalid data, try again.
102103
begin_take_buy: |
103104
🤖 Press Continue to take the offer, if you press Cancel, you will be released from the order and it will be republished. You have ${expirationTime} minutes before this order expires. 👇

Diff for: locales/es.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ invoice_require_hash: La factura necesita un hash
9696
order_id_invalid: Id de orden incorrecto
9797
order_invalid_type: Esta orden es una ${type}
9898
order_already_taken: Esta orden ya ha sido tomada por otro usuario
99+
order_already_settled: Esta orden ya ha sido liquidada y la factura retenida ha sido pagada.
99100
invalid_data: Has enviado datos incorrectos, inténtalo nuevamente.
100101
begin_take_buy: |
101102
🤖 Presiona Continuar para tomar la oferta, si presionas Cancelar te desvincularé de la orden y será publicada nuevamente, tienes ${expirationTime} minutos o la orden expirará 👇

Diff for: locales/fa.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ invoice_require_hash: فاکتور نیاز به هش دارد
9898
order_id_invalid: شناسه سفارش نامعتبر است
9999
order_invalid_type: این ${type} نوع سفارش نامعتبر است
100100
order_already_taken: این سفارش قبلاً توسط کاربر دیگری گرفته شده است.
101+
order_already_settled: این سفارش قبلا تسویه شده و فاکتور نگهداری پرداخت شده است.
101102
invalid_data: داده های ارسال شده نامعتبر اند، دوباره امتحان کنید.
102103
begin_take_buy: |
103104
🤖 برای دریافت سفارش، ادامه را فشار دهید، اگر لغو را فشار دهید، از معامله خارج می شوید و سفارش مجدداً منتشر می شود. شما ${expirationTime} دقیقه قبل از انقضای این سفارش فرصت دارید. 👇

Diff for: locales/fr.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ invoice_require_hash: La facture a besoin d'un hash
9898
order_id_invalid: ID de facture invalide
9999
order_invalid_type: Cette offre ${type} est invalide
100100
order_already_taken: Cette offre a déjà été pris par un autre utilisateur.
101+
order_already_settled: Cette commande a déjà été réglée et la facture de retenue a été payée.
101102
invalid_data: Tu as envoyé des données invalides, merci de réessayer.
102103
begin_take_buy: |
103104
🤖 Appuie sur Continuer pour prendre l'offre, si tu clique sur Annuler, tu seras libéré.e de l'offre et elle sera publiée de nouveau. Tu as ${expirationTime} minutes avant que cette offre n'expire. 👇

Diff for: locales/it.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ invoice_require_hash: La invoice necessita un hash
9696
order_id_invalid: IOrder ID non valido
9797
order_invalid_type: Questo ${type} ordine non è valido
9898
order_already_taken: Quest'ordine è già stato preso da un altro utente.
99+
order_already_settled: Questo ordine è già stato regolato e la fattura di trattenuta è stata pagata.
99100
invalid_data: I dati inviati non sono validi, riprovare.
100101
begin_take_buy: |
101102
🤖 Premere Continua per accettare l'ordine, se premi Cancella verrai svincolato dall'ordine e sarà ripubblicato. Hai ${expirationTime} minuti prima che l'ordine scada. 👇

Diff for: locales/ko.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ invoice_require_hash: 인보이스에는 해쉬 값이 포함되어야 합니다
9797
order_id_invalid: 주문 ID가 유효하지 않습니다.
9898
order_invalid_type: 이런 ${type} 형태의 주문은 유효하지 않습니다.
9999
order_already_taken: 이 주문은 이미 다른 사용자가 수락하였습니다.
100+
order_already_settled: 이 주문은 이미 정산되었으며 보류 송장이 지불되었습니다.
100101
invalid_data: 유효하지 않은 데이터를 보냈습니다. 다시 시도해보세요.
101102
begin_take_buy: |
102103
🤖 주문을 수락하려면 `계속` 버튼을 눌러 주세요. `취소` 버튼을 누르면, 당신은 해당 주문에서 나오게 되고, 주문은 마켓 채널에 재등록됩니다. 주문이 만료되기까지 ${expirationTime}분 남았습니다. 👇

Diff for: locales/pt.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ invoice_require_hash: Fatura precisa de um hash
9595
order_id_invalid: ID do pedido inválido
9696
order_invalid_type: Este ${type} pedido é inválido
9797
order_already_taken: Este pedido já foi feito por outro usuário.
98+
order_already_settled: Esta ordem já foi liquidada e a fatura retida foi paga.
9899
invalid_data: Você enviou dados inválidos, tente novamente.
99100
begin_take_buy: |
100101
🤖 Pressione Continue aceitando a oferta, se você pressionar cancelar, será liberado do pedido e ela será republicada. Você tem ${expirationTime} minutos antes que esse pedido expire. 👇

Diff for: locales/ru.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ invoice_require_hash: В счете не хватает контрольной
9595
order_id_invalid: Номер заявки неверен
9696
order_invalid_type: Это заявка типа ${type}
9797
order_already_taken: Эту заявку уже исполнил другой пользователь
98+
order_already_settled: Этот заказ уже урегулирован, и счет на удержание оплачен.
9899
invalid_data: Вы отправили некорректные данные. Попробуйте заново.
99100
begin_take_buy: |
100101
🤖 Нажмите «Продолжить», чтобы принять предложение. Если вы нажмете «Отмена», заявка будет снова опубликована для всех. У вас есть ${expirationTime} минут для исполнения заявки. 👇

Diff for: locales/uk.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ invoice_require_hash: У рахунку не вистачає контрольн
9595
order_id_invalid: Номер заявки невірний
9696
order_invalid_type: Заявка ${type} невірна
9797
order_already_taken: Цю заявку вже використав інший користувач
98+
order_already_settled: Це замовлення вже врегульовано, і рахунок на утримання оплачено.
9899
invalid_data: Ви надіслали неправильні дані. Спробуйте ще раз.
99100
begin_take_buy: |
100101
🤖 Натисніть "Продовжити", щоб прийняти пропозицію. Якщо Ви натиснете "Скасувати", заявка буде знову опублікована для всіх. Ви маєте ${expirationTime} хвилин для виконання заявки. 👇

0 commit comments

Comments
 (0)