@wepublish/api
Version:
API core for we.publish.
18 lines (17 loc) • 810 B
TypeScript
import { PublicArticle } from './db/article';
import { PublicPage } from './db/page';
import { Author } from './db/author';
import { PublicComment } from './db/comment';
import { Event, Peer, Subscription } from '@prisma/client';
export interface URLAdapter {
getPublicArticleURL(article: PublicArticle): string;
getPeeredArticleURL(peer: Peer, article: PublicArticle): string;
getPublicPageURL(page: PublicPage): string;
getAuthorURL(author: Author): string;
getEventURL(event: Event): string;
getArticlePreviewURL(token: string): string;
getPagePreviewURL(token: string): string;
getCommentURL(item: PublicArticle | PublicPage, comment: PublicComment, peer?: Peer): string;
getLoginURL(token: string): string;
getSubscriptionURL(subscription: Subscription): string;
}