/* * clippr: a social bookmarking service for the AT Protocol * Copyright (c) 2025 clippr contributors. * SPDX-License-Identifier: AGPL-3.0-only */ import type { ResourceUri } from "@atcute/lexicons"; export interface ErrorResponse { error: string; message: string; } export interface ProfileViewQuery { actor: string; } export interface ClipViewQuery { did: string; collection: string; recordKey: string; } export const isClipViewQuery = (query: unknown): query is ClipViewQuery => { return typeof query === "object" && query !== null && "did" in query; }; export interface TagRef { $type: "com.atproto.repo.strongRef"; cid: string; uri: ResourceUri; } export interface TagViewQuery { did: string; collection: string; recordKey: string; } export interface AppviewStatsQuery { knownUsers: number; knownClips: number; knownTags: number; }