コード例 #1
0
ファイル: APISurface.cs プロジェクト: XCVG/XSMP
        private APIResponse PutPlaylist(APIRequest request)
        {
            var cname    = APIUtils.DecodeUrlDataString(request.Segment);
            var playlist = JsonConvert.DeserializeObject <Playlist>(request.Body);

            //TODO return different status codes: 201 for a new playlist, 204 for an update (?)

            MediaDatabase.SetPlaylist(cname, playlist);

            return(new APIResponse(string.Empty, (int)HttpStatusCode.Created));
        }
コード例 #2
0
ファイル: APISurface.cs プロジェクト: XCVG/XSMP
        private APIResponse GetPlaylist(APIRequest request)
        {
            var cname    = APIUtils.DecodeUrlDataString(request.Segment);
            var playlist = MediaDatabase.GetPlaylist(cname);

            if (MediaDatabase.GetPlaylist(cname) == null)
            {
                throw new ResourceNotFoundException();
            }

            return(new APIResponse(JsonConvert.SerializeObject(new { data = playlist })));
        }
コード例 #3
0
ファイル: APISurface.cs プロジェクト: XCVG/XSMP
        private APIResponse DeletePlaylist(APIRequest request)
        {
            var cname = APIUtils.DecodeUrlDataString(request.Segment);

            if (MediaDatabase.GetPlaylist(cname) == null)
            {
                throw new ResourceNotFoundException();
            }

            MediaDatabase.DeletePlaylist(cname);

            return(new APIResponse(string.Empty, (int)HttpStatusCode.NoContent));
        }
コード例 #4
0
ファイル: APISurface.cs プロジェクト: XCVG/XSMP
        private APIResponse GetFolder(APIRequest request)
        {
            string folderPath = APIUtils.DecodeUrlDataString(request.Segment);
            Dictionary <string, object> responseData = null;

            if (MediaDatabase.GetFolderExists(folderPath))
            {
                responseData = new Dictionary <string, object>();
                responseData.Add("path", folderPath);
                responseData.Add("folders", MediaDatabase.GetFoldersInFolder(folderPath));
                responseData.Add("songs", MediaDatabase.GetSongsInFolder(folderPath));
            }
            else
            {
                throw new ResourceNotFoundException();
            }

            return(new APIResponse(JsonConvert.SerializeObject(new { data = responseData })));
        }