CREATE TABLE IF NOT EXISTS Chatrex_Scope (ScopeKey CHAR(64) NOT NULL PRIMARY KEY, PairHash CHAR(64) NOT NULL DEFAULT '', KeyId VARCHAR(36) NOT NULL DEFAULT '', State MEDIUMTEXT NOT NULL, INDEX (PairHash), INDEX (KeyId)) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS Chatrex_Nonce (KeyId VARCHAR(36) NOT NULL, Nonce CHAR(32) NOT NULL, ExpiresAt BIGINT NOT NULL, PRIMARY KEY (KeyId,Nonce), INDEX (ExpiresAt)) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS Chatrex_Outbox (ID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ScopeKey CHAR(64) NOT NULL, Entity VARCHAR(191) NOT NULL, CreatedAt BIGINT NOT NULL, NextAttemptAt BIGINT NOT NULL, Attempts INT NOT NULL DEFAULT 0, INDEX (ScopeKey,NextAttemptAt)) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS Chatrex_OrderRequest (ScopeKey CHAR(64) NOT NULL, RequestKey CHAR(64) NOT NULL, State MEDIUMTEXT NOT NULL, CreatedAt BIGINT NOT NULL, PRIMARY KEY (ScopeKey,RequestKey), INDEX (CreatedAt)) ENGINE=InnoDB;
UPDATE Module SET PerSitePermissions=1, Installed=1, Inside_Admin=1 WHERE Keyword='chatrex';
UPDATE Module SET Parameters=CONCAT(COALESCE(Parameters,''),CHAR(10),'ADMIN_SETTINGS_LOCATION=module.chatrex') WHERE Keyword='chatrex' AND HEX(SUBSTR(CONCAT(CHAR(10),COALESCE(Parameters,'')),-LENGTH(CONCAT(CHAR(10),'ADMIN_SETTINGS_LOCATION=module.chatrex'))))<>HEX(CONCAT(CHAR(10),'ADMIN_SETTINGS_LOCATION=module.chatrex'));
