where('slug', self::PROVIDER_SLUG); })->first(); if (! $app) { throw new NotFoundHttpException('Keka HR app registration not found.'); } return $app; } public function getKekaUrl(ConnectedApp $app): string { return (string) ( data_get($app->settings, 'keka.keka_url') ?? data_get($app->settings, 'keka_url') ?? self::DEFAULT_KEKA_URL ); } public function getProvider(ConnectedApp $app): string { return (string) ( data_get($app->settings, 'keka.provider') ?? data_get($app->settings, 'provider') ?? self::DEFAULT_PROVIDER ); } public function getCallbackPath(ConnectedApp $app): string { return (string) ( data_get($app->settings, 'keka.callback_path') ?? self::DEFAULT_CALLBACK_PATH ); } }