public MediaModule() { /// <summary> /// Route pour récupérer tous les médias /// curl http://localhost:10563/links/api/tolisten /// </summary> Get["/links/api/tolisten"] = parameters => new JavaScriptSerializer().Serialize(MainClass.getMedias); /// <summary> /// Route pour ajouter un média /// curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"id":10,"url":"truc","sender":"me","genre":"machin","author":"haha","title":"lol","isViewed":0}' http://localhost:10563/links/api/tolisten/add /// </summary> Post["/links/api/tolisten/add"] = parameters => { Media m = this.Bind <Media>(); m = MainClass.AddMedia(m); return(m != null ? new JavaScriptSerializer().Serialize(m) : new Response { StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "Can't added media" }); }; /// <summary> /// Route pour supprimer un média /// curl -X DELETE http://localhost:10563/links/api/tolisten/delete/1 /// </summary> Delete["/links/api/tolisten/delete/{id:long}"] = parameters => { long id = parameters.id; Media m = MainClass.DelMedia(MainClass.GetMedia(id)); return(m != null ? new JavaScriptSerializer().Serialize(m) : new Response { StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "Can't delete media" }); }; /// <summary> /// Route pour mettre à jour un média /// curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d '{"id":1,"url":"truc","sender":"me","genre":"machin","author":"haha","title":"lol","isViewed":0}' http://localhost:10563/links/api/tolisten/edit /// </summary> Put["/links/api/tolisten/edit"] = parameters => { Media m = this.Bind <Media>(); m = MainClass.UpMedia(m); return(m != null ? new JavaScriptSerializer().Serialize(m) : new Response { StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "Can't edit media" }); }; /// <summary> /// Route pour changer la propriété vue d'un média /// curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d '{"id":1}' http://localhost:10563/links/api/tolisten/updateViewState /// </summary> Put["/links/api/tolisten/updateViewState/"] = parameters => { Media m = this.Bind <Media>(); m = MainClass.GetMedia(m.id); m.isViewed = m.isViewed == 0 ? 1 : 0; m = MainClass.UpMedia(m); return(m != null ? new JavaScriptSerializer().Serialize(m) : new Response { StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "Can't update view state" }); }; }