Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
804 B · 40 lines
Go
1234567891011121314151617181920212223242526272829303132333435363738394041package model
import ( "errors"
"gorm.io/gorm")
type Labeler struct { DID string `gorm:"primaryKey;column:did"` Cursor int64 `gorm:"column:cursor"`}
func (m *DBModel) GetLabeler(did string) (*Labeler, error) { var labeler Labeler err := m.DB.Where("did = ?", did).First(&labeler).Error if errors.Is(err, gorm.ErrRecordNotFound) { return nil, nil } if err != nil { return nil, err } return &labeler, nil}
func (m *DBModel) CreateLabeler(did string) (*Labeler, error) { labeler := &Labeler{ DID: did, Cursor: 0, }
if err := m.DB.Create(labeler).Error; err != nil { return nil, err } return labeler, nil}
func (m *DBModel) UpdateLabelerCursor(did string, cursor int64) error { return m.DB.Model(&Labeler{}).Where("did = ?", did).Update("cursor", cursor).Error}