package mysql

import (
	"context"

	"gorm.io/gorm"

	v1 "github.com/pingcap-inc/security/model/v1"
)

type gmailLock struct {
	db *gorm.DB
}

func newGmailLock(ds *datastore) *gmailLock {
	return &gmailLock{db: ds.db}
}

func (a *gmailLock) Create(_ context.Context, record []*v1.GmailLock) error {
	return a.db.Create(record).Error
}

func (a *gmailLock) Update(_ context.Context, record *v1.GmailLock) error {
	return a.db.Save(record).Error
}

func (a *gmailLock) List(_ context.Context) ([]*v1.GmailLock, error) {
	var res []*v1.GmailLock
	d := a.db.
		Find(&res)

	return res, d.Error
}
