diklabu_klassen.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 Eine Klasse(n) abfragen. % ist Wildcard .DESCRIPTION Fragt die Tabelle Klassen ab und gibt die Klasse zurück wenn diese existiert .EXAMPLE Find-Course -kname "FISI13A" .EXAMPLE Find-Course -kname "FISI13%" .EXAMPLE Find-Course -kname "FISI13A" -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE "FISI13%","FIAE13%" | Find-Course -uri http://localhost:8080/Diklabu/api/v1/ #> function Find-Course { Param ( # Name der Klasse [Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)] $kname, # Adresse des Diklabu Servers $uri=$global:server ) Begin { } Process { foreach ($n in $kname) { $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Get -Uri ($uri+"klasse/info/"+$n) -Headers $headers return $r; } } End { } } <# .Synopsis Attribute einer Klasse ändern .DESCRIPTION Ändert die Attribute einer Klasse .EXAMPLE Set-Course -id 1245 -kname FISI13A .EXAMPLE Set-Course -id 1234 -kname FISI13A -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE Set-Course -id 1234 -kname FISI13A -uri http://localhost:8080/Diklabu/api/v1/ -titel "Eine Klasse" .EXAMPLE Set-Course -id 1244 -uri http://localhost:8080/Diklabu/api/v1/ -idlehrer TU .EXAMPLE Set-Course -id 2124 -uri http://localhost:8080/Diklabu/api/v1/ -idkategorie 17 .EXAMPLE Set-Course -id 3456 -uri http://localhost:8080/Diklabu/api/v1/ -termine Block_blau .EXAMPLE 1234,5678,9876| Set-Course -uri http://localhost:8080/Diklabu/api/v1/ -termine Block_blau #> function Set-Course { Param ( # ID der Klasse [Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)] $id, # Adresse des Diklabu Servers $uri=$global:server, # Name der Klasse $kname, # Kürzel (fk) des Klassenlehrers $idlehrer, # Titel der Klasse $titel, # Notiz zur Klasse $notiz, # Termine $termine, # ID_Kategorie $idkategorie ) Begin { } Process { foreach ($i in $id) { $klasse=echo "" | Select-Object -Property "ID_LEHRER","KNAME","TITEL","NOTIZ","TERMINE","ID_KATEGORIE" $klasse.ID_LEHRER=$idlehrer $klasse.KNAME=$kname $klasse.TITEL=$titel $klasse.NOTIZ=$notiz $klasse.TERMINE=$termine $klasse.ID_KATEGORIE=$idkategorie $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Post -Uri ($uri+"klasse/admin/id/"+$i) -Headers $headers -Body (ConvertTo-Json $klasse) return $r; } } End { } } <# .Synopsis Eine Klasse abfragen .DESCRIPTION Attribute einer Klasse abfragen .EXAMPLE Get-Course -id 1245 .EXAMPLE Get-Course -id 1234 -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE 1234,5678,9876| Get-Course #> function Get-Course { Param ( # ID der Klasse [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 Get -Uri ($uri+"klasse/id/"+$i) -Headers $headers return $r; } } End { } } <# .Synopsis Eine neue Klasse anlegen .DESCRIPTION Legt eine Neue Klasse mit den Attributen an .EXAMPLE New-Course -kname FISI13A .EXAMPLE New-Course -kname FISI13A -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE New-Course -kname FISI14A -uri http://localhost:8080/Diklabu/api/v1/ -idlehrer TU #> function New-Course { Param ( # Name der Klasse [Parameter(Mandatory=$true,Position=0)] $name, # Adresse des Diklabu Servers $uri=$global:server, # Kürzel (fk) des Klassenlehrers $idlehrer, # Titel der Klasse $titel, # Notiz zur Klasse $notiz, # Termine $termine, # ID_Kategorie $idkategorie ) Begin { $klasse=echo "" | Select-Object -Property "ID_LEHRER","KNAME","TITEL","NOTIZ","TERMINE","ID_KATEGORIE" $klasse.ID_LEHRER=$idlehrer $klasse.KNAME=$name $klasse.TITEL=$titel $klasse.NOTIZ=$notiz $klasse.TERMINE=$termine $klasse.ID_KATEGORIE=$idkategorie $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; $r=Invoke-RestMethod -Method Post -Uri ($uri+"klasse/admin/") -Headers $headers -Body (ConvertTo-Json $klasse) return $r; } Process { } End { } } <# .Synopsis Eine Klasse löschen .DESCRIPTION Löscht eine Klasse in der Tabelle KLASSE .EXAMPLE Delete-Course -id 1234 .EXAMPLE Delete-Course -id 1234 -uri http://localhost:8080/Diklabu/api/v1/ .EXAMPLE 1234,5678| Delete-Course #> function Delete-Course { Param ( # Auth Token (nach Login) [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+"klasse/admin/"+$id) -Headers $headers return $r; } } End { } } |