UNPKG

copious-transitions

Version:
3,769 lines (906 loc) 45.5 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Class: DBClass</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">Class: DBClass</h1> <section> <header> <h2><span class="attribs"><span class="type-signature"></span></span> <span class="ancestors"><a href="base.html">base</a>.</span>DBClass<span class="signature">()</span><span class="type-signature"></span></h2> <div class="class-description"><p>This class provides a central point of reckonning for database interfaces. All modules that preform actions on behalf of the contractual modules have access to the application database interface. This class provides interfaes for different type of databases.</p> <p>the idea of the different types of DBs</p> <ol> <li>The key value DB is an LRU in memory cache which has disk backup. Different kinds of data structures can be put there -- if a value is out of cache, it can be retrieved from disk. Used in song-search db. Stores files as the value. -- Also, it retrieves files from disk at startup and stores them into the in memory table. (A shim for something like -- Redis might be used.)</li> <li>The session_key_value_db -- this is for taking in and validating sessions in particular. It might be useful for other -- data collection purposes. This is in-memory records, specifically within an LRU. There is no disk backup. But, -- there is redundancy on secondary machines which will hold sessions for longer periods of time and age them out -- gracefully unless they are accessed.</li> <li>the pdb - a persistence database is a database that promises to maintain a record with some permanence. It is fronted by -- a key value db with ephemeral properties. But, it can be assumed that the records will be written early in the life of -- a data object. Aging out of the LRU quickly can be expected. And, the data location can be expected to be on a seconday -- machine. (User records -- for customer stats, etc. may be stored here)</li> <li>the sdb - a static data base. The static db is expected to be fairly similar to a persistence DB, except that it offers the -- guarantee that the data items are stored on a disk local to the process which accesses the code. (This is mostly used to -- create a set of static assets for serving to web sessions. Ideally, the sort of caching available to nginx or other -- web servers might be served by this sort of store.) It is expected that the store will be loaded when the database service -- starts for the general case. (The general case handles as much logic a it can. Dashboard and profile assets can be loaded. -- these are sitewide pages or page frameworks which might be loaded with user specific data.)</li> </ol> <p>Note: both the persistence DB and the static DB will default to using the DB provided by <code>default_persistent_db</code> if these are not configured or passed into the constructor.</p> <p>NOTE: all the base classes in /lib return the class and do not return an instance. Explore the applications and the reader will find that the descendant modules export instances. The classes provided by copious-transitions must be extended by an application.</p></div> </header> <article> <div class="container-overview"> <h2>Constructor</h2> <h4 class="name" id="DBClass"><span class="type-signature"></span>new DBClass<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line42">line 42</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <h4 class="name" id="cache_stored"><span class="type-signature">(async) </span>cache_stored<span class="signature">(key, body)</span><span class="type-signature"> &rarr; {object}</span></h4> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>body</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line329">line 329</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="del_key_value"><span class="type-signature">(async) </span>del_key_value<span class="signature">(token)</span><span class="type-signature"></span></h4> <div class="description"> <p>delete from the key value DB</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>token</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line123">line 123</a> </li></ul></dd> </dl> <h4 class="name" id="del_session_key_value"><span class="type-signature">(async) </span>del_session_key_value<span class="signature">(key)</span><span class="type-signature"></span></h4> <div class="description"> <p>Remove the key from the hash table and free up space.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line166">line 166</a> </li></ul></dd> </dl> <h4 class="name" id="del_static_store"><span class="type-signature">(async) </span>del_static_store<span class="signature">(whokey)</span><span class="type-signature"></span></h4> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>whokey</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line280">line 280</a> </li></ul></dd> </dl> <h4 class="name" id="disconnect"><span class="type-signature"></span>disconnect<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4> <div class="description"> <p>This method is made available for applications that will clean up database connections on shutdown or at various other times.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line417">line 417</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>the extending class must implement this method</li> </ul> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="drop"><span class="type-signature"></span>drop<span class="signature">(collection, data)</span><span class="type-signature"></span></h4> <div class="description"> <p>This is a method for wrapping <code>drop</code> usually associated with a DB for dropping a table. The collection is some object (perhaps a string) identifying the object to be dropped.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>collection</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>A table that will be dropped</p></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>any data that might be used by a method dropping a DB table.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line408">line 408</a> </li></ul></dd> </dl> <h4 class="name" id="exists"><span class="type-signature"></span>exists<span class="signature">(collection, data)</span><span class="type-signature"> &rarr; {boolean}</span></h4> <div class="description"> <p>A method for checling the existence of some object in a DB table.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>collection</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>A table that will containing the item to be found</p></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>any data that might be used by a method for searching for an entry</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line388">line 388</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="fetch"><span class="type-signature"></span>fetch<span class="signature">(key)</span><span class="type-signature"> &rarr; {object}</span></h4> <div class="description"> <p>This may be an implementation of get for one of the DB types. But, it may have other properties. This is left as an abstract entry point for an application to define.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line218">line 218</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="fetch_fields"><span class="type-signature">(async) </span>fetch_fields<span class="signature">(fields_key)</span><span class="type-signature"> &rarr; {object}</span></h4> <div class="description"> <p>This method is for fecthing the description of fields that may occur in client forms. This method is called by the method used to configure the validator.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>fields_key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line198">line 198</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="get_key_value"><span class="type-signature">(async) </span>get_key_value<span class="signature">(key)</span><span class="type-signature"> &rarr; {any}</span></h4> <div class="description"> <p>return the value mapped by the key in the DB. retun null if the value is not present.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>key mapping to the object</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line135">line 135</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">any</span> </dd> </dl> <h4 class="name" id="get_session_key_value"><span class="type-signature">(async) </span>get_session_key_value<span class="signature">(key)</span><span class="type-signature"> &rarr; {any}</span></h4> <div class="description"> <p>Get the value from the hash table. The value mapped by the key is often a JSON object. If so, it should be parsed before it is returned.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line178">line 178</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>The value mapped by the key</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">any</span> </dd> </dl> <h4 class="name" id="initialize"><span class="type-signature"></span>initialize<span class="signature">(conf)</span><span class="type-signature"></span></h4> <div class="description"> <p>Calls the initialization methods for all the connection based databases interfaces. This includes the <code>key_value_db</code>, the persistent db (pdb), and the static db (sdb). The <code>static_sync</code> interval is read from the configuration.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>conf</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line81">line 81</a> </li></ul></dd> </dl> <h4 class="name" id="last_step_initalization"><span class="type-signature"></span>last_step_initalization<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>The method <code>last_step_initalization</code> exists in order to give make a call available to the initialization process in the <code>user_service_class</code> module. This method is called at the start of <code>run</code>.s</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line95">line 95</a> </li></ul></dd> </dl> <h4 class="name" id="put_static_store"><span class="type-signature">(async) </span>put_static_store<span class="signature">(whokey, text, mime_type, extension)</span><span class="type-signature"> &rarr; {boolean}</span></h4> <div class="description"> <p>put the object in the static db, which attempts to keep a copy of the asset close to the processor on its own local disks...</p> <p>wrap the object in a carrier, in which the object is serialized with its mime-type for future transport..</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>whokey</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>text</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>mime_type</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>extension</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line258">line 258</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="remove"><span class="type-signature"></span>remove<span class="signature">(collection, data)</span><span class="type-signature"></span></h4> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>collection</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>A table that will containing the item to be removed</p></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>any data that might be used by a method removing an entry</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line398">line 398</a> </li></ul></dd> </dl> <h4 class="name" id="set_hasher"><span class="type-signature"></span>set_hasher<span class="signature">(hashfn)</span><span class="type-signature"></span></h4> <div class="description"> <p>If the hasher is not set during construction, then the application may use this method to set the has function for use by the db.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>hashfn</code></td> <td class="type"> <span class="param-type">*</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line104">line 104</a> </li></ul></dd> </dl> <h4 class="name" id="set_key_value"><span class="type-signature">(async) </span>set_key_value<span class="signature">(key, value)</span><span class="type-signature"></span></h4> <div class="description"> <p>Insert or update in the key value DB</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>value</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><ul> <li></li> </ul></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line114">line 114</a> </li></ul></dd> </dl> <h4 class="name" id="set_session_key_value"><span class="type-signature">(async) </span>set_session_key_value<span class="signature">(key, value)</span><span class="type-signature"> &rarr; {string}</span></h4> <div class="description"> <p>The session storage. Most likely the session storage will be implemented as a shared hash table. Some implementations may user share memory storage. And, some may use DHT (distributed hash tables).</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>value</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line156">line 156</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>the hash key for the value.</li> </ul> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="static_store"><span class="type-signature">(async) </span>static_store<span class="signature">(asset)</span><span class="type-signature"> &rarr; {object}</span></h4> <div class="description"> <p>Get an object from static store</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>asset</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line231">line 231</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>-- the stored object</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="static_synchronizer"><span class="type-signature"></span>static_synchronizer<span class="signature">(sync_function)</span><span class="type-signature"></span></h4> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>sync_function</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line289">line 289</a> </li></ul></dd> </dl> <h4 class="name" id="store"><span class="type-signature"></span>store<span class="signature">(collection, data)</span><span class="type-signature"></span></h4> <div class="description"> <p>A wrapper for putting data into a table</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>collection</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>A table that will eventually contain the item</p></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>any data that might be used by a method for inserting an entry or the data to be stored</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line378">line 378</a> </li></ul></dd> </dl> <h4 class="name" id="store_cache"><span class="type-signature">(async) </span>store_cache<span class="signature">(key, data, back_ref)</span><span class="type-signature"></span></h4> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>back_ref</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line308">line 308</a> </li></ul></dd> </dl> <h4 class="name" id="update_cache"><span class="type-signature">(async) </span>update_cache<span class="signature">(key, data, back_ref)</span><span class="type-signature"></span></h4> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>back_ref</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_db.js.html">lib/general_db.js</a>, <a href="lib_general_db.js.html#line351">line 351</a> </li></ul></dd> </dl> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="Contractual.html">Contractual</a></li><li><a href="CopiousTransitions.html">CopiousTransitions</a></li><li><a href="DefaultDB.html">DefaultDB</a></li><li><a href="base.html">base</a></li><li><a href="field_validators.html">field_validators</a></li></ul><h3>Classes</h3><ul><li><a href="Contractual.LocalTObjectCache.html">LocalTObjectCache</a></li><li><a href="Contractual.MimeHandling.html">MimeHandling</a></li><li><a href="Contractual.TransitionHandling.html">TransitionHandling</a></li><li><a href="Contractual.UserHandling.html">UserHandling</a></li><li><a href="CopiousTransitions.CopiousTransitions.html">CopiousTransitions</a></li><li><a href="DefaultDB.CustomizationMethodsByApplication.html">CustomizationMethodsByApplication</a></li><li><a href="DefaultDB.FauxInMemStore.html">FauxInMemStore</a></li><li><a href="DefaultDB.FileMapper.html">FileMapper</a></li><li><a href="DefaultDB.FilesAndRelays.html">FilesAndRelays</a></li><li><a href="DefaultDB.FilesAndRelays_base.html">FilesAndRelays_base</a></li><li><a href="DefaultDB.LocalStaticDB.html">LocalStaticDB</a></li><li><a href="DefaultDB.LocalStorageLifeCycle.html">LocalStorageLifeCycle</a></li><li><a href="DefaultDB.LocalStorageSerialization.html">LocalStorageSerialization</a></li><li><a href="DefaultDB.PageableMemStoreElement.html">PageableMemStoreElement</a></li><li><a href="DefaultDB.PersistenceContracts.html">PersistenceContracts</a></li><li><a href="DefaultDB.RemoteMessaging.html">RemoteMessaging</a></li><li><a href="DefaultDB.StaticDBDefault.html">StaticDBDefault</a></li><li><a href="GeneralUserDBWrapperImpl.html">GeneralUserDBWrapperImpl</a></li><li><a href="SessionTokenManager.html">SessionTokenManager</a></li><li><a href="base.DBClass.html">DBClass</a></li><li><a href="base.EndpointManager.html">EndpointManager</a></li><li><a href="base.GeneralAppLifeCycle.html">GeneralAppLifeCycle</a></li><li><a href="base.GeneralAuth.html">GeneralAuth</a></li><li><a href="base.GeneralBusiness.html">GeneralBusiness</a></li><li><a href="base.GeneralDynamic.html">GeneralDynamic</a></li><li><a href="base.GeneralMiddleWare.html">GeneralMiddleWare</a></li><li><a href="base.GeneralStatic.html">GeneralStatic</a></li><li><a href="base.GeneralTransitionEngImpl.html">GeneralTransitionEngImpl</a></li><li><a href="base.SessionManager.html">SessionManager</a></li><li><a href="base.SessionManager_Lite.html">SessionManager_Lite</a></li><li><a href="base.TaggedTransition.html">TaggedTransition</a></li><li><a href="base.TokenTables.html">TokenTables</a></li><li><a href="base.UserMessageEndpoint.html">UserMessageEndpoint</a></li><li><a href="base.WebSocketManager.html">WebSocketManager</a></li><li><a href="field_validators.DataLookupField.html">DataLookupField</a></li><li><a href="field_validators.EmailField.html">EmailField</a></li><li><a href="field_validators.EmailVerifyField.html">EmailVerifyField</a></li><li><a href="field_validators.FieldTest.html">FieldTest</a></li><li><a href="field_validators.FieldValidatorTools.html">FieldValidatorTools</a></li><li><a href="field_validators.ForeignAuth.html">ForeignAuth</a></li><li><a href="field_validators.GeneralValidator.html">GeneralValidator</a></li><li><a href="field_validators.LengthyAlphabetField.html">LengthyAlphabetField</a></li><li><a href="field_validators.LengthyDigitalField.html">LengthyDigitalField</a></li><li><a href="field_validators.LengthyField.html">LengthyField</a></li><li><a href="field_validators.LengthyStringField.html">LengthyStringField</a></li><li><a href="field_validators.PasswordField.html">PasswordField</a></li><li><a href="field_validators.PasswordVerifyField.html">PasswordVerifyField</a></li><li><a href="field_validators.TypeCheckField.html">TypeCheckField</a></li></ul><h3>Global</h3><ul><li><a href="global.html#generate_password_block">generate_password_block</a></li><li><a href="global.html#load_configuration">load_configuration</a></li><li><a href="global.html#load_parameters">load_parameters</a></li><li><a href="global.html#module_top">module_top</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.2</a> on Tue Oct 31 2023 17:32:59 GMT-0700 (Pacific Daylight Time) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>