becca_entities_option.js.html 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Source: becca/entities/option.js</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Source: becca/entities/option.js</h1>
  17. <section>
  18. <article>
  19. <pre class="prettyprint source linenums"><code>"use strict";
  20. const dateUtils = require('../../services/date_utils');
  21. const AbstractEntity = require("./abstract_entity");
  22. /**
  23. * Option represents name-value pair, either directly configurable by the user or some system property.
  24. */
  25. class Option extends AbstractEntity {
  26. static get entityName() { return "options"; }
  27. static get primaryKeyName() { return "name"; }
  28. static get hashedProperties() { return ["name", "value"]; }
  29. constructor(row) {
  30. super();
  31. /** @type {string} */
  32. this.name = row.name;
  33. /** @type {string} */
  34. this.value = row.value;
  35. /** @type {boolean} */
  36. this.isSynced = !!row.isSynced;
  37. /** @type {string} */
  38. this.utcDateModified = row.utcDateModified;
  39. this.becca.options[this.name] = this;
  40. }
  41. beforeSaving() {
  42. super.beforeSaving();
  43. this.utcDateModified = dateUtils.utcNowDateTime();
  44. }
  45. getPojo() {
  46. return {
  47. name: this.name,
  48. value: this.value,
  49. isSynced: this.isSynced,
  50. utcDateModified: this.utcDateModified
  51. }
  52. }
  53. }
  54. module.exports = Option;
  55. </code></pre>
  56. </article>
  57. </section>
  58. </div>
  59. <nav>
  60. <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="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="EtapiToken.html">EtapiToken</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>
  61. </nav>
  62. <br class="clear">
  63. <footer>
  64. Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
  65. </footer>
  66. <script> prettyPrint(); </script>
  67. <script src="scripts/linenumber.js"> </script>
  68. </body>
  69. </html>