diff options
author | Azul <azul@riseup.net> | 2013-09-11 08:31:22 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2013-09-11 08:31:22 +0200 |
commit | 21fb605e3a57455e4a46c495ffcf36502f8fd1b9 (patch) | |
tree | 7db050580336457c12c3c385bfcb989182a8345e | |
parent | 3c879a45a0f923e9dc9d7fc25cc04c3be7ffefae (diff) |
write _security to fresh couch
-rw-r--r-- | config/default.yaml | 8 | ||||
-rw-r--r-- | lib/tapicero/config.rb | 1 | ||||
-rw-r--r-- | lib/tapicero/couch_database_creator.rb | 9 | ||||
-rw-r--r-- | lib/tapicero_daemon.rb | 2 |
4 files changed, 17 insertions, 3 deletions
diff --git a/config/default.yaml b/config/default.yaml index 6af8c38..3a08497 100644 --- a/config/default.yaml +++ b/config/default.yaml @@ -13,3 +13,11 @@ couch_connection: port: 5984 username: ~ password: ~ +security: + admins: + names: [] + roles: [] + readers: + names: + - soledad + roles: [] diff --git a/lib/tapicero/config.rb b/lib/tapicero/config.rb index ab00460..f760cca 100644 --- a/lib/tapicero/config.rb +++ b/lib/tapicero/config.rb @@ -7,6 +7,7 @@ module Tapicero attr_accessor :users_db_name attr_accessor :db_prefix attr_accessor :couch_connection + attr_accessor :security def self.load(base_dir, *configs) configs.each do |file_path| diff --git a/lib/tapicero/couch_database_creator.rb b/lib/tapicero/couch_database_creator.rb index a4aaa0f..5a2849b 100644 --- a/lib/tapicero/couch_database_creator.rb +++ b/lib/tapicero/couch_database_creator.rb @@ -1,14 +1,19 @@ require 'couchrest' +require 'json' module Tapicero class CouchDatabaseCreator def initialize(host) + @host = host @couch = CouchRest.new(host) end - def create(name) - @couch.database(name).create! + def create(name, security = {}) + db = @couch.create_db(name) + puts security.to_json + puts "-> #{@host}#{name}/_security" + CouchRest.put "#{@host}#{name}/_security", security end end end diff --git a/lib/tapicero_daemon.rb b/lib/tapicero_daemon.rb index bd65d7f..330bba6 100644 --- a/lib/tapicero_daemon.rb +++ b/lib/tapicero_daemon.rb @@ -15,7 +15,7 @@ module Tapicero creator = CouchDatabaseCreator.new(Config.couch_host) users.created do |hash| puts "Created user " + hash[:id] - creator.create(Config.db_prefix + hash[:id]) + creator.create(Config.db_prefix + hash[:id], Config.security) end users.listen |