1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { Schema, SchemaTypes, Types } from "mongoose";
- export enum NewsStatus {
- DRAFT = "draft",
- PUBLISHED = "published",
- ARCHIVED = "archived"
- }
- export interface NewsSchema {
- title: string;
- markdown: string;
- status: NewsStatus;
- showToNewUsers: boolean;
- createdBy: Types.ObjectId;
- createdAt: NativeDate;
- }
- export const schema = new Schema<NewsSchema>({
- title: {
- type: SchemaTypes.String,
- required: true
- },
- markdown: {
- type: SchemaTypes.String,
- required: true
- },
- status: {
- type: SchemaTypes.String,
- enum: Object.values(NewsStatus),
- default: NewsStatus.DRAFT,
- required: true
- },
- showToNewUsers: {
- type: SchemaTypes.Boolean,
- default: false,
- required: true
- },
- createdBy: {
- type: SchemaTypes.ObjectId,
- required: true
- },
- createdAt: {
- type: SchemaTypes.Date,
- default: Date.now,
- required: true
- }
- });
|