|
|
|
@ -3,16 +3,17 @@ package fr.uca.iut.repositories;
|
|
|
|
|
import com.mongodb.client.MongoClient;
|
|
|
|
|
import com.mongodb.client.MongoCollection;
|
|
|
|
|
import com.mongodb.client.MongoDatabase;
|
|
|
|
|
import com.mongodb.client.model.Filters;
|
|
|
|
|
import fr.uca.iut.entities.Pokemong;
|
|
|
|
|
import jakarta.annotation.PostConstruct;
|
|
|
|
|
import jakarta.enterprise.context.ApplicationScoped;
|
|
|
|
|
import jakarta.inject.Inject;
|
|
|
|
|
import org.bson.conversions.Bson;
|
|
|
|
|
import org.bson.types.ObjectId;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import static com.mongodb.client.model.Filters.eq;
|
|
|
|
|
|
|
|
|
|
@ApplicationScoped
|
|
|
|
|
public class PokemongRepository extends GenericRepository<Pokemong> {
|
|
|
|
|
|
|
|
|
@ -29,14 +30,15 @@ public class PokemongRepository extends GenericRepository<Pokemong> {
|
|
|
|
|
setMongoClient(mongoClient);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<Pokemong> findByMove(String moveId) {
|
|
|
|
|
Bson filter = Filters.elemMatch("moveSet", Filters.eq("_id", new ObjectId(moveId)));
|
|
|
|
|
return getCollection().find(filter)
|
|
|
|
|
.into(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected MongoCollection<Pokemong> getCollection() {
|
|
|
|
|
MongoDatabase db = mongoClient.getDatabase(DB_NAME);
|
|
|
|
|
return db.getCollection(Pokemong.COLLECTION_NAME, Pokemong.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<Pokemong> findByMove(String moveId) {
|
|
|
|
|
return getCollection().find(eq("moveSet.id", moveId))
|
|
|
|
|
.into(new ArrayList<>());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|