Nelze vybrat více než 25 témat
Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
|
- import Fluent
- import Vapor
-
- struct cntrlCategory: RouteCollection {
- func boot(routes: RoutesBuilder) throws {
- let rts = routes.grouped("categories")
- rts.get(use: index)
- rts.post(use: create)
- rts.put(use: update)
- rts.group(":id") { todo in
- rts.delete(use: delete)
- }
- }
-
- func index(req: Request) async throws -> [mdlCategory] {
- try await mdlCategory.query(on: req.db).all()
- }
-
- func create(req: Request) async throws -> mdlCategory {
- let obj = try req.content.decode(mdlCategory.self)
- try await obj.save(on: req.db)
- return obj
- }
- func update(req: Request) async throws -> mdlCategory{
- let obj = try req.content.decode(mdlCategory.self)
- let dbobj = try await mdlCategory.query(on: req.db).filter(\.$id == obj.id!).first()!
- dbobj.description = obj.description
- dbobj.name = obj.name
- dbobj.updatedate = Date()
- dbobj.isactive = obj.isactive
- dbobj.updateuserid = -1
- try await dbobj.update(on: req.db)
- return dbobj
-
- }
-
- func delete(req: Request) async throws -> HTTPStatus {
- guard let obj = try await mdlCategory.find(req.parameters.get("id"), on: req.db) else {
- throw Abort(.notFound)
- }
- try await obj.delete(on: req.db)
- return .noContent
- }
- }
|