feat: Add IntegrationRepository and ShopProClient for managing integrations and fetching products from shopPRO API
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
CREATE TABLE IF NOT EXISTS integrations (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
type VARCHAR(32) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
base_url VARCHAR(255) NOT NULL,
|
||||
api_key_encrypted TEXT NULL,
|
||||
timeout_seconds SMALLINT UNSIGNED NOT NULL DEFAULT 10,
|
||||
is_active TINYINT(1) NOT NULL DEFAULT 1,
|
||||
last_test_status VARCHAR(16) NULL,
|
||||
last_test_http_code SMALLINT UNSIGNED NULL,
|
||||
last_test_message VARCHAR(255) NULL,
|
||||
last_test_at DATETIME NULL,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY integrations_type_name_unique (type, name),
|
||||
KEY integrations_type_active_idx (type, is_active),
|
||||
KEY integrations_last_test_at_idx (last_test_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS integration_test_logs (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
integration_id INT UNSIGNED NOT NULL,
|
||||
status VARCHAR(16) NOT NULL,
|
||||
http_code SMALLINT UNSIGNED NULL,
|
||||
message VARCHAR(255) NOT NULL,
|
||||
endpoint_url VARCHAR(255) NULL,
|
||||
tested_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
KEY integration_test_logs_integration_idx (integration_id),
|
||||
KEY integration_test_logs_tested_at_idx (tested_at),
|
||||
CONSTRAINT integration_test_logs_integration_fk
|
||||
FOREIGN KEY (integration_id) REFERENCES integrations(id)
|
||||
ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user