.Y'^ d dl mZ d dlZd dlZd dlmZ d dlmZmZm Z m
Z
mZmZ d dl
mZ d dlmZ d dlmZmZmZ erd dlmZ ed Z ee Zd
Z ee Z G d d ZdS )
)annotationsN)BytesParser)
TYPE_CHECKINGAnyDictIterableListOptional)NoRespondersError)api)APIError
NotFoundErrorServiceUnavailableError)NATSs NATS/1.0s
c e Zd ZdZej dfdEdZdFd
ZdGdZdHdIdZ dHdJdZ
dHdJdZdKdZ dLdMdZ
dHdNd#ZdOdPd&ZdOdQd(Z dRdSd+ZdTd,Z dHdUd/Z dHdVd0ZdHdWd3Z dXdYd:ZedZd; Zd[d=Z d\d]d>Z d^d_dDZdS )`JetStreamManagerzA
JetStreamManager exposes management APIs for JetStream.
connr prefixstrtimeoutfloatreturnNonec V || _ || _ || _ t | _ d S N)_prefix_nc_timeoutr _hdr_parser)selfr r r s o/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib/python3.11/site-packages/nats/js/manager.py__init__zJetStreamManager.__init__( s+
&== api.AccountInfoc K | | j dd| j d {V }t j | S )Nz.INFOr$ r )_api_requestr r r AccountInfo
from_response)r! resps r" account_infozJetStreamManager.account_info3 sU &&$,'='='=sDM&ZZZZZZZZ,,T222r$ subjectc K | j d}t j d|i }| || | j d{V }|d st |d d S )zK
Find the stream to which a subject belongs in an account.
z
.STREAM.NAMESr- r' Nstreamsr )r jsondumpsr( encoder r )r! r- req_subreq_datainfos r" find_stream_name_by_subjectz,JetStreamManager.find_stream_name_by_subject7 s
\000:y'233&&w0A0A4=&YYYYYYYYI Iq!!r$ Nnamesubjects_filter
Optional[str]api.StreamInfoc K d}|rt j d|i }| | j d| | | j d{V }t j | S )z;
Get the latest StreamInfo by stream name.
r8 z
.STREAM.INFO.r' N) r0 r1 r( r r2 r r
StreamInfor* )r! r7 r8 r4 r+ s r" stream_infozJetStreamManager.stream_infoC s Hz#4o"FGGH&&|00$00OOM '
~++D111r$ configOptional[api.StreamConfig]c f K |t j } |j d
i |}|j t d t d }t
fd|D }t
d D } }|s|s|rt d d t j |
}| | j d |
| j d{V }t j | S )z.
add_stream creates a stream.
Nnats: stream name is requiredz.*>/\c 3 K | ]}|v V d S r ).0charstream_names r"