summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2013-09-11 08:31:22 +0200
committerAzul <azul@riseup.net>2013-09-11 08:31:22 +0200
commit21fb605e3a57455e4a46c495ffcf36502f8fd1b9 (patch)
tree7db050580336457c12c3c385bfcb989182a8345e
parent3c879a45a0f923e9dc9d7fc25cc04c3be7ffefae (diff)
write _security to fresh couch
-rw-r--r--config/default.yaml8
-rw-r--r--lib/tapicero/config.rb1
-rw-r--r--lib/tapicero/couch_database_creator.rb9
-rw-r--r--lib/tapicero_daemon.rb2
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