You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package de.fd.fh.server.user;
import com.mongodb.MongoClient; import com.mongodb.WriteResult; import dev.morphia.Datastore; import dev.morphia.Key; import dev.morphia.Morphia;
public class UserRepository {
private final Datastore datastore;
public UserRepository() { System.out.println("UserRepo"); final Morphia morphia = new Morphia();
morphia.mapPackage("de.fd.fh.server.user");
this.datastore = morphia.createDatastore(new MongoClient(), "smartwarfare"); datastore.ensureIndexes(); }
UserRepository(Datastore datastore) { this.datastore = datastore; }
public Key<User> save(final User user) { return datastore.save(user); }
public User findUserById(final UserId userId) { return datastore.createQuery(User.class) .field("_id.identifier").equal(userId.getIdentifier()) .first(); }
public User findUserByName(final String name) { return datastore.createQuery(User.class) .field("name").equal(name) .first(); }
WriteResult deleteUserById(final UserId userId) { return datastore.delete(findUserById(userId)); } }
|