Initial commit
This commit is contained in:
54
examples/notebook_cli.ps1
Normal file
54
examples/notebook_cli.ps1
Normal file
@ -0,0 +1,54 @@
|
||||
# Define API URLs
|
||||
$loginUrl = "http://localhost:8080/api/v1/login"
|
||||
$generateNotebookUrl = "http://localhost:8080/api/v1/notebook"
|
||||
$docsUrl = "http://localhost:8080/swagger/doc.json" # URL to fetch the docs.json
|
||||
|
||||
# User credentials
|
||||
$username = "admin"
|
||||
$password = "defaultPassword" # Replace with the actual password
|
||||
|
||||
# Prepare login request body
|
||||
$loginBody = @{
|
||||
username = $username
|
||||
password = $password
|
||||
} | ConvertTo-Json
|
||||
|
||||
# Send login request
|
||||
$response = Invoke-RestMethod -Method Post -Uri $loginUrl -Body $loginBody -ContentType "application/json"
|
||||
|
||||
# Extract token from login response
|
||||
$token = $response.token
|
||||
|
||||
# Check if we got a token
|
||||
if (-not $token) {
|
||||
Write-Error "Authentication failed"
|
||||
exit
|
||||
}
|
||||
|
||||
# Prepare the request header with the received token
|
||||
$headers = @{
|
||||
Authorization = "Bearer $token"
|
||||
}
|
||||
|
||||
# Fetch the docs.json
|
||||
$docs = Invoke-RestMethod -Uri $docsUrl
|
||||
|
||||
# Extract NotebookRuleInput model
|
||||
$notebookRuleInputModel = $docs.definitions."rules.NotebookRuleInput".properties
|
||||
|
||||
# Create newNotebookParams based on the NotebookRuleInput model
|
||||
$newNotebookParams = @{}
|
||||
foreach ($prop in $notebookRuleInputModel.PSObject.Properties) {
|
||||
$userInput = Read-Host -Prompt "Enter value for $($prop.Name)"
|
||||
$newNotebookParams[$prop.Name] = $userInput
|
||||
}
|
||||
|
||||
# Convert newNotebookParams to JSON
|
||||
$newNotebookParamsJson = $newNotebookParams | ConvertTo-Json
|
||||
|
||||
# Send request to generate a new notebook
|
||||
$newNotebookResponse = Invoke-RestMethod -Method Post -Uri $generateNotebookUrl -Headers $headers -Body $newNotebookParamsJson -ContentType "application/json"
|
||||
|
||||
# Output the response
|
||||
Write-Output "New Notebook Response:"
|
||||
$newNotebookResponse
|
Reference in New Issue
Block a user