github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/domain/repository/user.go (about)

     1  package repository
     2  
     3  import (
     4  	"context"
     5  	"time"
     6  
     7  	"github.com/oinume/lekcije/backend/model2"
     8  )
     9  
    10  type User interface {
    11  	CreateWithExec(ctx context.Context, exec Executor, user *model2.User) error
    12  	FindAllByEmailVerifiedIsTrue(ctx context.Context, notificationInterval int) ([]*model2.User, error)
    13  	FindByAPIToken(ctx context.Context, apiToken string) (*model2.User, error)
    14  	FindByEmail(ctx context.Context, email string) (*model2.User, error)
    15  	FindByEmailWithExec(ctx context.Context, exec Executor, email string) (*model2.User, error)
    16  	FindByGoogleID(ctx context.Context, googleID string) (*model2.User, error)
    17  	FindByGoogleIDWithExec(ctx context.Context, exec Executor, googleID string) (*model2.User, error)
    18  	FindAllByEmailVerified(ctx context.Context, notificationInterval int) ([]*model2.User, error)
    19  	UpdateEmail(ctx context.Context, id uint, email string) error
    20  	UpdateFollowedTeacherAt(ctx context.Context, id uint, time time.Time) error
    21  	UpdateOpenNotificationAt(ctx context.Context, id uint, time time.Time) error
    22  }