blob: 9ebf63e70575a63c93bcc67c5c3edbf3b607b83f [file] [log] [blame]
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ResilientDB SDK: resdb_validator.utils Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_html_style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('namespaceresdb__validator_1_1utils.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">resdb_validator.utils Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4476a356eeb2aa12d036bae5b01ab6d3" id="r_a4476a356eeb2aa12d036bae5b01ab6d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a4476a356eeb2aa12d036bae5b01ab6d3">deserialize</a> (data)</td></tr>
<tr class="separator:a4476a356eeb2aa12d036bae5b01ab6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a319d3a22233ce2768e3a3cb2be2f4657" id="r_a319d3a22233ce2768e3a3cb2be2f4657"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a319d3a22233ce2768e3a3cb2be2f4657">gen_timestamp</a> ()</td></tr>
<tr class="separator:a319d3a22233ce2768e3a3cb2be2f4657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada2d007ca5511284158ea3272f4506df" id="r_ada2d007ca5511284158ea3272f4506df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#ada2d007ca5511284158ea3272f4506df">serialize</a> (data)</td></tr>
<tr class="separator:ada2d007ca5511284158ea3272f4506df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bc4bb3c8d4635c80952d7869a7e5a97" id="r_a9bc4bb3c8d4635c80952d7869a7e5a97"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a9bc4bb3c8d4635c80952d7869a7e5a97">validate_all_items_in_list</a> (obj_name, data, validation_fun)</td></tr>
<tr class="separator:a9bc4bb3c8d4635c80952d7869a7e5a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a814d1d5fea7a307ad2caed2238edfe1b" id="r_a814d1d5fea7a307ad2caed2238edfe1b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a814d1d5fea7a307ad2caed2238edfe1b">validate_all_keys_in_obj</a> (obj_name, obj, validation_fun)</td></tr>
<tr class="separator:a814d1d5fea7a307ad2caed2238edfe1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c053b3781c930b20ebad6cb5cb872e8" id="r_a5c053b3781c930b20ebad6cb5cb872e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a5c053b3781c930b20ebad6cb5cb872e8">validate_all_values_for_key_in_list</a> (input_list, key, validation_fun)</td></tr>
<tr class="separator:a5c053b3781c930b20ebad6cb5cb872e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29e46f108bc325e7271dc6fe2dfe84c9" id="r_a29e46f108bc325e7271dc6fe2dfe84c9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a29e46f108bc325e7271dc6fe2dfe84c9">validate_all_values_for_key_in_obj</a> (obj, key, validation_fun)</td></tr>
<tr class="separator:a29e46f108bc325e7271dc6fe2dfe84c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1e1f4d9aff53b31f54706a38bfaf9c0" id="r_ac1e1f4d9aff53b31f54706a38bfaf9c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#ac1e1f4d9aff53b31f54706a38bfaf9c0">validate_key</a> (obj_name, key)</td></tr>
<tr class="separator:ac1e1f4d9aff53b31f54706a38bfaf9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e537af59458b5d561f8689af13d325a" id="r_a5e537af59458b5d561f8689af13d325a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceresdb__validator_1_1utils.html#a5e537af59458b5d561f8689af13d325a">validate_txn_obj</a> (obj_name, obj, key, validation_fun)</td></tr>
<tr class="separator:a5e537af59458b5d561f8689af13d325a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a4476a356eeb2aa12d036bae5b01ab6d3" name="a4476a356eeb2aa12d036bae5b01ab6d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4476a356eeb2aa12d036bae5b01ab6d3">&#9670;&#160;</a></span>deserialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">deserialize </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Deserialize a JSON formatted string into a dict.
Args:
data (str): JSON formatted string.
Returns:
dict: dict resulting from the serialization of a JSON formatted
string.
</pre>
</div>
</div>
<a id="a319d3a22233ce2768e3a3cb2be2f4657" name="a319d3a22233ce2768e3a3cb2be2f4657"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a319d3a22233ce2768e3a3cb2be2f4657">&#9670;&#160;</a></span>gen_timestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gen_timestamp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">The Unix time, rounded to the nearest second.
See https://en.wikipedia.org/wiki/Unix_time
Returns:
str: the Unix time
</pre>
</div>
</div>
<a id="ada2d007ca5511284158ea3272f4506df" name="ada2d007ca5511284158ea3272f4506df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada2d007ca5511284158ea3272f4506df">&#9670;&#160;</a></span>serialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">serialize </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Serialize a dict into a JSON formatted string.
This function enforces rules like the separator and order of keys.
This ensures that all dicts are serialized in the same way.
This is specially important for hashing data. We need to make sure that
everyone serializes their data in the same way so that we do not have
hash mismatches for the same structure due to serialization
differences.
Args:
data (dict): dict to serialize
Returns:
str: JSON formatted string</pre>
</div>
</div>
<a id="a9bc4bb3c8d4635c80952d7869a7e5a97" name="a9bc4bb3c8d4635c80952d7869a7e5a97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bc4bb3c8d4635c80952d7869a7e5a97">&#9670;&#160;</a></span>validate_all_items_in_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">validate_all_items_in_list </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>validation_fun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a814d1d5fea7a307ad2caed2238edfe1b" name="a814d1d5fea7a307ad2caed2238edfe1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a814d1d5fea7a307ad2caed2238edfe1b">&#9670;&#160;</a></span>validate_all_keys_in_obj()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">validate_all_keys_in_obj </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>validation_fun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Validate all (nested) keys in `obj` by using `validation_fun`.
Args:
obj_name (str): name for `obj` being validated.
obj (dict): dictionary object.
validation_fun (function): function used to validate the value
of `key`.
Returns:
None: indicates validation successful
Raises:
ValidationError: `validation_fun` will raise this error on failure
</pre>
</div>
</div>
<a id="a5c053b3781c930b20ebad6cb5cb872e8" name="a5c053b3781c930b20ebad6cb5cb872e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c053b3781c930b20ebad6cb5cb872e8">&#9670;&#160;</a></span>validate_all_values_for_key_in_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">validate_all_values_for_key_in_list </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>input_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>validation_fun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a29e46f108bc325e7271dc6fe2dfe84c9" name="a29e46f108bc325e7271dc6fe2dfe84c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29e46f108bc325e7271dc6fe2dfe84c9">&#9670;&#160;</a></span>validate_all_values_for_key_in_obj()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">validate_all_values_for_key_in_obj </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>validation_fun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Validate value for all (nested) occurrence of `key` in `obj`
using `validation_fun`.
Args:
obj (dict): dictionary object.
key (str): key whose value is to be validated.
validation_fun (function): function used to validate the value
of `key`.
Raises:
ValidationError: `validation_fun` will raise this error on failure
</pre>
</div>
</div>
<a id="ac1e1f4d9aff53b31f54706a38bfaf9c0" name="ac1e1f4d9aff53b31f54706a38bfaf9c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1e1f4d9aff53b31f54706a38bfaf9c0">&#9670;&#160;</a></span>validate_key()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">validate_key </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Check if `key` contains ".", "$" or null characters.
https://docs.mongodb.com/manual/reference/limits/#Restrictions-on-Field-Names
Args:
obj_name (str): object name to use when raising exception
key (str): key to validated
Returns:
None: validation successful
Raises:
ValidationError: will raise exception in case of regex match.
</pre>
</div>
</div>
<a id="a5e537af59458b5d561f8689af13d325a" name="a5e537af59458b5d561f8689af13d325a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e537af59458b5d561f8689af13d325a">&#9670;&#160;</a></span>validate_txn_obj()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">validate_txn_obj </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>validation_fun</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Validate value of `key` in `obj` using `validation_fun`.
Args:
obj_name (str): name for `obj` being validated.
obj (dict): dictionary object.
key (str): key to be validated in `obj`.
validation_fun (function): function used to validate the value
of `key`.
Returns:
None: indicates validation successful
Raises:
ValidationError: `validation_fun` will raise exception on failure
</pre>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceresdb__validator.html">resdb_validator</a></li><li class="navelem"><a class="el" href="namespaceresdb__validator_1_1utils.html">utils</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>