Spaces:
Sleeping
Sleeping
File size: 1,690 Bytes
4c025e9 8dee6fc 4c025e9 8dee6fc 4c025e9 8dee6fc 4c025e9 8dee6fc 4c025e9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
const mongoose = require('mongoose');
// 提示词 Schema
const promptSchema = new mongoose.Schema(
{
title: {
type: String,
required: [true, '请输入提示词标题'],
trim: true,
},
content: {
type: String,
required: [true, '请输入提示词内容'],
},
tags: [String],
createdAt: {
type: Date,
default: Date.now,
},
updatedAt: {
type: Date,
default: Date.now,
},
}
);
// DSL 文件 Schema - 修改以存储文本内容
const dslFileSchema = new mongoose.Schema(
{
name: {
type: String,
required: [true, '请输入文件名称'],
trim: true,
},
content: { // 添加: 存储 YAML 文本内容
type: String,
required: [true, '请提供 YAML 内容'],
},
mimeType: {
type: String,
default: 'application/x-yaml',
},
uploadedAt: {
type: Date,
default: Date.now,
},
}
);
// 提示词组 Schema
const promptGroupSchema = new mongoose.Schema(
{
name: {
type: String,
required: [true, '请输入提示词组名称'],
trim: true,
},
description: {
type: String,
trim: true,
},
category: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Category',
},
prompts: [promptSchema],
workflows: [String],
dslFiles: [dslFileSchema],
createdBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
},
},
{
timestamps: true,
}
);
const PromptGroup = mongoose.model('PromptGroup', promptGroupSchema);
module.exports = PromptGroup; |