mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-08 03:28:51 +01:00
* 🚀 feat: Introduce data schemas and refactor models to use @librechat/data-schemas * 🚀 feat: Add installation step for Data Schemas Package in backend review workflow * chore: Add `data-schemas` package to update/rebuild packages scripts * chore: Update Dockerfile to include data-schemas package build process * fix: add missing @rollup/plugin-typescript package * chore: Add GitHub Actions workflow for publishing data-schemas package --------- Co-authored-by: Danny Avila <danny@librechat.ai>
43 lines
755 B
TypeScript
43 lines
755 B
TypeScript
import { Schema, Document } from 'mongoose';
|
|
|
|
export interface IBanner extends Document {
|
|
bannerId: string;
|
|
message: string;
|
|
displayFrom: Date;
|
|
displayTo?: Date;
|
|
type: 'banner' | 'popup';
|
|
isPublic: boolean;
|
|
}
|
|
|
|
const bannerSchema = new Schema<IBanner>(
|
|
{
|
|
bannerId: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
message: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
displayFrom: {
|
|
type: Date,
|
|
required: true,
|
|
default: Date.now,
|
|
},
|
|
displayTo: {
|
|
type: Date,
|
|
},
|
|
type: {
|
|
type: String,
|
|
enum: ['banner', 'popup'],
|
|
default: 'banner',
|
|
},
|
|
isPublic: {
|
|
type: Boolean,
|
|
default: false,
|
|
},
|
|
},
|
|
{ timestamps: true },
|
|
);
|
|
|
|
export default bannerSchema;
|