mirror of
https://github.com/unclebob/more-speech.git
synced 2024-09-30 02:21:02 +00:00
Active subscription type.
This commit is contained in:
parent
1d75b621af
commit
b68402f9cc
@ -1,7 +1,8 @@
|
||||
(ns more-speech.mem
|
||||
(:require [clojure.spec.alpha :as s]
|
||||
[more-speech.types.relay :as relay-type]
|
||||
[more-speech.types.profile :as profile-type]))
|
||||
[more-speech.types.profile :as profile-type]
|
||||
[more-speech.types.active-subscription :as subscription-type]))
|
||||
|
||||
;(s/def ::id number?)
|
||||
;(s/def ::created-at number?)
|
||||
@ -43,12 +44,15 @@
|
||||
|
||||
(s/def ::pubkey number?) ;The public key of the user
|
||||
(s/def ::keys ::profile-type/profile)
|
||||
(s/def ::request-hours-ago int?) ;command line argument
|
||||
(s/def ::websocket-backlog int?) ;number of unprocessed events
|
||||
|
||||
(s/def ::mem (s/keys :req-un [::relay-type/relays
|
||||
::pubkey
|
||||
::keys]
|
||||
:opt-un [::request-hours-ago
|
||||
::websocket-backlog
|
||||
::active-subscriptions
|
||||
::subscription-type/active-subscriptions
|
||||
::tabs-list
|
||||
::tab-tree-map
|
||||
::frame
|
||||
|
29
src/more_speech/types/active_subscription.clj
Normal file
29
src/more_speech/types/active_subscription.clj
Normal file
@ -0,0 +1,29 @@
|
||||
(ns more-speech.types.active-subscription
|
||||
(:require [clojure.spec.alpha :as s]))
|
||||
|
||||
(s/def ::subscription-url string?)
|
||||
(s/def ::subscription-id string?)
|
||||
(s/def ::eose #{:close :next-batch}) ;action to perform on EOSE
|
||||
(s/def ::min-time int?) ;time of earliest event in this batch
|
||||
(s/def ::max-time int?) ;time of latest event in this batch
|
||||
(s/def ::last-batch-min-time int?) ;time of earliest event in last batch
|
||||
(s/def ::back-to int?) ;batching ends when we get here.
|
||||
(s/def ::since int?) ;earliest requested time for this batch
|
||||
(s/def ::filter map?) ; other filters as per REQ
|
||||
(s/def ::event-counter int?) ;number of events in this batch
|
||||
(s/def ::batch-closed boolean?) ;batch complete EOSE received.
|
||||
(s/def ::subscription (s/keys :opt-un [::eose
|
||||
::batch-closed
|
||||
::min-time
|
||||
::max-time
|
||||
::event-counter
|
||||
::last-batch-min-time
|
||||
::back-to
|
||||
::since
|
||||
::until
|
||||
::filter
|
||||
]))
|
||||
(s/def ::subscriptions (s/or :nil nil?
|
||||
:subscriptions (s/map-of ::subscription-id ::subscription)))
|
||||
(s/def ::active-subscriptions (s/or :nil nil?
|
||||
:subscriptions (s/map-of ::subscription-url ::subscriptions)))
|
@ -19,12 +19,12 @@
|
||||
::picture
|
||||
::public-key
|
||||
::private-key]
|
||||
:req-opt [::lud16
|
||||
::lud06
|
||||
::banner
|
||||
::display-name
|
||||
::website
|
||||
::nip05
|
||||
::created-at
|
||||
::wallet-connect
|
||||
::password]))
|
||||
:opt-un [::lud16
|
||||
::lud06
|
||||
::banner
|
||||
::display-name
|
||||
::website
|
||||
::nip05
|
||||
::created-at
|
||||
::wallet-connect
|
||||
::password]))
|
||||
|
Loading…
Reference in New Issue
Block a user