You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
822 B
Go
45 lines
822 B
Go
package note
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/ajikamaludin/go-fiber-rest/app/models"
|
|
gormdb "github.com/ajikamaludin/go-fiber-rest/pkg/gorm.db"
|
|
redisclient "github.com/ajikamaludin/go-fiber-rest/pkg/redis.client"
|
|
)
|
|
|
|
func GetAllNotes(notes *[]models.Note) error {
|
|
err := redisclient.Get("allnotes", ¬es)
|
|
if err != nil {
|
|
db, err := gormdb.GetInstance()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
db.Find(¬es)
|
|
|
|
redisclient.Set("allnotes", ¬es, 30*time.Second)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func GetNoteById(id string, note *models.Note) error {
|
|
key := "note+" + id
|
|
err := redisclient.Get(key, ¬e)
|
|
if err != nil {
|
|
db, err := gormdb.GetInstance()
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = db.First(¬e, id).Error
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
redisclient.Set(key, ¬e, 30*time.Second)
|
|
}
|
|
return nil
|
|
}
|