user.go 773 B

123456789101112131415161718192021
  1. package repository
  2. import (
  3. "github.com/porter-dev/porter/internal/models"
  4. )
  5. // WriteUser is the function type for all User write operations
  6. type WriteUser func(user *models.User) (*models.User, error)
  7. // UserRepository represents the set of queries on the User model
  8. type UserRepository interface {
  9. CreateUser(user *models.User) (*models.User, error)
  10. CheckPassword(id int, pwd string) (bool, error)
  11. ReadUser(id uint) (*models.User, error)
  12. ReadUserByEmail(email string) (*models.User, error)
  13. ReadUserByGithubUserID(id int64) (*models.User, error)
  14. ReadUserByGoogleUserID(id string) (*models.User, error)
  15. ListUsersByIDs(ids []uint) ([]*models.User, error)
  16. UpdateUser(user *models.User) (*models.User, error)
  17. DeleteUser(user *models.User) (*models.User, error)
  18. }