Changeset 207 in code for trunk/downstream.go


Ignore:
Timestamp:
Apr 1, 2020, 3:34:22 PM (5 years ago)
Author:
contact
Message:

Fix SQL error logged on JOIN

Closes: https://todo.sr.ht/~emersion/soju/40

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/downstream.go

    r205 r207  
    897897                        })
    898898
    899                         err = dc.srv.db.StoreChannel(uc.network.ID, &Channel{
    900                                 Name: upstreamName,
    901                                 Key:  key,
    902                         })
    903                         if err != nil {
    904                                 dc.logger.Printf("failed to create channel %q in DB: %v", upstreamName, err)
     899                        ch, err := dc.srv.db.GetChannel(uc.network.ID, upstreamName)
     900                        if err == ErrNoSuchChannel {
     901                                ch = &Channel{Name: upstreamName}
     902                        } else if err != nil {
     903                                return err
     904                        }
     905
     906                        ch.Key = key
     907
     908                        if err := dc.srv.db.StoreChannel(uc.network.ID, ch); err != nil {
     909                                return err
    905910                        }
    906911                }
Note: See TracChangeset for help on using the changeset viewer.