From 21fb605e3a57455e4a46c495ffcf36502f8fd1b9 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 11 Sep 2013 08:31:22 +0200 Subject: write _security to fresh couch --- config/default.yaml | 8 ++++++++ lib/tapicero/config.rb | 1 + lib/tapicero/couch_database_creator.rb | 9 +++++++-- 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 -- cgit v1.2.3