Isard.ps1

# https://gitlab.com/isard/isardvdi/-/tree/main/api/src/api/schemas




# https://gitlab.com/isard/isardvdi/-/blob/main/api/src/api/views/AuthenticationView.py
function Connect-Isard {
  param(
    [switch] $Web
  )

  if ($Web) {
    Start-Process "https://pilotfp.gencat.isardvdi.com"
    exit
  }

  #https://get-powershellblog.blogspot.com/2017/09/multipartform-data-support-for-invoke.html

  $content = [System.Net.Http.MultipartFormDataContent]::new()
  $stringHeader = [System.Net.Http.Headers.ContentDispositionHeaderValue]::new("form-data")
  $stringHeader.Name = "username"
  $StringContent = [System.Net.Http.StringContent]::new("ddemingo@xtec.cat")
  $StringContent.Headers.ContentDisposition = $stringHeader
  $content.Add($stringContent)

  Write-Host $content.ToString()


  $content = '------WebKitFormBoundaryPXKTCVOXemE3Qd9D
  Content-Disposition: form-data; name="category_id"
   
  db79b78a-5408-4ff9-9853-a1172b7eadb2
  ------WebKitFormBoundaryPXKTCVOXemE3Qd9D
  Content-Disposition: form-data; name="provider"
   
  form
  ------WebKitFormBoundaryPXKTCVOXemE3Qd9D
  Content-Disposition: form-data; name="username"
   
  ddemnigo@xtec.cat
  ------WebKitFormBoundaryPXKTCVOXemE3Qd9D
  Content-Disposition: form-data; name="password"
   
  fererere
  ------WebKitFormBoundaryPXKTCVOXemE3Qd9D-'




  $boundary = [System.Guid]::NewGuid().ToString()
  $result = Invoke-WebRequest -Method Post -Uri "https://pilotfp.gencat.isardvdi.com/authentication/login?provider=form&category_id=db79b78a-5408-4ff9-9853-a1172b7eadb2" -ContentType "multipart/form-data; boundary=`"$boundary`"" #-Body $content



  #$params = @{ username = "ddemingo@xtec.cat"; password= "password"}
  #$login = Invoke-WebRequest -Method Post -Uri "https://pilotfp.gencat.isardvdi.com/authentication/login?provider=form&category_id=db79b78a-5408-4ff9-9853-a1172b7eadb2" -ContentType "multipart/form-data; boundary=`"$boundary`"" -Body $content
  #Write-Host $login

}
function New-Isard {

  $api = Invoke-RestMethod -Uri https://pilotfp.gencat.isardvdi.com/api/v3/user
  Write-Host $api
}