medium/ts/medium.classes.post.ts

35 lines
1015 B
TypeScript

import { MediumPublication } from './medium.classes.publication.js';
import * as plugins from './medium.plugins.js';
export interface IPostData {
title: string;
contentFormat: 'html' | 'markdown';
content: string;
canonicalUrl: string;
tags: string[];
publishStatus: 'public' | 'draft' | 'unlisted';
}
export class MediumPost implements IPostData {
// STATIC
public static async createPost(mediumPublicationArg: MediumPublication, dataArg: IPostData) {
const response = await mediumPublicationArg.mediumAccountRef.request(`/publications/${mediumPublicationArg.id}/posts`, 'POST', dataArg);
const post = new MediumPost(mediumPublicationArg, response.body.data);
return post;
}
// INSTANCE
mediumPublicationRef: MediumPublication;
title: string;
contentFormat: 'html' | 'markdown';
content: string;
canonicalUrl: string;
tags: string[];
publishStatus: 'public' | 'draft' | 'unlisted';
constructor(mediumPublication: MediumPublication, dataArg: IPostData) {
}
}