tdlib-session-container/src/main/java/it/tdlight/reactiveapi/CreateSessionRequest.java

26 lines
988 B
Java
Raw Normal View History

2021-12-05 15:15:28 +01:00
package it.tdlight.reactiveapi;
import it.tdlight.reactiveapi.CreateSessionRequest.CreateBotSessionRequest;
import it.tdlight.reactiveapi.CreateSessionRequest.CreateUserSessionRequest;
import it.tdlight.reactiveapi.CreateSessionRequest.LoadSessionFromDiskRequest;
public sealed interface CreateSessionRequest permits CreateUserSessionRequest, CreateBotSessionRequest,
LoadSessionFromDiskRequest {
long userId();
2022-09-22 15:46:31 +02:00
record CreateUserSessionRequest(long userId, long phoneNumber, String lane) implements CreateSessionRequest {}
2021-12-05 15:15:28 +01:00
2022-09-22 15:46:31 +02:00
record CreateBotSessionRequest(long userId, String token, String lane) implements CreateSessionRequest {}
2021-12-05 15:15:28 +01:00
2022-09-22 15:46:31 +02:00
record LoadSessionFromDiskRequest(long userId, String token, Long phoneNumber, String lane,
boolean createNew) implements CreateSessionRequest {
2021-12-05 15:15:28 +01:00
public LoadSessionFromDiskRequest {
if ((token == null) == (phoneNumber == null)) {
throw new IllegalArgumentException("This must be either a bot or an user");
}
}
}
}