initialise method

Future<void> initialise()

Initializes the service with necessary configuration. Must be called once before any other methods are used.

Implementation

Future<void> initialise() async {
  if (_isInitialized) {
    logger.info(this, 'SessionService is already initialised.');
    return;
  }

  if (_useMockData) {
    _isInitialized = true;
    logger.info(
      this,
      'SessionService initialised in MOCK mode with ${_knownMockUsers.length} pre-loaded profiles.',
    );
    return;
  }

  ConfigService configService = core.get<ConfigService>();

  // TODO: Replace with actual config key
  // _sessionServiceUrl = 'http://10.0.2.2:7244';
  _sessionServiceUrl = configService.getStringValue(
    key: 'config_session_service_url',
    defaultValue: 'TODO:_SET_URL',
  );

  if (_sessionServiceUrl.isEmpty) {
    const String errorMsg = 'Session Service URL is not configured.';
    logger.error(this, errorMsg);
    throw AuthException(
      AuthenticationErrorCodes.sessionServiceUrlNotConfigured,
    );
  }

  _isInitialized = true;
  logger.info(this, 'SessionService initialized successfully.');
}