diff options
Diffstat (limited to 'src/temp/dm')
-rw-r--r-- | src/temp/dm/defs.ts | 195 | ||||
-rw-r--r-- | src/temp/dm/deleteMessage.ts | 31 | ||||
-rw-r--r-- | src/temp/dm/getChat.ts | 30 | ||||
-rw-r--r-- | src/temp/dm/getChatForMembers.ts | 30 | ||||
-rw-r--r-- | src/temp/dm/getChatLog.ts | 36 | ||||
-rw-r--r-- | src/temp/dm/getChatMessages.ts | 37 | ||||
-rw-r--r-- | src/temp/dm/getUserSettings.ts | 28 | ||||
-rw-r--r-- | src/temp/dm/leaveChat.ts | 30 | ||||
-rw-r--r-- | src/temp/dm/listChats.ts | 32 | ||||
-rw-r--r-- | src/temp/dm/muteChat.ts | 30 | ||||
-rw-r--r-- | src/temp/dm/sendMessage.ts | 31 | ||||
-rw-r--r-- | src/temp/dm/sendMessageBatch.ts | 66 | ||||
-rw-r--r-- | src/temp/dm/unmuteChat.ts | 30 | ||||
-rw-r--r-- | src/temp/dm/updateChatRead.ts | 31 | ||||
-rw-r--r-- | src/temp/dm/updateUserSettings.ts | 33 |
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 +} |