Guest User

Untitled

a guest
Feb 20th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. class VhostUser
  2. include DataMapper::Resource
  3.  
  4. property :id, Serial
  5. property :username, String, :nullable => false, :length => 8, :key => true
  6. property :password, String, :nullable => false, :length => 32
  7. property :quota, Integer, :nullable => false, :default => 0
  8. property :ssl, Boolean, :default => false
  9. property :mysql, Boolean, :default => false
  10. property :pgsql, Boolean, :default => false
  11. property :statistics, Boolean, :default => false
  12. property :suspended, Boolean, :default => true
  13.  
  14. has n, :domains
  15.  
  16. has n, :mysql_databases
  17. has n, :pgsql_databases
  18.  
  19. validates_is_unique :username
  20.  
  21.  
  22. before :update, :create_default_db
  23. before :save, :create_default_db
  24.  
  25. def create_default_db
  26. if self.suspended == false
  27. if self.mysql == true and self.mysql_databases.count == 0
  28. @mysql_database = self.mysql_databases.build(:name => self.username)
  29. @mysql_database.save
  30.  
  31. @mysql_database_user = @mysql_database.mysql_database_users.build(:username => self.username, :password => self.password)
  32. @mysql_database_user.save
  33. end
  34.  
  35. if self.pgsql == true and self.pgsql_databases.count == 0
  36. @pgsql_database = self.pgsql_databases.build(:name => self.username)
  37. @pgsql_database.save
  38.  
  39. @pgsql_database_user = @pgsql_database.pgsql_database_users.build(:username => self.username, :password => self.password)
  40. @pgsql_database_user.save
  41. end
  42. end
  43. end
  44.  
  45. end
Add Comment
Please, Sign In to add comment