package store

import (
	"context"

	"github.com/pingcap-inc/it-automation/internal/sync-google-email/model"
)

type UserStore interface {
	GetUser(s string) (*model.LarkUser, error)
	SaveUsers(users []*model.LarkUser) error
	SaveUser(user *model.LarkUser) error
	Create(ctx context.Context, user *model.LarkUser) error
	GetUsersByLarkIds(ctx context.Context, luids []string) ([]model.LarkUser, error)
	SyncUser(_ context.Context, userCreate []model.LarkUser, userUpdate []model.LarkUser) error
	BatchDeleteNotIn(ctx context.Context, larkIds []string) error
	GetAllUsers(_ context.Context) ([]model.LarkUser, error)
	Save(ctx context.Context, user model.LarkUser) error
	ListUsers(ctx context.Context) ([]*model.LarkUser, error)
	BatchSave(ctx context.Context, users []*model.LarkUser) error
}
