36 lines
1.1 KiB
Java
36 lines
1.1 KiB
Java
package tc.oc.api.games;
|
|
|
|
import tc.oc.api.docs.Arena;
|
|
import tc.oc.api.docs.Game;
|
|
import tc.oc.api.docs.Ticket;
|
|
import tc.oc.api.model.ModelBinders;
|
|
import tc.oc.commons.core.inject.HybridManifest;
|
|
|
|
public class GameModelManifest extends HybridManifest implements ModelBinders {
|
|
|
|
@Override
|
|
protected void configure() {
|
|
bindAndExpose(GameStore.class);
|
|
bindAndExpose(ArenaStore.class);
|
|
bindAndExpose(TicketStore.class);
|
|
|
|
bindModel(Game.class, model -> {
|
|
model.bindStore().to(GameStore.class);
|
|
model.queryService().setDefault().to(model.nullQueryService());
|
|
});
|
|
|
|
bindModel(Arena.class, model -> {
|
|
model.bindStore().to(ArenaStore.class);
|
|
model.queryService().setDefault().to(model.nullQueryService());
|
|
});
|
|
|
|
bindModel(Ticket.class, model -> {
|
|
model.bindStore().to(TicketStore.class);
|
|
model.queryService().setBinding().to(TicketService.class);
|
|
});
|
|
|
|
publicBinder().forOptional(TicketService.class)
|
|
.setDefault().to(NullTicketService.class);
|
|
}
|
|
}
|