feat(guilddb,sqlite): channels storage
This commit is contained in:
@@ -32,4 +32,5 @@ type GuildDB interface {
|
|||||||
|
|
||||||
var ErrNoAffect = errors.New("Not able to affect anything in the database")
|
var ErrNoAffect = errors.New("Not able to affect anything in the database")
|
||||||
var ErrNoMessages = errors.New("Messages not found in database")
|
var ErrNoMessages = errors.New("Messages not found in database")
|
||||||
|
var ErrNoChannels = errors.New("Channels not found in database")
|
||||||
var ErrInternal = errors.New("Internal error while trying to use database")
|
var ErrInternal = errors.New("Internal error while trying to use database")
|
||||||
|
|||||||
@@ -146,3 +146,26 @@ func (db *SQLiteDB) selectMessages(query string, args ...any) ([]Message, error)
|
|||||||
}
|
}
|
||||||
return ms, err
|
return ms, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (db *SQLiteDB) Channel(channelID string) (Channel, error) {
|
||||||
|
return db.selectChannel(`
|
||||||
|
SELECT (ID, Language) FROM guild-v1.channels
|
||||||
|
WHERE "ID" = $1
|
||||||
|
`, channelID)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (db *SQLiteDB) ChannelInsert(c Channel) error {
|
||||||
|
r, err := db.sql.Exec(`
|
||||||
|
INSERT INTO guild-v1.channels (ID, Language)
|
||||||
|
VALUES ($1, $2)
|
||||||
|
`, c.ID, c.Language)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return errors.Join(ErrInternal, err)
|
||||||
|
} else if rows, _ := r.RowsAffected(); rows == 0 {
|
||||||
|
return ErrNoAffect
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user