Changeset 421 in code for trunk/db.go
- Timestamp:
- Oct 24, 2020, 1:14:23 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/db.go
r420 r421 71 71 id INTEGER PRIMARY KEY, 72 72 name VARCHAR(255), 73 user VARCHAR(255)NOT NULL,73 user INTEGER NOT NULL, 74 74 addr VARCHAR(255) NOT NULL, 75 75 nick VARCHAR(255) NOT NULL, … … 83 83 sasl_external_cert BLOB DEFAULT NULL, 84 84 sasl_external_key BLOB DEFAULT NULL, 85 FOREIGN KEY(user) REFERENCES User(username), 86 UNIQUE(user, addr, nick) 85 FOREIGN KEY(user) REFERENCES User(id), 86 UNIQUE(user, addr, nick), 87 UNIQUE(user, name) 87 88 ); 88 89 … … 116 117 ALTER TABLE UserNew RENAME TO User; 117 118 `, 119 ` 120 CREATE TABLE NetworkNew ( 121 id INTEGER PRIMARY KEY, 122 name VARCHAR(255), 123 user INTEGER NOT NULL, 124 addr VARCHAR(255) NOT NULL, 125 nick VARCHAR(255) NOT NULL, 126 username VARCHAR(255), 127 realname VARCHAR(255), 128 pass VARCHAR(255), 129 connect_commands VARCHAR(1023), 130 sasl_mechanism VARCHAR(255), 131 sasl_plain_username VARCHAR(255), 132 sasl_plain_password VARCHAR(255), 133 sasl_external_cert BLOB DEFAULT NULL, 134 sasl_external_key BLOB DEFAULT NULL, 135 FOREIGN KEY(user) REFERENCES User(id), 136 UNIQUE(user, addr, nick), 137 UNIQUE(user, name) 138 ); 139 INSERT INTO NetworkNew 140 SELECT Network.id, name, User.id as user, addr, nick, 141 Network.username, realname, pass, connect_commands, 142 sasl_mechanism, sasl_plain_username, sasl_plain_password, 143 sasl_external_cert, sasl_external_key 144 FROM Network 145 JOIN User ON Network.user = User.username; 146 DROP TABLE Network; 147 ALTER TABLE NetworkNew RENAME TO Network; 148 `, 118 149 } 119 150 … … 264 295 } 265 296 266 func (db *DB) DeleteUser( username string) error {297 func (db *DB) DeleteUser(id int64) error { 267 298 db.lock.Lock() 268 299 defer db.lock.Unlock() … … 280 311 JOIN Network ON Channel.network = Network.id 281 312 WHERE Network.user = ? 282 )`, username)283 if err != nil { 284 return err 285 } 286 287 _, err = tx.Exec("DELETE FROM Network WHERE user = ?", username)288 if err != nil { 289 return err 290 } 291 292 _, err = tx.Exec("DELETE FROM User WHERE username = ?", username)313 )`, id) 314 if err != nil { 315 return err 316 } 317 318 _, err = tx.Exec("DELETE FROM Network WHERE user = ?", id) 319 if err != nil { 320 return err 321 } 322 323 _, err = tx.Exec("DELETE FROM User WHERE id = ?", id) 293 324 if err != nil { 294 325 return err … … 298 329 } 299 330 300 func (db *DB) ListNetworks(user name string) ([]Network, error) {331 func (db *DB) ListNetworks(userID int64) ([]Network, error) { 301 332 db.lock.RLock() 302 333 defer db.lock.RUnlock() … … 307 338 FROM Network 308 339 WHERE user = ?`, 309 user name)340 userID) 310 341 if err != nil { 311 342 return nil, err … … 343 374 } 344 375 345 func (db *DB) StoreNetwork(user name string, network *Network) error {376 func (db *DB) StoreNetwork(userID int64, network *Network) error { 346 377 db.lock.Lock() 347 378 defer db.lock.Unlock() … … 386 417 sasl_plain_password, sasl_external_cert, sasl_external_key) 387 418 VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, 388 user name, netName, network.Addr, network.Nick, netUsername, realname, pass, connectCommands,419 userID, netName, network.Addr, network.Nick, netUsername, realname, pass, connectCommands, 389 420 saslMechanism, saslPlainUsername, saslPlainPassword, network.SASL.External.CertBlob, 390 421 network.SASL.External.PrivKeyBlob)
Note:
See TracChangeset
for help on using the changeset viewer.