Changeset 202 in code for trunk/db.go


Ignore:
Timestamp:
Apr 1, 2020, 1:40:20 PM (5 years ago)
Author:
contact
Message:

Add "network delete" service command

And add all the infrastructure required to stop and delete networks.

References: https://todo.sr.ht/~emersion/soju/17

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/db.go

    r173 r202  
    216216}
    217217
     218func (db *DB) DeleteNetwork(id int64) error {
     219        db.lock.Lock()
     220        defer db.lock.Unlock()
     221
     222        tx, err := db.db.Begin()
     223        if err != nil {
     224                return err
     225        }
     226        defer tx.Rollback()
     227
     228        _, err = tx.Exec("DELETE FROM Network WHERE id = ?", id)
     229        if err != nil {
     230                return err
     231        }
     232
     233        _, err = tx.Exec("DELETE FROM Channel WHERE network = ?", id)
     234        if err != nil {
     235                return err
     236        }
     237
     238        return tx.Commit()
     239}
     240
    218241func (db *DB) ListChannels(networkID int64) ([]Channel, error) {
    219242        db.lock.RLock()
Note: See TracChangeset for help on using the changeset viewer.