package org.rakam.aws.dynamodb.user; import com.google.auto.service.AutoService; import com.google.inject.Binder; import com.google.inject.Scopes; import com.google.inject.name.Names; import org.rakam.analysis.JDBCPoolDataSource; import org.rakam.aws.dynamodb.user.DynamodbUserStorage; import org.rakam.plugin.RakamModule; import org.rakam.plugin.user.UserStorage; import org.rakam.util.ConditionalModule; import static io.airlift.configuration.ConfigBinder.configBinder; import static io.airlift.configuration.ConfigurationModule.bindConfig; @AutoService(RakamModule.class) @ConditionalModule(config="plugin.user.storage", value="dynamodb") public class DynamodbUserStorageModule extends RakamModule { @Override protected void setup(Binder binder) { configBinder(binder).bindConfig(DynamodbUserConfig.class); binder.bind(UserStorage.class).to(DynamodbUserStorage.class) .in(Scopes.SINGLETON); } @Override public String name() { return "Dynamodb backend for user storage"; } @Override public String description() { return "Dynamodb user storage backend for basic CRUD and search operations."; } }