Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

cntrlLabSetting.swift 1.4 KiB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // cntrlLabSetting.swift
  3. //
  4. //
  5. // Created by Michiel Carman on 4/1/24.
  6. //
  7. import Fluent
  8. import Vapor
  9. struct cntrlLabSetting: RouteCollection {
  10. func boot(routes: RoutesBuilder) throws {
  11. let rts = routes.grouped("labsettings")
  12. rts.get(use: index)
  13. rts.post(use: create)
  14. rts.put(use: update)
  15. rts.group(":id") { rt in
  16. rts.delete(use: delete)
  17. }
  18. }
  19. func index(req: Request) async throws -> [mdlLabSetting] {
  20. try await mdlLabSetting.query(on: req.db).all()
  21. }
  22. func create(req: Request) async throws -> mdlLabSetting {
  23. let obj = try req.content.decode(mdlLabSetting.self)
  24. try await obj.save(on: req.db)
  25. return obj
  26. }
  27. func update(req: Request) async throws -> mdlLabSetting{
  28. let obj = try req.content.decode(mdlLabSetting.self)
  29. let dbobj = try await mdlLabSetting.query(on: req.db).filter(\.$id == obj.id!).first()!
  30. dbobj.updatedate = Date()
  31. dbobj.updateuserid = -1
  32. try await dbobj.update(on: req.db)
  33. return dbobj
  34. }
  35. func delete(req: Request) async throws -> HTTPStatus {
  36. guard let obj = try await mdlLabSetting.find(req.parameters.get("id"), on: req.db) else {
  37. throw Abort(.notFound)
  38. }
  39. try await obj.delete(on: req.db)
  40. return .noContent
  41. }
  42. }