mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	server-ts: Port services/notes
This commit is contained in:
		| @@ -1,5 +1,5 @@ | |||||||
| const specialNotesService = require('../services/special_notes.js'); | const specialNotesService = require('../services/special_notes.js'); | ||||||
| const dateNotesService = require('../services/date_notes.js'); | const dateNotesService = require('../services/date_notes'); | ||||||
| const eu = require('./etapi_utils'); | const eu = require('./etapi_utils'); | ||||||
| const mappers = require('./mappers.js'); | const mappers = require('./mappers.js'); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| const attributeService = require('../../services/attributes'); | const attributeService = require('../../services/attributes'); | ||||||
| const cloneService = require('../../services/cloning'); | const cloneService = require('../../services/cloning'); | ||||||
| const noteService = require('../../services/notes'); | const noteService = require('../../services/notes'); | ||||||
| const dateNoteService = require('../../services/date_notes.js'); | const dateNoteService = require('../../services/date_notes'); | ||||||
| const dateUtils = require('../../services/date_utils'); | const dateUtils = require('../../services/date_utils'); | ||||||
| const imageService = require('../../services/image.js'); | const imageService = require('../../services/image.js'); | ||||||
| const appInfo = require('../../services/app_info'); | const appInfo = require('../../services/app_info'); | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
|  |  | ||||||
| const dateNoteService = require('../../services/date_notes.js'); | const dateNoteService = require('../../services/date_notes'); | ||||||
| const sql = require('../../services/sql'); | const sql = require('../../services/sql'); | ||||||
| const cls = require('../../services/cls'); | const cls = require('../../services/cls'); | ||||||
| const specialNotesService = require('../../services/special_notes.js'); | const specialNotesService = require('../../services/special_notes.js'); | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ const noteService = require('./notes'); | |||||||
| const sql = require('./sql'); | const sql = require('./sql'); | ||||||
| const utils = require('./utils'); | const utils = require('./utils'); | ||||||
| const attributeService = require('./attributes'); | const attributeService = require('./attributes'); | ||||||
| const dateNoteService = require('./date_notes.js'); | const dateNoteService = require('./date_notes'); | ||||||
| const treeService = require('./tree'); | const treeService = require('./tree'); | ||||||
| const config = require('./config'); | const config = require('./config'); | ||||||
| const axios = require('axios'); | const axios = require('axios'); | ||||||
|   | |||||||
| @@ -1,13 +1,14 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| 
 | 
 | ||||||
| const noteService = require('./notes'); | import noteService = require('./notes'); | ||||||
| const attributeService = require('./attributes'); | import attributeService = require('./attributes'); | ||||||
| const dateUtils = require('./date_utils'); | import dateUtils = require('./date_utils'); | ||||||
| const sql = require('./sql'); | import sql = require('./sql'); | ||||||
| const protectedSessionService = require('./protected_session'); | import protectedSessionService = require('./protected_session'); | ||||||
| const searchService = require('../services/search/services/search'); | import searchService = require('../services/search/services/search'); | ||||||
| const SearchContext = require('../services/search/search_context'); | import SearchContext = require('../services/search/search_context'); | ||||||
| const hoistedNoteService = require('./hoisted_note'); | import hoistedNoteService = require('./hoisted_note'); | ||||||
|  | import BNote = require('../becca/entities/bnote'); | ||||||
| 
 | 
 | ||||||
| const CALENDAR_ROOT_LABEL = 'calendarRoot'; | const CALENDAR_ROOT_LABEL = 'calendarRoot'; | ||||||
| const YEAR_LABEL = 'yearNote'; | const YEAR_LABEL = 'yearNote'; | ||||||
| @@ -17,7 +18,9 @@ const DATE_LABEL = 'dateNote'; | |||||||
| const DAYS = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; | const DAYS = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; | ||||||
| const MONTHS = ['January','February','March','April','May','June','July','August','September','October','November','December']; | const MONTHS = ['January','February','March','April','May','June','July','August','September','October','November','December']; | ||||||
| 
 | 
 | ||||||
| function createNote(parentNote, noteTitle) { | type StartOfWeek = "monday" | "sunday"; | ||||||
|  | 
 | ||||||
|  | function createNote(parentNote: BNote, noteTitle: string) { | ||||||
|     return noteService.createNewNote({ |     return noteService.createNewNote({ | ||||||
|         parentNoteId: parentNote.noteId, |         parentNoteId: parentNote.noteId, | ||||||
|         title: noteTitle, |         title: noteTitle, | ||||||
| @@ -27,13 +30,12 @@ function createNote(parentNote, noteTitle) { | |||||||
|     }).note; |     }).note; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** @returns {BNote} */ | function getRootCalendarNote(): BNote { | ||||||
| function getRootCalendarNote() { |  | ||||||
|     let rootNote; |     let rootNote; | ||||||
| 
 | 
 | ||||||
|     const workspaceNote = hoistedNoteService.getWorkspaceNote(); |     const workspaceNote = hoistedNoteService.getWorkspaceNote(); | ||||||
| 
 | 
 | ||||||
|     if (!workspaceNote.isRoot()) { |     if (!workspaceNote || !workspaceNote.isRoot()) { | ||||||
|         rootNote = searchService.findFirstNoteWithQuery('#workspaceCalendarRoot', new SearchContext({ignoreHoistedNote: false})); |         rootNote = searchService.findFirstNoteWithQuery('#workspaceCalendarRoot', new SearchContext({ignoreHoistedNote: false})); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @@ -57,14 +59,11 @@ function getRootCalendarNote() { | |||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return rootNote; |     return rootNote as BNote; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** @returns {BNote} */ | function getYearNote(dateStr: string, _rootNote: BNote | null = null): BNote { | ||||||
| function getYearNote(dateStr, rootNote = null) { |     const rootNote = _rootNote || getRootCalendarNote(); | ||||||
|     if (!rootNote) { |  | ||||||
|         rootNote = getRootCalendarNote(); |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     const yearStr = dateStr.trim().substr(0, 4); |     const yearStr = dateStr.trim().substr(0, 4); | ||||||
| 
 | 
 | ||||||
| @@ -88,10 +87,10 @@ function getYearNote(dateStr, rootNote = null) { | |||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     return yearNote; |     return yearNote as unknown as BNote; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function getMonthNoteTitle(rootNote, monthNumber, dateObj) { | function getMonthNoteTitle(rootNote: BNote, monthNumber: string, dateObj: Date) { | ||||||
|     const pattern = rootNote.getOwnedLabelValue("monthPattern") || "{monthNumberPadded} - {month}"; |     const pattern = rootNote.getOwnedLabelValue("monthPattern") || "{monthNumberPadded} - {month}"; | ||||||
|     const monthName = MONTHS[dateObj.getMonth()]; |     const monthName = MONTHS[dateObj.getMonth()]; | ||||||
| 
 | 
 | ||||||
| @@ -102,11 +101,8 @@ function getMonthNoteTitle(rootNote, monthNumber, dateObj) { | |||||||
|         .replace(/{month}/g, monthName); |         .replace(/{month}/g, monthName); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** @returns {BNote} */ | function getMonthNote(dateStr: string, _rootNote: BNote | null = null): BNote { | ||||||
| function getMonthNote(dateStr, rootNote = null) { |     const rootNote = _rootNote || getRootCalendarNote(); | ||||||
|     if (!rootNote) { |  | ||||||
|         rootNote = getRootCalendarNote(); |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     const monthStr = dateStr.substr(0, 7); |     const monthStr = dateStr.substr(0, 7); | ||||||
|     const monthNumber = dateStr.substr(5, 2); |     const monthNumber = dateStr.substr(5, 2); | ||||||
| @@ -137,10 +133,10 @@ function getMonthNote(dateStr, rootNote = null) { | |||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     return monthNote; |     return monthNote as unknown as BNote; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function getDayNoteTitle(rootNote, dayNumber, dateObj) { | function getDayNoteTitle(rootNote: BNote, dayNumber: string, dateObj: Date) { | ||||||
|     const pattern = rootNote.getOwnedLabelValue("datePattern") || "{dayInMonthPadded} - {weekDay}"; |     const pattern = rootNote.getOwnedLabelValue("datePattern") || "{dayInMonthPadded} - {weekDay}"; | ||||||
|     const weekDay = DAYS[dateObj.getDay()]; |     const weekDay = DAYS[dateObj.getDay()]; | ||||||
| 
 | 
 | ||||||
| @@ -154,18 +150,15 @@ function getDayNoteTitle(rootNote, dayNumber, dateObj) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** produces 1st, 2nd, 3rd, 4th, 21st, 31st for 1, 2, 3, 4, 21, 31 */ | /** produces 1st, 2nd, 3rd, 4th, 21st, 31st for 1, 2, 3, 4, 21, 31 */ | ||||||
| function ordinal(dayNumber) { | function ordinal(dayNumber: number) { | ||||||
|     const suffixes = ["th", "st", "nd", "rd"]; |     const suffixes = ["th", "st", "nd", "rd"]; | ||||||
|     const suffix = suffixes[(dayNumber - 20) % 10] || suffixes[dayNumber] || suffixes[0]; |     const suffix = suffixes[(dayNumber - 20) % 10] || suffixes[dayNumber] || suffixes[0]; | ||||||
| 
 | 
 | ||||||
|     return `${dayNumber}${suffix}`; |     return `${dayNumber}${suffix}`; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** @returns {BNote} */ | function getDayNote(dateStr: string, _rootNote: BNote | null = null): BNote { | ||||||
| function getDayNote(dateStr, rootNote = null) { |     const rootNote = _rootNote || getRootCalendarNote(); | ||||||
|     if (!rootNote) { |  | ||||||
|         rootNote = getRootCalendarNote(); |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     dateStr = dateStr.trim().substr(0, 10); |     dateStr = dateStr.trim().substr(0, 10); | ||||||
| 
 | 
 | ||||||
| @@ -195,14 +188,14 @@ function getDayNote(dateStr, rootNote = null) { | |||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     return dateNote; |     return dateNote as unknown as BNote; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function getTodayNote(rootNote = null) { | function getTodayNote(rootNote = null) { | ||||||
|     return getDayNote(dateUtils.localNowDate(), rootNote); |     return getDayNote(dateUtils.localNowDate(), rootNote); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function getStartOfTheWeek(date, startOfTheWeek) { | function getStartOfTheWeek(date: Date, startOfTheWeek: StartOfWeek) { | ||||||
|     const day = date.getDay(); |     const day = date.getDay(); | ||||||
|     let diff; |     let diff; | ||||||
| 
 | 
 | ||||||
| @@ -219,7 +212,11 @@ function getStartOfTheWeek(date, startOfTheWeek) { | |||||||
|     return new Date(date.setDate(diff)); |     return new Date(date.setDate(diff)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function getWeekNote(dateStr, options = {}, rootNote = null) { | interface WeekNoteOpts { | ||||||
|  |     startOfTheWeek?: StartOfWeek | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function getWeekNote(dateStr: string, options: WeekNoteOpts = {}, rootNote = null) { | ||||||
|     const startOfTheWeek = options.startOfTheWeek || "monday"; |     const startOfTheWeek = options.startOfTheWeek || "monday"; | ||||||
| 
 | 
 | ||||||
|     const dateObj = getStartOfTheWeek(dateUtils.parseLocalDate(dateStr), startOfTheWeek); |     const dateObj = getStartOfTheWeek(dateUtils.parseLocalDate(dateStr), startOfTheWeek); | ||||||
| @@ -229,7 +226,7 @@ function getWeekNote(dateStr, options = {}, rootNote = null) { | |||||||
|     return getDayNote(dateStr, rootNote); |     return getDayNote(dateStr, rootNote); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| module.exports = { | export = { | ||||||
|     getRootCalendarNote, |     getRootCalendarNote, | ||||||
|     getYearNote, |     getYearNote, | ||||||
|     getMonthNote, |     getMonthNote, | ||||||
| @@ -173,6 +173,7 @@ interface NoteParams { | |||||||
|     dateCreated?: string; |     dateCreated?: string; | ||||||
|     utcDateCreated?: string; |     utcDateCreated?: string; | ||||||
|     ignoreForbiddenParents?: boolean; |     ignoreForbiddenParents?: boolean; | ||||||
|  |     target?: "into"; | ||||||
| } | } | ||||||
|  |  | ||||||
| function createNewNote(params: NoteParams): { | function createNewNote(params: NoteParams): { | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| const attributeService = require('./attributes'); | const attributeService = require('./attributes'); | ||||||
| const dateNoteService = require('./date_notes.js'); | const dateNoteService = require('./date_notes'); | ||||||
| const becca = require('../becca/becca'); | const becca = require('../becca/becca'); | ||||||
| const noteService = require('./notes'); | const noteService = require('./notes'); | ||||||
| const dateUtils = require('./date_utils'); | const dateUtils = require('./date_utils'); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user