No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

cntrlViscosity.swift 1.6 KiB

hace 2 años
hace 2 años
hace 2 años
hace 2 años
hace 2 años
hace 2 años
hace 2 años
hace 2 años
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // cntrlViscosity.swift
  3. //
  4. //
  5. // Created by Michiel Carman on 4/1/24.
  6. //
  7. import Fluent
  8. import Vapor
  9. struct cntrlViscosity: RouteCollection {
  10. func boot(routes: RoutesBuilder) throws {
  11. let rts = routes.grouped("viscosities")
  12. rts.get(use: index)
  13. rts.get(":x", use: read)
  14. rts.post(use: create)
  15. rts.group(":x") { rt in
  16. rts.delete(use: delete)
  17. }
  18. ///Add custom routes here
  19. }
  20. func index(req: Request) async throws -> [mdlViscosity] {
  21. try await mdlViscosity.ObjQuery(req: req).all()
  22. }
  23. func read(req:Request) async throws -> mdlViscosity{
  24. return try await mdlViscosity.ObjQuery(req: req).first()!
  25. }
  26. func create(req: Request) async throws -> mdlViscosity {
  27. let obj = try req.content.decode(mdlViscosity.self)
  28. if(obj.id != nil){
  29. obj._$idExists = true
  30. }
  31. try await obj.save(on: req.db)
  32. return obj
  33. }
  34. func update(req: Request) async throws -> mdlViscosity{
  35. let obj = try req.content.decode(mdlViscosity.self)
  36. let dbobj = try await mdlViscosity.query(on: req.db).filter(\.$id == obj.id!).first()!
  37. dbobj.updatedate = Date()
  38. dbobj.updateuserid = -1
  39. try await dbobj.update(on: req.db)
  40. return dbobj
  41. }
  42. func delete(req: Request) async throws -> HTTPStatus {
  43. guard let obj = try await mdlViscosity.find(req.parameters.get("id"), on: req.db) else {
  44. throw Abort(.notFound)
  45. }
  46. try await obj.delete(on: req.db)
  47. return .noContent
  48. }
  49. }