Commit 96f4808c authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

first try to use morphia - general refactor

parent 97ce89d6
...@@ -17,37 +17,37 @@ testsTemporary: ...@@ -17,37 +17,37 @@ testsTemporary:
teams: teams:
- name: "misiaczki" - name: "misiaczki"
description: "misiaczki opis" description: "misiaczki opis"
members: # members:
- name: "gpietrus1" # - name: "gpietrus1"
password: "41b450e73c974fca46911eba84e114f2" #gpietrus md5 # password: "41b450e73c974fca46911eba84e114f2" #gpietrus md5
email: "gpietrusza@gmail.com" # email: "gpietrusza@gmail.com"
- name: "mehow1" # - name: "mehow1"
password: "c4d24515428cb3ad50e7840be8718f23" #mehos123 md5 # password: "c4d24515428cb3ad50e7840be8718f23" #mehos123 md5
email: "mehow@gmail.com" # email: "mehow@gmail.com"
- name: "rosiu1" # - name: "rosiu1"
password: "188ed9df2dac8e10f5c5fd2e02383765" #rosiu321 md5 # password: "188ed9df2dac8e10f5c5fd2e02383765" #rosiu321 md5
email: "rosiu@gmail.com" # email: "rosiu@gmail.com"
- name: "prosiaczki" - name: "prosiaczki"
description: "prosiaczki opis" description: "prosiaczki opis"
members: # members:
- name: "gpietrus2" # - name: "gpietrus2"
password: "41b450e73c974fca46911eba84e114f2" #gpietrus md5 # password: "41b450e73c974fca46911eba84e114f2" #gpietrus md5
email: "gpietrusza@gmail.com" # email: "gpietrusza@gmail.com"
- name: "mehow2" # - name: "mehow2"
password: "c4d24515428cb3ad50e7840be8718f23" #mehos123 md5 # password: "c4d24515428cb3ad50e7840be8718f23" #mehos123 md5
email: "mehow@gmail.com" # email: "mehow@gmail.com"
- name: "rosiu2" # - name: "rosiu2"
password: "188ed9df2dac8e10f5c5fd2e02383765" #rosiu321 md5 # password: "188ed9df2dac8e10f5c5fd2e02383765" #rosiu321 md5
email: "rosiu@gmail.com" # email: "rosiu@gmail.com"
- name: "dupeczki" - name: "dupeczki"
description: "dupeczki opis" description: "dupeczki opis"
members: # members:
- name: "gpietrus3" # - name: "gpietrus3"
password: "41b450e73c974fca46911eba84e114f2" #gpietrus md5 # password: "41b450e73c974fca46911eba84e114f2" #gpietrus md5
email: "gpietrusza@gmail.com" # email: "gpietrusza@gmail.com"
- name: "mehow3" # - name: "mehow3"
password: "c4d24515428cb3ad50e7840be8718f23" #mehos123 md5 # password: "c4d24515428cb3ad50e7840be8718f23" #mehos123 md5
email: "mehow@gmail.com" # email: "mehow@gmail.com"
- name: "rosiu3" # - name: "rosiu3"
password: "188ed9df2dac8e10f5c5fd2e02383765" #rosiu321 md5 # password: "188ed9df2dac8e10f5c5fd2e02383765" #rosiu321 md5
email: "rosiu@gmail.com" # email: "rosiu@gmail.com"
...@@ -7,9 +7,9 @@ import com.google.common.base.Optional; ...@@ -7,9 +7,9 @@ import com.google.common.base.Optional;
import com.google.inject.AbstractModule; import com.google.inject.AbstractModule;
import com.google.inject.Guice; import com.google.inject.Guice;
import com.google.inject.Injector; import com.google.inject.Injector;
import com.mongodb.MongoClient;
import core.ApplicationConfiguration; import core.ApplicationConfiguration;
import core.TaskType; import core.TaskType;
import database.MongoDBConnector;
import io.dropwizard.Application; import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle; import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.auth.*; import io.dropwizard.auth.*;
...@@ -19,13 +19,18 @@ import io.dropwizard.setup.Bootstrap; ...@@ -19,13 +19,18 @@ import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment; import io.dropwizard.setup.Environment;
import objects.Flag; import objects.Flag;
import objects.Task; import objects.Task;
import objects.Team;
import objects.User; import objects.User;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature; import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.Morphia;
import repositories.SolutionsRepository; import repositories.SolutionsRepository;
import repositories.TasksRepository; import repositories.TasksRepository;
import repositories.TeamsRepository; import repositories.TeamsRepository;
import repositories.UsersRepository; import repositories.UsersRepository;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -34,6 +39,8 @@ import java.util.stream.Stream; ...@@ -34,6 +39,8 @@ import java.util.stream.Stream;
*/ */
public class CTFApplication extends Application<ApplicationConfiguration> { public class CTFApplication extends Application<ApplicationConfiguration> {
private Morphia morphia;
private Datastore datastore;
private UsersRepository usersRepository; //todo: refactor to injects private UsersRepository usersRepository; //todo: refactor to injects
private TasksRepository tasksRepository; //todo: refactor to injects private TasksRepository tasksRepository; //todo: refactor to injects
...@@ -46,17 +53,34 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -46,17 +53,34 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
.forEach(bootstrap::addBundle); .forEach(bootstrap::addBundle);
} }
private void initializeMorhpia() {
morphia = new Morphia();
morphia.mapPackage("objects.Team");
datastore = morphia.createDatastore(new MongoClient(), "db"); //todo: db name from conf
datastore.ensureIndexes();
}
@Override @Override
public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception { public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception {
MongoDBConnector dbConnector = new MongoDBConnector(applicationConfiguration);
dbConnector.connect(); initializeMorhpia();
Injector injector = createInjector(applicationConfiguration, dbConnector); Injector injector = createInjector(applicationConfiguration, datastore);
//REGISTER TEAMS //REGISTER TEAMS
TeamsRepository teamsRepository = new TeamsRepository(dbConnector); TeamsRepository teamsRepository = new TeamsRepository(datastore);
teamsRepository.clean(); teamsRepository.clean();
applicationConfiguration.getTeams().forEach(teamsRepository::add);
User user = new User("gumis1", "gumis", "gumis@gumis.pl");
datastore.save(user);
ArrayList<User> objects = new ArrayList<>();
objects.add(user);
Team gumisie = new Team("gumisie", "gumisie desc", objects);
datastore.save(gumisie);
// applicationConfiguration.getTeams().forEach(teamsRepository::add);
//todo: users should be saved first
List<Team> all = teamsRepository.getAll();
//GENERATE TASKS //GENERATE TASKS
tasksRepository.clean(); tasksRepository.clean();
...@@ -89,6 +113,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -89,6 +113,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
environment.jersey().register(RolesAllowedDynamicFeature.class); environment.jersey().register(RolesAllowedDynamicFeature.class);
//If you want to use @Auth to inject a custom Principal type into your resource //If you want to use @Auth to inject a custom Principal type into your resource
environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class)); environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class));
} }
//todo: move to seperate class //todo: move to seperate class
...@@ -119,17 +144,17 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -119,17 +144,17 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
} }
//todo: inject dbonnector //todo: inject dbonnector
private Injector createInjector(ApplicationConfiguration applicationConfiguration, MongoDBConnector dbConnector) { private Injector createInjector(ApplicationConfiguration applicationConfiguration, Datastore datastore) {
return Guice.createInjector(new AbstractModule() { return Guice.createInjector(new AbstractModule() {
@Override @Override
protected void configure() { protected void configure() {
bind(ApplicationConfiguration.class).toInstance(applicationConfiguration); bind(ApplicationConfiguration.class).toInstance(applicationConfiguration);
bind(MongoDBConnector.class).toInstance(dbConnector);
TeamsRepository teamsRepository = new TeamsRepository(dbConnector); //todo: refactor?
usersRepository = new UsersRepository(dbConnector, teamsRepository); TeamsRepository teamsRepository = new TeamsRepository(datastore);
SolutionsRepository solutionsRepository = new SolutionsRepository(dbConnector); usersRepository = new UsersRepository(datastore, teamsRepository);
tasksRepository = new TasksRepository(applicationConfiguration, dbConnector, teamsRepository, solutionsRepository); SolutionsRepository solutionsRepository = new SolutionsRepository(datastore);
tasksRepository = new TasksRepository(applicationConfiguration, datastore, teamsRepository, solutionsRepository);
bind(TeamsRepository.class).toInstance(teamsRepository); bind(TeamsRepository.class).toInstance(teamsRepository);
bind(TasksRepository.class).toInstance(tasksRepository); bind(TasksRepository.class).toInstance(tasksRepository);
......
package database;
/**
* Created by gpietrus on 20.02.2016.
*/
public interface DBConnector {
public void connect();
public void disconnect();
public void databaseCleanup();
}
package database;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import core.ApplicationConfiguration;
import org.bson.BsonDocument;
import org.bson.Document;
import java.util.ArrayList;
import java.util.Map;
/**
* Created by gpietrus on 20.02.2016.
*/
public class MongoDBConnector implements DBConnector {
private ApplicationConfiguration applicationConfiguration;
private MongoClient mongoClient;
private MongoDatabase database;
public MongoDBConnector(ApplicationConfiguration applicationConfiguration) {
this.applicationConfiguration = applicationConfiguration;
}
@Override
public void connect() {
//todo: get from configuration file
mongoClient = new MongoClient(
applicationConfiguration.getDbHost(),
applicationConfiguration.getDbPort());
this.database = mongoClient.getDatabase(
applicationConfiguration.getDbName()
);
}
@Override
public void disconnect() {
}
@Override
public void databaseCleanup() {
}
public ArrayList<Document> getCollection(String collectionName) {
return database.getCollection(collectionName).find().into(new ArrayList<>());
}
public void getDocument(String collectionName, Map criteria) {
BsonDocument bsonDocument = new BsonDocument();
bsonDocument.putAll(criteria);
database.getCollection(collectionName).find(bsonDocument);
}
public void addDocument(String collectionName, Document document) {
database.getCollection(collectionName).insertOne(document);
}
public void removeCollection(String collectionName) {
database.getCollection(collectionName).drop();
}
}
...@@ -2,40 +2,25 @@ package objects; ...@@ -2,40 +2,25 @@ package objects;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.ImmutableMap; import org.bson.types.ObjectId;
import org.bson.Document; import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
import org.mongodb.morphia.annotations.Reference;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* Created by gpietrus on 20.02.2016. * Created by gpietrus on 20.02.2016.
*/ */
@Entity("teams")
public class Team { public class Team {
@Id
private ObjectId id;
private String name; private String name;
private String description; private String description;
private List<User> members;
public static Team fromDocument(Document document) {
return new Team(document.get("name").toString(),
document.get("description").toString(),
((ArrayList<Document>) document.get("members")) //todo
.stream()
.map(User::fromDocument)
.collect(Collectors.toList())
);
//todo: refactor mapping
}
public List<User> getMembers() {
return members;
}
public void setMembers(List members) { @Reference
this.members = members; private List<User> members;
}
@JsonCreator @JsonCreator
public Team(@JsonProperty("name") String name, public Team(@JsonProperty("name") String name,
...@@ -46,6 +31,17 @@ public class Team { ...@@ -46,6 +31,17 @@ public class Team {
this.members = members; this.members = members;
} }
public Team() {
}
public ObjectId getId() {
return id;
}
public void setId(ObjectId id) {
this.id = id;
}
public String getName() { public String getName() {
return name; return name;
} }
...@@ -62,19 +58,4 @@ public class Team { ...@@ -62,19 +58,4 @@ public class Team {
this.description = description; this.description = description;
} }
//todo: refactor mapping
public Map<String, Object> toMap() {
//todo: refacotr mapping
List<Object> membersList = members.stream()
.map(User::toMap)
.collect(Collectors.toList());
return ImmutableMap.<String, Object>builder()
.put("name", name)
.put("description", description)
.put("members", membersList)
.build();
}
} }
...@@ -2,26 +2,23 @@ package objects; ...@@ -2,26 +2,23 @@ package objects;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.ImmutableMap; import org.bson.types.ObjectId;
import org.bson.Document; import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
import java.security.Principal; import java.security.Principal;
import java.util.Map;
/** /**
* Created by gpietrus on 16.02.16. * Created by gpietrus on 16.02.16.
*/ */
@Entity("users")
public class User implements Principal { public class User implements Principal {
@Id
private ObjectId id;
private String name; private String name;
private String password; private String password;
private String email; private String email;
public static User fromDocument(Document document) {
return new User(document.get("name").toString(),
document.get("password").toString(),
document.get("password").toString()
);
}
@JsonCreator @JsonCreator
public User(@JsonProperty("name") String name, public User(@JsonProperty("name") String name,
...@@ -32,6 +29,18 @@ public class User implements Principal { ...@@ -32,6 +29,18 @@ public class User implements Principal {
this.email = email; this.email = email;
} }
public User() {
}
public ObjectId getId() {
return id;
}
public void setId(ObjectId id) {
this.id = id;
}
@Override
public String getName() { public String getName() {
return name; return name;
} }
...@@ -55,14 +64,4 @@ public class User implements Principal { ...@@ -55,14 +64,4 @@ public class User implements Principal {
public void setEmail(String email) { public void setEmail(String email) {
this.email = email; this.email = email;
} }
//todo: refactor mapping
public Map<String, Object> toMap() {
return ImmutableMap.<String, Object>builder()
.put("name", name)
.put("password", password)
.build();
}
//todo: contructor fromMap
} }
package repositories; package repositories;
import database.MongoDBConnector;
import objects.Solution; import objects.Solution;
import org.bson.Document; import org.mongodb.morphia.Datastore;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.List; import java.util.List;
...@@ -14,11 +13,11 @@ import java.util.stream.Collectors; ...@@ -14,11 +13,11 @@ import java.util.stream.Collectors;
* Created by gpietrus on 20.02.2016. * Created by gpietrus on 20.02.2016.
*/ */
public class SolutionsRepository implements Repository { public class SolutionsRepository implements Repository {
private MongoDBConnector mongoDBConnector; private Datastore datastore;
@Inject @Inject
public SolutionsRepository(MongoDBConnector mongoDBConnector) { public SolutionsRepository(Datastore datastore) {
this.mongoDBConnector = mongoDBConnector; this.datastore = datastore;
} }
// public void get(UUID uuid) { // public void get(UUID uuid) {
...@@ -26,10 +25,11 @@ public class SolutionsRepository implements Repository { ...@@ -26,10 +25,11 @@ public class SolutionsRepository implements Repository {
// } // }
public List<Solution> getAll() { public List<Solution> getAll() {
return mongoDBConnector.getCollection("solutions") return null; //todo
/* return mongoDBConnector.getCollection("solutions")
.stream() .stream()
.map(Solution::new) .map(Solution::new)
.collect(Collectors.toList()); .collect(Collectors.toList());*/ //todo: revert
} }
public void add(Solution solution) { //todo public void add(Solution solution) { //todo
...@@ -39,11 +39,11 @@ public class SolutionsRepository implements Repository { ...@@ -39,11 +39,11 @@ public class SolutionsRepository implements Repository {
(Function<Map.Entry<String, String>, String>) Map.Entry::getKey, (Function<Map.Entry<String, String>, String>) Map.Entry::getKey,
(Function<Map.Entry<String, String>, Object>) Map.Entry::getValue (Function<Map.Entry<String, String>, Object>) Map.Entry::getValue
)); ));
mongoDBConnector.addDocument("solutions", new Document(retypedMap)); // mongoDBConnector.addDocument("solutions", new Document(retypedMap)); //todo: revert
} }
public void clean() { public void clean() {
mongoDBConnector.removeCollection("solutions"); // mongoDBConnector.removeCollection("solutions"); //todo: revert
} }
} }
......
package repositories; package repositories;
import core.ApplicationConfiguration; import core.ApplicationConfiguration;
import database.MongoDBConnector;
import objects.Solution;
import objects.Task; import objects.Task;
import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.binary.Hex;
import org.bson.Document; import org.mongodb.morphia.Datastore;
import javax.inject.Inject; import javax.inject.Inject;
import java.security.MessageDigest; import java.security.MessageDigest;
...@@ -22,16 +20,16 @@ import java.util.stream.Collectors; ...@@ -22,16 +20,16 @@ import java.util.stream.Collectors;
public class TasksRepository implements Repository { public class TasksRepository implements Repository {
private ApplicationConfiguration applicationConfiguration; private ApplicationConfiguration applicationConfiguration;
private MongoDBConnector mongoDBConnector; private Datastore datastore;
private TeamsRepository teamsRepository; private TeamsRepository teamsRepository;
private SolutionsRepository solutionsRepository; private SolutionsRepository solutionsRepository;
private String salt = "SECURE_SALT"; //todo private String salt = "SECURE_SALT"; //todo
@Inject @Inject
public TasksRepository(ApplicationConfiguration applicationConfiguration, MongoDBConnector mongoDBConnector, public TasksRepository(ApplicationConfiguration applicationConfiguration, Datastore datastore,
TeamsRepository teamsRepository, SolutionsRepository solutionsRepository) { TeamsRepository teamsRepository, SolutionsRepository solutionsRepository) {
this.applicationConfiguration = applicationConfiguration; this.applicationConfiguration = applicationConfiguration;
this.mongoDBConnector = mongoDBConnector; this.datastore = datastore;
this.teamsRepository = teamsRepository; this.teamsRepository = teamsRepository;
this.solutionsRepository = solutionsRepository; this.solutionsRepository = solutionsRepository;
} }
...@@ -41,18 +39,19 @@ public class TasksRepository implements Repository { ...@@ -41,18 +39,19 @@ public class TasksRepository implements Repository {
} }
public List<Task> getAll() { public List<Task> getAll() {
return mongoDBConnector.getCollection("tasks") return null; //todo
.stream() // return mongoDBConnector.getCollection("tasks")
.map(Task::new) // .stream()
.collect(Collectors.toList()); // .map(Task::new)
// .collect(Collectors.toList());
} }
public void add(Task task) { public void add(Task task) {
mongoDBConnector.addDocument("tasks", new Document(task.toMap())); // mongoDBConnector.addDocument("tasks", new Document(task.toMap())); //todo
} }
public void clean() { public void clean() {
mongoDBConnector.removeCollection("tasks"); // mongoDBConnector.removeCollection("tasks"); //todo
} }
public Map<String, Task> getUserFlagsHashes(String username) { public Map<String, Task> getUserFlagsHashes(String username) {
...@@ -77,7 +76,7 @@ public class TasksRepository implements Repository { ...@@ -77,7 +76,7 @@ public class TasksRepository implements Repository {
private void acceptSolution(String username, Task task) { private void acceptSolution(String username, Task task) {
//todo: getname, of get id? //todo: getname, of get id?
solutionsRepository.add(new Solution(teamsRepository.getTeamByUser(username).getName(), task.getName())); // solutionsRepository.add(new Solution(teamsRepository.getTeamByUser(username).getName(), task.getName())); //tidod
} }
private boolean compareHash(String hash, String username) throws Exception { private boolean compareHash(String hash, String username) throws Exception {
......
package repositories; package repositories;
import database.MongoDBConnector;
import objects.Team; import objects.Team;
import objects.User; import org.mongodb.morphia.Datastore;
import org.bson.Document;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* Created by gpietrus on 20.02.2016. * Created by gpietrus on 20.02.2016.
*/ */
public class TeamsRepository implements Repository { public class TeamsRepository implements Repository {
private MongoDBConnector mongoDBConnector; private Datastore datastore;
@Inject @Inject
public TeamsRepository(MongoDBConnector mongoDBConnector) { public TeamsRepository(Datastore datastore) {
this.mongoDBConnector = mongoDBConnector; this.datastore = datastore;
} }
public Team getTeamByUser(String username) { public Team getTeamByUser(String username) {
return getAll().stream() return null;
/* return getAll().stream()
.filter(team -> team.getMembers().stream() .filter(team -> team.getMembers().stream()
.map(User::getName) .map(User::getName)
.collect(Collectors.toList()) .collect(Collectors.toList())
.contains(username)) .contains(username))
.findFirst() .findFirst()
.get(); .get();*/
} }
public void get(UUID uuid) { public void get(UUID uuid) {
} }
//todo: move this to inteface!!!
public List<Team> getAll() { public List<Team> getAll() {
return mongoDBConnector.getCollection("teams") return datastore.createQuery(Team.class).asList();
.stream()
.map(Team::fromDocument)
.collect(Collectors.toList());
} }
//todo: move to interface
public void add(Team team) { public void add(Team team) {
mongoDBConnector.addDocument("teams", new Document(team.toMap())); datastore.save(team);
} }
public void clean() { public void clean() {
mongoDBConnector.removeCollection("teams"); datastore.getCollection(Team.class).drop();
} }
} }
package repositories; package repositories;
import database.MongoDBConnector;
import io.dropwizard.auth.basic.BasicCredentials; import io.dropwizard.auth.basic.BasicCredentials;
import objects.Team;
import objects.User; import objects.User;
import org.apache.commons.codec.binary.Hex; import org.mongodb.morphia.Datastore;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.Collection;
import java.util.Optional; import java.util.Optional;
/** /**
...@@ -16,13 +13,13 @@ import java.util.Optional; ...@@ -16,13 +13,13 @@ import java.util.Optional;
*/ */
public class UsersRepository implements Repository { public class UsersRepository implements Repository {
private MongoDBConnector mongoDBConnector; private Datastore datastore;
private TeamsRepository teamsRepository; private TeamsRepository teamsRepository;
private MessageDigest messageDigest; private MessageDigest messageDigest;
public UsersRepository(MongoDBConnector mongoDBConnector, public UsersRepository(Datastore datastore,
TeamsRepository teamsRepository) { TeamsRepository teamsRepository) {
this.mongoDBConnector = mongoDBConnector; this.datastore = datastore;
this.teamsRepository = teamsRepository; this.teamsRepository = teamsRepository;
try { try {
messageDigest = MessageDigest.getInstance("MD5"); //todo messageDigest = MessageDigest.getInstance("MD5"); //todo
...@@ -42,6 +39,8 @@ public class UsersRepository implements Repository { ...@@ -42,6 +39,8 @@ public class UsersRepository implements Repository {
// } // }
public Optional<User> authenticateUser(BasicCredentials basicCredentials) { public Optional<User> authenticateUser(BasicCredentials basicCredentials) {
return null;
/*
Optional<User> userOptional = teamsRepository.getAll() Optional<User> userOptional = teamsRepository.getAll()
.stream() .stream()
.map(Team::getMembers) .map(Team::getMembers)
...@@ -52,7 +51,7 @@ public class UsersRepository implements Repository { ...@@ -52,7 +51,7 @@ public class UsersRepository implements Repository {
Hex.encodeHexString(messageDigest.digest(basicCredentials.getPassword().getBytes()))); //todo Hex.encodeHexString(messageDigest.digest(basicCredentials.getPassword().getBytes()))); //todo
}) })
.findFirst(); .findFirst();
return userOptional; return userOptional;*/
} }
// public void get(UUID uuid) { // public void get(UUID uuid) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment