Implement WHMCS Addon Dashboard with API for stats and integrate billing provider logic
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 10s
CI / Go — node-agent tests (push) Failing after 8s
CI / Go — edge-gateway build (push) Successful in 17s

This commit is contained in:
smueller
2026-06-26 15:11:29 +02:00
parent 15cf302afc
commit 4b20efe4bc
30 changed files with 1414 additions and 16 deletions

View File

@@ -0,0 +1,49 @@
CREATE TABLE IF NOT EXISTS `mod_hexagamecloud_installations` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`last_error` text NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `mod_hexagamecloud_sync_cursors` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`events_cursor` varchar(64) NULL,
`last_poll_at` datetime NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `mod_hexagamecloud_events` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`remote_event_id` varchar(64) NOT NULL,
`event_type` varchar(64) NOT NULL,
`payload` mediumtext NOT NULL,
`status` varchar(32) NOT NULL DEFAULT 'pending',
`processed_at` datetime NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `remote_event_id` (`remote_event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `mod_hexagamecloud_operations` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`operation` varchar(64) NOT NULL,
`status` varchar(32) NOT NULL,
`metadata` mediumtext NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `mod_hexagamecloud_reconciliation` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`run_id` varchar(64) NOT NULL,
`mode` varchar(32) NOT NULL,
`issue_count` int unsigned NOT NULL DEFAULT 0,
`payload` mediumtext NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT IGNORE INTO `mod_hexagamecloud_installations` (`id`, `updated_at`) VALUES (1, UTC_TIMESTAMP());
INSERT IGNORE INTO `mod_hexagamecloud_sync_cursors` (`id`, `updated_at`) VALUES (1, UTC_TIMESTAMP());