{"_id":"@arsatir/superset-utils","_rev":"4-c7763ef693de27d3c0398b9e52040861","name":"@arsatir/superset-utils","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@arsatir/superset-utils","version":"0.1.0","keywords":["superset","utils","token"],"author":"","license":"MIT","_id":"@arsatir/superset-utils@0.1.0","maintainers":[{"name":"arsatir","email":"arsajackarsa@gmail.com"}],"dist":{"shasum":"3154eca553d35dcf80a37194a88d0dc9c5916e6b","tarball":"https://registry.npmjs.org/@arsatir/superset-utils/-/superset-utils-0.1.0.tgz","fileCount":4,"integrity":"sha512-arAUnSbtJhQxGYXNFfVTJTktIPQkSBiN/sbBzU3S5WLiMZyjWr6RPTT53d/4YromIH4Wf/jgvsq/VfOiT1f6Zg==","signatures":[{"sig":"MEUCIA7stBXIFK+z+rIKtjv+q/jdUN7EXCYoWooJJOoBHSwfAiEAvEuAsmbW39kcbfed7u4Nhx1hmo2PP0UYhtuSAWL9igc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2318},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"1668f8674d0c18802aa0d6efe55d922b3993488c","scripts":{"build":"tsc -p tsconfig.json","prepare":"npm run build"},"_npmUser":{"name":"arsatir","email":"arsajackarsa@gmail.com"},"_npmVersion":"10.9.4","description":"Superset helper utilities for access token and guest token requests","directories":{},"_nodeVersion":"22.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/superset-utils_0.1.0_1765425711457_0.8307174525919199","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arsatir/superset-utils","version":"0.1.1","keywords":["superset","utils","token"],"author":"","license":"MIT","_id":"@arsatir/superset-utils@0.1.1","maintainers":[{"name":"arsatir","email":"arsajackarsa@gmail.com"}],"dist":{"shasum":"9586a341a69ab9c3d4f2d7ddb0467699207a322f","tarball":"https://registry.npmjs.org/@arsatir/superset-utils/-/superset-utils-0.1.1.tgz","fileCount":4,"integrity":"sha512-op279cEU7aj8YUO0rka0BMAzY/K11Wklo2Cd4Qea1h0+EozON6bVe9x6jBJ7vLbggf6MfAudDVqbn0eyWF1i0Q==","signatures":[{"sig":"MEYCIQDFJBJKW0LUq1LTQ4cYpiX704Crtqnn62iNpgmEsLvqDAIhAIm/iYSF8luzVzOCXGWK8caXGDtyWpJPWKF6g+UQhCxo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2627},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1668f8674d0c18802aa0d6efe55d922b3993488c","scripts":{"build":"tsc -p tsconfig.json","prepare":"npm run build"},"_npmUser":{"name":"arsatir","email":"arsajackarsa@gmail.com"},"_npmVersion":"10.9.4","description":"Superset helper utilities for access token and guest token requests","directories":{},"_nodeVersion":"22.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/superset-utils_0.1.1_1765426083063_0.6017364080741623","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@arsatir/superset-utils","version":"0.1.2","keywords":["superset","utils","token"],"author":"","license":"MIT","_id":"@arsatir/superset-utils@0.1.2","maintainers":[{"name":"arsatir","email":"arsajackarsa@gmail.com"}],"dist":{"shasum":"a4ab074315e661241691a6580a873c718ef75961","tarball":"https://registry.npmjs.org/@arsatir/superset-utils/-/superset-utils-0.1.2.tgz","fileCount":4,"integrity":"sha512-+quOGyUCWXvt6PzVcGNpDKWWS3iXTyDZdS6WOCqhVwbfgOTjNFN0gFykJgB/aU0AZn9q0k30+g55jfCj4ZC8Xw==","signatures":[{"sig":"MEUCIQDi10otjbmWuhVpIgI9JTpA+pT/hQIirPT56w3DeBzBrwIgY196qdDFGDDus0IkJxv435jwO0pWdltI4OdWQIV2ZMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3881},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"20c31f80a92c32e369b103d59b1220e04d78574c","scripts":{"build":"tsc -p tsconfig.json","prepare":"npm run build"},"_npmUser":{"name":"arsatir","email":"arsajackarsa@gmail.com"},"_npmVersion":"10.9.4","description":"Superset helper utilities for access token and guest token requests","directories":{},"_nodeVersion":"22.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/superset-utils_0.1.2_1765428502454_0.6272677925063408","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@arsatir/superset-utils","version":"0.1.3","description":"Superset helper utilities for access token and guest token requests","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","prepare":"npm run build"},"keywords":["superset","utils","token"],"author":"","license":"MIT","publishConfig":{"access":"public"},"devDependencies":{"typescript":"^5.9.3"},"_id":"@arsatir/superset-utils@0.1.3","gitHead":"afbe391e523c2c45d3bee87eecfbee51bae0baf6","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-jS+n82FFG1FKJuGx4m9CtDi0la60Y4zUG+bVX9bfV8NYB04EHG/uBm87h4UrM0AGkM4qeZ0MJ6uEzr8Y92u93w==","shasum":"dd0269ac77ec99946de2d25b9e76082927fea3f0","tarball":"https://registry.npmjs.org/@arsatir/superset-utils/-/superset-utils-0.1.3.tgz","fileCount":4,"unpackedSize":6226,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFnxHo7z5jbFNbQAeOB0qWEoWAGrkk3ULxvCLv+B98vcAiAH/cUkfz6CaVO68rFWgq5Jk7pAHwZ7Mc1hzCFZxz2dMQ=="}]},"_npmUser":{"name":"arsatir","email":"arsajackarsa@gmail.com"},"directories":{},"maintainers":[{"name":"arsatir","email":"arsajackarsa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/superset-utils_0.1.3_1765429180669_0.18345799864576562"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-11T04:01:51.378Z","modified":"2025-12-11T04:59:41.011Z","0.1.0":"2025-12-11T04:01:51.602Z","0.1.1":"2025-12-11T04:08:03.218Z","0.1.2":"2025-12-11T04:48:22.600Z","0.1.3":"2025-12-11T04:59:40.817Z"},"license":"MIT","keywords":["superset","utils","token"],"description":"Superset helper utilities for access token and guest token requests","maintainers":[{"name":"arsatir","email":"arsajackarsa@gmail.com"}],"readme":"# @arsatir/superset-utils\r\n\r\nSmall helper library for working with Apache Superset authentication flows, wrapped in a configurable `SupersetClient` class.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @arsatir/superset-utils\r\n```\r\n\r\n## SupersetClient\r\n\r\nThe main export is the `SupersetClient` class.\r\n\r\n```ts\r\nimport { SupersetClient } from '@arsatir/superset-utils'\r\n\r\nconst client = new SupersetClient({\r\n  accessTokenUrl: 'https://superset.example.com/api/v1/security/login',\r\n  guestTokenUrl: 'https://superset.example.com/api/v1/security/guest_token',\r\n  defaultUsername: 'admin',\r\n  defaultPassword: 'admin',\r\n  defaultDashboardId: '12',\r\n  accessToken: 'ACCESS_TOKEN_IF_YOU_ALREADY_HAVE_ONE',\r\n})\r\n```\r\n\r\n### Configuration\r\n\r\n`SupersetClient` accepts the following configuration object:\r\n\r\n```ts\r\nexport type SupersetClientConfig = {\r\n  accessToken?: string\r\n  defaultUsername?: string\r\n  defaultPassword?: string\r\n  defaultDashboardId?: string\r\n  accessTokenUrl?: string\r\n  guestTokenUrl?: string\r\n}\r\n```\r\n\r\nYou can update the configuration at any time:\r\n\r\n```ts\r\nclient.setConfig({ accessToken: 'NEW_ACCESS_TOKEN' })\r\n```\r\n\r\n## Methods\r\n\r\n### `getValidAccessToken`\r\n\r\nCalls the Superset login endpoint using the configured or provided credentials.\r\n\r\n```ts\r\nconst response = await client.getValidAccessToken()\r\n\r\n// Override username / password / URL when needed\r\nconst response2 = await client.getValidAccessToken(\r\n  'other_user',\r\n  'other_password',\r\n  'https://custom-superset/api/v1/security/login',\r\n)\r\n\r\nif (!response.ok) {\r\n  throw new Error('Failed to get valid access token')\r\n}\r\n\r\nconst data = await response.json()\r\n```\r\n\r\n### `getValidGuestToken`\r\n\r\nCalls the Superset guest token endpoint to generate a guest token for a dashboard.\r\n\r\n```ts\r\nconst response = await client.getValidGuestToken()\r\n\r\n// Override dashboardId / accessToken / URL when needed\r\nconst response2 = await client.getValidGuestToken(\r\n  '34',\r\n  'OTHER_ACCESS_TOKEN',\r\n  'https://custom-superset/api/v1/security/guest_token',\r\n)\r\n\r\nif (!response.ok) {\r\n  throw new Error('Failed to get valid guest token')\r\n}\r\n\r\nconst data = await response.json()\r\n```\r\n\r\n## Notes\r\n\r\n- This package does **not** manage token storage or refresh; it only builds and executes the HTTP requests.\r\n- You are expected to handle responses (`response.ok`, `response.json()`, error handling, etc.) in your own code.\r\n","readmeFilename":"README.md"}