about summary refs log tree commit diff
path: root/src/temp/dm
diff options
context:
space:
mode:
Diffstat (limited to 'src/temp/dm')
-rw-r--r--src/temp/dm/defs.ts195
-rw-r--r--src/temp/dm/deleteMessage.ts31
-rw-r--r--src/temp/dm/getChat.ts30
-rw-r--r--src/temp/dm/getChatForMembers.ts30
-rw-r--r--src/temp/dm/getChatLog.ts36
-rw-r--r--src/temp/dm/getChatMessages.ts37
-rw-r--r--src/temp/dm/getUserSettings.ts28
-rw-r--r--src/temp/dm/leaveChat.ts30
-rw-r--r--src/temp/dm/listChats.ts32
-rw-r--r--src/temp/dm/muteChat.ts30
-rw-r--r--src/temp/dm/sendMessage.ts31
-rw-r--r--src/temp/dm/sendMessageBatch.ts66
-rw-r--r--src/temp/dm/unmuteChat.ts30
-rw-r--r--src/temp/dm/updateChatRead.ts31
-rw-r--r--src/temp/dm/updateUserSettings.ts33
15 files changed, 670 insertions, 0 deletions
diff --git a/src/temp/dm/defs.ts b/src/temp/dm/defs.ts
new file mode 100644
index 000000000..91f68365c
--- /dev/null
+++ b/src/temp/dm/defs.ts
@@ -0,0 +1,195 @@
+import {
+  AppBskyActorDefs,
+  AppBskyEmbedRecord,
+  AppBskyRichtextFacet,
+} from '@atproto/api'
+import {ValidationResult} from '@atproto/lexicon'
+
+export interface Message {
+  id?: string
+  text: string
+  /** Annotations of text (mentions, URLs, hashtags, etc) */
+  facets?: AppBskyRichtextFacet.Main[]
+  embed?: AppBskyEmbedRecord.Main | {$type: string; [k: string]: unknown}
+  [k: string]: unknown
+}
+
+export function isMessage(v: unknown): v is Message {
+  return isObj(v) && hasProp(v, '$type') && v.$type === 'temp.dm.defs#message'
+}
+
+export function validateMessage(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export interface MessageView {
+  id: string
+  rev: string
+  text: string
+  /** Annotations of text (mentions, URLs, hashtags, etc) */
+  facets?: AppBskyRichtextFacet.Main[]
+  embed?: AppBskyEmbedRecord.Main | {$type: string; [k: string]: unknown}
+  sender?: MessageViewSender
+  sentAt: string
+  [k: string]: unknown
+}
+
+export function isMessageView(v: unknown): v is MessageView {
+  return (
+    isObj(v) && hasProp(v, '$type') && v.$type === 'temp.dm.defs#messageView'
+  )
+}
+
+export function validateMessageView(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export interface DeletedMessage {
+  id: string
+  rev?: string
+  sender?: MessageViewSender
+  sentAt: string
+  [k: string]: unknown
+}
+
+export function isDeletedMessage(v: unknown): v is DeletedMessage {
+  return (
+    isObj(v) && hasProp(v, '$type') && v.$type === 'temp.dm.defs#deletedMessage'
+  )
+}
+
+export function validateDeletedMessage(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export interface MessageViewSender {
+  did: string
+  [k: string]: unknown
+}
+
+export function isMessageViewSender(v: unknown): v is MessageViewSender {
+  return (
+    isObj(v) &&
+    hasProp(v, '$type') &&
+    v.$type === 'temp.dm.defs#messageViewSender'
+  )
+}
+
+export function validateMessageViewSender(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export interface ChatView {
+  id: string
+  rev: string
+  members: AppBskyActorDefs.ProfileViewBasic[]
+  lastMessage?:
+    | MessageView
+    | DeletedMessage
+    | {$type: string; [k: string]: unknown}
+  unreadCount: number
+  [k: string]: unknown
+}
+
+export function isChatView(v: unknown): v is ChatView {
+  return isObj(v) && hasProp(v, '$type') && v.$type === 'temp.dm.defs#chatView'
+}
+
+export function validateChatView(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export type IncomingMessageSetting =
+  | 'all'
+  | 'none'
+  | 'following'
+  | (string & {})
+
+export interface LogBeginChat {
+  rev: string
+  chatId: string
+  [k: string]: unknown
+}
+
+export function isLogBeginChat(v: unknown): v is LogBeginChat {
+  return (
+    isObj(v) && hasProp(v, '$type') && v.$type === 'temp.dm.defs#logBeginChat'
+  )
+}
+
+export function validateLogBeginChat(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export interface LogCreateMessage {
+  rev: string
+  chatId: string
+  message: MessageView | DeletedMessage | {$type: string; [k: string]: unknown}
+  [k: string]: unknown
+}
+
+export function isLogCreateMessage(v: unknown): v is LogCreateMessage {
+  return (
+    isObj(v) &&
+    hasProp(v, '$type') &&
+    v.$type === 'temp.dm.defs#logCreateMessage'
+  )
+}
+
+export function validateLogCreateMessage(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export interface LogDeleteMessage {
+  rev: string
+  chatId: string
+  message: MessageView | DeletedMessage | {$type: string; [k: string]: unknown}
+  [k: string]: unknown
+}
+
+export function isLogDeleteMessage(v: unknown): v is LogDeleteMessage {
+  return (
+    isObj(v) &&
+    hasProp(v, '$type') &&
+    v.$type === 'temp.dm.defs#logDeleteMessage'
+  )
+}
+
+export function validateLogDeleteMessage(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export function isObj(v: unknown): v is Record<string, unknown> {
+  return typeof v === 'object' && v !== null
+}
+
+export function hasProp<K extends PropertyKey>(
+  data: object,
+  prop: K,
+): data is Record<K, unknown> {
+  return prop in data
+}
diff --git a/src/temp/dm/deleteMessage.ts b/src/temp/dm/deleteMessage.ts
new file mode 100644
index 000000000..d9fa1f9cf
--- /dev/null
+++ b/src/temp/dm/deleteMessage.ts
@@ -0,0 +1,31 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  chatId: string
+  messageId: string
+  [k: string]: unknown
+}
+
+export type OutputSchema = TempDmDefs.DeletedMessage
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/getChat.ts b/src/temp/dm/getChat.ts
new file mode 100644
index 000000000..d0a7b891c
--- /dev/null
+++ b/src/temp/dm/getChat.ts
@@ -0,0 +1,30 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {
+  chatId: string
+}
+
+export type InputSchema = undefined
+
+export interface OutputSchema {
+  chat: TempDmDefs.ChatView
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/getChatForMembers.ts b/src/temp/dm/getChatForMembers.ts
new file mode 100644
index 000000000..0c9962c8b
--- /dev/null
+++ b/src/temp/dm/getChatForMembers.ts
@@ -0,0 +1,30 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {
+  members: string[]
+}
+
+export type InputSchema = undefined
+
+export interface OutputSchema {
+  chat: TempDmDefs.ChatView
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/getChatLog.ts b/src/temp/dm/getChatLog.ts
new file mode 100644
index 000000000..9d310d908
--- /dev/null
+++ b/src/temp/dm/getChatLog.ts
@@ -0,0 +1,36 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {
+  cursor?: string
+}
+
+export type InputSchema = undefined
+
+export interface OutputSchema {
+  cursor?: string
+  logs: (
+    | TempDmDefs.LogBeginChat
+    | TempDmDefs.LogCreateMessage
+    | TempDmDefs.LogDeleteMessage
+    | {$type: string; [k: string]: unknown}
+  )[]
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/getChatMessages.ts b/src/temp/dm/getChatMessages.ts
new file mode 100644
index 000000000..54ae21910
--- /dev/null
+++ b/src/temp/dm/getChatMessages.ts
@@ -0,0 +1,37 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {
+  chatId: string
+  limit?: number
+  cursor?: string
+}
+
+export type InputSchema = undefined
+
+export interface OutputSchema {
+  cursor?: string
+  messages: (
+    | TempDmDefs.MessageView
+    | TempDmDefs.DeletedMessage
+    | {$type: string; [k: string]: unknown}
+  )[]
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/getUserSettings.ts b/src/temp/dm/getUserSettings.ts
new file mode 100644
index 000000000..792c697b4
--- /dev/null
+++ b/src/temp/dm/getUserSettings.ts
@@ -0,0 +1,28 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {}
+
+export type InputSchema = undefined
+
+export interface OutputSchema {
+  allowIncoming: TempDmDefs.IncomingMessageSetting
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/leaveChat.ts b/src/temp/dm/leaveChat.ts
new file mode 100644
index 000000000..e116f2775
--- /dev/null
+++ b/src/temp/dm/leaveChat.ts
@@ -0,0 +1,30 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  chatId: string
+  [k: string]: unknown
+}
+
+export interface OutputSchema {
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/listChats.ts b/src/temp/dm/listChats.ts
new file mode 100644
index 000000000..0f9cb0c6a
--- /dev/null
+++ b/src/temp/dm/listChats.ts
@@ -0,0 +1,32 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {
+  limit?: number
+  cursor?: string
+}
+
+export type InputSchema = undefined
+
+export interface OutputSchema {
+  cursor?: string
+  chats: TempDmDefs.ChatView[]
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/muteChat.ts b/src/temp/dm/muteChat.ts
new file mode 100644
index 000000000..e116f2775
--- /dev/null
+++ b/src/temp/dm/muteChat.ts
@@ -0,0 +1,30 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  chatId: string
+  [k: string]: unknown
+}
+
+export interface OutputSchema {
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/sendMessage.ts b/src/temp/dm/sendMessage.ts
new file mode 100644
index 000000000..24a4cf733
--- /dev/null
+++ b/src/temp/dm/sendMessage.ts
@@ -0,0 +1,31 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  chatId: string
+  message: TempDmDefs.Message
+  [k: string]: unknown
+}
+
+export type OutputSchema = TempDmDefs.MessageView
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/sendMessageBatch.ts b/src/temp/dm/sendMessageBatch.ts
new file mode 100644
index 000000000..c2ce1d82c
--- /dev/null
+++ b/src/temp/dm/sendMessageBatch.ts
@@ -0,0 +1,66 @@
+import {ValidationResult} from '@atproto/lexicon'
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  items: BatchItem[]
+  [k: string]: unknown
+}
+
+export interface OutputSchema {
+  items: TempDmDefs.MessageView[]
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
+
+export interface BatchItem {
+  chatId: string
+  message: TempDmDefs.Message
+  [k: string]: unknown
+}
+
+export function isBatchItem(v: unknown): v is BatchItem {
+  return (
+    isObj(v) &&
+    hasProp(v, '$type') &&
+    v.$type === 'temp.dm.sendMessageBatch#batchItem'
+  )
+}
+
+export function validateBatchItem(v: unknown): ValidationResult {
+  return {
+    success: true,
+    value: v,
+  }
+}
+
+export function isObj(v: unknown): v is Record<string, unknown> {
+  return typeof v === 'object' && v !== null
+}
+
+export function hasProp<K extends PropertyKey>(
+  data: object,
+  prop: K,
+): data is Record<K, unknown> {
+  return prop in data
+}
diff --git a/src/temp/dm/unmuteChat.ts b/src/temp/dm/unmuteChat.ts
new file mode 100644
index 000000000..e116f2775
--- /dev/null
+++ b/src/temp/dm/unmuteChat.ts
@@ -0,0 +1,30 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  chatId: string
+  [k: string]: unknown
+}
+
+export interface OutputSchema {
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/updateChatRead.ts b/src/temp/dm/updateChatRead.ts
new file mode 100644
index 000000000..7eec7e4ac
--- /dev/null
+++ b/src/temp/dm/updateChatRead.ts
@@ -0,0 +1,31 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  chatId: string
+  messageId?: string
+  [k: string]: unknown
+}
+
+export type OutputSchema = TempDmDefs.ChatView
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}
diff --git a/src/temp/dm/updateUserSettings.ts b/src/temp/dm/updateUserSettings.ts
new file mode 100644
index 000000000..f88122f5a
--- /dev/null
+++ b/src/temp/dm/updateUserSettings.ts
@@ -0,0 +1,33 @@
+import {Headers, XRPCError} from '@atproto/xrpc'
+
+import * as TempDmDefs from './defs'
+
+export interface QueryParams {}
+
+export interface InputSchema {
+  allowIncoming?: TempDmDefs.IncomingMessageSetting
+  [k: string]: unknown
+}
+
+export interface OutputSchema {
+  allowIncoming: TempDmDefs.IncomingMessageSetting
+  [k: string]: unknown
+}
+
+export interface CallOptions {
+  headers?: Headers
+  qp?: QueryParams
+  encoding: 'application/json'
+}
+
+export interface Response {
+  success: boolean
+  headers: Headers
+  data: OutputSchema
+}
+
+export function toKnownErr(e: any) {
+  if (e instanceof XRPCError) {
+  }
+  return e
+}