@pump-fun/shared-contracts
Version:
Shared contracts for Pump.fun microservices.
42 lines (41 loc) • 1.48 kB
text/typescript
/**
* Payload for CMS article events (created, updated, published, deleted).
*/
export interface CmsArticlePublishedPayload {
/** Action type - 'article.created', 'article.updated', 'article.published', or 'article.deleted' */
action: "article.created" | "article.updated" | "article.published" | "article.deleted";
/** ISO timestamp when the event occurred */
timestamp: string;
/** Article information */
article: {
/** Unique identifier for the article */
id: string;
/** Document ID in the CMS */
documentId: string;
/** Title of the article */
title: string;
/** Headline of the article (not present in delete events) */
headline?: string;
/** Mint address of the article */
mint: string;
/** Preview text or excerpt (not present in delete events) */
preview?: string;
/** Ticker name of the coin ie PNUT */
tickerName: string;
/** ISO timestamp when the article was published (null if draft) */
publishedAt: string | null;
/** ISO timestamp when the article was created */
createdAt: string;
/** ISO timestamp when the article was last updated (only in update events) */
updatedAt?: string;
};
/** Additional metadata */
metadata: {
/** Locale of the article */
locale: string;
/** Whether the article is a draft (not published) - not present in delete events */
isDraft?: boolean;
/** Any other metadata fields */
[key: string]: unknown;
};
}