parent
e66af6f91b
commit
13516fe0cc
@ -0,0 +1,24 @@
|
||||
package fr.uca.iut.config;
|
||||
|
||||
import com.mongodb.client.MongoClient;
|
||||
import com.mongodb.client.MongoClients;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.enterprise.inject.Disposes;
|
||||
import jakarta.enterprise.inject.Produces;
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
|
||||
@ApplicationScoped
|
||||
public class MongoClientProvider {
|
||||
|
||||
@ConfigProperty(name = "quarkus.mongodb.connection-string")
|
||||
String CONNECTION_STRING;
|
||||
@Produces
|
||||
@ApplicationScoped
|
||||
public MongoClient createMongoClient() {
|
||||
return MongoClients.create(CONNECTION_STRING);
|
||||
}
|
||||
|
||||
public void close(@Disposes MongoClient client) {
|
||||
client.close();
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
package fr.uca.iut.repositories;
|
||||
|
||||
import fr.uca.iut.entities.Move;
|
||||
import io.quarkus.mongodb.panache.PanacheMongoRepository;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@ApplicationScoped
|
||||
public class MoveRepository implements PanacheMongoRepository<Move> {
|
||||
}
|
@ -1,9 +1,35 @@
|
||||
package fr.uca.iut.repositories;
|
||||
|
||||
import com.mongodb.client.MongoClient;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import fr.uca.iut.entities.Pokemong;
|
||||
import io.quarkus.mongodb.panache.PanacheMongoRepository;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bson.types.ObjectId;
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
|
||||
import static com.mongodb.client.model.Filters.eq;
|
||||
|
||||
@ApplicationScoped
|
||||
public class PokemongRepository implements PanacheMongoRepository<Pokemong> {
|
||||
public class PokemongRepository {
|
||||
|
||||
@Inject
|
||||
MongoClient mongoClient;
|
||||
|
||||
@ConfigProperty(name = "quarkus.mongodb.database")
|
||||
String DB_NAME;
|
||||
|
||||
|
||||
private MongoCollection<Pokemong> getCollection() {
|
||||
MongoDatabase db = mongoClient.getDatabase(DB_NAME);
|
||||
return db.getCollection(Pokemong.COLLECTION_NAME, Pokemong.class);
|
||||
}
|
||||
|
||||
public Pokemong findById(ObjectId id) {
|
||||
return getCollection().find(eq("_id", id))
|
||||
.first();
|
||||
}
|
||||
|
||||
// TODO add similar methods for persist, delete, etc...
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
package fr.uca.iut.repositories;
|
||||
|
||||
import fr.uca.iut.entities.Trainer;
|
||||
import io.quarkus.mongodb.panache.PanacheMongoRepository;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@ApplicationScoped
|
||||
public class TrainerRepository implements PanacheMongoRepository<Trainer> {
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
package fr.uca.iut.repositories;
|
||||
|
||||
import fr.uca.iut.entities.Type;
|
||||
import io.quarkus.mongodb.panache.PanacheMongoRepository;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@ApplicationScoped
|
||||
public class TypeRepository implements PanacheMongoRepository<Type> {
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package fr.uca.iut.services;
|
||||
|
||||
public class MoveService {
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package fr.uca.iut.services;
|
||||
|
||||
public class TrainerService {
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package fr.uca.iut.services;
|
||||
|
||||
public class TypeService {
|
||||
}
|
@ -1,2 +1,4 @@
|
||||
quarkus.mongodb.connection-string=mongodb+srv://<username>:<password>@<cluster>.<node>.mongodb.net
|
||||
quarkus.mongodb.database=<database>
|
||||
quarkus.mongodb.database=<database>
|
||||
quarkus.mongodb.credentials.username=<username>
|
||||
quarkus.mongodb.credentials.password=<password>
|
Loading…
Reference in new issue