entities_option.js.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Source: 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: entities/option.js</h1>
  17. <section>
  18. <article>
  19. <pre class="prettyprint source linenums"><code>"use strict";
  20. const Entity = require('./entity');
  21. const dateUtils = require('../services/date_utils');
  22. /**
  23. * Option represents name-value pair, either directly configurable by the user or some system property.
  24. *
  25. * @property {string} name
  26. * @property {string} value
  27. * @property {boolean} isSynced
  28. * @property {string} utcDateModified
  29. * @property {string} utcDateCreated
  30. *
  31. * @extends Entity
  32. */
  33. class Option extends Entity {
  34. static get entityName() { return "options"; }
  35. static get primaryKeyName() { return "name"; }
  36. static get hashedProperties() { return ["name", "value"]; }
  37. constructor(row) {
  38. super(row);
  39. this.isSynced = !!this.isSynced;
  40. }
  41. beforeSaving() {
  42. if (!this.utcDateCreated) {
  43. this.utcDateCreated = dateUtils.utcNowDateTime();
  44. }
  45. super.beforeSaving();
  46. if (this.isChanged) {
  47. this.utcDateModified = dateUtils.utcNowDateTime();
  48. }
  49. }
  50. }
  51. module.exports = Option;</code></pre>
  52. </article>
  53. </section>
  54. </div>
  55. <nav>
  56. <h2><a href="index.html">Home</a></h2><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="Entity.html">Entity</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>
  57. </nav>
  58. <br class="clear">
  59. <footer>
  60. Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.4</a>
  61. </footer>
  62. <script> prettyPrint(); </script>
  63. <script src="scripts/linenumber.js"> </script>
  64. </body>
  65. </html>