opendb-news-articles.schema.json 3.6 KB
Newer Older
雪洛's avatar
雪洛 已提交
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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
{
	"bsonType": "object",
	"required": ["user_id", "title", "content"],
	"permission": {
		"read": "doc.uid == auth.uid && doc.article_status == 0 || doc.article_status == 1",
		"create": "auth.uid != null",
		"update": "doc.user_id == auth.uid",
		"delete": "doc.user_id == auth.uid"
	},
	"properties": {
		"_id": {
			"description": "存储文档 ID(用户 ID),系统自动生成"
		},
		"user_id": {
			"bsonType": "string",
			"description": "文章作者ID, 参考`uni-id-users` 表",
			"foreignKey": "uni-id-users._id",
			"defaultValue": {
				"$env": "uid"
			}
		},
		"category_id": {
			"bsonType": "string",
			"title": "分类",
			"description": "分类 id,参考`uni-news-categories`表",
			"foreignKey": "opendb-news-categories._id",
			"enum": {
				"collection": "opendb-news-categories",
				"field": "name as text, _id as value"
			}
		},
		"title": {
			"bsonType": "string",
			"title": "标题",
			"description": "标题",
			"label": "标题",
			"trim": "both"
		},
		"content": {
			"bsonType": "string",
			"title": "文章内容",
			"description": "文章内容",
			"label": "文章内容",
			"trim": "right"
		},
		"excerpt": {
			"bsonType": "string",
			"title": "文章摘录",
			"description": "文章摘录",
			"label": "摘要",
			"trim": "both"
		},
		"article_status": {
			"bsonType": "int",
			"title": "文章状态",
			"description": "文章状态:0 草稿箱 1 已发布",
			"defaultValue": 0,
			"enum": [{
				"value": 0,
				"text": "草稿箱"
			}, {
				"value": 1,
				"text": "已发布"
			}]
		},
		"view_count": {
			"bsonType": "int",
			"title": "阅读数量",
			"description": "阅读数量",
			"permission": {
				"write": false
			}
		},
		"like_count": {
			"bsonType": "int",
			"description": "喜欢数、点赞数",
			"permission": {
				"write": false
			}
		},
		"is_sticky": {
			"bsonType": "bool",
			"title": "是否置顶",
			"description": "是否置顶",
			"permission": {
				"write": false
			}
		},
		"is_essence": {
			"bsonType": "bool",
			"title": "阅读加精",
			"description": "阅读加精",
			"permission": {
				"write": false
			}
		},
		"comment_status": {
			"bsonType": "int",
			"title": "开放评论",
			"description": "评论状态:0 关闭  1 开放",
			"enum": [{
				"value": 0,
				"text": "关闭"
			}, {
				"value": 1,
				"text": "开放"
			}]
		},
		"comment_count": {
			"bsonType": "int",
			"description": "评论数量",
			"permission": {
				"write": false
			}
		},
		"last_comment_user_id": {
			"bsonType": "string",
			"description": "最后回复用户 id,参考`uni-id-users` 表",
			"foreignKey": "uni-id-users._id"
		},
		"avatar": {
			"bsonType": "string",
			"title": "封面大图",
			"description": "缩略图地址",
			"label": "封面大图",
			"trim": "both"
		},
		"publish_date": {
			"bsonType": "timestamp",
			"title": "发表时间",
			"description": "发表时间",
			"defaultValue": {
				"$env": "now"
			}
		},
		"publish_ip": {
			"bsonType": "string",
			"title": "发布文章时IP地址",
			"description": "发表时 IP 地址",
			"forceDefaultValue": {
				"$env": "clientIP"
			}
		},
		"last_modify_date": {
			"bsonType": "timestamp",
			"title": "最后修改时间",
			"description": "最后修改时间",
			"defaultValue": {
				"$env": "now"
			}
		},
		"last_modify_ip": {
			"bsonType": "string",
			"description": "最后修改时 IP 地址",
			"forceDefaultValue": {
				"$env": "clientIP"
			}
		},
		"mode": {
			"bsonType": "number",
			"title": "排版显示模式",
			"description": "排版显示模式,如左图右文、上图下文等"
		}
	}
}