Example #1
0
        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));
        }
Example #2
0
        public IActionResult Cate(string blogUserName, string cateHex, int page)
        {
            long?notebookId = cateHex.ToLongByHex();
            User blogUser   = ActionInitBlogUser(blogUserName);

            if (blogUser == null)
            {
                return(Content("查无此人"));
            }
            if (page < 1)
            {
                //页码
                page = 1;
            }
            ViewBag.page = page;
            Notebook notebook = notebookService.GetNotebookById(notebookId);

            ViewBag.notebook = notebook;

            ViewBag.postCount = blogService.CountTheNumberForBlogsOfNoteBookId(blogUser.UserId, notebookId);
            NoteAndContent[] noteAndContent = noteService.GetNoteAndContentForBlogOfNoteBookId(page, notebookId, blogUser.UserId);
            SetAccessPassword(noteAndContent);
            ViewBag.noteAndContent = noteAndContent;

            if (blogUser == null)
            {
                return(Content("查无此人"));
            }
            ViewBag.CateArray = blogService.GetCateArrayForBlog(blogUser.UserId);
            Dictionary <string, string> blog = new Dictionary <string, string>();

            blog.Add("Title", $"分类-{notebook.Title}");
            blog.Add("keywords", "关键字");
            ViewBag.blog = blog;
            return(View());
        }
Example #3
0
        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));
        }