def streams(self, public=False, downlink=False, visible=True):
result = self.db.read(self.path, {"<STR_LIT:q>": "<STR_LIT>",<EOL>"<STR_LIT>": str(public).lower(),<EOL>"<STR_LIT>": str(downlink).lower(),<EOL>"<STR_LIT>": str(visible).lower()})<EOL>if result is None or result.json() is None:<EOL><INDENT>return []<EOL><DEDENT>streams = []<EOL>for d in result.json():<EOL><INDENT>s = self[d["<STR_LIT>"]][d["<STR_LIT:name>"]]<EOL>s.metadata = d<EOL>streams.append(s)<EOL><DEDENT>return streams<EOL>
Returns the list of streams that belong to the user.
        The list can optionally be filtered in 3 ways:
            - public: when True, returns only streams belonging to public devices
            - downlink: If True, returns only downlink streams
            - visible: If True (default), returns only streams of visible devices