Module Cephalopod_models.App_Bsky_Feed_Threadgate

lexicon "app.bsky.feed.threadgate"

def main

type main = {
  1. post : string;
    (*

    Reference (AT-URI) to the post record. format: "AtUri"

    *)
  2. allow : [ `App_bsky_feed_threadgate_mentionrule of Types.app_bsky_feed_threadgate_mentionrule | `App_bsky_feed_threadgate_followerrule of Types.app_bsky_feed_threadgate_followerrule | `App_bsky_feed_threadgate_followingrule of Types.app_bsky_feed_threadgate_followingrule | `App_bsky_feed_threadgate_listrule of Types.app_bsky_feed_threadgate_listrule | `Other of Cephalopod_dasl.Value.t ] list option;
    (*

    List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply. maximum length: 5

    *)
  3. createdAt : string;
    (*

    format: "Datetime"

    *)
  4. hiddenReplies : string list option;
    (*

    List of hidden reply URIs. maximum length: 50

    *)
}

Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository.

val make_main : post:string -> ?allow: [ `App_bsky_feed_threadgate_followerrule of Types.app_bsky_feed_threadgate_followerrule | `App_bsky_feed_threadgate_followingrule of Types.app_bsky_feed_threadgate_followingrule | `App_bsky_feed_threadgate_listrule of Types.app_bsky_feed_threadgate_listrule | `App_bsky_feed_threadgate_mentionrule of Types.app_bsky_feed_threadgate_mentionrule | `Other of Cephalopod_dasl.Value.t ] list -> createdAt:string -> ?hiddenReplies:string list -> unit -> main
val main_to_value : main -> Cephalopod_dasl.Value.t

def mentionRule

def followerRule

def followingRule

def listRule

type nonrec listrule = Types.app_bsky_feed_threadgate_listrule = {
  1. list : string;
    (*

    format: "AtUri"

    *)
}