Advertisement
Guest User

Untitled

a guest
Jan 26th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. static func register(credentials: Credentials) throws -> Auth.User {
  2. switch credentials {
  3. case let credentials as UsernamePassword:
  4. if let user = try DemoUser.query().filter("username", credentials.username).first() {
  5. return user
  6. } else {
  7. return User(username: credentials.username, password: BCrypt.hash(password: credentials.password))
  8. }
  9. case let credentials as FacebookAccount:
  10. if let user = try DemoUser.query().filter("facebook_id", credentials.uniqueID).first() {
  11. return user
  12. } else {
  13. return User(credentials: credentials)
  14. }
  15. case let credentials as GoogleAccount:
  16. if let user = try DemoUser.query().filter("google_id", credentials.uniqueID).first() {
  17. return user
  18. } else {
  19. return User(credentials: credentials)
  20. }
  21. default:
  22. let type = type(of: credentials)
  23. throw Abort.custom(status: .forbidden, message: "Unsupported credential type: \(type).")
  24. }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement