feat(irc): support optional SASL and NickServ auth (#511)

* feat(irc): support SASL and NickServ auth

* feat(irc): add missing fields

* feat(irc): support SASL and NickServ auth

* feat(irc): add missing fields

* feat(irc): add validation

* feat(indexers): unify and set required values

* feat(irc): add postgres migrations

* feat(irc): use nick as handlerkey

* feat(irc): use account for nickserv

* fix(irc): pg db migration
This commit is contained in:
ze0s 2022-10-27 22:25:58 +02:00 committed by GitHub
parent 4ef0408f33
commit 4bf023d030
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
65 changed files with 1404 additions and 631 deletions

View file

@ -36,14 +36,16 @@ CREATE TABLE irc_network
port INTEGER NOT NULL,
tls BOOLEAN,
pass TEXT,
nick TEXT,
auth_mechanism TEXT,
auth_account TEXT,
auth_password TEXT,
invite_command TEXT,
nickserv_account TEXT,
nickserv_password TEXT,
connected BOOLEAN,
connected_since TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE (server, port, nickserv_account)
UNIQUE (server, port, nick)
);
CREATE TABLE irc_channel
@ -589,4 +591,28 @@ CREATE INDEX indexer_identifier_index
ALTER TABLE filter
ADD COLUMN use_regex_release_tags BOOLEAN DEFAULT FALSE;
`,
`ALTER TABLE irc_network
RENAME COLUMN nickserv_account TO auth_account;
ALTER TABLE irc_network
RENAME COLUMN nickserv_password TO auth_password;
ALTER TABLE irc_network
ADD nick TEXT;
ALTER TABLE irc_network
ADD auth_mechanism TEXT DEFAULT 'SASL_PLAIN';
ALTER TABLE irc_network
DROP CONSTRAINT irc_network_server_port_nickserv_account_key;
ALTER TABLE irc_network
ADD CONSTRAINT irc_network_server_port_nick_key
UNIQUE (server, port, nick);
UPDATE irc_network
SET nick = irc_network.auth_account;
UPDATE irc_network
SET auth_mechanism = 'SASL_PLAIN';`,
}