diklabu_schueler.psm1
<#
VERBEN: find ... findet einen oder mehrere Objekte nach Namen. '%' ist WildCard get .... findet ein Objekt durch angabe des PK set .... ändert Attribute eines Objektes durch angabe des PK new .... erzeugt ein neuen Eintrag delete . ein Objekt löschen #> <# .Synopsis Informationen zu einem Schüler abfragen .DESCRIPTION Informationen zu einem Schüler abfragen .EXAMPLE Find-Pupil -vname Joerg -nname Tuttas -geb 1968-04-11 .EXAMPLE Find-Pupil -vname Joerg -nname Tuttas -geb 1968-04-11 -uri http://localhost:8080/Diklabu/api/v1/ #> function Find-Pupil { Param ( # Vorname des Schülers [Parameter(Mandatory=$true,Position=0)] $vname, # Nachname des Schülers [Parameter(Mandatory=$true,Position=1)] $nname, # Geburtsdatum im SQL Format yyyy-mm-dd [Parameter(Mandatory=$true,Position=2)] $geb, # Adresse des Diklabu Servers [Parameter(Position=4)] $uri=$global:server ) Begin { $data=echo "" | Select-Object -Property "gebDatum","name","vorName" $data.gebDatum=$geb $data.name=$nname $data.vorName=$vname $headers=@{} $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Post -Uri ($uri+"schueler/info") -Headers $headers -Body (ConvertTo-Json $data) -ContentType "application/json; charset=iso-8859-1" return $r; } Process { } End { } } <# .Synopsis Einem Schüler abfragen .DESCRIPTION Einem Schüler abfragen .EXAMPLE Get-Pupil -id 1234 .EXAMPLE Get-Pupil -id 1234 -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE 1234,5678 | Get-Pupil #> function Get-Pupil { Param ( # ID des Schülers [Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)] $id, # Adresse des Diklabu Servers $uri=$global:server ) Begin { } Process { foreach ($i in $id) { $headers=@{} $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Get -Uri ($uri+"schueler/"+$i) -Headers $headers -ContentType "application/json; charset=iso-8859-1" return $r; } } End { } } <# .Synopsis Einen Schüler hinzufügen .DESCRIPTION Fügt einen Schüler zur Tabelle Schueler hinzu .EXAMPLE New-Pupil -vname Joerg -nname Tuttas -geb 1968-04-11 .EXAMPLE New-Pupil -vname Joerg -nname Tuttas -geb 1968-04-11 -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE New-Pupil -vname Jörg -nname Tuttas -geb 1968-04-11 -email jtuttas@gmx.net -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE New-Pupil -vname Joerg -nname Tuttas -geb 1968-04-11 -uri http://localhost:8080/Diklabu/api/v1/ -idausbilder=4711 #> function New-Pupil { Param ( # Vorname des Schülers [Parameter(Mandatory=$true,Position=0)] $vname, # Nachname des Schülers [Parameter(Mandatory=$true,Position=1)] $nname, # Geburtsdatum im SQL Format yyyy-mm-dd [Parameter(Mandatory=$true,Position=2)] $geb, # Adresse des Diklabu Servers $uri=$global:server, # EMail Adresse des Schülers $email, # ID Des Ausbilders $idausbilder, # Abgang $abgang="N", # Info $info ) Begin { $schueler=echo "" | Select-Object -Property "EMAIL","GEBDAT","VNAME","NNAME","ID_AUSBILDER","ABGANG","INFO" $schueler.VNAME=$vname $schueler.NNAME=$nname $schueler.GEBDAT=$geb $schueler.EMAIL=$email $schueler.ID_AUSBILDER=$idausbilder $schueler.ABGANG=$abgang $schueler.INFO=$info $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Post -Uri ($uri+"schueler") -Headers $headers -Body (ConvertTo-Json $schueler) return $r; } Process { } End { } } <# .Synopsis Attribute eines Schülers ändern .DESCRIPTION Ändert Attribute eines Schülers .EXAMPLE Set-Pupil -id 1234 -vname Joerg -nname Tuttas -geb 1968-04-11 .EXAMPLE Set-Pupil -id 1234 -vname Joerg -nname Tuttas -geb 1968-04-11 -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE Set-Pupil -id 1234 -vname Jörg -nname Tuttas -geb 1968-04-11 -email jtuttas@gmx.net -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE Set-Pupil -id 1234 -vname Joerg -nname Tuttas -geb 1968-04-11 -uri http://localhost:8080/Diklabu/api/v1/ -idausbilder=4711 .EXAMPLE 1234,5678 | Set-Pupil -abgang "J" #> function Set-Pupil { Param ( # ID des Schülers [Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)] $id, # Vorname des Schülers $vname, # Nachname des Schülers $nname, # Geburtsdatum im SQL Format yyyy-mm-dd $geb, # Adresse des Diklabu Servers $uri=$global:server, # EMail Adresse des Schülers $email, # ID Des Ausbilders $idausbilder, # Abgang $abgang, # Info $info ) Begin { } Process { foreach ($i in $id) { $schueler=echo "" | Select-Object -Property "EMAIL","GEBDAT","VNAME","NNAME","ID_AUSBILDER","ABGANG","INFO" $schueler.VNAME=$vname $schueler.NNAME=$nname $schueler.GEBDAT=$geb $schueler.EMAIL=$email $schueler.ID_AUSBILDER=$idausbilder $schueler.ABGANG=$abgang $schueler.INFO=$info $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Post -Uri ($uri+"schueler/"+$i) -Headers $headers -Body (ConvertTo-Json $schueler) return $r; } } End { } } <# .Synopsis Einen Schüler löschen .DESCRIPTION Entfernt einen Schüler aus der Tabelle Schüler, sofern er nicht noch in Klassenb zugeordnet ist .EXAMPLE Delete-Pupil -id 1234 .EXAMPLE Delete-Pupil -id 1234 -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE 1234,5678 | Delete-Pupil #> function Delete-Pupil { Param ( # ID des Schülers [Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)] $id, # Adresse des Diklabu Servers $uri=$global:server ) Begin { } Process { foreach ($i in $id) { $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Delete -Uri ($uri+"schueler/"+$i) -Headers $headers return $r; } } End { } } |