Com a próxima v0.6, o Eve oferecerá suporte nativo a várias instâncias do Mongo.
Você pode ter endpoints de API individuais servidos por diferentes instâncias do Mongo:
E/ou você pode usar uma instância diferente do Mongo dependendo do usuário que acessa o banco de dados:
Uma implementação (muito) ingênua de instâncias de usuário, extraída dos documentos :
from eve.auth import BasicAuth
class MyBasicAuth(BasicAuth):
def check_auth(self, username, password, allowed_roles, resource, method):
if username == 'user1':
self.set_mongo_prefix('MONGO1')
elif username == 'user2':
self.set_mongo_prefix('MONGO2')
else:
# serve all other users from the default db.
self.set_mongo_prefix(None)
return username is not None and password == 'secret'
app = Eve(auth=MyBasicAuth)
app.run()
Também:
Espero que isso irá cobrir suas necessidades. Está atualmente em
development
branch para que você já possa experimentar/brincar com ele.