update switch providers and nama provider. fix original send

This commit is contained in:
2026-05-27 21:55:02 +03:30
parent 4836ee4d01
commit 816c5ebb50
31 changed files with 1381 additions and 1287 deletions
@@ -0,0 +1,26 @@
-- 1. Add the new columns
ALTER TABLE `sale_invoice_tsp_attempts`
ADD COLUMN `error_message` TEXT NULL,
ADD COLUMN `fiscal_warnings` JSON NULL,
ADD COLUMN `provider_response` JSON NULL,
ADD COLUMN `validation_errors` JSON NULL;
-- 2. Copy data from the old column to the new JSON column
-- Note: We use a check to ensure we don't try to move invalid data
UPDATE `sale_invoice_tsp_attempts`
SET `provider_response` = CAST(`provider_response_payload` AS JSON)
WHERE `provider_response_payload` IS NOT NULL AND JSON_VALID(`provider_response_payload`);
-- 3. SANITIZE 'provider_request_payload' before converting to JSON
-- This replaces empty strings or invalid JSON with a default empty object '{}'
UPDATE `sale_invoice_tsp_attempts`
SET `provider_request_payload` = '{}'
WHERE `provider_request_payload` IS NULL
OR `provider_request_payload` = ''
OR JSON_VALID(`provider_request_payload`) = 0;
-- 4. Perform the final modifications and drop the old column
ALTER TABLE `sale_invoice_tsp_attempts`
DROP COLUMN `provider_response_payload`,
MODIFY `status` ENUM('NOT_SEND', 'QUEUED', 'FISCAL_QUEUED', 'SEND_FAILURE', 'SUCCESS', 'FAILURE') NOT NULL,
MODIFY `provider_request_payload` JSON NOT NULL;
+4 -2
View File
@@ -169,10 +169,12 @@ enum TspProviderType {
}
enum TspProviderResponseStatus {
SUCCESS
FAILURE
NOT_SEND
QUEUED
FISCAL_QUEUED
SEND_FAILURE
SUCCESS
FAILURE
}
enum TspProviderRequestType {
+7 -4
View File
@@ -73,10 +73,13 @@ model SaleInvoiceTspAttempts {
attempt_no Int
status TspProviderResponseStatus
raw_request_payload Json
provider_request_payload Json?
provider_response_payload Json?
message String @db.Text
raw_request_payload Json
provider_request_payload Json
provider_response Json?
message String @db.Text
error_message String? @db.Text
validation_errors Json?
fiscal_warnings Json?
sent_at DateTime? @db.Timestamp(0)
received_at DateTime? @db.Timestamp(0)