2021-09-30 18:26:13 +08:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title > JSDoc: Source: becca/entities/option.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/option.js< / h1 >
< section >
< article >
< pre class = "prettyprint source linenums" > < code > "use strict";
const dateUtils = require('../../services/date_utils.js');
const AbstractEntity = require("./abstract_entity.js");
/**
* Option represents name-value pair, either directly configurable by the user or some system property.
*/
class Option extends AbstractEntity {
static get entityName() { return "options"; }
static get primaryKeyName() { return "name"; }
static get hashedProperties() { return ["name", "value"]; }
constructor(row) {
super();
2021-11-11 04:30:54 +08:00
/** @type {string} */
2021-09-30 18:26:13 +08:00
this.name = row.name;
2021-11-11 04:30:54 +08:00
/** @type {string} */
2021-09-30 18:26:13 +08:00
this.value = row.value;
2021-11-11 04:30:54 +08:00
/** @type {boolean} */
2021-09-30 18:26:13 +08:00
this.isSynced = !!row.isSynced;
2021-11-11 04:30:54 +08:00
/** @type {string} */
2021-09-30 18:26:13 +08:00
this.utcDateModified = row.utcDateModified;
this.becca.options[this.name] = this;
}
beforeSaving() {
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
getPojo() {
return {
name: this.name,
value: this.value,
isSynced: this.isSynced,
2022-01-06 03:31:21 +08:00
utcDateModified: this.utcDateModified
2021-09-30 18:26:13 +08:00
}
}
}
module.exports = Option;
< / code > < / pre >
< / article >
< / section >
< / div >
< nav >
2022-01-06 03:31:21 +08:00
< h2 > < a href = "index.html" > Home< / a > < / h2 > < h3 > Modules< / h3 > < ul > < li > < a href = "sql%250A%250ATODO_%2520some%2520methods%2520(like%2520getValue())%2520could%2520use%2520raw%2520rowsmodule_.html" > sql
TODO: some methods (like getValue()) could use raw rows< / a > < / li > < / ul > < h3 > Classes< / h3 > < ul > < li > < a href = "ApiToken.html" > ApiToken< / a > < / li > < li > < a href = "Attribute.html" > Attribute< / a > < / li > < li > < a href = "BackendScriptApi.html" > BackendScriptApi< / a > < / li > < li > < a href = "Branch.html" > Branch< / a > < / li > < li > < a href = "Note.html" > Note< / a > < / li > < li > < a href = "NoteRevision.html" > NoteRevision< / a > < / li > < li > < a href = "Option.html" > Option< / a > < / li > < li > < a href = "RecentNote.html" > RecentNote< / a > < / li > < / ul > < h3 > < a href = "global.html" > Global< / a > < / h3 >
2021-09-30 18:26:13 +08:00
< / nav >
< br class = "clear" >
< footer >
Documentation generated by < a href = "https://github.com/jsdoc/jsdoc" > JSDoc 3.6.7< / a >
< / footer >
< script > prettyPrint ( ) ; < / script >
< script src = "scripts/linenumber.js" > < / script >
< / body >
< / html >