public IActionResult GetNotChildrenByNotebookId(string token, string notebookId) { var apiRe = new ApiRe(); var user = tokenSerivce.GetUserByToken(token); if (user != null) { //var repository = noteRepositoryService.GetNotesRepository(repositoryId.ToLongByHex()); //var memerRole = noteRepositoryService.GetRepositoryMemberRole(repositoryId.ToLongByHex()); var book = notebookService.GetNotebookById(notebookId.ToLongByHex()); if (book == null) { return(LeanoteJson(apiRe)); } //检查用户是否对仓库具有读权限 if (noteRepositoryService.Verify(book.NotesRepositoryId, user.UserId, RepositoryAuthorityEnum.Read)) { var notes = noteService.GetNotChildrenByNotebookId(notebookId.ToLongByHex()); apiRe.Ok = true; apiRe.Data = notes; } } return(LeanoteJson(apiRe)); }
public async Task <IActionResult> DeleteNoteRepository(string token, string noteRepositoryId, string dataSignJson) { var verify = false; var user = tokenSerivce.GetUserByToken(token); var re = new ApiRe() { Ok = false, Data = null }; if (user == null) { return(LeanoteJson(re)); } if (this.config.SecurityConfig.ForceDigitalSignature) { //验证签名 var dataSign = DataSignDTO.FromJSON(dataSignJson); verify = await this.ePassService.VerifyDataSign(dataSign); if (!verify) { return(LeanoteJson(re)); } verify = dataSign.SignData.Operate.Equals("/api/NotesRepository/DeleteNoteRepository"); if (!verify) { re.Msg = "Operate is not Equals "; return(LeanoteJson(re)); } //签名存证 this.dataSignService.AddDataSign(dataSign, "DeleteNoteRepository"); } verify = noteRepositoryService.Verify(noteRepositoryId.ToLongByHex(), user.UserId, RepositoryAuthorityEnum.DeleteRepository); if (!verify) { return(LeanoteJson(re)); } this.noteRepositoryService.DeleteNoteRepository(noteRepositoryId.ToLongByHex()); re.Ok = true; return(LeanoteJson(re)); }
public async Task <IActionResult> DeleteNotebook(string token, string noteRepositoryId, string notebookId, bool recursively, bool force, string dataSignJson) { User user = tokenSerivce.GetUserByToken(token); var verify = false; ApiRe re = new ApiRe() { Ok = false, Msg = "NOTLOGIN", }; if (user == null) { re.Msg = "NOTLOGIN"; return(LeanoteJson(re)); } if (this.config.SecurityConfig.ForceDigitalSignature) { //验证签名 var dataSign = DataSignDTO.FromJSON(dataSignJson); verify = await this.ePassService.VerifyDataSign(dataSign); if (!verify) { return(LeanoteJson(re)); } verify = dataSign.SignData.Operate.Equals("/api/Notebook/DeleteNotebook"); if (!verify) { re.Msg = "Operate is not Equals "; return(LeanoteJson(re)); } //签名存证 this.dataSignService.AddDataSign(dataSign, "DeleteNotebook"); } var message = ""; var notebook = notebookService.GetNotebookById(notebookId.ToLongByHex()); var repositoryId = notebook.NotesRepositoryId; if (repositoryId != noteRepositoryId.ToLongByHex()) { return(LeanoteJson(re)); } //鉴别用户是否有权限 verify = noteRepositoryService.Verify(repositoryId, user.UserId, RepositoryAuthorityEnum.Write); if (verify == false) { return(LeanoteJson(re)); } //增加usn var usn = noteRepositoryService.IncrUsn(repositoryId); if (recursively) { re.Ok = notebookService.DeleteNotebookRecursively(notebookId.ToLongByHex(), usn); } else { re.Ok = notebookService.DeleteNotebook(notebookId.ToLongByHex(), usn); } return(LeanoteJson(re)); }