@fluencelabs/vodopad-api
v0.8.135
Published
Vodopad API types to use together with openapi-fetch
Keywords
Readme
Vodopad API Typescript types
Usage example
How to start vodopad
In https://github.com/fluencelabs/vodopad root directory
just startWhere to get JWT Token
Generate JWT on http://demo.web3auth.io
After login, see the JWT Token in View User Info under idToken
package.json
{
"type": "module",
"scripts": {
"start": "tsx main.ts"
},
"devDependencies": {
"@fluencelabs/vodopad-api": "^0.0.3-files-2",
"openapi-fetch": "^0.13.0",
"tsx": "^4.19.2"
}
}main.ts
import type { paths } from '@fluencelabs/vodopad-api'
import createClient from 'openapi-fetch'
const client = createClient<paths>({ baseUrl: 'http://localhost:3000' })
let jwt = `eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlRZT2dnXy01RU9FYmxhWS1WVlJZcVZhREFncHRuZktWNDUzNU1aUEMwdzAifQ.eyJpYXQiOjE3MzIxNDAxNTMsImF1ZCI6IkJOSV9wWlpwb0g0dHF6YkRETUt3ZkxPV3VqVGlmX2tlazRoOVFFTjI3MUd1MEpoZVlEUEVVSE5LTWw1Tm53NVBHT2pLLVNPeHAxUnBVZEc5VEp1Zk1aayIsIm5vbmNlIjoiMDNjYzE3ZWEwMzgxMGQ5YzMzZWJjYmJkNzBmNmU2YjI2MmNjNjIyNjk5MmVlMjEzYmE3NDJiYmY1MjliY2IxNDdiIiwiaXNzIjoiaHR0cHM6Ly9hcGktYXV0aC53ZWIzYXV0aC5pbyIsIndhbGxldHMiOlt7InB1YmxpY19rZXkiOiIwM2E5Y2RjMzJmNDNhZmFkZWNiNTc0Y2Q1M2ZmNzc5YTA3OTNkMjQ2ZTJlMTM1Nzg4NzUwYTQ4ZmI5OTdjMmFkZWYiLCJ0eXBlIjoid2ViM2F1dGhfYXBwX2tleSIsImN1cnZlIjoic2VjcDI1NmsxIn0seyJwdWJsaWNfa2V5IjoiMDNlZGU0OTNiZTdjODZhZjA2MDAyZjYxNmI1ZjUwMGExNzEzYjM2YmVmZDlhOTk1NDJiODhiNjZjOGJkMWU4OTc3IiwidHlwZSI6IndlYjNhdXRoX3RocmVzaG9sZF9rZXkiLCJjdXJ2ZSI6InNlY3AyNTZrMSJ9XSwiZW1haWwiOiIweGR4ZHlAZ21haWwuY29tIiwibmFtZSI6ImZvbGV4IiwicHJvZmlsZUltYWdlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWpvZ0ZsYW56TFhRbGxZX21obHotcEE0YW1LUGNDaHJuOFRfSW1McGNIeHpQdHU4ST1zOTYtYyIsInZlcmlmaWVyIjoid2ViM2F1dGgiLCJ2ZXJpZmllcklkIjoiMHhkeGR5QGdtYWlsLmNvbSIsImFnZ3JlZ2F0ZVZlcmlmaWVyIjoid2ViM2F1dGgtZ29vZ2xlLXNhcHBoaXJlIiwiZXhwIjoxNzMyMjI2NTUzfQ.wTKjl-60H2_nGd8dJ3ORfA6K17FppVFXjGSUa4k8G3YkfKu_qwcEJ4fO7Lx7VZndb6AyQRqW65se6XQdogiupg`
let user_response = await client.POST('/users', {
body: {
walletPublicKey: '03a9cdc32f43afadecb574cd53ff779a0793d246e2e135788750a48fb997c2adef',
typeOfLogin: 'google'
},
params: {
header: {
Authorization: `Bearer ${jwt}`,
},
},
})
let user = user_response.data
console.log('user:', user)
// the same as just using fetch, but typechecked
let api_key_response = await client.POST('/api_keys/jwt', {
body: {
scopes: [],
},
params: {
header: {
Authorization: `Bearer ${jwt}`,
},
},
})
let apiKey = api_key_response.data?.apiKey
console.log('API key:', apiKey)