public ActionResult <CustomResponseModel> UploadSong([FromForm] SongUploadModel songUploadModel) { string labelId = new SongDataAccess().JwtTokenValidation(songUploadModel.JwtToken); if (labelId == "") { return(Unauthorized(new CustomResponseModel() { Code = "401", Phrase = "Unauthorized", Message = "Invalid Jwt Token" })); } if (new SongDataAccess().IsLabel(labelId)) { SongGlobalModel songGlobalModel = new SongGlobalModel(); songGlobalModel.Id = GenerateUserId(); songGlobalModel.SongName = songUploadModel.SongName; songGlobalModel.SongFile = songUploadModel.SongFile; songGlobalModel.SongFileUrl = new SongDataAccess().UploadAudioFile(songUploadModel.SongFile, songGlobalModel.Id); songGlobalModel.ArtistName = songUploadModel.ArtistName; songGlobalModel.Genre = songUploadModel.Genre; songGlobalModel.AlbumId = songUploadModel.AlbumId; songGlobalModel.TimesStreamed = 0; songGlobalModel.CoverImageUrl = new SongDataAccess().UploadSongCoverImage(songUploadModel.CoverImage, songGlobalModel.Id); if (new SongDataAccess().UploadSong(songGlobalModel)) { return(Ok(new CustomResponseModel() { Code = "200", Phrase = "OK", Message = "Song Uploaded" })); } } else { return(Unauthorized(new CustomResponseModel() { Code = "401", Phrase = "Unauthorized", Message = "Song Uploader Must be a Label" })); } return(BadRequest(new CustomResponseModel() { Code = "400", Phrase = "BadRequest", Message = "Song Upload Failed" })); }
//UPLOAD SONG public bool UploadSong(SongGlobalModel songGlobalModel) { try { var collection = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("songs"); var document = new BsonDocument { { "SongId", songGlobalModel.Id }, { "SongName", songGlobalModel.SongName }, { "SongFileUrl", songGlobalModel.SongFileUrl }, { "AlbumId", songGlobalModel.AlbumId }, { "ArtistName", songGlobalModel.ArtistName }, { "TimesStreamed", songGlobalModel.TimesStreamed }, { "Genre", songGlobalModel.Genre }, { "CoverImageUrl", songGlobalModel.CoverImageUrl } }; collection.InsertOne(document); return(true); } catch (Exception) { return(false); } }