user.go 911 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package models
  2. import (
  3. "github.com/porter-dev/porter/api/types"
  4. "gorm.io/gorm"
  5. )
  6. // User type that extends gorm.Model
  7. type User struct {
  8. gorm.Model
  9. Email string `json:"email" gorm:"unique"`
  10. Password string `json:"password"`
  11. EmailVerified bool `json:"email_verified"`
  12. FirstName string `json:"first_name"`
  13. LastName string `json:"last_name"`
  14. CompanyName string `json:"company_name"`
  15. // ID of oauth integration for github connection (optional)
  16. GithubAppIntegrationID uint
  17. // The github user id used for login (optional)
  18. GithubUserID int64
  19. GoogleUserID string
  20. }
  21. // ToUserType generates an external types.User to be shared over REST
  22. func (u *User) ToUserType() *types.User {
  23. return &types.User{
  24. ID: u.ID,
  25. Email: u.Email,
  26. EmailVerified: u.EmailVerified,
  27. FirstName: u.FirstName,
  28. LastName: u.LastName,
  29. CompanyName: u.CompanyName,
  30. }
  31. }