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 }