mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	jsdoc fixes to make export simpler
This commit is contained in:
		| @@ -1,221 +0,0 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <title>JSDoc: Source: becca/entities/abstract_becca_entity.js</title> | ||||
|  | ||||
|     <script src="scripts/prettify/prettify.js"> </script> | ||||
|     <script src="scripts/prettify/lang-css.js"> </script> | ||||
|     <!--[if lt IE 9]> | ||||
|       <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> | ||||
|     <![endif]--> | ||||
|     <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> | ||||
|     <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> | ||||
| </head> | ||||
|  | ||||
| <body> | ||||
|  | ||||
| <div id="main"> | ||||
|  | ||||
|     <h1 class="page-title">Source: becca/entities/abstract_becca_entity.js</h1> | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|      | ||||
|     <section> | ||||
|         <article> | ||||
|             <pre class="prettyprint source linenums"><code>"use strict"; | ||||
|  | ||||
| const utils = require('../../services/utils'); | ||||
| const sql = require('../../services/sql'); | ||||
| const entityChangesService = require('../../services/entity_changes'); | ||||
| const eventService = require("../../services/events"); | ||||
| const dateUtils = require("../../services/date_utils"); | ||||
| const cls = require("../../services/cls"); | ||||
| const log = require("../../services/log"); | ||||
|  | ||||
| let becca = null; | ||||
|  | ||||
| /** | ||||
|  * Base class for all backend entities. | ||||
|  */ | ||||
| class AbstractBeccaEntity { | ||||
|     /** @protected */ | ||||
|     beforeSaving() { | ||||
|         this.generateIdIfNecessary(); | ||||
|     } | ||||
|  | ||||
|     /** @protected */ | ||||
|     generateIdIfNecessary() { | ||||
|         if (!this[this.constructor.primaryKeyName]) { | ||||
|             this[this.constructor.primaryKeyName] = utils.newEntityId(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** @protected */ | ||||
|     generateHash(isDeleted = false) { | ||||
|         let contentToHash = ""; | ||||
|  | ||||
|         for (const propertyName of this.constructor.hashedProperties) { | ||||
|             contentToHash += `|${this[propertyName]}`; | ||||
|         } | ||||
|  | ||||
|         if (isDeleted) { | ||||
|             contentToHash += "|deleted"; | ||||
|         } | ||||
|  | ||||
|         return utils.hash(contentToHash).substr(0, 10); | ||||
|     } | ||||
|  | ||||
|     /** @protected */ | ||||
|     getUtcDateChanged() { | ||||
|         return this.utcDateModified || this.utcDateCreated; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @protected | ||||
|      * @returns {Becca} | ||||
|      */ | ||||
|     get becca() { | ||||
|         if (!becca) { | ||||
|             becca = require('../becca'); | ||||
|         } | ||||
|  | ||||
|         return becca; | ||||
|     } | ||||
|  | ||||
|     /** @protected */ | ||||
|     addEntityChange(isDeleted = false) { | ||||
|         entityChangesService.addEntityChange({ | ||||
|             entityName: this.constructor.entityName, | ||||
|             entityId: this[this.constructor.primaryKeyName], | ||||
|             hash: this.generateHash(isDeleted), | ||||
|             isErased: false, | ||||
|             utcDateChanged: this.getUtcDateChanged(), | ||||
|             isSynced: this.constructor.entityName !== 'options' || !!this.isSynced | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     /** @protected */ | ||||
|     getPojoToSave() { | ||||
|         return this.getPojo(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Saves entity - executes SQL, but doesn't commit the transaction on its own | ||||
|      * | ||||
|      * @returns {this} | ||||
|      */ | ||||
|     save() { | ||||
|         const entityName = this.constructor.entityName; | ||||
|         const primaryKeyName = this.constructor.primaryKeyName; | ||||
|  | ||||
|         const isNewEntity = !this[primaryKeyName]; | ||||
|  | ||||
|         if (this.beforeSaving) { | ||||
|             this.beforeSaving(); | ||||
|         } | ||||
|  | ||||
|         const pojo = this.getPojoToSave(); | ||||
|  | ||||
|         sql.transactional(() => { | ||||
|             sql.upsert(entityName, primaryKeyName, pojo); | ||||
|  | ||||
|             if (entityName === 'recent_notes') { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             this.addEntityChange(false); | ||||
|  | ||||
|             if (!cls.isEntityEventsDisabled()) { | ||||
|                 const eventPayload = { | ||||
|                     entityName, | ||||
|                     entity: this | ||||
|                 }; | ||||
|  | ||||
|                 if (isNewEntity) { | ||||
|                     eventService.emit(eventService.ENTITY_CREATED, eventPayload); | ||||
|                 } | ||||
|  | ||||
|                 eventService.emit(eventService.ENTITY_CHANGED, eventPayload); | ||||
|             } | ||||
|         }); | ||||
|  | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Mark the entity as (soft) deleted. It will be completely erased later. | ||||
|      * | ||||
|      * This is a low level method, for notes and branches use `note.deleteNote()` and 'branch.deleteBranch()` instead. | ||||
|      * | ||||
|      * @param [deleteId=null] | ||||
|      */ | ||||
|     markAsDeleted(deleteId = null) { | ||||
|         const entityId = this[this.constructor.primaryKeyName]; | ||||
|         const entityName = this.constructor.entityName; | ||||
|  | ||||
|         this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|  | ||||
|         sql.execute(`UPDATE ${entityName} SET isDeleted = 1, deleteId = ?, utcDateModified = ? | ||||
|                            WHERE ${this.constructor.primaryKeyName} = ?`, | ||||
|             [deleteId, this.utcDateModified, entityId]); | ||||
|  | ||||
|         if (this.dateModified) { | ||||
|             this.dateModified = dateUtils.localNowDateTime(); | ||||
|  | ||||
|             sql.execute(`UPDATE ${entityName} SET dateModified = ? WHERE ${this.constructor.primaryKeyName} = ?`, | ||||
|                 [this.dateModified, entityId]); | ||||
|         } | ||||
|  | ||||
|         log.info(`Marking ${entityName} ${entityId} as deleted`); | ||||
|  | ||||
|         this.addEntityChange(true); | ||||
|  | ||||
|         eventService.emit(eventService.ENTITY_DELETED, { entityName, entityId, entity: this }); | ||||
|     } | ||||
|  | ||||
|     markAsDeletedSimple() { | ||||
|         const entityId = this[this.constructor.primaryKeyName]; | ||||
|         const entityName = this.constructor.entityName; | ||||
|  | ||||
|         this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|  | ||||
|         sql.execute(`UPDATE ${entityName} SET isDeleted = 1, utcDateModified = ? | ||||
|                            WHERE ${this.constructor.primaryKeyName} = ?`, | ||||
|             [this.utcDateModified, entityId]); | ||||
|  | ||||
|         log.info(`Marking ${entityName} ${entityId} as deleted`); | ||||
|  | ||||
|         this.addEntityChange(true); | ||||
|  | ||||
|         eventService.emit(eventService.ENTITY_DELETED, { entityName, entityId, entity: this }); | ||||
|     } | ||||
| } | ||||
|  | ||||
| module.exports = AbstractBeccaEntity; | ||||
| </code></pre> | ||||
|         </article> | ||||
|     </section> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| </div> | ||||
|  | ||||
| <nav> | ||||
|     <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="AbstractBeccaEntity.html">AbstractBeccaEntity</a></li><li><a href="BAttribute.html">BAttribute</a></li><li><a href="BBranch.html">BBranch</a></li><li><a href="BEtapiToken.html">BEtapiToken</a></li><li><a href="BNote.html">BNote</a></li><li><a href="BNoteRevision.html">BNoteRevision</a></li><li><a href="BOption.html">BOption</a></li><li><a href="BRecentNote.html">BRecentNote</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||
| </nav> | ||||
|  | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.0</a> | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
| <script src="scripts/linenumber.js"> </script> | ||||
| </body> | ||||
| </html> | ||||
		Reference in New Issue
	
	Block a user