A locally focused bluesky appview
1package main
2
3import (
4 "gorm.io/gorm"
5 "gorm.io/gorm/clause"
6
7 . "github.com/whyrusleeping/konbini/models"
8)
9
10func storeLastSeq(db *gorm.DB, key string, seq int64) error {
11 return db.Clauses(clause.OnConflict{
12 Columns: []clause.Column{{Name: "key"}},
13 DoUpdates: clause.AssignmentColumns([]string{"int_val"}),
14 }).Create(&SequenceTracker{
15 Key: key,
16 IntVal: seq,
17 }).Error
18}
19
20func loadLastSeq(db *gorm.DB, key string) (int64, error) {
21 var info SequenceTracker
22 if err := db.Where("key = ?", key).First(&info).Error; err != nil {
23 if err == gorm.ErrRecordNotFound {
24 return 0, nil
25 }
26 return 0, err
27 }
28 return info.IntVal, nil
29}