UNPKG

@wepublish/api

Version:
305 lines (304 loc) 11.1 kB
import { Prisma, PrismaClient } from '@prisma/client'; import { Context } from '../../context'; import { ArticleWithRevisions } from '../../db/article'; export declare const deleteArticleById: (id: string, authenticate: Context['authenticate'], prisma: PrismaClient) => Promise<ArticleWithRevisions>; type CreateArticleInput = Pick<Prisma.ArticleCreateInput, 'shared' | 'hidden'> & Omit<Prisma.ArticleRevisionCreateInput, 'properties' | 'revision'> & { properties: Prisma.MetadataPropertyCreateManyArticleRevisionInput[]; authorIDs: Prisma.ArticleRevisionAuthorCreateManyRevisionInput['authorId'][]; socialMediaAuthorIDs: Prisma.ArticleRevisionSocialMediaAuthorCreateManyRevisionInput['authorId'][]; }; export declare const createArticle: (input: CreateArticleInput, authenticate: Context['authenticate'], article: PrismaClient['article']) => Promise<{ draft: { properties: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; key: string; value: string; public: boolean; articleRevisionId: string; pageRevisionId: string; subscriptionId: string; userId: string; }, unknown> & {})[]; authors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; preTitle: string; title: string; lead: string; seoTitle: string; slug: string; tags: string[]; canonicalUrl: string; imageID: string; breaking: boolean; blocks: Prisma.JsonValue; hideAuthor: boolean; socialMediaTitle: string; socialMediaDescription: string; socialMediaImageID: string; revision: number; createdAt: Date; modifiedAt: Date; updatedAt: Date; publishAt: Date; publishedAt: Date; }, unknown> & {}; pending: { properties: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; key: string; value: string; public: boolean; articleRevisionId: string; pageRevisionId: string; subscriptionId: string; userId: string; }, unknown> & {})[]; authors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; preTitle: string; title: string; lead: string; seoTitle: string; slug: string; tags: string[]; canonicalUrl: string; imageID: string; breaking: boolean; blocks: Prisma.JsonValue; hideAuthor: boolean; socialMediaTitle: string; socialMediaDescription: string; socialMediaImageID: string; revision: number; createdAt: Date; modifiedAt: Date; updatedAt: Date; publishAt: Date; publishedAt: Date; }, unknown> & {}; published: { properties: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; key: string; value: string; public: boolean; articleRevisionId: string; pageRevisionId: string; subscriptionId: string; userId: string; }, unknown> & {})[]; authors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; preTitle: string; title: string; lead: string; seoTitle: string; slug: string; tags: string[]; canonicalUrl: string; imageID: string; breaking: boolean; blocks: Prisma.JsonValue; hideAuthor: boolean; socialMediaTitle: string; socialMediaDescription: string; socialMediaImageID: string; revision: number; createdAt: Date; modifiedAt: Date; updatedAt: Date; publishAt: Date; publishedAt: Date; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; publishedId: string; pendingId: string; draftId: string; shared: boolean; hidden: boolean; }, unknown> & {}>; export declare const duplicateArticle: (id: string, authenticate: Context['authenticate'], articles: Context['loaders']['articles'], articleClient: PrismaClient['article']) => Promise<ArticleWithRevisions>; export declare const unpublishArticle: (id: string, authenticate: Context['authenticate'], articleClient: PrismaClient['article']) => Promise<ArticleWithRevisions>; export declare const publishArticle: (id: string, input: Pick<Prisma.ArticleRevisionCreateInput, 'publishAt' | 'publishedAt' | 'updatedAt'>, authenticate: Context['authenticate'], prisma: PrismaClient) => Promise<ArticleWithRevisions | null>; type UpdateArticleInput = Pick<Prisma.ArticleCreateInput, 'shared' | 'hidden'> & Omit<Prisma.ArticleRevisionCreateInput, 'revision' | 'properties'> & { properties: Prisma.MetadataPropertyUncheckedCreateWithoutArticleRevisionInput[]; authorIDs: Prisma.ArticleRevisionAuthorCreateManyRevisionInput['authorId'][]; socialMediaAuthorIDs: Prisma.ArticleRevisionSocialMediaAuthorCreateManyRevisionInput['authorId'][]; }; export declare const updateArticle: (id: string, { properties, authorIDs, socialMediaAuthorIDs, shared, hidden, ...input }: UpdateArticleInput, authenticate: Context['authenticate'], articleClient: PrismaClient['article']) => Promise<{ draft: { properties: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; key: string; value: string; public: boolean; articleRevisionId: string; pageRevisionId: string; subscriptionId: string; userId: string; }, unknown> & {})[]; authors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; preTitle: string; title: string; lead: string; seoTitle: string; slug: string; tags: string[]; canonicalUrl: string; imageID: string; breaking: boolean; blocks: Prisma.JsonValue; hideAuthor: boolean; socialMediaTitle: string; socialMediaDescription: string; socialMediaImageID: string; revision: number; createdAt: Date; modifiedAt: Date; updatedAt: Date; publishAt: Date; publishedAt: Date; }, unknown> & {}; pending: { properties: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; key: string; value: string; public: boolean; articleRevisionId: string; pageRevisionId: string; subscriptionId: string; userId: string; }, unknown> & {})[]; authors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; preTitle: string; title: string; lead: string; seoTitle: string; slug: string; tags: string[]; canonicalUrl: string; imageID: string; breaking: boolean; blocks: Prisma.JsonValue; hideAuthor: boolean; socialMediaTitle: string; socialMediaDescription: string; socialMediaImageID: string; revision: number; createdAt: Date; modifiedAt: Date; updatedAt: Date; publishAt: Date; publishedAt: Date; }, unknown> & {}; published: { properties: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; key: string; value: string; public: boolean; articleRevisionId: string; pageRevisionId: string; subscriptionId: string; userId: string; }, unknown> & {})[]; authors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{ revisionId: string; authorId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; preTitle: string; title: string; lead: string; seoTitle: string; slug: string; tags: string[]; canonicalUrl: string; imageID: string; breaking: boolean; blocks: Prisma.JsonValue; hideAuthor: boolean; socialMediaTitle: string; socialMediaDescription: string; socialMediaImageID: string; revision: number; createdAt: Date; modifiedAt: Date; updatedAt: Date; publishAt: Date; publishedAt: Date; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; publishedId: string; pendingId: string; draftId: string; shared: boolean; hidden: boolean; }, unknown> & {}>; export {};