Phase 116 complete: - add HostedSMS settings with encrypted password storage - add SimpleAPI real test SMS flow and integrations hub row - document schema, architecture, changelog, and PAUL state Co-Authored-By: Codex <noreply@openai.com>
31 lines
1.5 KiB
SQL
31 lines
1.5 KiB
SQL
CREATE TABLE IF NOT EXISTS `hostedsms_integration_settings` (
|
|
`id` TINYINT UNSIGNED NOT NULL PRIMARY KEY,
|
|
`integration_id` INT UNSIGNED NULL,
|
|
`user_email` VARCHAR(190) NULL,
|
|
`password_encrypted` TEXT NULL,
|
|
`sender` VARCHAR(32) NULL,
|
|
`convert_message_to_gsm7` TINYINT(1) NOT NULL DEFAULT 0,
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
UNIQUE KEY `hostedsms_integration_settings_integration_unique` (`integration_id`),
|
|
CONSTRAINT `hostedsms_integration_settings_integration_fk`
|
|
FOREIGN KEY (`integration_id`) REFERENCES `integrations` (`id`)
|
|
ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
INSERT INTO `integrations` (`type`, `name`, `base_url`, `timeout_seconds`, `is_active`, `created_at`, `updated_at`)
|
|
VALUES ('hostedsms', 'HostedSMS', 'https://api.hostedsms.pl/SimpleApi', 15, 1, NOW(), NOW())
|
|
ON DUPLICATE KEY UPDATE
|
|
`base_url` = VALUES(`base_url`),
|
|
`timeout_seconds` = VALUES(`timeout_seconds`),
|
|
`updated_at` = VALUES(`updated_at`);
|
|
|
|
INSERT INTO `hostedsms_integration_settings` (`id`, `integration_id`, `created_at`, `updated_at`)
|
|
SELECT 1, `id`, NOW(), NOW()
|
|
FROM `integrations`
|
|
WHERE `type` = 'hostedsms' AND `name` = 'HostedSMS'
|
|
LIMIT 1
|
|
ON DUPLICATE KEY UPDATE
|
|
`integration_id` = VALUES(`integration_id`),
|
|
`updated_at` = VALUES(`updated_at`);
|