handle method
Future<void>
handle({
- required DeviceCommand command,
- required AuthenticationState state,
override
Implementation
@override
Future<void> handle({
required DeviceCommand command,
required AuthenticationState state,
}) async {
final cmd = command as AnnounceDriverCommand;
respondToChallenge(
commandId: cmd.id,
salt: cmd.salt,
secret: _secret,
socket: state.socket,
timestamp: cmd.timestamp,
);
final app = getApplication(cmd.appIdentifier);
final driver = getDriver(
app: app,
driverId: cmd.driverId,
driverName: cmd.driverName,
);
final challenge = ChallengeCommand(
salt: DriverSignatureHelper().createSalt(),
);
state.communicator = driver;
state.challenge = challenge;
state.socket.add(challenge.toString());
logger.info(
'[DRIVER]: received announcement: [${cmd.driverId}] -- [${cmd.driverName}]',
);
}