DROP TABLE IF EXISTS users;
DROP INDEX IF EXISTS idx_unique_users;

CREATE TABLE IF NOT EXISTS accountsAmo (
    ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY,
    AccountID VARCHAR(30) NOT NULL DEFAULT '', -- ID аккаунта у нас
    AmoID INT NOT NULL,                        -- ID "компании" в амо
    Name VARCHAR(512) NOT NULL DEFAULT '',
    Deleted BOOLEAN NOT NULL DEFAULT FALSE,
    CreatedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    Subdomain VARCHAR(50) NOT NULL DEFAULT '', -- поддомен - пример https://penadigitaltech.amocrm.ru
    Country VARCHAR(50) NOT NULL DEFAULT '',
    DriveURL VARCHAR(255) NOT NULL DEFAULT ''           -- URL объктного хранилища
);

CREATE UNIQUE INDEX idx_unique_accountsAmo ON accountsAmo (amoID) WHERE Deleted = false;

CREATE TABLE IF NOT EXISTS usersAmo (
    ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY,
    AmoID INT NOT NULL,                        -- ID компании в амо (внешний ключ)
    AmoUserID INT NOT NULL,                    -- ID пользователя в амо
    Name VARCHAR(512) NOT NULL DEFAULT '',
    Email VARCHAR(50) NOT NULL DEFAULT '',
    Role INT NOT NULL DEFAULT 0,
    "Group" INT NOT NULL DEFAULT 0,
    Deleted BOOLEAN NOT NULL DEFAULT FALSE,
    CreatedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);