cache users table
Ted Unangst tedu@tedunangst.com
Mon, 07 Oct 2019 15:29:34 -0400
2 files changed,
16 insertions(+),
3 deletions(-)
M
database.go
→
database.go
@@ -28,14 +28,26 @@
"humungus.tedunangst.com/r/webs/login" ) -func butwhatabout(name string) (*WhatAbout, error) { +var someusers = cacheNew(cacheOptions { Filler: func(name string) (*WhatAbout, bool) { row := stmtWhatAbout.QueryRow(name) - var user WhatAbout + user := new (WhatAbout) var options string err := row.Scan(&user.ID, &user.Name, &user.Display, &user.About, &user.Key, &options) + if err != nil { + return nil, false + } user.URL = fmt.Sprintf("https://%s/%s/%s", serverName, userSep, user.Name) user.SkinnyCSS = strings.Contains(options, " skinny ") - return &user, err + return user, true +}}) + +func butwhatabout(name string) (*WhatAbout, error) { + var user *WhatAbout + ok := someusers.Get(name, &user) + if !ok { + return nil, fmt.Errorf("no user: %s", name) + } + return user, nil } func gethonkers(userid int64) []*Honker {