fixed indexing issues

This commit is contained in:
TheLastBilly 2023-05-19 15:56:28 -04:00
parent 82ebd0eca7
commit 141ddd99c7
1 changed files with 23 additions and 16 deletions

View File

@ -22,6 +22,16 @@ var db *sql.DB = nil
var mediaPath *string = nil
var templatesPath *string = nil
const dbSquema string = `
CREATE TABLE IF NOT EXISTS comic (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
datetime DATETIME DEFAULT CURRENT_TIMESTAMP,
title CHAR(50),
image CHAR(200),
description TEXT,
tags TEXT
);`
type Comic struct {
ID int
DateTime string
@ -55,18 +65,23 @@ func (e * Err) Error() string {
return e.msg
}
var NoSuchComicErr Err = Err{msg: "no such comic Found"}
var NoSuchComicErr Err = Err{msg: "no such comic found"}
func (e * Err) With(i string) Err {
return Err{msg:fmt.Sprintf("%s with %s", e.msg, i)}
}
func (c *Comic) readRow(db * sql.Rows) error {
return db.Scan(&c.DateTime, &c.Title, &c.Image,
return db.Scan(&c.ID, &c.DateTime, &c.Title, &c.Image,
&c.Description, &c.Tags)
}
func getComic(id int) (*Comic, error) {
c := new(Comic)
nferr := NoSuchComicErr.With(fmt.Sprintf("id \"%d\"", id))
if id < 0 {
return c, &NoSuchComicErr
return c, &nferr
}
comics, err := allComics()
@ -74,24 +89,16 @@ func getComic(id int) (*Comic, error) {
return c, err
}
if len(comics) <= id || id < 0 {
return c, &NoSuchComicErr
log.Println(comics)
if len(comics) <= id {
return c, &nferr
}
*c = comics[id]
return c, err
}
const dbSquema string = `
CREATE TABLE IF NOT EXISTS comic (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
datetime DATETIME DEFAULT CURRENT_TIMESTAMP,
title CHAR(50),
image CHAR(200),
description TEXT,
tags TEXT
);`
func readRows(rows *sql.Rows) ([]Comic, error) {
comics := []Comic{}
for rows.Next() {
@ -189,7 +196,7 @@ func comicView(w http.ResponseWriter, r * http.Request) {
}
context.Next = i
if i < (len(comics) - 1) {
if i < (len(comics)) {
context.Next = i + 1
}