UNPKG

@wepublish/api-db-mongodb

Version:

We.publish Database adapter for mongoDB

296 lines 7.33 kB
import { ArticleBlock, CommentItemType, CommentAuthorType, CommentRejectionReason, CommentState, AvailablePaymentMethod, FocalPoint, InvoiceItem, MetadataProperty, NavigationLink, PageBlock, PaymentProviderCustomer, RichTextNode, CommentRevision, MailLogState, PaymentState, UserAddress, UserOAuth2Account, PaymentPeriodicity, SubscriptionPeriod, SubscriptionDeactivation, MemberPlan, Invoice, SettingRestriction, SettingName } from '@wepublish/api'; export declare enum CollectionName { Migrations = "migrations", PeerProfiles = "peerProfiles", Peers = "peers", Users = "users", UserRoles = "users.roles", Subscriptions = "subscriptions", Sessions = "sessions", Tokens = "tokens", Navigations = "navigations", Authors = "authors", Images = "images", Comments = "comments", Articles = "articles", ArticlesHistory = "articles.history", Pages = "pages", PagesHistory = "pages.history", MemberPlans = "member.plans", PaymentMethods = "payment.methods", Invoices = "invoices", Payments = "payments", MailLog = "mail.log", Settings = "settings" } export interface DBMigration { _id: any; version: number; createdAt: Date; } export interface DBPeerProfile { _id: any; name: string; logoID?: string; themeColor: string; themeFontColor: string; callToActionURL: string; callToActionText: RichTextNode[]; callToActionImageURL?: string; callToActionImageID?: string; } export interface DBPeer { _id: any; createdAt: Date; modifiedAt: Date; name: string; slug: string; isDisabled?: boolean; hostURL: string; token: string; } export interface DBToken { _id: any; createdAt: Date; modifiedAt: Date; name: string; token: string; roleIDs: string[]; } export interface DBUser { _id: any; createdAt: Date; modifiedAt: Date; email: string; emailVerifiedAt: Date | null; name: string; firstName?: string; preferredName?: string; address?: UserAddress; password: string; oauth2Accounts: UserOAuth2Account[]; active: boolean; lastLogin: Date | null; properties: MetadataProperty[]; roleIDs: string[]; paymentProviderCustomers: PaymentProviderCustomer[]; } export interface DBUserRole { _id: any; createdAt: Date; modifiedAt: Date; name: string; description?: string; systemRole: boolean; permissionIDs: string[]; } export interface DBSubscription { _id: any; createdAt: Date; modifiedAt: Date; userID: string; memberPlanID: string; paymentPeriodicity: PaymentPeriodicity; monthlyAmount: number; autoRenew: boolean; startsAt: Date; paidUntil: Date | null; periods: SubscriptionPeriod[]; paymentMethodID: string; properties: MetadataProperty[]; deactivation: SubscriptionDeactivation | null; memberPlan?: MemberPlan; invoices?: Invoice[]; } export interface DBSession { _id: any; createdAt: Date; expiresAt: Date; userID: string; token: string; } export interface DBNavigation { _id: any; createdAt: Date; modifiedAt: Date; key: string; name: string; links: NavigationLink[]; } export interface DBAuthor { _id: any; createdAt: Date; modifiedAt: Date; slug: string; name: string; jobTitle?: string; imageID?: string; links: Array<{ title: string; url: string; }>; bio: RichTextNode[]; } export interface DBImage { _id: any; createdAt: Date; modifiedAt: Date; fileSize: number; extension: string; mimeType: string; format: string; width: number; height: number; filename?: string; title?: string; description?: string; tags: string[]; source?: string; link?: string; license?: string; focalPoint?: FocalPoint; } export interface DBComment { _id: any; createdAt: Date; modifiedAt: Date; itemID: string; itemType: CommentItemType; userID: string; revisions: CommentRevision[]; parentID?: string; state: CommentState; rejectionReason?: CommentRejectionReason; authorType: CommentAuthorType; } export interface DBArticle { _id: any; shared: boolean; createdAt: Date; modifiedAt: Date; draft: DBArticleRevision | null; published: DBArticleRevision | null; pending: DBArticleRevision | null; } export interface DBArticleRevision { revision: number; createdAt: Date; updatedAt?: Date; publishedAt?: Date; publishAt?: Date; slug: string; preTitle?: string; title: string; lead?: string; seoTitle?: string; tags: string[]; properties: MetadataProperty[]; imageID?: string; authorIDs: string[]; breaking: boolean; blocks: ArticleBlock[]; hideAuthor: boolean; socialMediaTitle?: string; socialMediaDescription?: string; socialMediaAuthorIDs: string[]; socialMediaImageID?: string; } export interface DBArticleHistoryRevision extends DBArticleRevision { _id: any; articleID: string; } export interface DBPage { _id: any; createdAt: Date; modifiedAt: Date; draft: DBPageRevision | null; published: DBPageRevision | null; pending: DBPageRevision | null; } export interface DBPageRevision { revision: number; createdAt: Date; updatedAt?: Date; publishedAt?: Date; publishAt?: Date; slug: string; title: string; description?: string; tags: string[]; properties: MetadataProperty[]; imageID?: string; socialMediaTitle?: string; socialMediaDescription?: string; socialMediaImageID?: string; blocks: PageBlock[]; } export interface DBPageHistoryRevision extends DBPageRevision { _id: any; articleID: string; } export interface DBMemberPlan { _id: any; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; imageID?: string; description: RichTextNode[]; active: boolean; amountPerMonthMin: number; availablePaymentMethods: AvailablePaymentMethod[]; } export interface DBPaymentMethod { _id: any; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; } export interface DBInvoice { _id: any; createdAt: Date; modifiedAt: Date; mail: string; dueAt: Date; subscriptionID: string; description?: string; paidAt: Date | null; canceledAt: Date | null; sentReminderAt?: Date; items: InvoiceItem[]; manuallySetAsPaidByUserId?: string; } export interface DBPayment { _id: any; createdAt: Date; modifiedAt: Date; invoiceID: string; state: PaymentState; paymentMethodID: string; intentID?: string; intentSecret?: string; intentData?: string; paymentData?: string; } export interface DBMailLog { _id: any; createdAt: Date; modifiedAt: Date; recipient: string; subject: string; state: MailLogState; mailProviderID: string; mailData?: string; } export interface DBSetting<T> { _id: any; name: SettingName; value: T | null; settingRestriction?: SettingRestriction; } //# sourceMappingURL=schema.d.ts.map