@wepublish/api
Version:
API core for we.publish.
305 lines (304 loc) • 11.1 kB
TypeScript
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 {};