import 'package:aqueduct/aqueduct.dart'; import 'package:musicus_database/musicus_database.dart'; class EnsemblesController extends ResourceController { final Database db; EnsemblesController(this.db); @Operation.get() Future getEnsembles() async { final ensembles = await db.allEnsembles().get(); return Response.ok(ensembles); } @Operation.get('id') Future getEnsemble(@Bind.path('id') int id) async { final ensemble = await db.ensembleById(id).getSingle(); if (ensemble != null) { return Response.ok(ensemble); } else { return Response.notFound(); } } @Operation.put('id') Future putEnsemble( @Bind.path('id') int id, @Bind.body() Map json) async { final ensemble = Ensemble.fromJson(json).copyWith( id: id, ); await db.updateEnsemble(ensemble); return Response.ok(null); } @Operation.delete('id') Future deleteEnsemble(@Bind.path('id') int id) async { await db.deleteEnsemble(id); return Response.ok(null); } }